diff --git a/.gitignore b/.gitignore index 0957f470..952c117a 100644 --- a/.gitignore +++ b/.gitignore @@ -100,6 +100,8 @@ fabric.properties ### Gradle template .gradle /build/ +*/*/.gradle +*/*/build/ # Ignore Gradle GUI config gradle-app.setting diff --git a/build.gradle b/build.gradle index b6490459..5d662a86 100644 --- a/build.gradle +++ b/build.gradle @@ -15,22 +15,21 @@ targetCompatibility = 11 repositories { + mavenLocal() mavenCentral() } dependencies { - api 'com.alibaba:fastjson:1.2.47' api 'org.jsoup:jsoup:1.11.3' api('io.sentry:sentry:1.7.9') { exclude module: 'slf4j-api' } api 'org.scilab.forge:jlatexmath:1.0.7' api 'org.apache.commons:commons-lang3:3.9' - api 'com.vladsch.flexmark:flexmark:0.62.2' - api 'com.vladsch.flexmark:flexmark-ext-attributes:0.62.2' - api 'io.github.biezhi:TinyPinyin:2.0.3.RELEASE' - //api fileTree(dir: 'src/main/resources/lib', include: ['*.jar']) + + //api fileTree(dir: 'src/main/resources/lib', include: ['*.jar']) + api 'com.shuzijun.leetcode:platform:0.0.1' } // See https://github.com/JetBrains/gradle-intellij-plugin/ diff --git a/modules/platform/build.gradle b/modules/platform/build.gradle new file mode 100644 index 00000000..8365896e --- /dev/null +++ b/modules/platform/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'java-library' + id 'org.jetbrains.intellij' version '1.8.0' +} + +apply plugin: 'maven-publish' + +group project.platformGroup +version(System.getenv('LD_VERSION') == null ? project.platformVersion : System.getenv('LD_VERSION')) + +sourceCompatibility = 11 +targetCompatibility = 11 + +repositories { + mavenCentral() +} + +dependencies { + api 'com.alibaba:fastjson:1.2.47' + api 'io.github.biezhi:TinyPinyin:2.0.3.RELEASE' + api 'com.vladsch.flexmark:flexmark:0.62.2' + api 'com.vladsch.flexmark:flexmark-ext-attributes:0.62.2' +} + +intellij { + version = project.idePlatformVersion + type = project.idePlatformType + downloadSources = false +} +publishing { + publications { + myLibrary(MavenPublication) { + from components.java + } + } + + repositories { + mavenLocal() + } +} \ No newline at end of file diff --git a/modules/platform/gradle.properties b/modules/platform/gradle.properties new file mode 100644 index 00000000..9e276eab --- /dev/null +++ b/modules/platform/gradle.properties @@ -0,0 +1,5 @@ +platformGroup=com.shuzijun.leetcode +platformName=platform +platformVersion=0.0.1 +idePlatformType=IU +idePlatformVersion=2022.1 \ No newline at end of file diff --git a/modules/platform/gradle/wrapper/gradle-wrapper.jar b/modules/platform/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..7454180f Binary files /dev/null and b/modules/platform/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modules/platform/gradle/wrapper/gradle-wrapper.properties b/modules/platform/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..60c76b34 --- /dev/null +++ b/modules/platform/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/modules/platform/gradlew b/modules/platform/gradlew new file mode 100644 index 00000000..1b6c7873 --- /dev/null +++ b/modules/platform/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/modules/platform/gradlew.bat b/modules/platform/gradlew.bat new file mode 100644 index 00000000..ac1b06f9 --- /dev/null +++ b/modules/platform/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/modules/platform/settings.gradle b/modules/platform/settings.gradle new file mode 100644 index 00000000..a8175892 --- /dev/null +++ b/modules/platform/settings.gradle @@ -0,0 +1,2 @@ +rootProject.name = 'platform' + diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/extension/ConvergeEditorFactory.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/ConvergeEditorFactory.java new file mode 100644 index 00000000..46047ac7 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/ConvergeEditorFactory.java @@ -0,0 +1,12 @@ +package com.shuzijun.leetcode.extension; + +import com.intellij.openapi.fileEditor.FileEditorProvider; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public interface ConvergeEditorFactory { + + @NotNull String getName(); + + @NotNull FileEditorProvider createEditorProvider(RepositoryService repositoryService); +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/NavigatorAction.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorAction.java similarity index 53% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/NavigatorAction.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorAction.java index 7c66faff..343ff7bb 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/NavigatorAction.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorAction.java @@ -1,44 +1,116 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.extension; -import com.shuzijun.leetcode.plugin.model.*; -import com.shuzijun.leetcode.plugin.window.NavigatorTableData; +import com.shuzijun.leetcode.platform.model.Find; +import com.shuzijun.leetcode.platform.model.PageInfo; +import com.shuzijun.leetcode.platform.model.Sort; +import com.shuzijun.leetcode.platform.model.Tag; import javax.swing.*; /** + * 导航窗口响应事件定义 + * 实现导航窗口时需要根据需要进行实现 + * * @author shuzijun */ public interface NavigatorAction { + /** + * 更新UI + */ void updateUI(); + /** + * 获取导航窗口查询面板 + * + * @return + */ JPanel queryPanel(); + /** + * 跟进标记选择事件 + * + * @param slug + * @return + */ boolean selectedRow(String slug); + /** + * 清除查询 + */ void findClear(); + + /** + * 添加查询数据 + * + * @param filterKey + * @param b + * @param tag + */ void findChange(String filterKey, boolean b, Tag tag); + /** + * 获取过滤数据 + * + * @return + */ Find getFind(); + /** + * 排序事件 + * + * @param sort + */ void sort(Sort sort); + /** + * 获取页面内选择的数据 + * + * @return + */ T getSelectedRowData(); - NavigatorTableData.PagePanel getPagePanel(); - + /** + * 获取导航内分页面板 + * + * @return + */ + NavigatorPagePanel getPagePanel(); + + /** + * 获取分页数据 + * + * @return + */ PageInfo getPageInfo(); + /** + * 加载数据 + * + * @param slug 加载时选中的标记 + */ void loadData(String slug); + /** + * 加载服务数据 + */ void loadServiceData(); + /** + * 重进加载数据 + */ void resetServiceData(); + /** + * 跟进标记定位位置 + * + * @param slug + * @return + */ boolean position(String slug); - public static class Adapter implements NavigatorAction { + public static class Adapter implements NavigatorAction { @Override @@ -82,7 +154,7 @@ public T getSelectedRowData() { } @Override - public NavigatorTableData.PagePanel getPagePanel() { + public NavigatorPagePanel getPagePanel() { return null; } diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPagePanel.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPagePanel.java new file mode 100644 index 00000000..cdd21528 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPagePanel.java @@ -0,0 +1,157 @@ +package com.shuzijun.leetcode.extension; + +import com.intellij.openapi.progress.ProgressIndicator; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.Task; +import com.intellij.openapi.project.Project; +import com.intellij.ui.components.JBPanel; +import com.shuzijun.leetcode.platform.model.PageInfo; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ItemEvent; + +/** + * 导航窗口分页面板 + * + * @author shuzijun + */ +public abstract class NavigatorPagePanel extends JBPanel { + + private final JComboBox pageSizeBox; + private final JButton previous; + private final JButton next; + private final JButton go; + private JComboBox page; + + public NavigatorPagePanel(Project project, PageInfo pageInfo) { + super(new BorderLayout()); + pageSizeBox = new JComboBox(pageSizeData()); + pageSizeBox.setPreferredSize(new Dimension(60, -1)); + pageSizeBox.setSelectedItem(pageInfo.getPageSize()); + pageSizeBox.addItemListener(e -> { + if (e.getStateChange() == ItemEvent.SELECTED) { + pageInfo.setPageSize((Integer) e.getItem()); + } + }); + add(pageSizeBox, BorderLayout.WEST); + + JPanel control = new JPanel(new BorderLayout()); + previous = new JButton("<"); + previous.setToolTipText("Previous"); + previous.setPreferredSize(new Dimension(50, -1)); + previous.setMaximumSize(new Dimension(50, -1)); + previous.addActionListener(event -> { + if (page.getItemCount() <= 0 || (int) page.getSelectedItem() < 2) { + } else { + pageInfo.setPageIndex((int) page.getSelectedItem() - 1); + ProgressManager.getInstance().run(new Task.Backgroundable(project, "Previous", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + previousRunnable(); + } + }); + } + + }); + control.add(previous, BorderLayout.WEST); + next = new JButton(">"); + next.setToolTipText("Next"); + next.setPreferredSize(new Dimension(50, -1)); + next.setMaximumSize(new Dimension(50, -1)); + next.addActionListener(event -> { + if (page.getItemCount() <= 0 || (int) page.getSelectedItem() >= page.getItemCount()) { + return; + } else { + pageInfo.setPageIndex((int) page.getSelectedItem() + 1); + ProgressManager.getInstance().run(new Task.Backgroundable(project, "Next", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + nextRunnable(); + } + }); + } + + }); + control.add(next, BorderLayout.EAST); + page = new JComboBox(); + control.add(page, BorderLayout.CENTER); + add(control, BorderLayout.CENTER); + + go = new JButton("Go"); + go.setPreferredSize(new Dimension(50, -1)); + go.setMaximumSize(new Dimension(50, -1)); + go.addActionListener(event -> { + if (page.getItemCount() <= 0) { + return; + } else { + pageInfo.setPageIndex((int) page.getSelectedItem()); + ProgressManager.getInstance().run(new Task.Backgroundable(project, "Go to", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + goRunnable(); + } + }); + } + + }); + add(go, BorderLayout.EAST); + } + + public abstract Integer[] pageSizeData(); + + public abstract void previousRunnable(); + + public abstract void nextRunnable(); + + public abstract void goRunnable(); + + public int getPageIndex() { + if (page.getItemCount() <= 0) { + return 1; + } else { + return (int) page.getSelectedItem(); + } + } + + public void focusedPageSize() { + pageSizeBox.requestFocusInWindow(); + } + + public void focusedPage() { + page.requestFocusInWindow(); + } + + public void clickPrevious() { + previous.doClick(); + } + + public void clickNext() { + next.doClick(); + } + + public void clickGo() { + go.doClick(); + } + + public JComboBox getPageSizeBox() { + return pageSizeBox; + } + + public JButton getPrevious() { + return previous; + } + + public JButton getNext() { + return next; + } + + public JButton getGo() { + return go; + } + + public JComboBox getPage() { + return page; + } +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanel.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanel.java new file mode 100644 index 00000000..30912742 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanel.java @@ -0,0 +1,13 @@ +package com.shuzijun.leetcode.extension; + +import com.intellij.openapi.ui.SimpleToolWindowPanel; + +public abstract class NavigatorPanel extends SimpleToolWindowPanel implements NavigatorPanelAction { + public NavigatorPanel(boolean vertical) { + super(vertical); + } + + public NavigatorPanel(boolean vertical, boolean borderless) { + super(vertical, borderless); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorPanelAction.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelAction.java similarity index 51% rename from src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorPanelAction.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelAction.java index d66af933..6efbe7bf 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorPanelAction.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelAction.java @@ -1,6 +1,4 @@ -package com.shuzijun.leetcode.plugin.window; - -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +package com.shuzijun.leetcode.extension; /** * @author shuzijun diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelFactory.java b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelFactory.java new file mode 100644 index 00000000..bab33735 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/extension/NavigatorPanelFactory.java @@ -0,0 +1,11 @@ +package com.shuzijun.leetcode.extension; + +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public interface NavigatorPanelFactory { + + @NotNull String getName(); + + @NotNull NavigatorPanel createPanel(RepositoryService repositoryService); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/RepositoryService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/RepositoryService.java new file mode 100644 index 00000000..a9d5e2df --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/RepositoryService.java @@ -0,0 +1,57 @@ +package com.shuzijun.leetcode.platform; + +import com.intellij.openapi.Disposable; +import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.platform.model.Graphql; +import com.shuzijun.leetcode.platform.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Topic; +import com.shuzijun.leetcode.platform.repository.*; +import com.shuzijun.leetcode.platform.service.HttpRequestService; +import com.shuzijun.leetcode.platform.service.URLService; +import org.jetbrains.annotations.NotNull; + + +public interface RepositoryService { + + boolean isPro(); + Project getProject(); + + URLService getUrlService(); + + HttpRequestService getHttpRequestService(); + + ArticleService getArticleService(); + + ConfigService getConfigService(); + + FavoriteService getFavoriteService(); + + FindService getFindService(); + + NoteService getNoteService(); + + QuestionService getQuestionService(); + + SessionService getSessionService(); + + SubmissionService getSubmissionService(); + + ViewService getViewService(); + + CodeTopService getCodeTopService(); + + CodeService getCodeService(); + + LeetcodeEditor getLeetcodeEditor(String path); + + void subscribeNotifier(@NotNull Topic topic, @NotNull L handler, @NotNull Disposable parentDisposable); + + default Graphql.GraphqlBuilder Graphql() { + return Graphql.builder(this); + } + + default HttpRequest.HttpRequestBuilder HttpRequest() { + return HttpRequest.builder(getHttpRequestService()); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeSnippet.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeSnippet.java similarity index 92% rename from src/main/java/com/shuzijun/leetcode/plugin/model/CodeSnippet.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeSnippet.java index 3d3d6781..ed20c791 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeSnippet.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeSnippet.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeTopQuestionView.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTopQuestionView.java similarity index 92% rename from src/main/java/com/shuzijun/leetcode/plugin/model/CodeTopQuestionView.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTopQuestionView.java index 4d11f55e..39d6a3cf 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeTopQuestionView.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTopQuestionView.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeTypeEnum.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTypeEnum.java similarity index 89% rename from src/main/java/com/shuzijun/leetcode/plugin/model/CodeTypeEnum.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTypeEnum.java index 0f0a258d..dd9a9a6d 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/CodeTypeEnum.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/CodeTypeEnum.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import java.util.HashMap; import java.util.Map; @@ -8,20 +8,20 @@ */ public enum CodeTypeEnum { JAVA("Java", "java", ".java", "//", "/**\n%s\n*/"), - PYTHON("Python", "python", ".py", "# ","\"\"\"\n%s\n\"\"\""), + PYTHON("Python", "python", ".py", "# ", "\"\"\"\n%s\n\"\"\""), CPP("C++", "cpp", ".cpp", "//", "/**\n%s\n*/"), - PYTHON3("Python3", "python3", ".py", "# ","\"\"\"\n%s\n\"\"\""), + PYTHON3("Python3", "python3", ".py", "# ", "\"\"\"\n%s\n\"\"\""), C("C", "c", ".c", "//", "/**\n%s\n*/"), CSHARP("C#", "csharp", ".cs", "//", "/**\n%s\n*/"), JAVASCRIPT("JavaScript", "javascript", ".js", "//", "/**\n%s\n*/"), - RUBY("Ruby", "ruby", ".rb", "#","=begin\n%s\n=end"), + RUBY("Ruby", "ruby", ".rb", "#", "=begin\n%s\n=end"), SWIFT("Swift", "swift", ".swift", "///", "/**\n%s\n*/"), GO("Go", "golang", ".go", "//", "/**\n%s\n*/"), SCALA("Scala", "scala", ".scala", "//", "/**\n%s\n*/"), KOTLIN("Kotlin", "kotlin", ".kt", "//", "/**\n%s\n*/"), RUST("Rust", "rust", ".rs", "//", "/**\n%s\n*/"), PHP("PHP", "php", ".php", "//", "/**\n%s\n*/"), - BASH("Bash", "bash", ".sh", "#",": '\n%s\n'"), + BASH("Bash", "bash", ".sh", "#", ": '\n%s\n'"), MYSQL("MySQL", "mysql", ".sql", "#", "/**\n%s\n*/"), ORACLE("Oracle", "oraclesql", ".sql", "#", "/**\n%s\n*/"), MSSQLSERVER("MS SQL Server", "mssql", ".sql", "#", "/**\n%s\n*/"), @@ -29,6 +29,16 @@ public enum CodeTypeEnum { ; + private static Map MAP = new HashMap(); + private static Map LANGSLUGMAP = new HashMap(); + + static { + for (CodeTypeEnum c : CodeTypeEnum.values()) { + MAP.put(c.getType().toUpperCase(), c); + LANGSLUGMAP.put(c.langSlug.toUpperCase(), c); + } + } + private String type; private String langSlug; private String suffix; @@ -43,14 +53,12 @@ public enum CodeTypeEnum { this.multiLineComment = multiLineComment; } - private static Map MAP = new HashMap(); - private static Map LANGSLUGMAP = new HashMap(); + public static CodeTypeEnum getCodeTypeEnum(String type) { + return MAP.get(type.toUpperCase()); + } - static { - for (CodeTypeEnum c : CodeTypeEnum.values()) { - MAP.put(c.getType().toUpperCase(), c); - LANGSLUGMAP.put(c.langSlug.toUpperCase(), c); - } + public static CodeTypeEnum getCodeTypeEnumByLangSlug(String langSlug) { + return LANGSLUGMAP.get(langSlug.toUpperCase()); } public String getType() { @@ -65,14 +73,6 @@ public String getSuffix() { return suffix; } - public static CodeTypeEnum getCodeTypeEnum(String type) { - return MAP.get(type.toUpperCase()); - } - - public static CodeTypeEnum getCodeTypeEnumByLangSlug(String langSlug) { - return LANGSLUGMAP.get(langSlug.toUpperCase()); - } - public String getComment() { return comment; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Config.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Config.java similarity index 97% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Config.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Config.java index 46fb6e6e..96aace80 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Config.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Config.java @@ -1,9 +1,7 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import com.intellij.openapi.project.Project; import com.intellij.util.xmlb.annotations.Transient; -import com.shuzijun.leetcode.plugin.utils.MessageUtils; -import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import org.apache.commons.lang3.builder.EqualsBuilder; import java.awt.*; @@ -170,18 +168,15 @@ public String getCodeType() { return codeType; } + public void setCodeType(String codeType) { + this.codeType = codeType; + } + public CodeTypeEnum getCodeTypeEnum(Project project) { CodeTypeEnum codeTypeEnum = CodeTypeEnum.getCodeTypeEnum(codeType); - if (codeTypeEnum == null) { - MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("config.code")); - } return codeTypeEnum; } - public void setCodeType(String codeType) { - this.codeType = codeType; - } - public String getUrl() { return url; } @@ -277,6 +272,14 @@ public String getLevelColour() { return levelColour; } + public void setLevelColour(String levelColour) { + if (levelColour == null || levelColour.isEmpty()) { + this.levelColour = Constant.LEVEL_COLOUR; + } else { + this.levelColour = levelColour; + } + } + @Transient public Color[] getFormatLevelColour() { Color[] formatColors = new Color[3]; @@ -305,14 +308,6 @@ public Color[] getFormatLevelColour() { return formatColors; } - public void setLevelColour(String levelColour) { - if (levelColour == null || levelColour.isEmpty()) { - this.levelColour = Constant.LEVEL_COLOUR; - } else { - this.levelColour = levelColour; - } - } - @Transient public void setFormatLevelColour(Color... colors) { StringBuilder levelColour = new StringBuilder(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Constant.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Constant.java similarity index 89% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Constant.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Constant.java index 94421572..1a6fa814 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Constant.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Constant.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import java.io.File; @@ -108,11 +108,11 @@ public class Constant { /** * path */ - public static final String DOC_PATH = "doc"+ File.separator; - public static final String DOC_SOLUTION = "doc"+ File.separator + "solution" + File.separator; - public static final String DOC_CONTENT = "doc"+ File.separator + "content" + File.separator; - public static final String DOC_SUBMISSION = "doc"+ File.separator + "submission" + File.separator; - public static final String DOC_NOTE = "doc"+ File.separator + "note" + File.separator; + public static final String DOC_PATH = "doc" + File.separator; + public static final String DOC_SOLUTION = "doc" + File.separator + "solution" + File.separator; + public static final String DOC_CONTENT = "doc" + File.separator + "content" + File.separator; + public static final String DOC_SUBMISSION = "doc" + File.separator + "submission" + File.separator; + public static final String DOC_NOTE = "doc" + File.separator + "note" + File.separator; /** diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/ConvergeFileEditorState.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/ConvergeFileEditorState.java new file mode 100644 index 00000000..f9158abd --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/ConvergeFileEditorState.java @@ -0,0 +1,104 @@ +package com.shuzijun.leetcode.platform.model; + +import com.intellij.openapi.fileEditor.FileEditorState; +import com.intellij.openapi.fileEditor.FileEditorStateLevel; +import org.jetbrains.annotations.NotNull; + +public interface ConvergeFileEditorState { + + public static class TabFileEditorState implements FileEditorState { + + public static TabFileEditorState TabFileEditorLoadState = new TabFileEditorState(true); + private boolean load = false; + + public TabFileEditorState(boolean load) { + this.load = load; + } + + public boolean isLoad() { + return load; + } + + @Override + public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { + return false; + } + + + } + + public static class TabSelectFileEditorState implements FileEditorState { + + private String name; + + private String childrenState; + + public TabSelectFileEditorState(String name) { + this.name = name; + } + + public TabSelectFileEditorState(String name, String childrenState) { + this.name = name; + this.childrenState = childrenState; + } + + public String getName() { + return name; + } + + public String getChildrenState() { + return childrenState; + } + + @Override + public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { + return false; + } + + } + + public static class LoginState implements FileEditorState { + + public static LoginState NoLoginNoSelect = new LoginState(false, false); + public static LoginState NoLoginSelect = new LoginState(false, true); + public static LoginState LoginNoSelect = new LoginState(true, false); + public static LoginState LoginSelect = new LoginState(true, true); + private boolean login; + private boolean select; + + public LoginState(boolean login, boolean select) { + this.login = login; + this.select = select; + } + + public static LoginState getState(boolean login, boolean select) { + if (login) { + if (select) { + return LoginSelect; + } else { + return LoginNoSelect; + } + } else { + if (select) { + return NoLoginSelect; + } else { + return NoLoginNoSelect; + } + } + } + + public boolean isLogin() { + return login; + } + + public boolean isSelect() { + return select; + } + + @Override + public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { + return false; + } + + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Find.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Find.java similarity index 97% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Find.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Find.java index b3188929..745c5575 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Find.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Find.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Graphql.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Graphql.java similarity index 83% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Graphql.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Graphql.java index b0a15508..d219d688 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Graphql.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Graphql.java @@ -1,8 +1,9 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.util.io.FileUtilRt; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.utils.LogUtils; import org.apache.commons.collections.map.HashedMap; import org.jetbrains.annotations.NotNull; @@ -27,6 +28,10 @@ private Graphql(String operationName, Map variables, String query) { this.query = query; } + public static GraphqlBuilder builder(RepositoryService repositoryService) { + return new GraphqlBuilder(repositoryService); + } + public String getOperationName() { return operationName; } @@ -43,17 +48,12 @@ public String generate() { return JSONObject.toJSONString(this); } - public static GraphqlBuilder builder() { - return new GraphqlBuilder(); - } - public static class GraphqlBuilder { private static final String PATH = "/graphql/"; - private static final String CNSUFFIX = "_cn.graphql"; - - private String url = URLUtils.getLeetcodeGraphql(); + private RepositoryService repositoryService; + private String url; private String operationName; @@ -67,8 +67,9 @@ public static class GraphqlBuilder { private String cacheParam; - private GraphqlBuilder() { - + private GraphqlBuilder(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + this.url = repositoryService.getUrlService().getLeetcodeGraphql(); } public GraphqlBuilder url(String url) { @@ -130,7 +131,7 @@ public Graphql build() { @NotNull public HttpResponse request() { - return HttpRequest.builderPost(url, "application/json") + return HttpRequest.builder(repositoryService.getHttpRequestService()).post(url, "application/json") .body(build().generate()) .addHeader("Accept", "application/json") .cache(cache).cacheParam(cacheParam).request(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/HttpRequest.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/HttpRequest.java similarity index 76% rename from src/main/java/com/shuzijun/leetcode/plugin/model/HttpRequest.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/HttpRequest.java index 12f872aa..eb91c88a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/HttpRequest.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/HttpRequest.java @@ -1,7 +1,7 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; -import com.shuzijun.leetcode.plugin.utils.HttpRequestUtils; -import com.shuzijun.leetcode.plugin.utils.HttpResponse; + +import com.shuzijun.leetcode.platform.service.HttpRequestService; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.jetbrains.annotations.NotNull; @@ -37,6 +37,10 @@ private HttpRequest(String url, String body, String contentType, Map SORT = new HashMap<>(); + + static { + String sortStr = "剑面"; + for (int i = 0; i < sortStr.length(); i++) { + SORT.put(sortStr.charAt(i), i); + } + } + private String title; private String questionId; private Integer level; @@ -18,19 +27,17 @@ public class QuestionView { * 页面的题目编号 */ private String frontendQuestionId; - /** * 通过率 % */ private Double acceptance = 0D; - /** * 频率 */ private Double frequency = 0d; - private String category; + public QuestionView() { } @@ -38,11 +45,14 @@ public QuestionView(String title) { this.title = title; } - public String getTitle() { return title; } + public void setTitle(String title) { + this.title = title; + } + public String getFormTitle() { StringBuffer sb = new StringBuffer(); if (StringUtils.isNotBlank(frontendQuestionId)) { @@ -51,10 +61,6 @@ public String getFormTitle() { return sb.append(title).toString(); } - public void setTitle(String title) { - this.title = title; - } - public String getQuestionId() { return questionId; } @@ -91,7 +97,6 @@ public void setStatus(String status) { this.status = status; } - public String getTitleSlug() { return titleSlug; } @@ -108,26 +113,32 @@ public void setFrontendQuestionId(String frontendQuestionId) { this.frontendQuestionId = frontendQuestionId; } - public void setAcceptance(Double acceptance) { - this.acceptance = acceptance; - } - public Double getAcceptance() { return acceptance; } + public void setAcceptance(Double acceptance) { + if (acceptance != null && acceptance.doubleValue() > 1) { + acceptance = acceptance / 100; + } + this.acceptance = acceptance; + } + public Double getFrequency() { return frequency; } public void setFrequency(Double frequency) { + if (frequency != null && frequency.doubleValue() > 1) { + frequency = frequency / 100; + } this.frequency = frequency; } public String getStatusSign() { if ("notac".equalsIgnoreCase(status) || "TRIED".equalsIgnoreCase(status)) { - return "❓"; + return "?"; } else if ("ac".equalsIgnoreCase(status)) { return "✔"; } else if ("lock".equalsIgnoreCase(status)) { @@ -135,9 +146,9 @@ public String getStatusSign() { } else if ("day".equalsIgnoreCase(status)) { return "D"; } else if (level != null) { - return " "; + return " "; } - return " "; + return " "; } public String getCategory() { @@ -160,22 +171,13 @@ public String toString() { } - private static Map SORT = new HashMap<>(); - - static { - String sortStr = "剑面"; - for (int i = 0; i < sortStr.length(); i++) { - SORT.put(sortStr.charAt(i), i); - } - } - public int frontendQuestionIdCompareTo(QuestionView questionView) { Integer i1 = SORT.get(frontendQuestionId.charAt(0)); Integer i2 = SORT.get(questionView.frontendQuestionId.charAt(0)); if (i1 != null && i2 != null) { if (i1 != i2) { return i1.compareTo(i2); - }else { + } else { return frontendQuestionId.compareTo(questionView.frontendQuestionId); } } else if (i1 != null) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Session.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Session.java similarity index 98% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Session.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Session.java index d602fd28..5f006d02 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Session.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Session.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Solution.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Solution.java similarity index 94% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Solution.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Solution.java index 1337f4c4..907f94a1 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Solution.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Solution.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Sort.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Sort.java similarity index 89% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Sort.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Sort.java index 5c58e7ea..93321a45 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Sort.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Sort.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun @@ -9,7 +9,7 @@ public class Sort { private String name; private int type = 0; - public Sort(String name,String slug) { + public Sort(String name, String slug) { this.slug = slug; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Statistics.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Statistics.java similarity index 96% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Statistics.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Statistics.java index 7d383ef7..2ed3154c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Statistics.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Statistics.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Submission.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Submission.java similarity index 95% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Submission.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Submission.java index d5ac1617..5af5dcd4 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Submission.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Submission.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/Tag.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Tag.java similarity index 95% rename from src/main/java/com/shuzijun/leetcode/plugin/model/Tag.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Tag.java index 41503866..4e5a17fe 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/Tag.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Tag.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import java.util.HashSet; import java.util.Set; diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Topic.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Topic.java new file mode 100644 index 00000000..e99405ee --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/Topic.java @@ -0,0 +1,23 @@ +package com.shuzijun.leetcode.platform.model; + +import com.shuzijun.leetcode.platform.notifier.*; + +public class Topic { + + @com.intellij.util.messages.Topic.AppLevel + public static Topic AllQuestionNotifier = new Topic<>("AllQuestionNotifier"); + @com.intellij.util.messages.Topic.AppLevel + public static Topic ConfigNotifier = new Topic<>("ConfigNotifier"); + @com.intellij.util.messages.Topic.AppLevel + public static Topic LoginNotifier = new Topic<>("LoginNotifier"); + @com.intellij.util.messages.Topic.AppLevel + public static Topic QuestionStatusNotifier = new Topic<>("QuestionStatusNotifier"); + @com.intellij.util.messages.Topic.AppLevel + public static Topic QuestionSubmitNotifier = new Topic<>("QuestionSubmitNotifier"); + private String name; + + private Topic(String name) { + this.name = name; + } + +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/User.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/User.java similarity index 90% rename from src/main/java/com/shuzijun/leetcode/plugin/model/User.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/User.java index 70e0cd2c..d2b1a5a2 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/User.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/model/User.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.model; +package com.shuzijun.leetcode.platform.model; import java.util.Objects; @@ -30,7 +30,8 @@ public boolean isPremium() { } public void setPremium(Boolean premium) { - isPremium = Objects.requireNonNullElse(premium, false);; + isPremium = Objects.requireNonNullElse(premium, false); + ; } public boolean isVerified() { diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/AllQuestionNotifier.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/AllQuestionNotifier.java new file mode 100644 index 00000000..30dd9a30 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/AllQuestionNotifier.java @@ -0,0 +1,8 @@ +package com.shuzijun.leetcode.platform.notifier; + +/** + * @author shuzijun + */ +public interface AllQuestionNotifier { + void reset(); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/ConfigNotifier.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/ConfigNotifier.java new file mode 100644 index 00000000..e88deda8 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/ConfigNotifier.java @@ -0,0 +1,10 @@ +package com.shuzijun.leetcode.platform.notifier; + +import com.shuzijun.leetcode.platform.model.Config; + +/** + * @author shuzijun + */ +public interface ConfigNotifier { + void change(Config oldConfig, Config newConfig); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/LoginNotifier.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/LoginNotifier.java new file mode 100644 index 00000000..576b4054 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/LoginNotifier.java @@ -0,0 +1,13 @@ +package com.shuzijun.leetcode.platform.notifier; + +import com.intellij.openapi.project.Project; + +/** + * @author shuzijun + */ +public interface LoginNotifier { + + void login(Project project, String host); + + void logout(Project project, String host); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionStatusNotifier.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionStatusNotifier.java new file mode 100644 index 00000000..a2cadc6e --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionStatusNotifier.java @@ -0,0 +1,13 @@ +package com.shuzijun.leetcode.platform.notifier; + +import com.shuzijun.leetcode.platform.model.Question; + +/** + * @author shuzijun + */ +public interface QuestionStatusNotifier { + + public void updateTable(Question question); + + +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionSubmitNotifier.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionSubmitNotifier.java new file mode 100644 index 00000000..a9bb74d2 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/notifier/QuestionSubmitNotifier.java @@ -0,0 +1,9 @@ +package com.shuzijun.leetcode.platform.notifier; + +/** + * @author shuzijun + */ +public interface QuestionSubmitNotifier { + + void submit(String host, String slug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ArticleService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ArticleService.java new file mode 100644 index 00000000..049502d4 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ArticleService.java @@ -0,0 +1,50 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Solution; + +import java.io.File; +import java.util.List; + +/** + * 文章服务 + * + * @author shuzijun + */ +public interface ArticleService extends Service { + + /** + * 打开解题文章 + * + * @param titleSlug + * @param articleSlug + * @param isOpenEditor + * @return + */ + File openArticle(String titleSlug, String articleSlug, Boolean isOpenEditor); + + /** + * 获取解题文章 + * + * @param titleSlug + * @param articleSlug + * @return + */ + String getArticle(String titleSlug, String articleSlug); + + /** + * 格式化文章 + * + * @param content + * @param host + * @return + */ + String formatMarkdown(String content, String host); + + /** + * 获取解题文章列表 + * + * @param titleSlug + * @return + */ + List getSolutionList(String titleSlug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeService.java new file mode 100644 index 00000000..42f6d41c --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeService.java @@ -0,0 +1,36 @@ +package com.shuzijun.leetcode.platform.repository; + +/** + * @author shuzijun + */ +public interface CodeService extends Service { + + /** + * 打开代码 + * + * @param titleSlug + */ + void openCode(String titleSlug); + + /** + * 打开题目描述 + * + * @param titleSlug + * @param isOpen + */ + void openContent(String titleSlug, boolean isOpen); + + /** + * 提交代码 + * + * @param titleSlug + */ + void SubmitCode(String titleSlug); + + /** + * 运行代码 + * + * @param titleSlug + */ + void RunCodeCode(String titleSlug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeTopService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeTopService.java new file mode 100644 index 00000000..393baa64 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/CodeTopService.java @@ -0,0 +1,24 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.extension.NavigatorAction; + +/** + * @author shuzijun + */ +public interface CodeTopService extends Service { + + /** + * 加载数据 + * + * @param navigatorAction + */ + void loadServiceData(NavigatorAction navigatorAction); + + /** + * 加载数据并选中 + * + * @param navigatorAction + * @param selectTitleSlug + */ + void loadServiceData(NavigatorAction navigatorAction, String selectTitleSlug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ConfigService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ConfigService.java new file mode 100644 index 00000000..9aa37a4d --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ConfigService.java @@ -0,0 +1,11 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Config; + +/** + * 获取配置数据 + */ +public interface ConfigService extends Service { + + Config getConfig(); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FavoriteService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FavoriteService.java new file mode 100644 index 00000000..1649e94a --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FavoriteService.java @@ -0,0 +1,26 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Tag; + +/** + * 收藏服务 + * + * @author shuzijun + */ +public interface FavoriteService extends Service { + /** + * 添加收藏 + * + * @param tag + * @param titleSlug + */ + void addQuestionToFavorite(Tag tag, String titleSlug); + + /** + * 移除收藏 + * + * @param tag + * @param titleSlug + */ + void removeQuestionFromFavorite(Tag tag, String titleSlug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FindService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FindService.java new file mode 100644 index 00000000..37100b38 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/FindService.java @@ -0,0 +1,49 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Tag; + +import java.util.List; + +/** + * 查找相关服务 + * + * @author shuzijun + */ +public interface FindService extends Service { + + /** + * 难度 + * + * @return + */ + List getDifficulty(); + + /** + * 状态 + * + * @return + */ + List getStatus(); + + /** + * 标签 + * + * @return + */ + List getTags(); + + /** + * 列表 + * + * @return + */ + List getLists(); + + /** + * 类型 + * + * @return + */ + List getCategory(); + +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/NoteService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/NoteService.java new file mode 100644 index 00000000..7ae164ce --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/NoteService.java @@ -0,0 +1,36 @@ +package com.shuzijun.leetcode.platform.repository; + +import java.io.File; + +/** + * 笔记服务 + * + * @author shuzijun + */ +public interface NoteService extends Service { + + /** + * 显示笔记 + * + * @param titleSlug + * @param isOpenEditor + * @return + */ + File show(String titleSlug, Boolean isOpenEditor); + + /** + * 拉取笔记 + * + * @param titleSlug + * @return + */ + boolean pull(String titleSlug); + + /** + * 推送笔记 + * + * @param titleSlug + */ + void push(String titleSlug); + +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/QuestionService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/QuestionService.java new file mode 100644 index 00000000..dc584baf --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/QuestionService.java @@ -0,0 +1,67 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.*; + +import java.util.List; + +/** + * 题目服务 + * + * @author shuzijun + */ +public interface QuestionService extends Service { + + /** + * 获取题目列表 + * + * @param pageInfo + * @return + */ + PageInfo getQuestionViewList(PageInfo pageInfo); + + /** + * 获取所有题目 + * + * @param reset + * @return + */ + List getQuestionAllService(boolean reset); + + /** + * 获取在所有题目的位置 + * + * @param titleSlug + * @return + */ + QuestionIndex getQuestionIndex(String titleSlug); + + /** + * 获取每日题目 + * + * @return + */ + QuestionView questionOfToday(); + + /** + * 随机一个题目 + * + * @param pageInfo + * @return + */ + Question pick(PageInfo pageInfo); + + /** + * 获取用户数据 + * + * @return + */ + User getUser(); + + /** + * 根据标识获取题目 + * + * @param titleSlug + * @return + */ + Question getQuestionByTitleSlug(String titleSlug); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/Service.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/Service.java new file mode 100644 index 00000000..22cba854 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/Service.java @@ -0,0 +1,8 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.RepositoryService; + +public interface Service { + + void registerRepository(RepositoryService service); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SessionService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SessionService.java new file mode 100644 index 00000000..44ef3d75 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SessionService.java @@ -0,0 +1,36 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Session; + +import java.util.List; + +/** + * 进度服务 + * + * @author shuzijun + */ +public interface SessionService extends Service { + + /** + * 获取进度 + * + * @return + */ + List getSession(); + + /** + * 获取进度 + * + * @param cache + * @return + */ + List getSession(boolean cache); + + /** + * 切换进度 + * + * @param id + * @return + */ + boolean switchSession(Integer id); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SubmissionService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SubmissionService.java new file mode 100644 index 00000000..9b2db7e7 --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/SubmissionService.java @@ -0,0 +1,30 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.platform.model.Submission; + +import java.io.File; +import java.util.List; + +/** + * @author shuzijun + */ +public interface SubmissionService extends Service { + + /** + * 获取提交列表 + * + * @param titleSlug + * @return + */ + List getSubmissionService(String titleSlug); + + /** + * 获取一次提交 + * + * @param submission + * @param titleSlug + * @param isOpenEditor + * @return + */ + File openSubmission(Submission submission, String titleSlug, Boolean isOpenEditor); +} diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ViewService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ViewService.java new file mode 100644 index 00000000..770b72cd --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/repository/ViewService.java @@ -0,0 +1,50 @@ +package com.shuzijun.leetcode.platform.repository; + +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.PageInfo; + +/** + * 视图服务 + * + * @author shuzijun + */ +public interface ViewService extends Service { + + /** + * 加载分页数据 + * + * @param navigatorAction + */ + void loadServiceData(NavigatorAction navigatorAction); + + /** + * 加载分页数据 + * + * @param navigatorAction + * @param selectTitleSlug 需要选择的标记 + */ + void loadServiceData(NavigatorAction navigatorAction, String selectTitleSlug); + + /** + * 随机打开一个数据 + * + * @param pageInfo + */ + void pick(PageInfo pageInfo); + + /** + * 加载所有数据 + * + * @param navigatorAction + */ + void loadAllServiceData(NavigatorAction navigatorAction); + + /** + * 加载所有数据 + * + * @param navigatorAction + * @param selectTitleSlug 需要选择的标记 + * @param reset + */ + void loadAllServiceData(NavigatorAction navigatorAction, String selectTitleSlug, boolean reset); +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/HttpRequestUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/HttpRequestService.java similarity index 82% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/HttpRequestUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/HttpRequestService.java index e34b6d9e..a277f9ed 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/HttpRequestUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/HttpRequestService.java @@ -1,10 +1,12 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.service; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.intellij.openapi.project.Project; import com.intellij.util.io.HttpRequests; -import com.shuzijun.leetcode.plugin.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.utils.LogUtils; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpHeaders; import org.jetbrains.annotations.NotNull; @@ -18,10 +20,9 @@ /** * @author shuzijun */ -public class HttpRequestUtils { +public class HttpRequestService { private static final Cache httpResponseCache = CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build(); - private static final CookieManager cookieManager = new CookieManager(null, (uri, cookie) -> { if (uri == null || cookie == null || uri.getHost().equals("hm.baidu.com")) { return false; @@ -33,8 +34,22 @@ public class HttpRequestUtils { CookieHandler.setDefault(cookieManager); } + private URLService urlService; + + private HttpRequestService(URLService urlService) { + this.urlService = urlService; + } + + public static HttpRequestService getInstance(URLService urlService) { + return new HttpRequestService(urlService); + } + + public static void resetHttpclient() { + cookieManager.getCookieStore().removeAll(); + } + @NotNull - public static HttpResponse executeGet(HttpRequest httpRequest) { + public HttpResponse executeGet(HttpRequest httpRequest) { return CacheProcessor.processor(httpRequest, request -> { HttpResponse httpResponse = new HttpResponse(); @@ -55,7 +70,7 @@ public static HttpResponse executeGet(HttpRequest httpRequest) { } @NotNull - public static HttpResponse executePost(HttpRequest httpRequest) { + public HttpResponse executePost(HttpRequest httpRequest) { return CacheProcessor.processor(httpRequest, request -> { HttpResponse httpResponse = new HttpResponse(); try { @@ -71,7 +86,7 @@ public static HttpResponse executePost(HttpRequest httpRequest) { }); } - public static HttpResponse executePut(HttpRequest httpRequest) { + public HttpResponse executePut(HttpRequest httpRequest) { return CacheProcessor.processor(httpRequest, request -> { HttpResponse httpResponse = new HttpResponse(); try { @@ -87,13 +102,13 @@ public static HttpResponse executePut(HttpRequest httpRequest) { }); } - public static String getToken() { + public String getToken() { if (cookieManager.getCookieStore().getCookies() == null) { return null; } for (HttpCookie cookie : cookieManager.getCookieStore().getCookies()) { if (StringUtils.isNotBlank(cookie.getDomain()) && - cookie.getDomain().toLowerCase().contains(URLUtils.getLeetcodeHost()) && "csrftoken".equals(cookie.getName())) { + cookie.getDomain().toLowerCase().contains(urlService.getLeetcodeHost()) && "csrftoken".equals(cookie.getName())) { return cookie.getValue(); } @@ -101,15 +116,15 @@ public static String getToken() { return null; } - public static boolean isLogin(Project project) { - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodePoints()).request(); + public boolean isLogin(Project project) { + HttpResponse response = HttpRequest.builder(this).get(urlService.getLeetcodePoints()).request(); if (response.getStatusCode() == 200) { return Boolean.TRUE; } return Boolean.FALSE; } - public static void setCookie(List cookieList) { + public void setCookie(List cookieList) { cookieManager.getCookieStore().removeAll(); for (HttpCookie cookie : cookieList) { @@ -117,23 +132,49 @@ public static void setCookie(List cookieList) { } } - public static void resetHttpclient() { - cookieManager.getCookieStore().removeAll(); - } - - - private static void defaultHeader(HttpRequest httpRequest) { + private void defaultHeader(HttpRequest httpRequest) { Map header = httpRequest.getHeader(); header.putIfAbsent(HttpHeaders.USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"); header.putIfAbsent(HttpHeaders.ACCEPT, "*/*"); //header.putIfAbsent(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate, br"); header.putIfAbsent(HttpHeaders.ACCEPT_LANGUAGE, "zh-CN,zh;q=0.9"); - header.putIfAbsent("origin", URLUtils.getLeetcodeUrl()); + header.putIfAbsent("origin", urlService.getLeetcodeUrl()); //header.putIfAbsent(":authority", URLUtils.getLeetcodeHost()); //header.putIfAbsent(":scheme", "https"); } - private static class HttpRequestTuner implements HttpRequests.ConnectionTuner { + @FunctionalInterface + private interface Callable { + V call(HttpRequest request); + } + + private static class CacheProcessor { + public static HttpResponse processor(HttpRequest httpRequest, Callable callable) { + + String key = httpRequest.hashCode() + ""; + if (httpRequest.isCache() && httpResponseCache.getIfPresent(key) != null) { + return httpResponseCache.getIfPresent(key); + } + if (httpRequest.isCache()) { + synchronized (key.intern()) { + if (httpResponseCache.getIfPresent(key) != null) { + return httpResponseCache.getIfPresent(key); + } else { + HttpResponse httpResponse = callable.call(httpRequest); + if (httpResponse.getStatusCode() == 200) { + httpResponseCache.put(key, httpResponse); + } + return httpResponse; + } + } + } else { + return callable.call(httpRequest); + + } + } + } + + private class HttpRequestTuner implements HttpRequests.ConnectionTuner { private final HttpRequest httpRequest; @@ -144,7 +185,7 @@ public HttpRequestTuner(HttpRequest httpRequest) { @Override public void tune(@NotNull URLConnection urlConnection) throws IOException { - if (StringUtils.isNotBlank(getToken()) && (urlConnection.getURL().toString().contains(URLUtils.leetcode) || urlConnection.getURL().toString().contains(URLUtils.leetcodecn))) { + if (StringUtils.isNotBlank(getToken()) && (urlConnection.getURL().toString().contains(urlService.leetcode) || urlConnection.getURL().toString().contains(urlService.leetcodecn))) { urlConnection.addRequestProperty("x-csrftoken", getToken()); } urlConnection.addRequestProperty("referer", urlConnection.getURL().toString()); @@ -155,8 +196,7 @@ public void tune(@NotNull URLConnection urlConnection) throws IOException { } } - - private static class HttpResponseProcessor implements HttpRequests.RequestProcessor { + private class HttpResponseProcessor implements HttpRequests.RequestProcessor { private final HttpRequest httpRequest; private final HttpResponse httpResponse; @@ -190,35 +230,4 @@ public HttpResponse process(@NotNull HttpRequests.Request request) throws IOExce } } - private static class CacheProcessor { - public static HttpResponse processor(HttpRequest httpRequest, HttpRequestUtils.Callable callable) { - - String key = httpRequest.hashCode() + ""; - if (httpRequest.isCache() && httpResponseCache.getIfPresent(key) != null) { - return httpResponseCache.getIfPresent(key); - } - if (httpRequest.isCache()) { - synchronized (key.intern()) { - if (httpResponseCache.getIfPresent(key) != null) { - return httpResponseCache.getIfPresent(key); - } else { - HttpResponse httpResponse = callable.call(httpRequest); - if (httpResponse.getStatusCode() == 200) { - httpResponseCache.put(key, httpResponse); - } - return httpResponse; - } - } - } else { - return callable.call(httpRequest); - - } - } - } - - @FunctionalInterface - private interface Callable { - V call(HttpRequest request); - } - } diff --git a/modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/URLService.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/URLService.java new file mode 100644 index 00000000..3ed27eae --- /dev/null +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/service/URLService.java @@ -0,0 +1,137 @@ +package com.shuzijun.leetcode.platform.service; + +import com.shuzijun.leetcode.platform.repository.ConfigService; +import org.apache.commons.lang.StringUtils; + +public class URLService { + public static final String leetcode = "leetcode.com"; + public static final String leetcodecn = "leetcode.cn"; + public static final String leetcodecnOld = "leetcode-cn.com"; + private static String leetcodeUrl = "https://"; + private static String leetcodeLogin = "/accounts/login/"; + private static String leetcodeLogout = "/accounts/logout/"; + private static String leetcodeAll = "/api/problems/all/"; + private static String leetcodeGraphql = "/graphql"; + private static String leetcodePoints = "/points/api/"; + private static String leetcodeProblems = "/problems/"; + private static String leetcodeSubmissions = "/submissions/detail/"; + private static String leetcodeTags = "/problems/api/tags/"; + private static String leetcodeFavorites = "/problems/api/favorites/"; + private static String leetcodeVerify = "/problemset/all/"; + private static String leetcodeProgress = "/api/progress/all/"; + private static String leetcodeSession = "/session/"; + private static String leetcodeCardInfo = "/problems/api/card-info/"; + private static String leetcodeRandomOneQuestion = "/problems/random-one-question/all"; + private ConfigService configService; + + private URLService(ConfigService configService) { + this.configService = configService; + } + + public static URLService getInstance(ConfigService configService) { + return new URLService(configService); + } + + public String getLeetcodeHost() { + String host = configService.getConfig().getUrl(); + if (StringUtils.isBlank(host)) { + return leetcode; + } + return host; + } + + public boolean equalsHost(String host) { + String thisHost = getLeetcodeHost(); + if (thisHost.equals(host)) { + return true; + } else if (thisHost.equals(leetcodecn) && leetcodecnOld.equals(host)) { + return true; + } else { + return false; + } + } + + public String getLeetcodeUrl() { + return leetcodeUrl + getLeetcodeHost(); + } + + public String getLeetcodeLogin() { + return getLeetcodeUrl() + leetcodeLogin; + } + + public String getLeetcodeLogout() { + return getLeetcodeUrl() + leetcodeLogout; + } + + public String getLeetcodeAll() { + return getLeetcodeUrl() + leetcodeAll; + } + + public String getLeetcodeGraphql() { + return getLeetcodeUrl() + leetcodeGraphql; + } + + public String getLeetcodePoints() { + return getLeetcodeUrl() + leetcodePoints; + } + + public String getLeetcodeProblems() { + return getLeetcodeUrl() + leetcodeProblems; + } + + public String getLeetcodeSubmissions() { + return getLeetcodeUrl() + leetcodeSubmissions; + } + + public String getLeetcodeTags() { + return getLeetcodeUrl() + leetcodeTags; + } + + public String getLeetcodeFavorites() { + return getLeetcodeUrl() + leetcodeFavorites; + } + + public String getLeetcodeVerify() { + return getLeetcodeUrl() + leetcodeVerify; + } + + public String getLeetcodeProgress() { + return getLeetcodeUrl() + leetcodeProgress; + } + + public String getLeetcodeSession() { + return getLeetcodeUrl() + leetcodeSession; + } + + public String getLeetcodeCardInfo() { + return getLeetcodeUrl() + leetcodeCardInfo; + } + + public String getDescContent() { + if (leetcode.equals(getLeetcodeHost()) || configService.getConfig().getEnglishContent()) { + return "content"; + } else { + return "translatedContent"; + } + } + + public boolean isCn() { + if (leetcode.equals(getLeetcodeHost())) { + return Boolean.FALSE; + } else { + return Boolean.TRUE; + } + } + + public String getTagName() { + if (leetcode.equals(getLeetcodeHost()) || configService.getConfig().getEnglishContent()) { + return "name"; + } else { + return "translatedName"; + } + } + + public String getLeetcodeRandomOneQuestion() { + return getLeetcodeUrl() + leetcodeRandomOneQuestion; + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/CodeTopURLUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CodeTopURLUtils.java similarity index 54% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/CodeTopURLUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CodeTopURLUtils.java index ffb65b60..f9c2ef63 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/CodeTopURLUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CodeTopURLUtils.java @@ -1,16 +1,16 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; /** * @author shuzijun */ public class CodeTopURLUtils { - public static final String codetop = "codetop.cc" ; + public static final String codetop = "codetop.cc"; - private static String codetopUrl = "https://" ; + private static String codetopUrl = "https://"; - private static String tags = "/api/tags/" ; - private static String companies = "/api/companies/" ; + private static String tags = "/api/tags/"; + private static String companies = "/api/companies/"; private static String questions = "/api/questions/"; @@ -18,7 +18,7 @@ public static String getTags() { return codetopUrl + codetop + tags; } - public static String getCompanies(){ + public static String getCompanies() { return codetopUrl + codetop + companies; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/CommentUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CommentUtils.java similarity index 79% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/CommentUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CommentUtils.java index 2c82cd3f..5a2c9edb 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/CommentUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CommentUtils.java @@ -1,7 +1,7 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; -import com.shuzijun.leetcode.plugin.model.CodeTypeEnum; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.CodeTypeEnum; +import com.shuzijun.leetcode.platform.model.Config; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; @@ -16,12 +16,12 @@ public class CommentUtils { private static final Pattern subPattern = Pattern.compile("(?)?([0-9abcdeghijklmnoprstuvwxyz\\+\\-\\*=\\(\\)\\.\\/]+)()??"); public static String createComment(String html, CodeTypeEnum codeTypeEnum, Config config) { - html = html.replaceAll("(\\r\\n|\\r|\\n|\\n\\r)", "\\\\n").replaceAll(" "," "); - if(config.getHtmlContent()) { - if(config.getMultilineComment()){ - return String.format(codeTypeEnum.getMultiLineComment(),html.replaceAll("\\\\n", "\n")); - }else { - return codeTypeEnum.getComment() + html.replaceAll("\\\\n", "\n" + codeTypeEnum.getComment()); + html = html.replaceAll("(\\r\\n|\\r|\\n|\\n\\r)", "\\\\n").replaceAll(" ", " "); + if (config.getHtmlContent()) { + if (config.getMultilineComment()) { + return String.format(codeTypeEnum.getMultiLineComment(), html.replaceAll("\\\\n", "\n")); + } else { + return codeTypeEnum.getComment() + html.replaceAll("\\\\n", "\n" + codeTypeEnum.getComment()); } } Matcher subMatcher = subPattern.matcher(html); @@ -29,7 +29,7 @@ public static String createComment(String html, CodeTypeEnum codeTypeEnum, Confi String subStr = SuperscriptUtils.getSup(subMatcher.group(2)); html = html.replace(subMatcher.group(), "" + subStr + ""); } - String comment = config.getMultilineComment()?"":codeTypeEnum.getComment(); + String comment = config.getMultilineComment() ? "" : codeTypeEnum.getComment(); String body = comment + Jsoup.parse(html).text().replaceAll("\\\\n", "\n" + comment); String[] lines = body.split("\n"); StringBuilder sb = new StringBuilder(); @@ -52,7 +52,7 @@ public static String createComment(String html, CodeTypeEnum codeTypeEnum, Confi sb.append(lineBuilder).append("\n"); } } - return config.getMultilineComment()?String.format(codeTypeEnum.getMultiLineComment(),sb):sb.toString(); + return config.getMultilineComment() ? String.format(codeTypeEnum.getMultiLineComment(), sb) : sb.toString(); } public static String createSubmissions(String html) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/CookieUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CookieUtils.java similarity index 98% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/CookieUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CookieUtils.java index ce7f0324..268be8a3 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/CookieUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/CookieUtils.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/IOUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/IOUtils.java similarity index 72% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/IOUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/IOUtils.java index 79439bec..4f82f31f 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/IOUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/IOUtils.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import java.io.*; import java.util.ArrayList; @@ -18,12 +18,20 @@ public class IOUtils { public static final String LINE_SEPARATOR; private static final int DEFAULT_BUFFER_SIZE = 4096; + static { + DIR_SEPARATOR = File.separatorChar; + StringWriter buf = new StringWriter(4); + PrintWriter out = new PrintWriter(buf); + out.println(); + LINE_SEPARATOR = buf.toString(); + } + public IOUtils() { } public static void closeQuietly(Reader input) { try { - if(input != null) { + if (input != null) { input.close(); } } catch (IOException var2) { @@ -34,7 +42,7 @@ public static void closeQuietly(Reader input) { public static void closeQuietly(Writer output) { try { - if(output != null) { + if (output != null) { output.close(); } } catch (IOException var2) { @@ -45,7 +53,7 @@ public static void closeQuietly(Writer output) { public static void closeQuietly(InputStream input) { try { - if(input != null) { + if (input != null) { input.close(); } } catch (IOException var2) { @@ -56,7 +64,7 @@ public static void closeQuietly(InputStream input) { public static void closeQuietly(OutputStream output) { try { - if(output != null) { + if (output != null) { output.close(); } } catch (IOException var2) { @@ -67,19 +75,19 @@ public static void closeQuietly(OutputStream output) { public static byte[] toByteArray(InputStream input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); - copy((InputStream)input, (OutputStream)output); + copy((InputStream) input, (OutputStream) output); return output.toByteArray(); } public static byte[] toByteArray(Reader input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); - copy((Reader)input, (OutputStream)output); + copy((Reader) input, (OutputStream) output); return output.toByteArray(); } public static byte[] toByteArray(Reader input, String encoding) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); - copy((Reader)input, (OutputStream)output, encoding); + copy((Reader) input, (OutputStream) output, encoding); return output.toByteArray(); } @@ -89,37 +97,37 @@ public static byte[] toByteArray(String input) throws IOException { public static char[] toCharArray(InputStream is) throws IOException { CharArrayWriter output = new CharArrayWriter(); - copy((InputStream)is, (Writer)output); + copy((InputStream) is, (Writer) output); return output.toCharArray(); } public static char[] toCharArray(InputStream is, String encoding) throws IOException { CharArrayWriter output = new CharArrayWriter(); - copy((InputStream)is, (Writer)output, encoding); + copy((InputStream) is, (Writer) output, encoding); return output.toCharArray(); } public static char[] toCharArray(Reader input) throws IOException { CharArrayWriter sw = new CharArrayWriter(); - copy((Reader)input, (Writer)sw); + copy((Reader) input, (Writer) sw); return sw.toCharArray(); } public static String toString(InputStream input) throws IOException { StringWriter sw = new StringWriter(); - copy((InputStream)input, (Writer)sw); + copy((InputStream) input, (Writer) sw); return sw.toString(); } public static String toString(InputStream input, String encoding) throws IOException { StringWriter sw = new StringWriter(); - copy((InputStream)input, (Writer)sw, encoding); + copy((InputStream) input, (Writer) sw, encoding); return sw.toString(); } public static String toString(Reader input) throws IOException { StringWriter sw = new StringWriter(); - copy((Reader)input, (Writer)sw); + copy((Reader) input, (Writer) sw); return sw.toString(); } @@ -128,20 +136,20 @@ public static String toString(byte[] input) throws IOException { } public static String toString(byte[] input, String encoding) throws IOException { - return encoding == null?new String(input):new String(input, encoding); + return encoding == null ? new String(input) : new String(input, encoding); } public static List readLines(InputStream input) throws IOException { InputStreamReader reader = new InputStreamReader(input); - return readLines((Reader)reader); + return readLines((Reader) reader); } public static List readLines(InputStream input, String encoding) throws IOException { - if(encoding == null) { + if (encoding == null) { return readLines(input); } else { InputStreamReader reader = new InputStreamReader(input, encoding); - return readLines((Reader)reader); + return readLines((Reader) reader); } } @@ -149,7 +157,7 @@ public static List readLines(Reader input) throws IOException { BufferedReader reader = new BufferedReader(input); ArrayList list = new ArrayList(); - for(String line = reader.readLine(); line != null; line = reader.readLine()) { + for (String line = reader.readLine(); line != null; line = reader.readLine()) { list.add(line); } @@ -162,27 +170,27 @@ public static InputStream toInputStream(String input) { } public static InputStream toInputStream(String input, String encoding) throws IOException { - byte[] bytes = encoding != null?input.getBytes(encoding):input.getBytes(); + byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes(); return new ByteArrayInputStream(bytes); } public static void write(byte[] data, OutputStream output) throws IOException { - if(data != null) { + if (data != null) { output.write(data); } } public static void write(byte[] data, Writer output) throws IOException { - if(data != null) { + if (data != null) { output.write(new String(data)); } } public static void write(byte[] data, Writer output, String encoding) throws IOException { - if(data != null) { - if(encoding == null) { + if (data != null) { + if (encoding == null) { write(data, output); } else { output.write(new String(data, encoding)); @@ -192,22 +200,22 @@ public static void write(byte[] data, Writer output, String encoding) throws IOE } public static void write(char[] data, Writer output) throws IOException { - if(data != null) { + if (data != null) { output.write(data); } } public static void write(char[] data, OutputStream output) throws IOException { - if(data != null) { + if (data != null) { output.write((new String(data)).getBytes()); } } public static void write(char[] data, OutputStream output, String encoding) throws IOException { - if(data != null) { - if(encoding == null) { + if (data != null) { + if (encoding == null) { write(data, output); } else { output.write((new String(data)).getBytes(encoding)); @@ -217,22 +225,22 @@ public static void write(char[] data, OutputStream output, String encoding) thro } public static void write(String data, Writer output) throws IOException { - if(data != null) { + if (data != null) { output.write(data); } } public static void write(String data, OutputStream output) throws IOException { - if(data != null) { + if (data != null) { output.write(data.getBytes()); } } public static void write(String data, OutputStream output, String encoding) throws IOException { - if(data != null) { - if(encoding == null) { + if (data != null) { + if (encoding == null) { write(data, output); } else { output.write(data.getBytes(encoding)); @@ -242,22 +250,22 @@ public static void write(String data, OutputStream output, String encoding) thro } public static void write(StringBuffer data, Writer output) throws IOException { - if(data != null) { + if (data != null) { output.write(data.toString()); } } public static void write(StringBuffer data, OutputStream output) throws IOException { - if(data != null) { + if (data != null) { output.write(data.toString().getBytes()); } } public static void write(StringBuffer data, OutputStream output, String encoding) throws IOException { - if(data != null) { - if(encoding == null) { + if (data != null) { + if (encoding == null) { write(data, output); } else { output.write(data.toString().getBytes(encoding)); @@ -267,14 +275,14 @@ public static void write(StringBuffer data, OutputStream output, String encoding } public static void writeLines(Collection lines, String lineEnding, OutputStream output) throws IOException { - if(lines != null) { - if(lineEnding == null) { + if (lines != null) { + if (lineEnding == null) { lineEnding = LINE_SEPARATOR; } - for(Iterator it = lines.iterator(); it.hasNext(); output.write(lineEnding.getBytes())) { + for (Iterator it = lines.iterator(); it.hasNext(); output.write(lineEnding.getBytes())) { Object line = it.next(); - if(line != null) { + if (line != null) { output.write(line.toString().getBytes()); } } @@ -283,20 +291,20 @@ public static void writeLines(Collection lines, String lineEnding, OutputStream } public static void writeLines(Collection lines, String lineEnding, OutputStream output, String encoding) throws IOException { - if(encoding == null) { + if (encoding == null) { writeLines(lines, lineEnding, output); } else { - if(lines == null) { + if (lines == null) { return; } - if(lineEnding == null) { + if (lineEnding == null) { lineEnding = LINE_SEPARATOR; } - for(Iterator it = lines.iterator(); it.hasNext(); output.write(lineEnding.getBytes(encoding))) { + for (Iterator it = lines.iterator(); it.hasNext(); output.write(lineEnding.getBytes(encoding))) { Object line = it.next(); - if(line != null) { + if (line != null) { output.write(line.toString().getBytes(encoding)); } } @@ -305,14 +313,14 @@ public static void writeLines(Collection lines, String lineEnding, OutputStream } public static void writeLines(Collection lines, String lineEnding, Writer writer) throws IOException { - if(lines != null) { - if(lineEnding == null) { + if (lines != null) { + if (lineEnding == null) { lineEnding = LINE_SEPARATOR; } - for(Iterator it = lines.iterator(); it.hasNext(); writer.write(lineEnding)) { + for (Iterator it = lines.iterator(); it.hasNext(); writer.write(lineEnding)) { Object line = it.next(); - if(line != null) { + if (line != null) { writer.write(line.toString()); } } @@ -322,7 +330,7 @@ public static void writeLines(Collection lines, String lineEnding, Writer writer public static int copy(InputStream input, OutputStream output) throws IOException { long count = copyLarge(input, output); - return count > 2147483647L?-1:(int)count; + return count > 2147483647L ? -1 : (int) count; } public static long copyLarge(InputStream input, OutputStream output) throws IOException { @@ -330,7 +338,7 @@ public static long copyLarge(InputStream input, OutputStream output) throws IOEx long count = 0L; int n1; - for(boolean n = false; -1 != (n1 = input.read(buffer)); count += (long)n1) { + for (boolean n = false; -1 != (n1 = input.read(buffer)); count += (long) n1) { output.write(buffer, 0, n1); } @@ -339,22 +347,22 @@ public static long copyLarge(InputStream input, OutputStream output) throws IOEx public static void copy(InputStream input, Writer output) throws IOException { InputStreamReader in = new InputStreamReader(input); - copy((Reader)in, (Writer)output); + copy((Reader) in, (Writer) output); } public static void copy(InputStream input, Writer output, String encoding) throws IOException { - if(encoding == null) { + if (encoding == null) { copy(input, output); } else { InputStreamReader in = new InputStreamReader(input, encoding); - copy((Reader)in, (Writer)output); + copy((Reader) in, (Writer) output); } } public static int copy(Reader input, Writer output) throws IOException { long count = copyLarge(input, output); - return count > 2147483647L?-1:(int)count; + return count > 2147483647L ? -1 : (int) count; } public static long copyLarge(Reader input, Writer output) throws IOException { @@ -362,7 +370,7 @@ public static long copyLarge(Reader input, Writer output) throws IOException { long count = 0L; int n1; - for(boolean n = false; -1 != (n1 = input.read(buffer)); count += (long)n1) { + for (boolean n = false; -1 != (n1 = input.read(buffer)); count += (long) n1) { output.write(buffer, 0, n1); } @@ -371,68 +379,60 @@ public static long copyLarge(Reader input, Writer output) throws IOException { public static void copy(Reader input, OutputStream output) throws IOException { OutputStreamWriter out = new OutputStreamWriter(output); - copy((Reader)input, (Writer)out); + copy((Reader) input, (Writer) out); out.flush(); } public static void copy(Reader input, OutputStream output, String encoding) throws IOException { - if(encoding == null) { + if (encoding == null) { copy(input, output); } else { OutputStreamWriter out = new OutputStreamWriter(output, encoding); - copy((Reader)input, (Writer)out); + copy((Reader) input, (Writer) out); out.flush(); } } public static boolean contentEquals(InputStream input1, InputStream input2) throws IOException { - if(!(input1 instanceof BufferedInputStream)) { - input1 = new BufferedInputStream((InputStream)input1); + if (!(input1 instanceof BufferedInputStream)) { + input1 = new BufferedInputStream((InputStream) input1); } - if(!(input2 instanceof BufferedInputStream)) { - input2 = new BufferedInputStream((InputStream)input2); + if (!(input2 instanceof BufferedInputStream)) { + input2 = new BufferedInputStream((InputStream) input2); } int ch2; - for(int ch = ((InputStream)input1).read(); -1 != ch; ch = ((InputStream)input1).read()) { - ch2 = ((InputStream)input2).read(); - if(ch != ch2) { + for (int ch = ((InputStream) input1).read(); -1 != ch; ch = ((InputStream) input1).read()) { + ch2 = ((InputStream) input2).read(); + if (ch != ch2) { return false; } } - ch2 = ((InputStream)input2).read(); + ch2 = ((InputStream) input2).read(); return ch2 == -1; } public static boolean contentEquals(Reader input1, Reader input2) throws IOException { - if(!(input1 instanceof BufferedReader)) { - input1 = new BufferedReader((Reader)input1); + if (!(input1 instanceof BufferedReader)) { + input1 = new BufferedReader((Reader) input1); } - if(!(input2 instanceof BufferedReader)) { - input2 = new BufferedReader((Reader)input2); + if (!(input2 instanceof BufferedReader)) { + input2 = new BufferedReader((Reader) input2); } int ch2; - for(int ch = ((Reader)input1).read(); -1 != ch; ch = ((Reader)input1).read()) { - ch2 = ((Reader)input2).read(); - if(ch != ch2) { + for (int ch = ((Reader) input1).read(); -1 != ch; ch = ((Reader) input1).read()) { + ch2 = ((Reader) input2).read(); + if (ch != ch2) { return false; } } - ch2 = ((Reader)input2).read(); + ch2 = ((Reader) input2).read(); return ch2 == -1; } - - static { - DIR_SEPARATOR = File.separatorChar; - StringWriter buf = new StringWriter(4); - PrintWriter out = new PrintWriter(buf); - out.println(); - LINE_SEPARATOR = buf.toString(); - } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/LogUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/LogUtils.java similarity index 78% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/LogUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/LogUtils.java index 0e5725e5..380e5f14 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/LogUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/LogUtils.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import com.intellij.openapi.diagnostic.Logger; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/SuperscriptUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/SuperscriptUtils.java similarity index 98% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/SuperscriptUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/SuperscriptUtils.java index d49d71b7..e00e42ee 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/SuperscriptUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/SuperscriptUtils.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityTool.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityTool.java similarity index 93% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityTool.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityTool.java index 3f4dd293..b17d6dc9 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityTool.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityTool.java @@ -1,10 +1,9 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import com.github.promeg.pinyinhelper.Pinyin; -import com.shuzijun.leetcode.plugin.model.CodeTypeEnum; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.setting.PersistentConfig; +import com.shuzijun.leetcode.platform.model.CodeTypeEnum; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Constant; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -173,8 +172,7 @@ public static String date(String format) { * * @return */ - public static String SUBMIT_REGION_BEGIN() { - Config config = PersistentConfig.getInstance().getInitConfig(); + public static String SUBMIT_REGION_BEGIN(Config config) { String codeType = config.getCodeType(); CodeTypeEnum codeTypeEnum = CodeTypeEnum.getCodeTypeEnum(codeType); return codeTypeEnum.getComment() + Constant.SUBMIT_REGION_BEGIN; @@ -186,8 +184,7 @@ public static String SUBMIT_REGION_BEGIN() { * * @return */ - public static String SUBMIT_REGION_END() { - Config config = PersistentConfig.getInstance().getInitConfig(); + public static String SUBMIT_REGION_END(Config config) { String codeType = config.getCodeType(); CodeTypeEnum codeTypeEnum = CodeTypeEnum.getCodeTypeEnum(codeType); return codeTypeEnum.getComment() + Constant.SUBMIT_REGION_END; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityUtils.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityUtils.java similarity index 97% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityUtils.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityUtils.java index e10bdc6a..95c1f847 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityUtils.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/VelocityUtils.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils; +package com.shuzijun.leetcode.platform.utils; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanExtensions.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanExtensions.java similarity index 94% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanExtensions.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanExtensions.java index e7aeb1a2..bc032423 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanExtensions.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanExtensions.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils.doc; +package com.shuzijun.leetcode.platform.utils.doc; import com.vladsch.flexmark.formatter.Formatter; import com.vladsch.flexmark.parser.Parser; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanMarkdown.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanMarkdown.java similarity index 95% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanMarkdown.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanMarkdown.java index b87e6ee9..3909b809 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanMarkdown.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanMarkdown.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils.doc; +package com.shuzijun.leetcode.platform.utils.doc; import com.vladsch.flexmark.ext.attributes.AttributesExtension; import com.vladsch.flexmark.formatter.Formatter; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanNodeFormatter.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanNodeFormatter.java similarity index 97% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanNodeFormatter.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanNodeFormatter.java index 14894cc4..8a441c4c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/CleanNodeFormatter.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/CleanNodeFormatter.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils.doc; +package com.shuzijun.leetcode.platform.utils.doc; import com.intellij.util.Url; import com.intellij.util.Urls; @@ -86,8 +86,8 @@ private void render(FencedCodeBlock node, NodeFormatterContext context, Markdown markdown.blankLine(); markdown.append("* ").append(node.getInfo().toString()); } - if(node.getInfo().equals("python3",true)){ - node.setInfo(node.getInfo().subSequence(0,6)); + if (node.getInfo().equals("python3", true)) { + node.setInfo(node.getInfo().subSequence(0, 6)); } context.delegateRender(); } @@ -131,16 +131,6 @@ private void render(Image node, NodeFormatterContext context, MarkdownWriter mar return null; } - public static class Factory implements NodeFormatterFactory { - public Factory() { - } - - @NotNull - public NodeFormatter create(@NotNull DataHolder options) { - return new CleanNodeFormatter(); - } - } - private BasedSequence formatHtml(BasedSequence Html) { try { Document document = Parser.xmlParser().parseInput(new StringReader(Html.toString()), ""); @@ -189,4 +179,14 @@ private String formatUrl(String url) { url = url.replace("\\)", ")"); return url; } + + public static class Factory implements NodeFormatterFactory { + public Factory() { + } + + @NotNull + public NodeFormatter create(@NotNull DataHolder options) { + return new CleanNodeFormatter(); + } + } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexNode.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexNode.java similarity index 94% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexNode.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexNode.java index c99702e7..facc02f3 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexNode.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexNode.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils.doc; +package com.shuzijun.leetcode.platform.utils.doc; import com.vladsch.flexmark.ast.DelimitedNodeImpl; import com.vladsch.flexmark.parser.core.delimiter.Delimiter; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexProcessor.java b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexProcessor.java similarity index 97% rename from src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexProcessor.java rename to modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexProcessor.java index 824f9542..09aacb11 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/doc/InlineLaTexProcessor.java +++ b/modules/platform/src/main/java/com/shuzijun/leetcode/platform/utils/doc/InlineLaTexProcessor.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.utils.doc; +package com.shuzijun.leetcode.platform.utils.doc; import com.vladsch.flexmark.parser.InlineParser; import com.vladsch.flexmark.parser.core.delimiter.Delimiter; diff --git a/modules/plugin-extend/CHANGELOG.md b/modules/plugin-extend/CHANGELOG.md new file mode 100644 index 00000000..9d7f8010 --- /dev/null +++ b/modules/plugin-extend/CHANGELOG.md @@ -0,0 +1,44 @@ + + +# Leetcode Editor Changelog +[![English Document][badge:en-doc]][gh:en-doc] +[![中文文档][badge:zh-doc]][gh:zh-doc] +[![捐赠][badge:donate]][shuzijun-donate] +[![捐赠][badge:donate-zh]][shuzijun-donate] +[![内推][badge:referrals]][shuzijun-referrals] + +## 0.0.1 + +### Added + +### Changed + +### Deprecated + +### Fixed + +### Removed + +## 0.0.0 + +### Added + +### Changed +- Snapshot + +### Deprecated + +### Removed + +[badge:en-doc]: https://img.shields.io/badge/Docs-English%20Document-blue?logo=docs&style=flat-square +[badge:zh-doc]: https://img.shields.io/badge/Docs-中文文档-blue?logo=docs&style=flat-square +[badge:donate]: https://img.shields.io/badge/Docs-donate-ff69c4?logo=docs&style=flat-square +[badge:donate-zh]: https://img.shields.io/badge/Docs-捐赠-ff69c4?logo=docs&style=flat-square +[badge:referrals]: https://img.shields.io/badge/Docs-内推-ff69c4?logo=docs&style=flat-square + + +[gh:en-doc]: https://github.com/shuzijun/leetcode-editor/blob/master/README.md +[gh:zh-doc]: https://github.com/shuzijun/leetcode-editor/blob/master/README_ZH.md + +[shuzijun-donate]: https://shuzijun.cn/donate.html +[shuzijun-referrals]: https://shuzijun.cn/referrals.html \ No newline at end of file diff --git a/modules/plugin-extend/build.gradle b/modules/plugin-extend/build.gradle new file mode 100644 index 00000000..bd35a64a --- /dev/null +++ b/modules/plugin-extend/build.gradle @@ -0,0 +1,55 @@ +plugins { + id 'java-library' + id 'org.jetbrains.intellij' version '1.8.0' + id 'org.jetbrains.changelog' version "1.3.1" +} + +group project.pluginGroup +version(System.getenv('LD_VERSION') == null ? project.pluginVersion : System.getenv('LD_VERSION')) + +sourceCompatibility = 11 +targetCompatibility = 11 + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + compileOnly 'com.shuzijun.leetcode:platform:0.0.1' +} + +intellij { + pluginName = project.pluginName + version = project.platformVersion + type = project.platformType + downloadSources = true + updateSinceUntilBuild = false + buildSearchableOptions.enabled = false + ideaDependencyCachePath = "$gradle.gradleUserHomeDir/caches/modules-2/files-2.1/com.jetbrains.intellij.idea" + + runIde { + jvmArgs = project.runIdeJvmArgs.split(',').toList() + } + + patchPluginXml { + sinceBuild = project.pluginSinceBuild + untilBuild = project.pluginUntilBuild + pluginDescription = new File(project.pluginDescription).getText('UTF-8') + changeNotes.set(provider { changelog.get(project.version).toHTML() }) + } + + publishPlugin { + dependsOn("patchChangelog") + token = System.getenv("PUBLISH_TOKEN") + } +} + + +changelog { + +} + +tasks.withType(JavaCompile) { + options.encoding = "UTF-8" +} diff --git a/modules/plugin-extend/doc/description.html b/modules/plugin-extend/doc/description.html new file mode 100644 index 00000000..e69de29b diff --git a/modules/plugin-extend/gradle.properties b/modules/plugin-extend/gradle.properties new file mode 100644 index 00000000..8b430c87 --- /dev/null +++ b/modules/plugin-extend/gradle.properties @@ -0,0 +1,13 @@ +pluginGroup = com.shuzijun.leetcode +pluginName = leetcode-editor-extend +pluginVersion = 0.0.1 + +pluginSinceBuild = 203.0 +pluginUntilBuild = +pluginDescription = doc/description.html + +platformType = IU +platformVersion = 2022.1 + +# ,-Dide.browser.jcef.log.level=verbose,-Duser.language=en-US +runIdeJvmArgs = -Dfile.encoding=utf-8 \ No newline at end of file diff --git a/modules/plugin-extend/gradle/wrapper/gradle-wrapper.jar b/modules/plugin-extend/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..7454180f Binary files /dev/null and b/modules/plugin-extend/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modules/plugin-extend/gradle/wrapper/gradle-wrapper.properties b/modules/plugin-extend/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..60c76b34 --- /dev/null +++ b/modules/plugin-extend/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/modules/plugin-extend/gradlew b/modules/plugin-extend/gradlew new file mode 100644 index 00000000..1b6c7873 --- /dev/null +++ b/modules/plugin-extend/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/modules/plugin-extend/gradlew.bat b/modules/plugin-extend/gradlew.bat new file mode 100644 index 00000000..ac1b06f9 --- /dev/null +++ b/modules/plugin-extend/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/modules/plugin-extend/settings.gradle b/modules/plugin-extend/settings.gradle new file mode 100644 index 00000000..516ebcc2 --- /dev/null +++ b/modules/plugin-extend/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'leetcode-editor-extend' \ No newline at end of file diff --git a/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/CustomTreeCellRenderer.java b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/CustomTreeCellRenderer.java new file mode 100644 index 00000000..f091ae5e --- /dev/null +++ b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/CustomTreeCellRenderer.java @@ -0,0 +1,65 @@ +package com.shuzijun.leetcode.extend.navigator; + + +import com.intellij.ide.util.treeView.NodeRenderer; +import com.intellij.ui.JBColor; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.QuestionView; + +import javax.imageio.ImageIO; +import javax.swing.*; +import javax.swing.tree.DefaultMutableTreeNode; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; + +/** + * @author shuzijun + */ +public class CustomTreeCellRenderer extends NodeRenderer { + + private static Color Level1 = new JBColor(new Color(92, 184, 92), new Color(92, 184, 92)); + private static Color Level2 = new JBColor(new Color(240, 173, 78), new Color(240, 173, 78)); + private static Color Level3 = new JBColor(new Color(217, 83, 79), new Color(217, 83, 79)); + + + public void loaColor(Config config) { + if (config != null) { + Color[] colors = config.getFormatLevelColour(); + Level1 = colors[0]; + Level2 = colors[1]; + Level3 = colors[2]; + } + } + + public static BufferedImage getResourceBufferedImage(String filePath) { + if (CustomTreeCellRenderer.class.getClassLoader().getResourceAsStream(filePath) != null) { + try { + return ImageIO.read(CustomTreeCellRenderer.class.getClassLoader().getResourceAsStream(filePath)); + } catch (IOException e) { + e.printStackTrace(); + } + } + return com.intellij.util.ui.UIUtil.createImage(10, 10, 1); + } + + @SuppressWarnings("unchecked") + @Override + public void customizeCellRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { + + super.customizeCellRenderer(tree, value, selected, expanded, leaf, row, hasFocus); + + DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; + QuestionView question = (QuestionView) node.getUserObject(); + + if (question.getLevel() == null) { + + } else if (question.getLevel() == 1) { + setForeground(Level1); + } else if (question.getLevel() == 2) { + setForeground(Level2); + } else if (question.getLevel() == 3) { + setForeground(Level3); + } + } +} \ No newline at end of file diff --git a/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/QueryKeyListener.java b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/QueryKeyListener.java new file mode 100644 index 00000000..f3ba437e --- /dev/null +++ b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/QueryKeyListener.java @@ -0,0 +1,58 @@ +package com.shuzijun.leetcode.extend.navigator; + +import com.intellij.openapi.progress.ProgressIndicator; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.Task; +import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.extension.NavigatorAction; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; + +/** + * @author shuzijun + */ +public class QueryKeyListener implements KeyListener { + + private final static Logger logger = LoggerFactory.getLogger(QueryKeyListener.class); + + private JTextField jTextField; + private NavigatorAction navigatorAction; + private Project project; + + public QueryKeyListener(JTextField jTextField, NavigatorAction navigatorAction, Project project) { + this.jTextField = jTextField; + this.navigatorAction = navigatorAction; + this.project = project; + } + + @Override + public void keyTyped(KeyEvent e) { + + } + + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyChar() == KeyEvent.VK_ENTER) { + ProgressManager.getInstance().run(new Task.Backgroundable(project, "Search", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + String selectText = jTextField.getText(); + navigatorAction.getPageInfo().disposeFilters("searchKeywords", selectText, StringUtils.isNotBlank(selectText)); + navigatorAction.getPageInfo().setPageIndex(1); + navigatorAction.loadServiceData(); + } + }); + } + } + + @Override + public void keyReleased(KeyEvent e) { + + } +} diff --git a/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreeMouseListener.java b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreeMouseListener.java new file mode 100644 index 00000000..d92f578e --- /dev/null +++ b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreeMouseListener.java @@ -0,0 +1,62 @@ +package com.shuzijun.leetcode.extend.navigator; + +import com.intellij.openapi.actionSystem.ActionGroup; +import com.intellij.openapi.actionSystem.ActionManager; +import com.intellij.openapi.progress.ProgressIndicator; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.Task; +import com.intellij.ui.treeStructure.SimpleTree; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.QuestionView; +import org.jetbrains.annotations.NotNull; + +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.TreePath; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +/** + * @author shuzijun + */ +public class TreeMouseListener extends MouseAdapter { + + + private SimpleTree tree; + private RepositoryService repositoryService; + + public TreeMouseListener(SimpleTree tree, RepositoryService repositoryService) { + this.tree = tree; + this.repositoryService = repositoryService; + } + + @Override + public void mouseClicked(MouseEvent e) { + + TreePath selPath = tree.getPathForLocation(e.getX(), e.getY()); + if (selPath != null) { + DefaultMutableTreeNode node = (DefaultMutableTreeNode) selPath.getLastPathComponent(); + QuestionView question = (QuestionView) node.getUserObject(); + if ("lock".equals(question.getStatus())) { + return; + } + + if (e.getButton() == 3) { //鼠标右键 + final ActionManager actionManager = ActionManager.getInstance(); + final ActionGroup actionGroup = (ActionGroup) actionManager.getAction("leetcode.NavigatorActionsMenu"); + if (actionGroup != null) { + actionManager.createActionPopupMenu("", actionGroup).getComponent().show(e.getComponent(), e.getX(), e.getY()); + } + } else if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 2) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(),"leetcode.editor.openCode",false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + repositoryService.getCodeService().openCode(question.getTitleSlug()); + } + }); + } + + } + + + } +} diff --git a/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanel.java b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanel.java new file mode 100644 index 00000000..917a3ee9 --- /dev/null +++ b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanel.java @@ -0,0 +1,415 @@ +package com.shuzijun.leetcode.extend.navigator; + +import com.intellij.openapi.Disposable; +import com.intellij.openapi.actionSystem.ActionManager; +import com.intellij.openapi.actionSystem.ActionToolbar; +import com.intellij.openapi.actionSystem.DefaultActionGroup; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.progress.ProgressIndicator; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.Task; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.SimpleToolWindowPanel; +import com.intellij.ui.components.JBScrollPane; +import com.intellij.ui.components.JBTextField; +import com.intellij.ui.treeStructure.SimpleTree; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.notifier.ConfigNotifier; +import com.shuzijun.leetcode.platform.notifier.LoginNotifier; +import com.shuzijun.leetcode.platform.service.URLService; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; +import javax.swing.tree.TreeSelectionModel; +import java.awt.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class TreePanel extends NavigatorPanel implements Disposable { + + private final RepositoryService repositoryService; + private final Map findMap = new HashMap<>(); + private final NavigatorAction myNavigatorAction; + private final SimpleTree tree; + private final JBScrollPane contentScrollPanel; + private final CustomTreeCellRenderer customTreeCellRenderer; + private final ActionToolbar findToolbar; + private final ActionToolbar actionSortToolbar; + + private final JPanel queryPanel; + + private final PageInfo pageInfo = new PageInfo<>(); + + + public TreePanel(RepositoryService repositoryService) { + super(Boolean.TRUE, Boolean.TRUE); + this.repositoryService = repositoryService; + this.myNavigatorAction = createMyNavigatorAction(); + + DefaultMutableTreeNode root = new DefaultMutableTreeNode(new Question("root")); + tree = new SimpleTree(new DefaultTreeModel(root)) { + private final JTextPane myPane = new JTextPane(); + + { + myPane.setOpaque(false); + myPane.replaceSelection("Click the icon to load"); + } + + @Override + protected void paintComponent(Graphics g) { + try { + super.paintComponent(g); + }catch (Exception e){ + return; + } + + + DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot(); + if (!root.isLeaf()) { + return; + } + + myPane.setFont(getFont()); + myPane.setBackground(getBackground()); + myPane.setForeground(getForeground()); + Rectangle bounds = getBounds(); + myPane.setBounds(0, 0, bounds.width - 10, bounds.height); + + Graphics g2 = g.create(bounds.x + 10, bounds.y + 20, bounds.width, bounds.height); + try { + myPane.paint(g2); + } finally { + g2.dispose(); + } + } + }; + tree.getEmptyText().clear(); + + tree.setOpaque(false); + customTreeCellRenderer = new CustomTreeCellRenderer(); + customTreeCellRenderer.loaColor(repositoryService.getConfigService().getConfig()); + tree.setCellRenderer(customTreeCellRenderer); + tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + tree.setRootVisible(false); + tree.addMouseListener(new TreeMouseListener(tree, repositoryService)); + + final ActionManager actionManager = ActionManager.getInstance(); + ActionToolbar actionToolbar; + if (repositoryService.isPro()) { + actionToolbar = actionManager.createActionToolbar("Leetcode.extend.Toolbar", (DefaultActionGroup) actionManager.getAction("leetcode.NavigatorActionsToolbar"), true); + } else { + actionToolbar = actionManager.createActionToolbar("Leetcode.pro.extend.Toolbar", (DefaultActionGroup) actionManager.getAction("leetcode.NavigatorActionsToolbar"), true); + } + + actionToolbar.setTargetComponent(tree); + setToolbar(actionToolbar.getComponent()); + + SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(Boolean.TRUE, Boolean.TRUE); + + JPanel groupPanel = new JPanel(); + groupPanel.setLayout(new BoxLayout(groupPanel, BoxLayout.Y_AXIS)); + contentScrollPanel = new JBScrollPane(tree, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + groupPanel.add(contentScrollPanel); + + toolWindowPanel.setContent(groupPanel); + + queryPanel = new JPanel(); + queryPanel.setLayout(new BoxLayout(queryPanel, BoxLayout.Y_AXIS)); + JTextField queryField = new JBTextField(); + queryField.setToolTipText("Enter Search"); + queryField.addKeyListener(new QueryKeyListener(queryField, myNavigatorAction, repositoryService.getProject())); + queryPanel.add(queryField); + + findToolbar = actionManager.createActionToolbar("Leetcode.extend.find.Toolbar", (DefaultActionGroup) actionManager.getAction("leetcode.all.find.Toolbar"), true); + findToolbar.setTargetComponent(tree); + actionSortToolbar = actionManager.createActionToolbar("Leetcode.extend.find.Toolbar", (DefaultActionGroup) actionManager.getAction("leetcode.all.find.SortToolbar"), true); + actionSortToolbar.setTargetComponent(tree); + queryPanel.add(findToolbar.getComponent()); + queryPanel.add(actionSortToolbar.getComponent()); + + queryPanel.setVisible(false); + toolWindowPanel.setToolbar(queryPanel); + setContent(toolWindowPanel); + initFind(); + subscribe(); + + } + + private void subscribe() { + + repositoryService.subscribeNotifier(Topic.LoginNotifier, new LoginNotifier() { + @Override + public void login(Project project, String host) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { + return; + } + myNavigatorAction.resetServiceData(); + } + }); + } + + @Override + public void logout(Project project, String host) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { + @Override + public void run(@NotNull ProgressIndicator progressIndicator) { + if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { + return; + } + myNavigatorAction.resetServiceData(); + } + }); + } + }, this); + repositoryService.subscribeNotifier(Topic.ConfigNotifier, new ConfigNotifier() { + @Override + public void change(Config oldConfig, Config newConfig) { + if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { + myNavigatorAction.loadServiceData(); + } + customTreeCellRenderer.loaColor(newConfig); + } + }, this); + } + + private void initFind() { + Find cnFind = new Find(); + cnFind.addSort(Constant.SORT_TYPE_TITLE, new Sort(Constant.SORT_TYPE_TITLE, "TITLE")); + cnFind.addSort(Constant.SORT_TYPE_DIFFICULTY, new Sort(Constant.SORT_TYPE_DIFFICULTY, "DIFFICULTY")); + cnFind.addSort(Constant.SORT_TYPE_STATES, new Sort(Constant.SORT_TYPE_STATES, "STATES")); + findMap.put(URLService.leetcodecn, cnFind); + Find enFind = new Find(); + enFind.addSort(Constant.SORT_TYPE_TITLE, new Sort(Constant.SORT_TYPE_TITLE, "TITLE")); + enFind.addSort(Constant.SORT_TYPE_DIFFICULTY, new Sort(Constant.SORT_TYPE_DIFFICULTY, "DIFFICULTY")); + enFind.addSort(Constant.SORT_TYPE_STATES, new Sort(Constant.SORT_TYPE_STATES, "STATES")); + findMap.put(URLService.leetcode, enFind); + } + + @Override + public NavigatorAction getNavigatorAction() { + return myNavigatorAction; + } + + + private NavigatorAction createMyNavigatorAction() { + return new NavigatorAction.Adapter<>() { + @Override + public void updateUI() { + findToolbar.getComponent().updateUI(); + actionSortToolbar.getComponent().updateUI(); + } + + @Override + public JPanel queryPanel() { + return queryPanel; + } + + public PageInfo getPageInfo() { + return pageInfo; + } + + + @Override + public boolean selectedRow(String slug) { + if (StringUtils.isBlank(slug)) { + return true; + } + DefaultTreeModel treeMode = (DefaultTreeModel) tree.getModel(); + DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeMode.getRoot(); + if (root.isLeaf()) { + return true; + } + DefaultMutableTreeNode node = (DefaultMutableTreeNode) root.getChildAt(0); + if (node.isLeaf()) { + return true; + } + + for (int i = 0, j = node.getChildCount(); i < j; i++) { + DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) node.getChildAt(i); + QuestionView nodeData = (QuestionView) childNode.getUserObject(); + if (nodeData.getTitleSlug().equals(slug)) { + ApplicationManager.getApplication().invokeLater(() -> { + TreePath toShowPath = new TreePath(childNode.getPath()); + tree.setSelectionPath(toShowPath); + Rectangle bounds = tree.getPathBounds(toShowPath); + if (bounds == null) { + return; + } + Point point = new Point(0, (int) bounds.getY()); + JViewport viewport = contentScrollPanel.getViewport(); + viewport.setViewPosition(point); + }); + return true; + } + } + return false; + } + + @Override + public Find getFind() { + return findMap.get(repositoryService.getUrlService().getLeetcodeHost()); + } + + @Override + public void findClear() { + getFind().clearFilter(); + repositoryService.getViewService().loadAllServiceData(this); + } + + @Override + public void findChange(String filterKey, boolean b, Tag tag) { + if ("categorySlug".equals(filterKey)) { + if (b) { + pageInfo.setCategorySlug(tag.getName()); + } else { + pageInfo.setCategorySlug(""); + } + } else { + pageInfo.disposeFilters(filterKey, tag.getSlug(), b); + } + repositoryService.getViewService().loadAllServiceData(this); + } + + @Override + public void sort(Sort sort) { + if (sort.getType() == 0) { + pageInfo.disposeFilters("orderBy", "", false); + pageInfo.disposeFilters("sortOrder", "", false); + } else if (sort.getType() == 1) { + pageInfo.disposeFilters("orderBy", sort.getSlug(), true); + pageInfo.disposeFilters("sortOrder", "DESCENDING", true); + } else if (sort.getType() == 2) { + pageInfo.disposeFilters("orderBy", sort.getSlug(), true); + pageInfo.disposeFilters("sortOrder", "ASCENDING", true); + } + repositoryService.getViewService().loadAllServiceData(this); + } + + @Override + public QuestionView getSelectedRowData() { + QuestionView question = null; + DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); + if (note != null) { + question = (QuestionView) note.getUserObject(); + if (question != null) { + if ("lock".equals(question.getStatus())) { + question = null; + } + } + } + + return question; + } + + @Override + public void loadData(String slug) { + List questionViewList = pageInfo.getRows(); + DefaultTreeModel treeMode = (DefaultTreeModel) tree.getModel(); + DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeMode.getRoot(); + root.removeAllChildren(); + DefaultMutableTreeNode node = new DefaultMutableTreeNode(new Question(String.format("Problems(%d)", questionViewList.size()))); + root.add(node); + for (QuestionView q : questionViewList) { + node.add(new DefaultMutableTreeNode(q)); + } + DefaultMutableTreeNode listsNode = new DefaultMutableTreeNode(new Question(Constant.FIND_TYPE_LISTS)); + root.add(listsNode); + addChild(listsNode,getFind().getFilter().get(Constant.FIND_TYPE_LISTS.toLowerCase()),questionViewList, (TagPredicate) (q, t) -> t.getQuestions().contains(q.getQuestionId())); + + DefaultMutableTreeNode diffNode = new DefaultMutableTreeNode(new Question(Constant.FIND_TYPE_DIFFICULTY)); + root.add(diffNode); + List difficultyList = repositoryService.getFindService().getDifficulty().stream().map(Tag::getSlug).collect(Collectors.toList()); + addChild(diffNode, getFind().getFilter().get(Constant.FIND_TYPE_DIFFICULTY.toLowerCase()), questionViewList, (TagPredicate) (q, t) -> { + Integer level = difficultyList.indexOf(t.getSlug()) + 1; + return q.getLevel().equals(level); + }); + + DefaultMutableTreeNode statusNode = new DefaultMutableTreeNode(new Question(Constant.FIND_TYPE_STATUS)); + root.add(statusNode); + addChild(statusNode, getFind().getFilter().get(Constant.FIND_TYPE_STATUS.toLowerCase()), questionViewList, (TagPredicate) (q, t) -> { + if ("TRIED".equalsIgnoreCase(t.getSlug()) && q.getStatusSign().equalsIgnoreCase("?")) { + return true; + } else if ("AC".equalsIgnoreCase(t.getSlug()) && q.getStatusSign().equalsIgnoreCase("✔")) { + return true; + } else if ("NOT_STARTED".equalsIgnoreCase(t.getSlug()) && (q.getStatusSign().equalsIgnoreCase("$") || StringUtils.isBlank(q.getStatusSign()))) { + return true; + } + return false; + }); + + DefaultMutableTreeNode tagsNode = new DefaultMutableTreeNode(new Question(Constant.FIND_TYPE_TAGS)); + root.add(tagsNode); + addChild(tagsNode, getFind().getFilter().get(Constant.FIND_TYPE_TAGS.toLowerCase()), questionViewList, (TagPredicate) (q, t) -> t.getQuestions().contains(q.getQuestionId())); + + + tree.updateUI(); + treeMode.reload(); + } + + private void addChild(DefaultMutableTreeNode rootNode, List Lists, List questionViewList,TagPredicate tagPredicate) { + if (Lists != null && !Lists.isEmpty()) { + for (Tag tag : Lists) { + List questionViews = questionViewList.stream().filter(questionView -> { + return tagPredicate.test(questionView,tag); + }).collect(Collectors.toList()); + DefaultMutableTreeNode tagNode = new DefaultMutableTreeNode(new Question(String.format("%s(%d)", + tag.getName(), questionViews.size()))); + rootNode.add(tagNode); + for (QuestionView questionView : questionViews) { + tagNode.add(new DefaultMutableTreeNode(questionView)); + } + } + + } + } + + @Override + public void loadServiceData() { + repositoryService.getViewService().loadAllServiceData(this); + } + + @Override + public void resetServiceData() { + getFind().resetFilterData(Constant.FIND_TYPE_LISTS, repositoryService.getFindService().getLists()); + repositoryService.getViewService().loadAllServiceData(this, null, true); + } + + @Override + public boolean position(String slug) { + if (StringUtils.isBlank(slug)) { + return true; + } + if (selectedRow(slug)) { + return true; + } + + getFind().clearFilter(); + repositoryService.getViewService().loadAllServiceData(this, slug, false); + return selectedRow(slug); + } + }; + } + + + @Override + public void dispose() { + + } + + @FunctionalInterface + public interface TagPredicate { + boolean test(T1 t1,T2 t2); + } +} diff --git a/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanelFactory.java b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanelFactory.java new file mode 100644 index 00000000..e6a7008c --- /dev/null +++ b/modules/plugin-extend/src/main/java/com/shuzijun/leetcode/extend/navigator/TreePanelFactory.java @@ -0,0 +1,18 @@ +package com.shuzijun.leetcode.extend.navigator; + +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.extension.NavigatorPanelFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public class TreePanelFactory implements NavigatorPanelFactory { + @Override + public @NotNull String getName() { + return "tree"; + } + + @Override + public @NotNull NavigatorPanel createPanel(RepositoryService repositoryService) { + return new TreePanel(repositoryService); + } +} diff --git a/modules/plugin-extend/src/main/resources/META-INF/editor.xml b/modules/plugin-extend/src/main/resources/META-INF/editor.xml new file mode 100644 index 00000000..3a0203a2 --- /dev/null +++ b/modules/plugin-extend/src/main/resources/META-INF/editor.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/modules/plugin-extend/src/main/resources/META-INF/plugin.xml b/modules/plugin-extend/src/main/resources/META-INF/plugin.xml new file mode 100644 index 00000000..88f54d4b --- /dev/null +++ b/modules/plugin-extend/src/main/resources/META-INF/plugin.xml @@ -0,0 +1,29 @@ + + leetcode-editor-extend + LeetCode Editor Extend + 0.0.1 + shuzijun + + + + + + + + + + + + com.intellij.modules.lang + + + + + + leetcode-editor + + + + + diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/AbstractAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/AbstractAction.java index 737a2aa9..b521a05c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/AbstractAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/AbstractAction.java @@ -6,10 +6,13 @@ import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.MTAUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.UpdateUtils; import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NotNull; @@ -35,7 +38,7 @@ public void actionPerformed(AnActionEvent anActionEvent) { } catch (Exception e) { } - ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(),anActionEvent.getActionManager().getId(this),false) { + ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(), anActionEvent.getActionManager().getId(this), false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { actionPerformed(anActionEvent, config); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/AbstractEditAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/AbstractEditAction.java index e16313ba..0ac27150 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/AbstractEditAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/AbstractEditAction.java @@ -7,13 +7,14 @@ import com.intellij.openapi.fileEditor.TextEditorWithPreview; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.actions.AbstractAction; import com.shuzijun.leetcode.plugin.editor.ConvergePreview; import com.shuzijun.leetcode.plugin.editor.QuestionEditorWithPreview; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import com.shuzijun.leetcode.plugin.utils.MessageUtils; @@ -44,7 +45,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config) { MessageUtils.getInstance(anActionEvent.getProject()).showInfoMsg("info", PropertiesUtils.getInfo("tree.host")); return; } - Question question = QuestionManager.getQuestionByTitleSlug(leetcodeEditor.getTitleSlug(), anActionEvent.getProject()); + Question question = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getQuestionService().getQuestionByTitleSlug(leetcodeEditor.getTitleSlug()); if (question == null) { MessageUtils.getInstance(anActionEvent.getProject()).showInfoMsg("info", PropertiesUtils.getInfo("tree.null")); return; @@ -57,7 +58,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config) { public abstract void actionPerformed(AnActionEvent anActionEvent, Config config, Question question); - protected boolean openConvergeEditor(AnActionEvent anActionEvent, ConvergePreview.TabSelectFileEditorState state) { + protected boolean openConvergeEditor(AnActionEvent anActionEvent, ConvergeFileEditorState.TabSelectFileEditorState state) { FileEditor fileEditor = FileEditorManager.getInstance(anActionEvent.getProject()).getSelectedEditor(); if (fileEditor != null && fileEditor instanceof QuestionEditorWithPreview) { QuestionEditorWithPreview questionEditorWithPreview = (QuestionEditorWithPreview) fileEditor; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/EditorMenuActionGroup.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/EditorMenuActionGroup.java index 41f584be..abea6411 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/EditorMenuActionGroup.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/EditorMenuActionGroup.java @@ -4,7 +4,7 @@ import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenContentAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenContentAction.java index d5830995..79722b1d 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenContentAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenContentAction.java @@ -2,10 +2,10 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -14,11 +14,11 @@ public class OpenContentAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Content"))) { + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Content"))) { return; } Project project = anActionEvent.getProject(); - CodeManager.openContent(question.getTitleSlug(), project, true); + RepositoryServiceImpl.getInstance(project).getCodeService().openContent(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenInWebAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenInWebAction.java index bd9cbc05..ed41a93c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenInWebAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenInWebAction.java @@ -2,8 +2,8 @@ import com.intellij.ide.BrowserUtil; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.utils.URLUtils; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenSolutionAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenSolutionAction.java index b8ff5e21..0a14e06a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenSolutionAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/OpenSolutionAction.java @@ -9,10 +9,9 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; -import com.shuzijun.leetcode.plugin.manager.ArticleManager; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.dialog.SolutionPanel; @@ -41,7 +40,7 @@ public void update(@NotNull AnActionEvent anActionEvent) { anActionEvent.getPresentation().setEnabled(false); return; } - Question question = QuestionManager.getQuestionByTitleSlug(leetcodeEditor.getTitleSlug(), anActionEvent.getProject()); + Question question = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getQuestionService().getQuestionByTitleSlug(leetcodeEditor.getTitleSlug()); if (question != null) { anActionEvent.getPresentation().setEnabled(!Constant.ARTICLE_LIVE_NONE.equals(question.getArticleLive())); } else { @@ -52,13 +51,14 @@ public void update(@NotNull AnActionEvent anActionEvent) { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { Project project = anActionEvent.getProject(); + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(project); if (Constant.ARTICLE_LIVE_ONE.equals(question.getArticleLive())) { - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Solution"))) { + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Solution"))) { return; } - ArticleManager.openArticle(question.getTitleSlug(), question.getArticleSlug(), project, true); + repositoryService.getArticleService().openArticle(question.getTitleSlug(), question.getArticleSlug(), true); } else if (Constant.ARTICLE_LIVE_LIST.equals(question.getArticleLive())) { - List solutionList = ArticleManager.getSolutionList(question.getTitleSlug(), anActionEvent.getProject()); + List solutionList = repositoryService.getArticleService().getSolutionList(question.getTitleSlug()); if (solutionList.isEmpty()) { return; } @@ -97,14 +97,14 @@ public void keyTyped(KeyEvent e) { private void openArticle(AnActionEvent anActionEvent, Config config, Question question, List solutionList, int row) { Solution solution = solutionList.get(row); if (solution != null) { - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Solution", solution.getSlug()))) { + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Solution", solution.getSlug()))) { return; } ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(), anActionEvent.getActionManager().getId(this), false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { question.setArticleSlug(solution.getSlug()); - ArticleManager.openArticle(question.getTitleSlug(), question.getArticleSlug(), anActionEvent.getProject(), true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getArticleService().openArticle(question.getTitleSlug(), question.getArticleSlug(), true); } }); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PositionAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PositionAction.java index db641c3c..4493836b 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PositionAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PositionAction.java @@ -6,10 +6,10 @@ import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; @@ -26,7 +26,7 @@ public void update(@NotNull AnActionEvent e) { return; } NavigatorAction navigatorAction = WindowFactory.getDataContext(e.getProject()).getData(DataKeys.LEETCODE_PROJECTS_NAVIGATORACTION); - if (navigatorAction ==null || !navigatorAction.position(null)) { + if (navigatorAction == null || !navigatorAction.position(null)) { e.getPresentation().setEnabled(false); return; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PullNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PullNoteAction.java index 945abac9..17899503 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PullNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PullNoteAction.java @@ -1,10 +1,11 @@ package com.shuzijun.leetcode.plugin.actions.editor; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -13,10 +14,11 @@ public class PullNoteAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - NoteManager.pull(question.getTitleSlug(), anActionEvent.getProject()); - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Note"))) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + repositoryService.getNoteService().pull(question.getTitleSlug()); + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Note"))) { return; } - NoteManager.show(question.getTitleSlug(), anActionEvent.getProject(), true); + repositoryService.getNoteService().show(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PushNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PushNoteAction.java index 329cf8c6..abaf0c50 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PushNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/PushNoteAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.editor; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,6 +12,6 @@ public class PushNoteAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - NoteManager.push(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getNoteService().push(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ResetTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ResetTimeAction.java index e1c7f20b..41b6dd63 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ResetTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ResetTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/RunCodeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/RunCodeAction.java index 4a2c1796..2d3f6d95 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/RunCodeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/RunCodeAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.editor; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,6 +12,6 @@ public class RunCodeAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - CodeManager.RunCodeCode(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().RunCodeCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ShowNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ShowNoteAction.java index c6af5422..9167d850 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ShowNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/ShowNoteAction.java @@ -1,10 +1,10 @@ package com.shuzijun.leetcode.plugin.actions.editor; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -13,9 +13,9 @@ public class ShowNoteAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Note"))) { + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Note"))) { return; } - NoteManager.show(question.getTitleSlug(), anActionEvent.getProject(), true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getNoteService().show(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StartTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StartTimeAction.java index 3add60a5..7872cdc2 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StartTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StartTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StopTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StopTimeAction.java index ff0ecc0c..19a94ae8 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StopTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/StopTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmissionsAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmissionsAction.java index f558112d..c339f64a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmissionsAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmissionsAction.java @@ -6,11 +6,12 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.ui.DialogWrapper; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; -import com.shuzijun.leetcode.plugin.manager.SubmissionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.Submission; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.Submission; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.window.dialog.SubmissionsPanel; import org.jetbrains.annotations.NotNull; @@ -27,7 +28,8 @@ public class SubmissionsAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - List submissionList = SubmissionManager.getSubmissionService(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + List submissionList = repositoryService.getSubmissionService().getSubmissionService(question.getTitleSlug()); if (submissionList == null || submissionList.isEmpty()) { return; } @@ -61,15 +63,16 @@ public void keyTyped(KeyEvent e) { } private void openSubmission(AnActionEvent anActionEvent, Config config, Question question, List submissionList, int row) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); Submission submission = submissionList.get(row); if (submission != null) { - if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergePreview.TabSelectFileEditorState("Submissions", submission.getId()))) { + if (config.getConvergeEditor() && openConvergeEditor(anActionEvent, new ConvergeFileEditorState.TabSelectFileEditorState("Submissions", submission.getId()))) { return; } ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(), anActionEvent.getActionManager().getId(this), false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - SubmissionManager.openSubmission(submission, question.getTitleSlug(), anActionEvent.getProject(), true); + repositoryService.getSubmissionService().openSubmission(submission, question.getTitleSlug(), true); } }); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmitAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmitAction.java index 5f45c069..0a2420bf 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmitAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/SubmitAction.java @@ -1,9 +1,10 @@ package com.shuzijun.leetcode.plugin.actions.editor; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,6 +13,8 @@ public class SubmitAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - CodeManager.SubmitCode(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + + repositoryService.getCodeService().SubmitCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/TestcaseAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/TestcaseAction.java index c4a210fb..d0b3d591 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/TestcaseAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/editor/TestcaseAction.java @@ -2,9 +2,10 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import com.shuzijun.leetcode.plugin.window.dialog.TestcasePanel; @@ -18,6 +19,8 @@ public class TestcaseAction extends AbstractEditAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + AtomicReference text = new AtomicReference<>(TestcaseAction.class.getName()); ApplicationManager.getApplication().invokeAndWait(() -> { TestcasePanel dialog = new TestcasePanel(anActionEvent.getProject(), question); @@ -33,7 +36,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config, Question return; } else { question.setTestCase(text.get()); - CodeManager.RunCodeCode(question.getTitleSlug(), anActionEvent.getProject()); + repositoryService.getCodeService().RunCodeCode(question.getTitleSlug()); } } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ClearAllAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ClearAllAction.java index a09864a1..aa7ae8d0 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ClearAllAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ClearAllAction.java @@ -9,10 +9,10 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.components.JBPanel; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.model.Config; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.LogUtils; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindAction.java index 81435804..c7a08b27 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindAction.java @@ -3,7 +3,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.ToggleAction; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindActionGroup.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindActionGroup.java index 34c04e58..5d4ffb19 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindActionGroup.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindActionGroup.java @@ -5,11 +5,11 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.Find; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.Find; +import com.shuzijun.leetcode.platform.model.Tag; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Tag; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; import icons.LeetCodeEditorIcons; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindClearAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindClearAction.java index 0c7e790e..b0dce4d6 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindClearAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindClearAction.java @@ -3,9 +3,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindTagAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindTagAction.java index 7050c312..6dfbd528 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindTagAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/FindTagAction.java @@ -6,9 +6,9 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Tag; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Tag; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LoginAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LoginAction.java index 129e0ef6..77adcb51 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LoginAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LoginAction.java @@ -3,13 +3,20 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.service.HttpRequestService; +import com.shuzijun.leetcode.platform.utils.CookieUtils; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.HttpRequest; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.DataKeys; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.NavigatorTabsPanel; import com.shuzijun.leetcode.plugin.window.WindowFactory; import com.shuzijun.leetcode.plugin.window.login.HttpLogin; @@ -28,19 +35,19 @@ public class LoginAction extends AbstractAction implements DumbAware { public synchronized void actionPerformed(AnActionEvent anActionEvent, Config config) { NavigatorAction navigatorAction = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_NAVIGATORACTION); - - if (StringUtils.isBlank(HttpRequestUtils.getToken())) { - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeVerify()).request(); + HttpRequestService httpRequestService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getHttpRequestService(); + if (StringUtils.isBlank(httpRequestService.getToken())) { + HttpResponse response = HttpRequest.builder(RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getHttpRequestService()).get(URLUtils.getLeetcodeVerify()).request(); if (response.getStatusCode() != 200) { MessageUtils.getInstance(anActionEvent.getProject()).showWarnMsg("warning", PropertiesUtils.getInfo("request.failed")); return; } } else { - if (HttpRequestUtils.isLogin(anActionEvent.getProject())) { + if (httpRequestService.isLogin(anActionEvent.getProject())) { MessageUtils.getInstance(anActionEvent.getProject()).showWarnMsg("info", PropertiesUtils.getInfo("login.exist")); - NavigatorTabsPanel.loadUser(true); + NavigatorTabsPanel.loadUser(true, anActionEvent.getProject()); if (navigatorAction.getPageInfo().getRowTotal() == 0) { - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).login(anActionEvent.getProject(), config.getUrl()); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).login(anActionEvent.getProject(), config.getUrl()); } return; } @@ -53,11 +60,11 @@ public synchronized void actionPerformed(AnActionEvent anActionEvent, Config con if (StringUtils.isNotBlank(config.getCookie(config.getUrl() + config.getLoginName()))) { List cookieList = CookieUtils.toHttpCookie(config.getCookie(config.getUrl() + config.getLoginName())); - HttpRequestUtils.setCookie(cookieList); - if (HttpRequestUtils.isLogin(anActionEvent.getProject())) { + httpRequestService.setCookie(cookieList); + if (httpRequestService.isLogin(anActionEvent.getProject())) { MessageUtils.getInstance(anActionEvent.getProject()).showInfoMsg("login", PropertiesUtils.getInfo("login.success")); - NavigatorTabsPanel.loadUser(true); - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).login(anActionEvent.getProject(), config.getUrl()); + NavigatorTabsPanel.loadUser(true, anActionEvent.getProject()); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).login(anActionEvent.getProject(), config.getUrl()); return; } else { config.addCookie(config.getUrl() + config.getLoginName(), null); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LogoutAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LogoutAction.java index 7778d7bd..a643a857 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LogoutAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LogoutAction.java @@ -3,11 +3,15 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.HttpResponse; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.HttpRequest; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.NavigatorTabsPanel; /** @@ -17,10 +21,10 @@ public class LogoutAction extends AbstractAction implements DumbAware { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config) { - HttpResponse httpResponse = HttpRequest.builderGet(URLUtils.getLeetcodeLogout()).request(); - HttpRequestUtils.resetHttpclient(); + HttpResponse httpResponse = HttpRequest.builder(RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getHttpRequestService()).get(URLUtils.getLeetcodeLogout()).request(); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getHttpRequestService().resetHttpclient(); MessageUtils.getInstance(anActionEvent.getProject()).showInfoMsg("info", PropertiesUtils.getInfo("login.out")); - NavigatorTabsPanel.loadUser(false); - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).logout(anActionEvent.getProject(), config.getUrl()); + NavigatorTabsPanel.loadUser(false, anActionEvent.getProject()); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).logout(anActionEvent.getProject(), config.getUrl()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/PickAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/PickAction.java index 60d3243e..348ec8e6 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/PickAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/PickAction.java @@ -2,10 +2,10 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.ViewManager; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; @@ -18,6 +18,6 @@ public class PickAction extends AbstractAction implements DumbAware { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config) { NavigatorAction navigatorAction = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_NAVIGATORACTION); - ViewManager.pick(anActionEvent.getProject(), navigatorAction.getPageInfo()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getViewService().pick(navigatorAction.getPageInfo()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ProgressAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ProgressAction.java index 570c5587..ad96a941 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ProgressAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ProgressAction.java @@ -5,14 +5,14 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Session; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.SessionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Session; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.StatisticsData; import com.shuzijun.leetcode.plugin.utils.DataKeys; -import com.shuzijun.leetcode.plugin.utils.HttpRequestUtils; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import com.shuzijun.leetcode.plugin.window.ProgressPanel; @@ -30,12 +30,13 @@ public class ProgressAction extends AbstractAction implements DumbAware { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config) { - if (!HttpRequestUtils.isLogin(anActionEvent.getProject())) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + if (!RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getHttpRequestService().isLogin(anActionEvent.getProject())) { MessageUtils.getInstance(anActionEvent.getProject()).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return; } - List sessionList = SessionManager.getSession(anActionEvent.getProject()); + List sessionList = repositoryService.getSessionService().getSession(); if (sessionList.isEmpty()) { return; } @@ -52,7 +53,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config) { if (session.getId() == null) { return; } else { - if (SessionManager.switchSession(anActionEvent.getProject(), session.getId())) { + if (repositoryService.getSessionService().switchSession(session.getId())) { NavigatorAction navigatorAction = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_NAVIGATORACTION); navigatorAction.getFind().operationType(""); navigatorAction.findClear(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/RefreshAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/RefreshAction.java index 9ef8d9f2..48a04c21 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/RefreshAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/RefreshAction.java @@ -2,9 +2,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ShareAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ShareAction.java index ec296a53..1abcc927 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ShareAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ShareAction.java @@ -3,8 +3,8 @@ import com.intellij.ide.BrowserUtil; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.model.Config; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/SortAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/SortAction.java index 9396ccde..217fc4de 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/SortAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/SortAction.java @@ -2,12 +2,12 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.Sort; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Sort; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; import icons.LeetCodeEditorIcons; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ToggleListAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ToggleListAction.java index 7322bb25..24e080ad 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ToggleListAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/ToggleListAction.java @@ -3,8 +3,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.model.Config; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.NavigatorTabsPanel; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/AbstractPageAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/AbstractPageAction.java index 89ad323c..e2d146f0 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/AbstractPageAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/AbstractPageAction.java @@ -3,7 +3,7 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/GoAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/GoAction.java index cbce4da9..ba991540 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/GoAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/GoAction.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.actions.toolbar.page; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/NextAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/NextAction.java index 459814d5..4d0ddc05 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/NextAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/NextAction.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.actions.toolbar.page; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageBoxAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageBoxAction.java index 83e5782e..84624703 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageBoxAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageBoxAction.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.actions.toolbar.page; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageSizeBoxAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageSizeBoxAction.java index 51011928..8dceb748 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageSizeBoxAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PageSizeBoxAction.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.actions.toolbar.page; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PreviousAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PreviousAction.java index e0e28f46..33106f30 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PreviousAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/page/PreviousAction.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.actions.toolbar.page; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; /** * @author shuzijun diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/AbstractTreeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/AbstractTreeAction.java index 865687ff..def06b49 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/AbstractTreeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/AbstractTreeAction.java @@ -2,12 +2,12 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.QuestionView; import com.shuzijun.leetcode.plugin.actions.AbstractAction; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.QuestionView; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; @@ -26,7 +26,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config) { if (questionView == null) { return; } - Question question = QuestionManager.getQuestionByTitleSlug(questionView.getTitleSlug(), anActionEvent.getProject()); + Question question = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getQuestionService().getQuestionByTitleSlug(questionView.getTitleSlug()); if (question == null) { return; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ClearOneAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ClearOneAction.java index 9cb5425b..93e2ebb6 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ClearOneAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ClearOneAction.java @@ -5,13 +5,13 @@ import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.CodeTypeEnum; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.CodeTypeEnum; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.utils.VelocityUtils; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; -import com.shuzijun.leetcode.plugin.utils.VelocityUtils; import java.io.File; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteAction.java index 40de3526..d27c449f 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteAction.java @@ -6,13 +6,13 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.FavoriteManager; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.QuestionView; +import com.shuzijun.leetcode.platform.model.Tag; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.QuestionView; -import com.shuzijun.leetcode.plugin.model.Tag; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; import org.jetbrains.annotations.NotNull; @@ -38,7 +38,7 @@ public boolean isSelected(AnActionEvent anActionEvent) { if (questionView == null) { return false; } - Question cacheQuestion = QuestionManager.getQuestionByTitleSlug(questionView.getTitleSlug(), anActionEvent.getProject()); + Question cacheQuestion = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getQuestionService().getQuestionByTitleSlug(questionView.getTitleSlug()); if (cacheQuestion == null) { return false; } @@ -56,10 +56,11 @@ public void setSelected(AnActionEvent anActionEvent, boolean b) { ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(), PluginConstant.PLUGIN_NAME + ".favorite", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); if (b) { - FavoriteManager.addQuestionToFavorite(tag, questionView.getTitleSlug(), anActionEvent.getProject()); + repositoryService.getFavoriteService().addQuestionToFavorite(tag, questionView.getTitleSlug()); } else { - FavoriteManager.removeQuestionFromFavorite(tag, questionView.getTitleSlug(), anActionEvent.getProject()); + repositoryService.getFavoriteService().removeQuestionFromFavorite(tag, questionView.getTitleSlug()); } } }); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteActionGroup.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteActionGroup.java index ba1874c4..aa8f5c6b 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteActionGroup.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/FavoriteActionGroup.java @@ -5,9 +5,9 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.DumbAware; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.Tag; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.Tag; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenAction.java index 298cfc8d..74adc5b3 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenAction.java @@ -2,9 +2,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -13,6 +13,6 @@ public class OpenAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { Project project = anActionEvent.getProject(); - CodeManager.openCode(question.getTitleSlug(), project); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().openCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenContentAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenContentAction.java index 770a7c97..bf99a059 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenContentAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenContentAction.java @@ -2,9 +2,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -14,6 +14,6 @@ public class OpenContentAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { Project project = anActionEvent.getProject(); - CodeManager.openContent(question.getTitleSlug(), project, true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().openContent(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenInWebAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenInWebAction.java index 6a60e3c2..b558376c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenInWebAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenInWebAction.java @@ -2,8 +2,8 @@ import com.intellij.ide.BrowserUtil; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.utils.URLUtils; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenSolutionAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenSolutionAction.java index 4d135689..492a7012 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenSolutionAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/OpenSolutionAction.java @@ -7,10 +7,10 @@ import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; -import com.shuzijun.leetcode.plugin.manager.ArticleManager; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.DataKeys; import com.shuzijun.leetcode.plugin.window.WindowFactory; import com.shuzijun.leetcode.plugin.window.dialog.SolutionPanel; @@ -39,7 +39,7 @@ public void update(@NotNull AnActionEvent anActionEvent) { anActionEvent.getPresentation().setEnabled(false); return; } - Question question = QuestionManager.getQuestionByTitleSlug(questionView.getTitleSlug(), anActionEvent.getProject()); + Question question = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getQuestionService().getQuestionByTitleSlug(questionView.getTitleSlug()); if (question == null) { return; } @@ -52,11 +52,12 @@ public void update(@NotNull AnActionEvent anActionEvent) { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); Project project = anActionEvent.getProject(); if (Constant.ARTICLE_LIVE_ONE.equals(question.getArticleLive())) { - ArticleManager.openArticle(question.getTitleSlug(), question.getArticleSlug(), project, true); + repositoryService.getArticleService().openArticle(question.getTitleSlug(), question.getArticleSlug(), true); } else if (Constant.ARTICLE_LIVE_LIST.equals(question.getArticleLive())) { - List solutionList = ArticleManager.getSolutionList(question.getTitleSlug(), anActionEvent.getProject()); + List solutionList = repositoryService.getArticleService().getSolutionList(question.getTitleSlug()); if (solutionList.isEmpty()) { return; } @@ -97,7 +98,7 @@ private void openArticle(AnActionEvent anActionEvent, Config config, Question qu @Override public void run(@NotNull ProgressIndicator progressIndicator) { question.setArticleSlug(solution.getSlug()); - ArticleManager.openArticle(question.getTitleSlug(), question.getArticleSlug(), anActionEvent.getProject(), true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getArticleService().openArticle(question.getTitleSlug(), question.getArticleSlug(), true); } }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PullNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PullNoteAction.java index 0a789204..ac942ab7 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PullNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PullNoteAction.java @@ -1,9 +1,10 @@ package com.shuzijun.leetcode.plugin.actions.tree; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,7 +13,8 @@ public class PullNoteAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - NoteManager.pull(question.getTitleSlug(), anActionEvent.getProject()); - NoteManager.show(question.getTitleSlug(), anActionEvent.getProject(), true); + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(anActionEvent.getProject()); + repositoryService.getNoteService().pull(question.getTitleSlug()); + repositoryService.getNoteService().show(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PushNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PushNoteAction.java index b906bf2e..55f0e6d6 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PushNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/PushNoteAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.tree; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,6 +12,6 @@ public class PushNoteAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - NoteManager.push(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getNoteService().push(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ResetTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ResetTimeAction.java index 54fe5015..9177bef2 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ResetTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ResetTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/RunCodeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/RunCodeAction.java index aefda44a..e60cca7e 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/RunCodeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/RunCodeAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.tree; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -11,6 +11,6 @@ public class RunCodeAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - CodeManager.RunCodeCode(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().RunCodeCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ShowNoteAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ShowNoteAction.java index 89a5ba9e..f8481aa2 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ShowNoteAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/ShowNoteAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.tree; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.NoteManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -12,6 +12,6 @@ public class ShowNoteAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - NoteManager.show(question.getTitleSlug(), anActionEvent.getProject(), true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getNoteService().show(question.getTitleSlug(), true); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StartTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StartTimeAction.java index aa90f0dc..2d26de61 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StartTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StartTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StopTimeAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StopTimeAction.java index 1f852a9a..3cf9807b 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StopTimeAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/StopTimeAction.java @@ -2,8 +2,8 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.wm.WindowManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.timer.TimerBarWidget; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmissionsAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmissionsAction.java index 97296707..138afed0 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmissionsAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmissionsAction.java @@ -6,10 +6,10 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.ui.DialogWrapper; -import com.shuzijun.leetcode.plugin.manager.SubmissionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.Submission; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.Submission; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.window.dialog.SubmissionsPanel; import org.jetbrains.annotations.NotNull; @@ -26,7 +26,7 @@ public class SubmissionsAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - List submissionList = SubmissionManager.getSubmissionService(question.getTitleSlug(), anActionEvent.getProject()); + List submissionList = RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getSubmissionService().getSubmissionService(question.getTitleSlug()); if (submissionList == null || submissionList.isEmpty()) { return; } @@ -65,7 +65,7 @@ private void openSubmission(AnActionEvent anActionEvent, Config config, Question ProgressManager.getInstance().run(new Task.Backgroundable(anActionEvent.getProject(), anActionEvent.getActionManager().getId(this), false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - SubmissionManager.openSubmission(submission, question.getTitleSlug(), anActionEvent.getProject(), true); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getSubmissionService().openSubmission(submission, question.getTitleSlug(), true); } }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmitAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmitAction.java index c3a32b6d..b1fc563e 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmitAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/SubmitAction.java @@ -1,9 +1,9 @@ package com.shuzijun.leetcode.plugin.actions.tree; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; /** * @author shuzijun @@ -11,6 +11,6 @@ public class SubmitAction extends AbstractTreeAction { @Override public void actionPerformed(AnActionEvent anActionEvent, Config config, Question question) { - CodeManager.SubmitCode(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().SubmitCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/TestcaseAction.java b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/TestcaseAction.java index 4ef59f0b..a65810fa 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/TestcaseAction.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/actions/tree/TestcaseAction.java @@ -2,9 +2,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; -import com.shuzijun.leetcode.plugin.manager.CodeManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import com.shuzijun.leetcode.plugin.window.dialog.TestcasePanel; @@ -35,7 +35,7 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config, Question return; } else { question.setTestCase(text.get()); - CodeManager.RunCodeCode(question.getTitleSlug(), anActionEvent.getProject()); + RepositoryServiceImpl.getInstance(anActionEvent.getProject()).getCodeService().RunCodeCode(question.getTitleSlug()); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergePreview.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergePreview.java index 95750d13..f89d866f 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergePreview.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergePreview.java @@ -2,7 +2,10 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.fileEditor.*; +import com.intellij.openapi.fileEditor.FileEditor; +import com.intellij.openapi.fileEditor.FileEditorLocation; +import com.intellij.openapi.fileEditor.FileEditorState; +import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.UserDataHolderBase; @@ -14,9 +17,11 @@ import com.intellij.ui.tabs.impl.JBEditorTabs; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.ui.JBUI; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.ConvergeFileEditorState; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.notifier.LoginNotifier; import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -34,13 +39,10 @@ public class ConvergePreview extends UserDataHolderBase implements TextEditor { private final String[] names; private final TabInfo[] tabInfos; private final VirtualFile file; - - + private final LeetcodeEditor leetcodeEditor; private JComponent myComponent; private JBEditorTabs jbEditorTabs; - private LeetcodeEditor leetcodeEditor; - public ConvergePreview(@NotNull FileEditor[] fileEditors, String[] names, Project project, VirtualFile file) { this.project = project; this.fileEditors = fileEditors; @@ -52,12 +54,12 @@ public ConvergePreview(@NotNull FileEditor[] fileEditors, String[] names, Projec MessageBusConnection settingsConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - settingsConnection.subscribe(LoginNotifier.TOPIC, new LoginNotifier() { + settingsConnection.subscribe(PluginTopic.LOGIN_TOPIC, new LoginNotifier() { @Override public void login(Project project, String host) { if (host.equals(leetcodeEditor.getHost())) { for (int i = 0; i < names.length; i++) { - fileEditors[i].setState(LoginState.getState(true, tabInfos[i] == jbEditorTabs.getSelectedInfo())); + fileEditors[i].setState(ConvergeFileEditorState.LoginState.getState(true, tabInfos[i] == jbEditorTabs.getSelectedInfo())); } } } @@ -66,7 +68,7 @@ public void login(Project project, String host) { public void logout(Project project, String host) { if (host.equals(leetcodeEditor.getHost())) { for (int i = 0; i < names.length; i++) { - fileEditors[i].setState(LoginState.getState(false, tabInfos[i] == jbEditorTabs.getSelectedInfo())); + fileEditors[i].setState(ConvergeFileEditorState.LoginState.getState(false, tabInfos[i] == jbEditorTabs.getSelectedInfo())); } } } @@ -88,7 +90,7 @@ public void logout(Project project, String host) { public void selectionChanged(TabInfo oldSelection, TabInfo newSelection) { for (int i = 0; i < names.length; i++) { if (newSelection.getText().equals(names[i])) { - fileEditors[i].setState(TabFileEditorState.TabFileEditorLoadState); + fileEditors[i].setState(ConvergeFileEditorState.TabFileEditorState.TabFileEditorLoadState); break; } } @@ -113,9 +115,9 @@ public void selectionChanged(TabInfo oldSelection, TabInfo newSelection) { @Override public void setState(@NotNull FileEditorState state) { - if (state instanceof TabSelectFileEditorState) { + if (state instanceof ConvergeFileEditorState.TabSelectFileEditorState) { if (jbEditorTabs != null) { - String name = ((TabSelectFileEditorState) state).getName(); + String name = ((ConvergeFileEditorState.TabSelectFileEditorState) state).getName(); for (int i = 0; i < names.length; i++) { if (name.equals(names[i])) { fileEditors[i].setState(state); @@ -178,104 +180,4 @@ public boolean canNavigateTo(@NotNull Navigatable navigatable) { public void navigateTo(@NotNull Navigatable navigatable) { } - - public static class TabFileEditorState implements FileEditorState { - - private boolean load = false; - - public TabFileEditorState(boolean load) { - this.load = load; - } - - public boolean isLoad() { - return load; - } - - @Override - public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { - return false; - } - - public static TabFileEditorState TabFileEditorLoadState = new TabFileEditorState(true); - - - } - - public static class TabSelectFileEditorState implements FileEditorState { - - private String name; - - private String childrenState; - - public TabSelectFileEditorState(String name) { - this.name = name; - } - - public TabSelectFileEditorState(String name, String childrenState) { - this.name = name; - this.childrenState = childrenState; - } - - public String getName() { - return name; - } - - public String getChildrenState() { - return childrenState; - } - - @Override - public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { - return false; - } - - } - - public static class LoginState implements FileEditorState { - - public static LoginState NoLoginNoSelect = new LoginState(false, false); - public static LoginState NoLoginSelect = new LoginState(false, true); - public static LoginState LoginNoSelect = new LoginState(true, false); - public static LoginState LoginSelect = new LoginState(true, true); - - public static LoginState getState(boolean login, boolean select) { - if (login) { - if (select) { - return LoginSelect; - } else { - return LoginNoSelect; - } - } else { - if (select) { - return NoLoginSelect; - } else { - return NoLoginNoSelect; - } - } - } - - private boolean login; - - private boolean select; - - public LoginState(boolean login, boolean select) { - this.login = login; - this.select = select; - } - - public boolean isLogin() { - return login; - } - - public boolean isSelect() { - return select; - } - - @Override - public boolean canBeMergedWith(@NotNull FileEditorState otherState, @NotNull FileEditorStateLevel level) { - return false; - } - - } - } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergeProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergeProvider.java index f5ccfacb..1ad3206a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergeProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/ConvergeProvider.java @@ -1,55 +1,72 @@ package com.shuzijun.leetcode.plugin.editor; +import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.fileEditor.*; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.shuzijun.leetcode.extension.ConvergeEditorFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import java.util.Arrays; -import java.util.stream.Collectors; +import java.util.List; /** * @author shuzijun */ public class ConvergeProvider implements AsyncFileEditorProvider, DumbAware { + private static final ExtensionPointName EXTENSION_CONVERGE_EDITOR = ExtensionPointName.create(PluginConstant.EXTENSION_CONVERGE_EDITOR); - @NotNull - protected final FileEditorProvider[] editorProviders; - protected final String[] names; - - @NotNull - private final String myEditorTypeId; + private String myEditorTypeId = "tab-provider-ConvergeProvider"; - public ConvergeProvider(@NotNull FileEditorProvider[] editorProviders, @NotNull String[] names) { - this.editorProviders = editorProviders; - this.names = names; - this.myEditorTypeId = "tab-provider[" + Arrays.stream(editorProviders).map(FileEditorProvider::getEditorTypeId).collect(Collectors.joining(";")) + "]"; + public ConvergeProvider() { } + @NotNull + public static Builder getBuilderFromEditorProvider(@NotNull final FileEditorProvider provider, @NotNull final Project project, @NotNull final VirtualFile file) { + if (provider instanceof AsyncFileEditorProvider) { + return ((AsyncFileEditorProvider) provider).createEditorAsync(project, file); + } else { + return new Builder() { + @Override + public FileEditor build() { + return provider.createEditor(project, file); + } + }; + } + } @NotNull @Override public AsyncFileEditorProvider.Builder createEditorAsync(@NotNull final Project project, @NotNull final VirtualFile file) { - final Builder[] builders = new Builder[editorProviders.length]; - for (int i = 0; i < editorProviders.length; i++) { - builders[i] = getBuilderFromEditorProvider(editorProviders[i], project, file); + RepositoryService repositoryService = RepositoryServiceImpl.getInstance(project); + List convergeEditorFactory = EXTENSION_CONVERGE_EDITOR.getExtensionList(); + + final Builder[] builders = new Builder[convergeEditorFactory.size()]; + final String[] names = new String[convergeEditorFactory.size()]; + for (int i = 0; i < convergeEditorFactory.size(); i++) { + builders[i] = getBuilderFromEditorProvider(convergeEditorFactory.get(i).createEditorProvider(repositoryService), project, file); + names[i] = convergeEditorFactory.get(i).getName(); } + + return new Builder() { @Override public TextEditor build() { - FileEditor[] fileEditors = new FileEditor[editorProviders.length]; + FileEditor[] fileEditors = new FileEditor[convergeEditorFactory.size()]; for (int i = 0; i < builders.length; i++) { fileEditors[i] = builders[i].build(); } - return createSplitEditor(fileEditors,project,file); + return createSplitEditor(fileEditors, names, project, file); } }; } - protected TextEditor createSplitEditor(@NotNull FileEditor[] fileEditors, Project project, VirtualFile file) { + protected TextEditor createSplitEditor(@NotNull FileEditor[] fileEditors, String[] names, Project project, VirtualFile file) { return new ConvergePreview(fileEditors, names, project, file); } @@ -72,18 +89,4 @@ public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { public @NotNull FileEditorPolicy getPolicy() { return FileEditorPolicy.HIDE_DEFAULT_EDITOR; } - - @NotNull - public static Builder getBuilderFromEditorProvider(@NotNull final FileEditorProvider provider, @NotNull final Project project, @NotNull final VirtualFile file) { - if (provider instanceof AsyncFileEditorProvider) { - return ((AsyncFileEditorProvider) provider).createEditorAsync(project, file); - } else { - return new Builder() { - @Override - public FileEditor build() { - return provider.createEditor(project, file); - } - }; - } - } } \ No newline at end of file diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVFileType.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVFileType.java index 66189a42..3a3e253a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVFileType.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVFileType.java @@ -18,7 +18,7 @@ private LCVFileType() { @NotNull @Override public String getName() { - return PluginConstant.LEETCODE_EDITOR_VIEW+"Doc"; + return PluginConstant.LEETCODE_EDITOR_VIEW + "Doc"; } @NotNull diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVLanguage.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVLanguage.java index 91cbb068..f68cea6b 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVLanguage.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVLanguage.java @@ -5,7 +5,7 @@ public class LCVLanguage extends Language { - public static final String LANGUAGE_NAME = PluginConstant.LEETCODE_EDITOR_VIEW+"Doc"; + public static final String LANGUAGE_NAME = PluginConstant.LEETCODE_EDITOR_VIEW + "Doc"; public static final LCVLanguage INSTANCE = new LCVLanguage(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVPanel.java index c4319755..8ac71be7 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/LCVPanel.java @@ -49,8 +49,8 @@ import java.nio.charset.StandardCharsets; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; -import java.util.*; import java.util.List; +import java.util.*; /** * @author shuzijun @@ -58,19 +58,16 @@ public class LCVPanel extends JCEFHtmlPanel { private static final Logger LOG = Logger.getInstance(LCVPanel.class); - + private static final List headers = Arrays.asList(HttpHeaderNames.CONTENT_SECURITY_POLICY.toString(), HttpHeaderNames.CONTENT_ENCODING.toString() + , HttpHeaderNames.CONTENT_LENGTH.toString()); private final Url servicePath = BuiltInServerManager.getInstance().addAuthToken(Urls.parseEncoded("http://localhost:" + BuiltInServerManager.getInstance().getPort() + PreviewStaticServer.PREFIX)); - private String templateHtmlFile = "template/default.html"; - - private CefRequestHandler requestHandler; - private CefLifeSpanHandler lifeSpanHandler; - private final String url; private final String text; private final Project project; private final List iframe = new ArrayList<>(); - private static final List headers = Arrays.asList(HttpHeaderNames.CONTENT_SECURITY_POLICY.toString(), HttpHeaderNames.CONTENT_ENCODING.toString() - , HttpHeaderNames.CONTENT_LENGTH.toString()); + private String templateHtmlFile = "template/default.html"; + private CefRequestHandler requestHandler; + private CefLifeSpanHandler lifeSpanHandler; public LCVPanel(@Nullable String url, Project project, String text, boolean old) { super(null); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/PreviewStaticServer.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/PreviewStaticServer.java index 3b91165a..1566f1eb 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/PreviewStaticServer.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/PreviewStaticServer.java @@ -18,11 +18,10 @@ */ public class PreviewStaticServer extends HttpRequestHandler { - private static final Logger LOG = Logger.getInstance(PreviewStaticServer.class); - public static final String PREFIX = "/3e41525e-e74a-4590-ba1d-982b8f638478/"; - public static final Map route = new HashMap<>(); + private static final Logger LOG = Logger.getInstance(PreviewStaticServer.class); + static { new ResourcesController().addRoute(route); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/ProxyLoadHtmlResourceHandler.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/ProxyLoadHtmlResourceHandler.java index 00796051..b542bcd7 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/ProxyLoadHtmlResourceHandler.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/ProxyLoadHtmlResourceHandler.java @@ -24,10 +24,10 @@ public class ProxyLoadHtmlResourceHandler extends CefResourceHandlerAdapter { @NotNull private final InputStream myInputStream; - private final Map header ; + private final Map header; private final int status; - public ProxyLoadHtmlResourceHandler(@NotNull String html, Map header, int status) { + public ProxyLoadHtmlResourceHandler(@NotNull String html, Map header, int status) { myInputStream = new ByteArrayInputStream(html.getBytes(StandardCharsets.UTF_8)); this.header = header; this.status = status; @@ -41,12 +41,12 @@ public boolean processRequest(@NotNull CefRequest request, @NotNull CefCallback @Override public void getResponseHeaders(@NotNull CefResponse response, IntRef response_length, StringRef redirectUrl) { - header.forEach((key,value) -> { - response.setHeaderByName(key,value,true); - if(HttpHeaderNames.CONTENT_TYPE.toString().equals(key.toLowerCase())){ - if(value.indexOf(";")>0){ - response.setMimeType(value.substring(0,value.indexOf(";"))); - }else { + header.forEach((key, value) -> { + response.setHeaderByName(key, value, true); + if (HttpHeaderNames.CONTENT_TYPE.toString().equals(key.toLowerCase())) { + if (value.indexOf(";") > 0) { + response.setMimeType(value.substring(0, value.indexOf(";"))); + } else { response.setMimeType(value); } } @@ -55,7 +55,7 @@ public void getResponseHeaders(@NotNull CefResponse response, IntRef response_le } @Override - public boolean readResponse(byte@NotNull[] data_out, int bytes_to_read, IntRef bytes_read, CefCallback callback) { + public boolean readResponse(byte @NotNull [] data_out, int bytes_to_read, IntRef bytes_read, CefCallback callback) { try { int availableSize = myInputStream.available(); if (availableSize > 0) { @@ -64,15 +64,13 @@ public boolean readResponse(byte@NotNull[] data_out, int bytes_to_read, IntRef b bytes_read.set(bytesToRead); return true; } - } - catch (IOException e) { + } catch (IOException e) { LOG.error(e); } bytes_read.set(0); try { myInputStream.close(); - } - catch (IOException e) { + } catch (IOException e) { LOG.error(e); } return false; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorIconProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorIconProvider.java index 15017fc8..d74a1b39 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorIconProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorIconProvider.java @@ -3,11 +3,11 @@ import com.intellij.ide.FileIconPatcher; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; -import com.shuzijun.leetcode.plugin.utils.LogUtils; import icons.LeetCodeEditorIcons; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorProvider.java index 985da515..ea74a5e4 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorProvider.java @@ -1,20 +1,15 @@ package com.shuzijun.leetcode.plugin.editor; import com.intellij.openapi.fileEditor.FileEditor; -import com.intellij.openapi.fileEditor.FileEditorProvider; import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.editor.converge.ContentProvider; -import com.shuzijun.leetcode.plugin.editor.converge.NoteProvider; -import com.shuzijun.leetcode.plugin.editor.converge.SolutionProvider; -import com.shuzijun.leetcode.plugin.editor.converge.SubmissionsProvider; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; -import com.shuzijun.leetcode.plugin.utils.LogUtils; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; @@ -26,7 +21,7 @@ public class QuestionEditorProvider extends SplitTextEditorProvider { public QuestionEditorProvider() { - super(new PsiAwareTextEditorProvider(), new ConvergeProvider(new FileEditorProvider[]{new ContentProvider(), new SolutionProvider(), new SubmissionsProvider(), new NoteProvider()}, new String[]{"Content", "Solution", "Submissions", "Note"})); + super(new PsiAwareTextEditorProvider(), new ConvergeProvider()); } @Override diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorTabTitleProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorTabTitleProvider.java index e795f9ba..4af5fe30 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorTabTitleProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorTabTitleProvider.java @@ -2,15 +2,14 @@ import com.intellij.openapi.fileEditor.impl.EditorTabTitleProvider; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.NlsContexts; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; -import com.shuzijun.leetcode.plugin.utils.LogUtils; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -20,7 +19,7 @@ */ public class QuestionEditorTabTitleProvider implements EditorTabTitleProvider { @Override - public @NlsContexts.TabTitle @Nullable String getEditorTabTitle(@NotNull Project project, @NotNull VirtualFile file) { + public @Nullable String getEditorTabTitle(@NotNull Project project, @NotNull VirtualFile file) { try { Config config = PersistentConfig.getInstance().getInitConfig(); if (config == null || !config.isShowQuestionEditor() || !config.isShowQuestionEditorSign()) { @@ -30,7 +29,7 @@ public class QuestionEditorTabTitleProvider implements EditorTabTitleProvider { if (leetcodeEditor == null || StringUtils.isBlank(leetcodeEditor.getContentPath())) { return null; } else { - Question question = QuestionManager.getQuestionByTitleSlug(leetcodeEditor.getTitleSlug(), project); + Question question = RepositoryServiceImpl.getInstance(project).getQuestionService().getQuestionByTitleSlug(leetcodeEditor.getTitleSlug()); if (question == null) { return null; } else { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorWithPreview.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorWithPreview.java index 64743a3d..30de4b4d 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorWithPreview.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/QuestionEditorWithPreview.java @@ -29,7 +29,7 @@ public QuestionEditorWithPreview(@NotNull TextEditor editor, @NotNull FileEditor @Nullable protected ActionGroup createLeftToolbarActionGroup() { - if (!PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { + if (!PersistentConfig.getInstance().getConfig().isLeftQuestionEditor()) { return (ActionGroup) ActionManager.getInstance().getAction(PluginConstant.LEETCODE_EDITOR_GROUP); } else { return null; @@ -39,7 +39,7 @@ protected ActionGroup createLeftToolbarActionGroup() { @Nullable protected ActionGroup createRightToolbarActionGroup() { - if (PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { + if (PersistentConfig.getInstance().getConfig().isLeftQuestionEditor()) { return (ActionGroup) ActionManager.getInstance().getAction(PluginConstant.LEETCODE_EDITOR_GROUP); } else { return null; @@ -48,7 +48,7 @@ protected ActionGroup createRightToolbarActionGroup() { @NotNull protected ActionGroup createViewActionGroup() { - if (PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { + if (PersistentConfig.getInstance().getConfig().isLeftQuestionEditor()) { return new DefaultActionGroup( getShowEditorAndPreviewAction(), getShowPreviewAction() @@ -84,7 +84,7 @@ public StructureViewBuilder getStructureViewBuilder() { @NotNull public TextEditor getTextEditor() { - if (PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { + if (PersistentConfig.getInstance().getConfig().isLeftQuestionEditor()) { if (((TextEditor) myPreview).getEditor() == null) { return myEditor; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/SplitFileEditor.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/SplitFileEditor.java index 30f1ed06..8c725491 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/SplitFileEditor.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/SplitFileEditor.java @@ -45,12 +45,10 @@ public abstract class SplitFileEditor NoteManager.show(leetcodeEditor.getTitleSlug(), project, false)).get(); + File file = ApplicationManager.getApplication().executeOnPooledThread(() -> repositoryService.getNoteService().show(leetcodeEditor.getTitleSlug(), false)).get(); if (file == null || !file.exists()) { myComponent.addToCenter(new JBLabel("No note")); } else { VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file); FileEditorProvider[] editorProviders = FileEditorProviderManager.getInstance().getProviders(project, vf); - if (editorProviders != null && editorProviders.length > 0) { + if (editorProviders.length > 0) { fileEditor = editorProviders[0].createEditor(project, vf); Disposer.register(notePreview, fileEditor); } else { @@ -119,16 +121,16 @@ private SplitEditorToolbar createToolbarWrapper(JComponent targetComponentForAct @Override public void setState(@NotNull FileEditorState state) { - if (state instanceof ConvergePreview.TabFileEditorState) { - if (!isLoad && ((ConvergePreview.TabFileEditorState) state).isLoad()) { + if (state instanceof ConvergeFileEditorState.TabFileEditorState) { + if (!isLoad && ((ConvergeFileEditorState.TabFileEditorState) state).isLoad()) { initComponent(); } else { if (fileEditor != null) { RefreshQueue.getInstance().refresh(false, false, null, fileEditor.getFile()); } } - } else if (state instanceof ConvergePreview.LoginState) { - ConvergePreview.LoginState loginState = (ConvergePreview.LoginState) state; + } else if (state instanceof ConvergeFileEditorState.LoginState) { + ConvergeFileEditorState.LoginState loginState = (ConvergeFileEditorState.LoginState) state; if (isLoad && loginState.isLogin()) { if (loginState.isSelect()) { ApplicationManager.getApplication().invokeLater(() -> { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/NoteProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/NoteProvider.java index b0c4dfc7..39dead22 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/NoteProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/NoteProvider.java @@ -6,9 +6,9 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import org.jetbrains.annotations.NotNull; /** @@ -16,22 +16,27 @@ */ public class NoteProvider implements AsyncFileEditorProvider, DumbAware { - private FileEditor fileEditor; + private final RepositoryService repositoryService; + + public NoteProvider(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + @Override public @NotNull Builder createEditorAsync(@NotNull Project project, @NotNull VirtualFile file) { - LeetcodeEditor leetcodeEditor = ProjectConfig.getInstance(project).getEditor(file.getPath()); + LeetcodeEditor leetcodeEditor = repositoryService.getLeetcodeEditor(file.getPath()); return new Builder() { @Override public FileEditor build() { - return createSplitEditor(leetcodeEditor, project); + return createSplitEditor(leetcodeEditor); } }; } - protected FileEditor createSplitEditor(@NotNull LeetcodeEditor leetcodeEditor, Project project) { - return new NotePreview(project, leetcodeEditor); + protected FileEditor createSplitEditor(@NotNull LeetcodeEditor leetcodeEditor) { + return new NotePreview(repositoryService, leetcodeEditor); } @Override @@ -53,5 +58,4 @@ public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { public @NotNull FileEditorPolicy getPolicy() { return FileEditorPolicy.HIDE_DEFAULT_EDITOR; } - } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionFactory.java new file mode 100644 index 00000000..124685a5 --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionFactory.java @@ -0,0 +1,22 @@ +package com.shuzijun.leetcode.plugin.editor.converge; + +import com.intellij.openapi.fileEditor.FileEditorProvider; +import com.shuzijun.leetcode.extension.ConvergeEditorFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +/** + * @author shuzijun + */ +public class SolutionFactory implements ConvergeEditorFactory { + + @Override + public @NotNull String getName() { + return "Solution"; + } + + @Override + public @NotNull FileEditorProvider createEditorProvider(RepositoryService repositoryService) { + return new SolutionProvider(repositoryService); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionPreview.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionPreview.java index cfe47a50..13892d74 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionPreview.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionPreview.java @@ -16,11 +16,10 @@ import com.intellij.ui.table.JBTable; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.components.BorderLayoutPanel; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; import com.shuzijun.leetcode.plugin.editor.SplitFileEditor; -import com.shuzijun.leetcode.plugin.manager.ArticleManager; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.plugin.model.PluginConstant; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nls; @@ -50,7 +49,7 @@ public class SolutionPreview extends UserDataHolderBase implements FileEditor { private final Project project; private final LeetcodeEditor leetcodeEditor; - + private final RepositoryService repositoryService; private BorderLayoutPanel myComponent; private Question question; @@ -64,8 +63,9 @@ public class SolutionPreview extends UserDataHolderBase implements FileEditor { private JBSplitter mySplitter; private SplitFileEditor.SplitEditorLayout myLayout = SplitFileEditor.SplitEditorLayout.FIRST; - public SolutionPreview(Project project, LeetcodeEditor leetcodeEditor) { - this.project = project; + public SolutionPreview(RepositoryService repositoryService, LeetcodeEditor leetcodeEditor) { + this.project = repositoryService.getProject(); + this.repositoryService = repositoryService; this.leetcodeEditor = leetcodeEditor; } @@ -90,7 +90,7 @@ private void initComponent(String defaultSlug) { JBLabel loadingLabel = new JBLabel("Loading......"); mySplitter.setFirstComponent(loadingLabel); try { - question = QuestionManager.getQuestionByTitleSlug(leetcodeEditor.getTitleSlug(), project); + question = repositoryService.getQuestionService().getQuestionByTitleSlug(leetcodeEditor.getTitleSlug()); if (question == null || Constant.ARTICLE_LIVE_NONE.equals(question.getArticleLive())) { mySplitter.setFirstComponent(new JBLabel("No question or no solution")); @@ -99,7 +99,7 @@ private void initComponent(String defaultSlug) { myLayout = SplitFileEditor.SplitEditorLayout.SECOND; adjustEditorsVisibility(); } else if (Constant.ARTICLE_LIVE_LIST.equals(question.getArticleLive())) { - solutionList = ApplicationManager.getApplication().executeOnPooledThread(() -> ArticleManager.getSolutionList(question.getTitleSlug(), project)).get(); + solutionList = ApplicationManager.getApplication().executeOnPooledThread(() -> repositoryService.getArticleService().getSolutionList(question.getTitleSlug())).get(); if (CollectionUtils.isEmpty(solutionList)) { mySplitter.setFirstComponent(new JBLabel("no solution")); } else { @@ -170,9 +170,7 @@ private void openSelectedQuestion(List solutionList, int row) { } private void openArticle() throws InterruptedException, java.util.concurrent.ExecutionException { - File file = ApplicationManager.getApplication().executeOnPooledThread(() -> { - return ArticleManager.openArticle(question.getTitleSlug(), question.getArticleSlug(), project, false); - }).get(); + File file = ApplicationManager.getApplication().executeOnPooledThread(() -> repositoryService.getArticleService().openArticle(question.getTitleSlug(), question.getArticleSlug(), false)).get(); if (file == null || !file.exists()) { mySplitter.setSecondComponent(new JBLabel("no solution")); } else { @@ -240,8 +238,8 @@ private void adjustEditorsVisibility() { @Override public void setState(@NotNull FileEditorState state) { - if (state instanceof ConvergePreview.TabFileEditorState) { - if (!isLoad && ((ConvergePreview.TabFileEditorState) state).isLoad()) { + if (state instanceof ConvergeFileEditorState.TabFileEditorState) { + if (!isLoad && ((ConvergeFileEditorState.TabFileEditorState) state).isLoad()) { initComponent(null); } else if (myLayout == SplitFileEditor.SplitEditorLayout.SECOND || myLayout == SplitFileEditor.SplitEditorLayout.SPLIT) { try { @@ -249,8 +247,8 @@ public void setState(@NotNull FileEditorState state) { } catch (Exception ignore) { } } - } else if (state instanceof ConvergePreview.TabSelectFileEditorState) { - String slug = ((ConvergePreview.TabSelectFileEditorState) state).getChildrenState(); + } else if (state instanceof ConvergeFileEditorState.TabSelectFileEditorState) { + String slug = ((ConvergeFileEditorState.TabSelectFileEditorState) state).getChildrenState(); if (!isLoad) { initComponent(slug); } else if (CollectionUtils.isNotEmpty(solutionList)) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionProvider.java index 948ddfba..e57171bd 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SolutionProvider.java @@ -5,9 +5,9 @@ import com.intellij.openapi.fileEditor.WeighedFileEditorProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import org.jetbrains.annotations.NotNull; /** @@ -15,6 +15,11 @@ */ public class SolutionProvider extends WeighedFileEditorProvider { + private final RepositoryService repositoryService; + + public SolutionProvider(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } @Override public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { @@ -23,8 +28,8 @@ public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { @Override public @NotNull FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) { - LeetcodeEditor leetcodeEditor = ProjectConfig.getInstance(project).getEditor(file.getPath()); - return new SolutionPreview(project, leetcodeEditor); + LeetcodeEditor leetcodeEditor = repositoryService.getLeetcodeEditor(file.getPath()); + return new SolutionPreview(repositoryService, leetcodeEditor); } @Override diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsFactory.java new file mode 100644 index 00000000..06f5d8af --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsFactory.java @@ -0,0 +1,22 @@ +package com.shuzijun.leetcode.plugin.editor.converge; + +import com.intellij.openapi.fileEditor.FileEditorProvider; +import com.shuzijun.leetcode.extension.ConvergeEditorFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +/** + * @author shuzijun + */ +public class SubmissionsFactory implements ConvergeEditorFactory { + + @Override + public @NotNull String getName() { + return "Submissions"; + } + + @Override + public @NotNull FileEditorProvider createEditorProvider(RepositoryService repositoryService) { + return new SubmissionsProvider(repositoryService); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsPreview.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsPreview.java index 8e242cf0..c5fd42f8 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsPreview.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsPreview.java @@ -14,18 +14,13 @@ import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.table.JBTable; -import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.components.BorderLayoutPanel; -import com.shuzijun.leetcode.plugin.editor.ConvergePreview; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.notifier.QuestionSubmitNotifier; import com.shuzijun.leetcode.plugin.editor.SplitFileEditor; -import com.shuzijun.leetcode.plugin.listener.QuestionSubmitNotifier; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.manager.SubmissionManager; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.Submission; import com.shuzijun.leetcode.plugin.window.dialog.SubmissionsPanel; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -54,6 +49,7 @@ public class SubmissionsPreview extends UserDataHolderBase implements FileEditor private final Project project; private final LeetcodeEditor leetcodeEditor; + private final RepositoryService repositoryService; private BorderLayoutPanel myComponent; @@ -68,12 +64,11 @@ public class SubmissionsPreview extends UserDataHolderBase implements FileEditor private JBSplitter mySplitter; private SplitFileEditor.SplitEditorLayout myLayout = SplitFileEditor.SplitEditorLayout.FIRST; - public SubmissionsPreview(Project project, LeetcodeEditor leetcodeEditor) { - this.project = project; + public SubmissionsPreview(RepositoryService repositoryService, LeetcodeEditor leetcodeEditor) { + this.project = repositoryService.getProject(); + this.repositoryService = repositoryService; this.leetcodeEditor = leetcodeEditor; - MessageBusConnection settingsConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - - settingsConnection.subscribe(QuestionSubmitNotifier.TOPIC, new QuestionSubmitNotifier() { + repositoryService.subscribeNotifier(Topic.QuestionSubmitNotifier, new QuestionSubmitNotifier() { @Override public void submit(String host, String slug) { if (leetcodeEditor.getTitleSlug().equals(slug) && leetcodeEditor.getHost().equals(host)) { @@ -82,7 +77,7 @@ public void submit(String host, String slug) { } } } - }); + }, this); } @Override @@ -106,12 +101,12 @@ private void initComponent(String defaultId) { JBLabel loadingLabel = new JBLabel("Loading......"); mySplitter.setFirstComponent(loadingLabel); try { - question = QuestionManager.getQuestionByTitleSlug(leetcodeEditor.getTitleSlug(), project); + question = repositoryService.getQuestionService().getQuestionByTitleSlug(leetcodeEditor.getTitleSlug()); if (question == null) { mySplitter.setFirstComponent(new JBLabel("No question")); } else { - submissionList = ApplicationManager.getApplication().executeOnPooledThread(() -> SubmissionManager.getSubmissionService(question.getTitleSlug(), project)).get(); + submissionList = ApplicationManager.getApplication().executeOnPooledThread(() -> repositoryService.getSubmissionService().getSubmissionService(question.getTitleSlug())).get(); if (CollectionUtils.isNotEmpty(submissionList)) { table = new JBTable(new SubmissionsPanel.TableModel(submissionList)); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); @@ -181,7 +176,7 @@ private void openSelectedQuestion(List submissionList, int row) { } private void openSubmission(Submission submission) throws InterruptedException, java.util.concurrent.ExecutionException { - File file = ApplicationManager.getApplication().executeOnPooledThread(() -> SubmissionManager.openSubmission(submission, question.getTitleSlug(), project, false)).get(); + File file = ApplicationManager.getApplication().executeOnPooledThread(() -> repositoryService.getSubmissionService().openSubmission(submission, question.getTitleSlug(), false)).get(); if (file == null || !file.exists()) { mySplitter.setSecondComponent(new JBLabel("no submission")); } else { @@ -247,12 +242,12 @@ private void adjustEditorsVisibility() { @Override public void setState(@NotNull FileEditorState state) { - if (state instanceof ConvergePreview.TabFileEditorState) { - if (!isLoad && ((ConvergePreview.TabFileEditorState) state).isLoad()) { + if (state instanceof ConvergeFileEditorState.TabFileEditorState) { + if (!isLoad && ((ConvergeFileEditorState.TabFileEditorState) state).isLoad()) { initComponent(null); } - } else if (state instanceof ConvergePreview.TabSelectFileEditorState) { - String id = ((ConvergePreview.TabSelectFileEditorState) state).getChildrenState(); + } else if (state instanceof ConvergeFileEditorState.TabSelectFileEditorState) { + String id = ((ConvergeFileEditorState.TabSelectFileEditorState) state).getChildrenState(); if (!isLoad) { initComponent(id); } else if (CollectionUtils.isNotEmpty(submissionList)) { @@ -264,8 +259,8 @@ public void setState(@NotNull FileEditorState state) { } } } - } else if (state instanceof ConvergePreview.LoginState) { - ConvergePreview.LoginState loginState = (ConvergePreview.LoginState) state; + } else if (state instanceof ConvergeFileEditorState.LoginState) { + ConvergeFileEditorState.LoginState loginState = (ConvergeFileEditorState.LoginState) state; if (isLoad) { if (loginState.isSelect()) { initComponent(null); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsProvider.java b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsProvider.java index 7902ab5b..fad4c0a0 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsProvider.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/editor/converge/SubmissionsProvider.java @@ -5,9 +5,9 @@ import com.intellij.openapi.fileEditor.WeighedFileEditorProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import org.jetbrains.annotations.NotNull; /** @@ -15,6 +15,11 @@ */ public class SubmissionsProvider extends WeighedFileEditorProvider { + private final RepositoryService repositoryService; + + public SubmissionsProvider(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } @Override public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { @@ -23,8 +28,8 @@ public boolean accept(@NotNull Project project, @NotNull VirtualFile file) { @Override public @NotNull FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) { - LeetcodeEditor leetcodeEditor = ProjectConfig.getInstance(project).getEditor(file.getPath()); - return new SubmissionsPreview(project, leetcodeEditor); + LeetcodeEditor leetcodeEditor = repositoryService.getLeetcodeEditor(file.getPath()); + return new SubmissionsPreview(repositoryService, leetcodeEditor); } @Override diff --git a/src/main/java/com/shuzijun/leetcode/plugin/language/ScopeFoldingBuilder.java b/src/main/java/com/shuzijun/leetcode/plugin/language/ScopeFoldingBuilder.java index eb241150..64c7faee 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/language/ScopeFoldingBuilder.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/language/ScopeFoldingBuilder.java @@ -10,7 +10,7 @@ import com.intellij.psi.PsiComment; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; -import com.shuzijun.leetcode.plugin.model.Constant; +import com.shuzijun.leetcode.platform.model.Constant; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/AllQuestionNotifier.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/AllQuestionNotifier.java deleted file mode 100644 index c8505570..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/AllQuestionNotifier.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.shuzijun.leetcode.plugin.listener; - -import com.intellij.util.messages.Topic; -import com.shuzijun.leetcode.plugin.model.PluginConstant; - -/** - * @author shuzijun - */ -public interface AllQuestionNotifier { - - @Topic.AppLevel - Topic TOPIC = Topic.create(PluginConstant.LEETCODE_ALL_QUESTION_TOPIC, AllQuestionNotifier.class); - - void reset(); -} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/ColorListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/ColorListener.java index 97deeca9..3a6e689e 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/ColorListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/ColorListener.java @@ -14,15 +14,15 @@ public class ColorListener extends MouseAdapter { private JLabel label; private JPanel mainPanel; - public ColorListener(JPanel mainPanel,JLabel label) { + public ColorListener(JPanel mainPanel, JLabel label) { this.mainPanel = mainPanel; this.label = label; } @Override public void mouseClicked(MouseEvent e) { - Color newColor = ColorPicker.showDialog(mainPanel, label.getText()+" Color", label.getForeground(), true, null, true); - if(newColor!=null){ + Color newColor = ColorPicker.showDialog(mainPanel, label.getText() + " Color", label.getForeground(), true, null, true); + if (newColor != null) { label.setForeground(newColor); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/ConfigNotifier.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/ConfigNotifier.java deleted file mode 100644 index c762f7a4..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/ConfigNotifier.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.shuzijun.leetcode.plugin.listener; - -import com.intellij.util.messages.Topic; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.PluginConstant; - -/** - * @author shuzijun - */ -public interface ConfigNotifier { - - @Topic.AppLevel - Topic TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_CONFIG_TOPIC, ConfigNotifier.class); - - void change(Config oldConfig, Config newConfig); -} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/DonateListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/DonateListener.java index 505e3543..3b587585 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/DonateListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/DonateListener.java @@ -3,7 +3,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.ui.DialogWrapper; -import com.shuzijun.leetcode.plugin.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import org.jetbrains.annotations.Nullable; @@ -45,7 +45,7 @@ public DonatePanel(@Nullable Project project) { jpanel.add(new JLabel(new ImageIcon(ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("image/WeChat.png"))))); jpanel.add(new JLabel(new ImageIcon(ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("image/AliPay.png"))))); } catch (IOException e) { - LogUtils.LOG.error("加载图片失败",e); + LogUtils.LOG.error("加载图片失败", e); } jpanel.setMinimumSize(new Dimension(400, 200)); setModal(true); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/JTableKeyAdapter.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/JTableKeyAdapter.java index 26d541f1..614a6535 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/JTableKeyAdapter.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/JTableKeyAdapter.java @@ -4,9 +4,9 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.manager.CodeManager; +import com.shuzijun.leetcode.platform.model.QuestionView; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.QuestionView; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.window.NavigatorTableData; import org.jetbrains.annotations.NotNull; @@ -34,7 +34,7 @@ public void keyTyped(KeyEvent e) { ProgressManager.getInstance().run(new Task.Backgroundable(project, PluginConstant.LEETCODE_EDITOR_OPEN_CODE, false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - CodeManager.openCode(question.getTitleSlug(), project); + RepositoryServiceImpl.getInstance(project).getCodeService().openCode(question.getTitleSlug()); } }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/LoginNotifier.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/LoginNotifier.java deleted file mode 100644 index 9b42ee76..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/LoginNotifier.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.shuzijun.leetcode.plugin.listener; - -import com.intellij.openapi.project.Project; -import com.intellij.util.messages.Topic; -import com.shuzijun.leetcode.plugin.model.PluginConstant; - -/** - * @author shuzijun - */ -public interface LoginNotifier { - - @Topic.AppLevel - Topic TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_LOGIN_TOPIC, LoginNotifier.class); - - void login(Project project, String host); - - void logout(Project project, String host); -} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/QueryKeyListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/QueryKeyListener.java index cf2a14cd..e8f3ae73 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/QueryKeyListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/QueryKeyListener.java @@ -4,7 +4,7 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionStatusNotifier.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionStatusNotifier.java deleted file mode 100644 index c43a4609..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionStatusNotifier.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.shuzijun.leetcode.plugin.listener; - -import com.intellij.util.messages.Topic; -import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Question; - -/** - * @author shuzijun - */ -public interface QuestionStatusNotifier { - - @Topic.AppLevel - Topic QUESTION_STATUS_TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_QUESTION_STATUS_TOPIC, QuestionStatusNotifier.class); - - public void updateTable(Question question); - - -} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionSubmitNotifier.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionSubmitNotifier.java deleted file mode 100644 index bad576cb..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/QuestionSubmitNotifier.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.shuzijun.leetcode.plugin.listener; - -import com.intellij.util.messages.Topic; -import com.shuzijun.leetcode.plugin.model.PluginConstant; - -/** - * @author shuzijun - */ -public interface QuestionSubmitNotifier { - - @Topic.AppLevel - Topic TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_QUESTION_SUBMIT_TOPIC, QuestionSubmitNotifier.class); - - void submit(String host, String slug); -} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/RegisterPluginInstallerStateListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/RegisterPluginInstallerStateListener.java index 2836c4bd..a9a584da 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/RegisterPluginInstallerStateListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/RegisterPluginInstallerStateListener.java @@ -6,7 +6,7 @@ import com.intellij.openapi.fileEditor.impl.HTMLEditorProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/SupportCheck.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/SupportCheck.java index 8c608d63..fb22d30a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/SupportCheck.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/SupportCheck.java @@ -20,10 +20,10 @@ public class SupportCheck implements StartupActivity, DumbAware { @Override public void runActivity(@NotNull Project project) { - if (ApplicationManager.getApplication().isUnitTestMode() || !isFirstProject ) { + if (ApplicationManager.getApplication().isUnitTestMode() || !isFirstProject) { return; } - if(!JBCefApp.isSupported()){ + if (!JBCefApp.isSupported()) { Notifications.Bus.notify(new Notification(PluginConstant.NOTIFICATION_GROUP, "Not Support JCEF", "Your environment does not support JCEF, cannot use LeetCode Editor.Check the Registry 'ide.browser.jcef.enabled'.", NotificationType.ERROR)); } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/TreeMouseListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/TreeMouseListener.java index 4b65d755..455307aa 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/TreeMouseListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/TreeMouseListener.java @@ -6,9 +6,9 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.manager.CodeManager; +import com.shuzijun.leetcode.platform.model.QuestionView; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.QuestionView; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.window.NavigatorTableData; import org.jetbrains.annotations.NotNull; @@ -48,7 +48,7 @@ public void mouseClicked(MouseEvent e) { ProgressManager.getInstance().run(new Task.Backgroundable(project, PluginConstant.LEETCODE_EDITOR_OPEN_CODE, false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - CodeManager.openCode(question.getTitleSlug(), project); + RepositoryServiceImpl.getInstance(project).getCodeService().openCode(question.getTitleSlug()); } }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/UpdatePluginListener.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/UpdatePluginListener.java index 30417577..e601cf9c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/UpdatePluginListener.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/UpdatePluginListener.java @@ -1,7 +1,7 @@ package com.shuzijun.leetcode.plugin.listener; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Constant; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.utils.FileUtils; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/PluginConstant.java b/src/main/java/com/shuzijun/leetcode/plugin/model/PluginConstant.java index 8ebc0d37..29bcaec9 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/model/PluginConstant.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/model/PluginConstant.java @@ -17,6 +17,12 @@ public class PluginConstant { public static final String TOOL_WINDOW_ID = "Leetcode"; public static final String CONSOLE_WINDOW_ID = "Leetcode Console"; + /** + * 扩展 + */ + public static final String EXTENSION_NAVIGATOR = PLUGIN_ID + ".navigator"; + public static final String EXTENSION_CONVERGE_EDITOR = PLUGIN_ID + ".convergeEditor"; + /** * 配置id */ diff --git a/src/main/java/com/shuzijun/leetcode/plugin/model/PluginTopic.java b/src/main/java/com/shuzijun/leetcode/plugin/model/PluginTopic.java new file mode 100644 index 00000000..a9e98983 --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/model/PluginTopic.java @@ -0,0 +1,21 @@ +package com.shuzijun.leetcode.plugin.model; + +import com.intellij.util.messages.Topic; +import com.shuzijun.leetcode.platform.notifier.*; + +public class PluginTopic { + @Topic.AppLevel + public static Topic ALL_QUESTION_TOPIC = Topic.create(PluginConstant.LEETCODE_ALL_QUESTION_TOPIC, AllQuestionNotifier.class); + + @Topic.AppLevel + public static Topic CONFIG_TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_CONFIG_TOPIC, ConfigNotifier.class); + + @Topic.AppLevel + public static Topic LOGIN_TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_LOGIN_TOPIC, LoginNotifier.class); + + @Topic.AppLevel + public static Topic QUESTION_STATUS_TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_QUESTION_STATUS_TOPIC, QuestionStatusNotifier.class); + + @Topic.AppLevel + public static Topic QUESTION_SUBMIT_TOPIC = Topic.create(PluginConstant.LEETCODE_EDITOR_QUESTION_SUBMIT_TOPIC, QuestionSubmitNotifier.class); +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/ArticleManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/ArticleServiceImpl.java similarity index 66% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/ArticleManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/ArticleServiceImpl.java index c36dccad..cdb80698 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/ArticleManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/ArticleServiceImpl.java @@ -1,15 +1,22 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.Graphql; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.Graphql; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.model.Solution; +import com.shuzijun.leetcode.platform.repository.ArticleService; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.doc.CleanMarkdown; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Solution; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; -import com.shuzijun.leetcode.plugin.utils.doc.CleanMarkdown; +import com.shuzijun.leetcode.plugin.utils.FileUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.lang.StringUtils; import java.io.File; @@ -19,15 +26,29 @@ /** * @author shuzijun */ -public class ArticleManager { +public class ArticleServiceImpl implements ArticleService { - public static File openArticle(String titleSlug, String articleSlug, Project project, Boolean isOpenEditor) { + private final Project project; + + private RepositoryService repositoryService; + + public ArticleServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public File openArticle(String titleSlug, String articleSlug, Boolean isOpenEditor) { String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_SOLUTION + articleSlug + "." + PluginConstant.LEETCODE_EDITOR_VIEW; File file = new File(filePath); String host; if (!file.exists()) { - String article = getArticle(titleSlug, articleSlug, project); + String article = getArticle(titleSlug, articleSlug); if (URLUtils.isCn()) { host = URLUtils.getLeetcodeProblems() + titleSlug + "/solution/" + articleSlug + "/"; } else { @@ -46,10 +67,10 @@ public static File openArticle(String titleSlug, String articleSlug, Project pro return file; } - private static String getArticle(String titleSlug, String articleSlug, Project project) { + @Override + public String getArticle(String titleSlug, String articleSlug) { try { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("solutionDetailArticle"). - variables("slug", articleSlug).variables("titleSlug", titleSlug).variables("orderBy", "DEFAULT").request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("solutionDetailArticle").variables("slug", articleSlug).variables("titleSlug", titleSlug).variables("orderBy", "DEFAULT").request(); if (response.getStatusCode() == 200) { String content; if (URLUtils.isCn()) { @@ -73,17 +94,17 @@ private static String getArticle(String titleSlug, String articleSlug, Project p return null; } - - public static String formatMarkdown(String content, String host) { + @Override + public String formatMarkdown(String content, String host) { return CleanMarkdown.cleanMarkdown(content, host); } - public static List getSolutionList(String titleSlug, Project project) { + @Override + public List getSolutionList(String titleSlug) { List solutionList = new ArrayList<>(); try { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("questionSolutionArticles"). - variables("questionSlug", titleSlug).variables("first", 200).variables("skip", 0).variables("orderBy", "DEFAULT").request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("questionSolutionArticles").variables("questionSlug", titleSlug).variables("first", 200).variables("skip", 0).variables("orderBy", "DEFAULT").request(); if (response.getStatusCode() == 200) { JSONArray edges = JSONObject.parseObject(response.getBody()).getJSONObject("data").getJSONObject("questionSolutionArticles").getJSONArray("edges"); for (int i = 0; i < edges.size(); i++) { @@ -111,4 +132,5 @@ public static List getSolutionList(String titleSlug, Project project) return solutionList; } + } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/CodeManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/CodeServiceImpl.java similarity index 77% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/CodeManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/CodeServiceImpl.java index b9ececb9..6c105a1b 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/CodeManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/CodeServiceImpl.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONObject; import com.google.common.base.Joiner; @@ -7,63 +7,127 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.listener.QuestionStatusNotifier; -import com.shuzijun.leetcode.plugin.listener.QuestionSubmitNotifier; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.CodeService; +import com.shuzijun.leetcode.platform.utils.CommentUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.VelocityUtils; +import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.FileUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NotNull; import java.io.File; -import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.function.BiConsumer; /** * @author shuzijun */ -public class CodeManager { +public class CodeServiceImpl implements CodeService { - public static void openCode(String titleSlug, Project project) { - Config config = PersistentConfig.getInstance().getInitConfig(); + private final Project project; + private RepositoryService repositoryService; + + public CodeServiceImpl(Project project) { + this.project = project; + } + + private static String buildErrorMsg(JSONObject errorBody) { + String statusMsg = errorBody.getString("status_msg"); + if (StringUtils.isNotBlank(statusMsg)) { + if (statusMsg.equals("Compile Error")) { + return errorBody.getString("full_compile_error"); + } else if (statusMsg.equals("Runtime Error")) { + return errorBody.getString("full_runtime_error"); + } else { + return statusMsg; + } + } + return "Unknown error"; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + private String getCodeText(Question question, Config config, CodeTypeEnum codeTypeEnum, Project project) { + if (codeTypeEnum == null) { + return null; + } + if (!repositoryService.getHttpRequestService().isLogin(project)) { + MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("login.not")); + return null; + } + String filePath = PersistentConfig.getInstance().getTempFilePath() + VelocityUtils.convert(config.getCustomFileName(), question) + codeTypeEnum.getSuffix(); + File file = new File(filePath); + if (!file.exists()) { + MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("request.code")); + return null; + } else { + if (StringUtils.isBlank(question.getTestCase())) { + return null; + } + + String code = FileUtils.getClearCommentFileBody(file, codeTypeEnum); + if (StringUtils.isBlank(code)) { + MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("request.empty")); + return null; + } + + + return code; + } + } + + @Override + public void openCode(String titleSlug) { + Config config = PersistentConfig.getInstance().getConfig(); CodeTypeEnum codeTypeEnum = config.getCodeTypeEnum(project); if (codeTypeEnum == null) { return; } - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } if (config.isShowQuestionEditor()) { - openContent(titleSlug, project, false); + openContent(titleSlug, false); } String filePath = PersistentConfig.getInstance().getTempFilePath() + VelocityUtils.convert(config.getCustomFileName(), question) + codeTypeEnum.getSuffix(); File file = new File(filePath); - BiConsumer fillPath = (e, s) -> e.setPath(s); + BiConsumer fillPath = LeetcodeEditor::setPath; if (file.exists()) { FileUtils.openFileEditorAndSaveState(file, project, question, fillPath, true); } else { String content = question.getContent(); - try{ + try { question.setLangSlug(codeTypeEnum.getLangSlug()); question.setContent(CommentUtils.createComment(content, codeTypeEnum, config)); FileUtils.saveFile(file, VelocityUtils.convert(config.getCustomTemplate(), question)); FileUtils.openFileEditorAndSaveState(file, project, question, fillPath, true); - }finally { + } finally { question.setContent(content); } } } - - public static void openContent(String titleSlug, Project project, boolean isOpen) { - Config config = PersistentConfig.getInstance().getInitConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + @Override + public void openContent(String titleSlug, boolean isOpen) { + Config config = PersistentConfig.getInstance().getConfig(); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } @@ -71,7 +135,7 @@ public static void openContent(String titleSlug, Project project, boolean isOpen String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_CONTENT + VelocityUtils.convert(config.getCustomFileName(), question) + ".md"; File file = new File(filePath); - BiConsumer fillPath = (e, s) -> e.setContentPath(s); + BiConsumer fillPath = LeetcodeEditor::setContentPath; if (file.exists()) { FileUtils.openFileEditorAndSaveState(file, project, question, fillPath, isOpen); } else { @@ -80,10 +144,10 @@ public static void openContent(String titleSlug, Project project, boolean isOpen } } - - public static void SubmitCode(String titleSlug, Project project) { - Config config = PersistentConfig.getInstance().getInitConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + @Override + public void SubmitCode(String titleSlug) { + Config config = PersistentConfig.getInstance().getConfig(); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } @@ -98,12 +162,12 @@ public static void SubmitCode(String titleSlug, Project project) { arg.put("question_id", question.getQuestionId()); arg.put("lang", codeTypeEnum.getLangSlug()); arg.put("typed_code", code); - HttpResponse response = HttpRequest.builderPost(URLUtils.getLeetcodeProblems() + question.getTitleSlug() + "/submit/", "application/json") + HttpResponse response = repositoryService.HttpRequest().post(URLUtils.getLeetcodeProblems() + question.getTitleSlug() + "/submit/", "application/json") .addHeader("Accept", "application/json").body(arg.toJSONString()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject returnObj = JSONObject.parseObject(body); - ProgressManager.getInstance().run(new SubmitCheckTask(returnObj, codeTypeEnum, question, project)); + ProgressManager.getInstance().run(new SubmitCheckTask(returnObj, codeTypeEnum, question, project, repositoryService)); MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("request.pending")); } else if (response.getStatusCode() == 429) { MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("request.pending")); @@ -119,9 +183,10 @@ public static void SubmitCode(String titleSlug, Project project) { } - public static void RunCodeCode(String titleSlug, Project project) { - Config config = PersistentConfig.getInstance().getInitConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + @Override + public void RunCodeCode(String titleSlug) { + Config config = PersistentConfig.getInstance().getConfig(); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } @@ -137,18 +202,18 @@ public static void RunCodeCode(String titleSlug, Project project) { arg.put("lang", codeTypeEnum.getLangSlug()); arg.put("judge_type", "large"); arg.put("typed_code", code); - HttpResponse response = HttpRequest.builderPost(URLUtils.getLeetcodeProblems() + question.getTitleSlug() + "/interpret_solution/", "application/json") + HttpResponse response = repositoryService.HttpRequest().post(URLUtils.getLeetcodeProblems() + question.getTitleSlug() + "/interpret_solution/", "application/json") .addHeader("Accept", "application/json").body(arg.toJSONString()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject returnObj = JSONObject.parseObject(body); - ProgressManager.getInstance().run(new RunCodeCheckTask(returnObj, project, question.getTestCase())); + ProgressManager.getInstance().run(new RunCodeCheckTask(returnObj, project, question.getTestCase(), repositoryService)); MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("request.pending")); } else if (response.getStatusCode() == 429) { MessageUtils.getInstance(project).showWarnMsg("", "Please wait for the result."); } else { - LogUtils.LOG.error("RuncodeCode failure " + response == null ? "" : response.getBody()); + LogUtils.LOG.error("RuncodeCode failure " + response.getBody()); MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("request.failed")); } } catch (Exception i) { @@ -156,48 +221,22 @@ public static void RunCodeCode(String titleSlug, Project project) { } } - private static String getCodeText(Question question, Config config, CodeTypeEnum codeTypeEnum, Project project) { - if (codeTypeEnum == null) { - return null; - } - if (!HttpRequestUtils.isLogin(project)) { - MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("login.not")); - return null; - } - String filePath = PersistentConfig.getInstance().getTempFilePath() + VelocityUtils.convert(config.getCustomFileName(), question) + codeTypeEnum.getSuffix(); - File file = new File(filePath); - if (!file.exists()) { - MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("request.code")); - return null; - } else { - if (StringUtils.isBlank(question.getTestCase())) { - return null; - } - - String code = FileUtils.getClearCommentFileBody(file, codeTypeEnum); - if (StringUtils.isBlank(code)) { - MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("request.empty")); - return null; - } - - - return code; - } - } - private static class SubmitCheckTask extends Task.Backgroundable { - private Question question; - private JSONObject returnObj; - private CodeTypeEnum codeTypeEnum; - private Project project; + private final Question question; + private final JSONObject returnObj; + private final CodeTypeEnum codeTypeEnum; + private final Project project; - public SubmitCheckTask(JSONObject returnObj, CodeTypeEnum codeTypeEnum, Question question, Project project) { + private final RepositoryService repositoryService; + + public SubmitCheckTask(JSONObject returnObj, CodeTypeEnum codeTypeEnum, Question question, Project project, RepositoryService repositoryService) { super(project, PluginConstant.PLUGIN_NAME + ".submitCheckTask", true); this.returnObj = returnObj; this.codeTypeEnum = codeTypeEnum; this.question = question; this.project = project; + this.repositoryService = repositoryService; } @Override @@ -209,7 +248,7 @@ public void run(@NotNull ProgressIndicator progressIndicator) { return; } try { - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeSubmissions() + key + "/check/").request(); + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeSubmissions() + key + "/check/").request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject jsonObject = JSONObject.parseObject(body); @@ -217,13 +256,13 @@ public void run(@NotNull ProgressIndicator progressIndicator) { if (jsonObject.getBoolean("run_success")) { if (Integer.valueOf(10).equals(jsonObject.getInteger("status_code"))) { String runtime = jsonObject.getString("status_runtime"); - String runtimePercentile = jsonObject.getBigDecimal("runtime_percentile").setScale(2, BigDecimal.ROUND_HALF_UP).toString(); + String runtimePercentile = jsonObject.getBigDecimal("runtime_percentile").setScale(2, RoundingMode.HALF_UP).toString(); String memory = jsonObject.getString("status_memory"); - String memoryPercentile = jsonObject.getBigDecimal("memory_percentile").setScale(2, BigDecimal.ROUND_HALF_UP).toString(); + String memoryPercentile = jsonObject.getBigDecimal("memory_percentile").setScale(2, RoundingMode.HALF_UP).toString(); MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("submit.success", runtime, runtimePercentile, codeTypeEnum.getType(), memory, memoryPercentile, codeTypeEnum.getType())); question.setStatus("ac"); - ApplicationManager.getApplication().getMessageBus().syncPublisher(QuestionStatusNotifier.QUESTION_STATUS_TOPIC).updateTable(question); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.QUESTION_STATUS_TOPIC).updateTable(question); } else { String input = jsonObject.getString("input"); @@ -238,7 +277,7 @@ public void run(@NotNull ProgressIndicator progressIndicator) { if (!"ac".equals(question.getStatus())) { question.setStatus("notac"); - ApplicationManager.getApplication().getMessageBus().syncPublisher(QuestionStatusNotifier.QUESTION_STATUS_TOPIC).updateTable(question); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.QUESTION_STATUS_TOPIC).updateTable(question); } } } else { @@ -250,10 +289,10 @@ public void run(@NotNull ProgressIndicator progressIndicator) { MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("submit.run.failed", MessageUtils.format(buildErrorMsg(jsonObject), "E"), testcase, outputs)); if (!"ac".equals(question.getStatus())) { question.setStatus("notac"); - ApplicationManager.getApplication().getMessageBus().syncPublisher(QuestionStatusNotifier.QUESTION_STATUS_TOPIC).updateTable(question); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.QUESTION_STATUS_TOPIC).updateTable(question); } } - ApplicationManager.getApplication().getMessageBus().syncPublisher(QuestionSubmitNotifier.TOPIC).submit(URLUtils.getLeetcodeHost(), question.getTitleSlug()); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.QUESTION_SUBMIT_TOPIC).submit(URLUtils.getLeetcodeHost(), question.getTitleSlug()); return; } @@ -266,36 +305,23 @@ public void run(@NotNull ProgressIndicator progressIndicator) { } } - ApplicationManager.getApplication().getMessageBus().syncPublisher(QuestionSubmitNotifier.TOPIC).submit(URLUtils.getLeetcodeHost(), question.getTitleSlug()); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.QUESTION_SUBMIT_TOPIC).submit(URLUtils.getLeetcodeHost(), question.getTitleSlug()); MessageUtils.getInstance(project).showInfoMsg("", PropertiesUtils.getInfo("response.timeout")); } } - private static String buildErrorMsg(JSONObject errorBody) { - String statusMsg = errorBody.getString("status_msg"); - if (StringUtils.isNotBlank(statusMsg)) { - if (statusMsg.equals("Compile Error")) { - return errorBody.getString("full_compile_error"); - } else if (statusMsg.equals("Runtime Error")) { - return errorBody.getString("full_runtime_error"); - } else { - return statusMsg; - } - } - return "Unknown error"; - } - - private static class RunCodeCheckTask extends Task.Backgroundable { - private JSONObject returnObj; - private Project project; - private String input; + private final JSONObject returnObj; + private final Project project; + private final String input; + private final RepositoryService repositoryService; - public RunCodeCheckTask(JSONObject returnObj, Project project, String input) { + public RunCodeCheckTask(JSONObject returnObj, Project project, String input, RepositoryService repositoryService) { super(project, PluginConstant.PLUGIN_NAME + ".runCodeCheckTask", true); this.returnObj = returnObj; this.project = project; this.input = input; + this.repositoryService = repositoryService; } @Override @@ -311,8 +337,8 @@ public void run(@NotNull ProgressIndicator progressIndicator) { } String body = null; try { - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeSubmissions() + key + "/check/").request(); - if (response != null && response.getStatusCode() == 200) { + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeSubmissions() + key + "/check/").request(); + if (response.getStatusCode() == 200) { body = response.getBody(); JSONObject jsonObject = JSONObject.parseObject(body); if ("SUCCESS".equals(jsonObject.getString("state"))) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/CodeTopManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/CodeTopServiceImpl.java similarity index 73% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/CodeTopManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/CodeTopServiceImpl.java index ec2d9ee5..82fc4687 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/CodeTopManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/CodeTopServiceImpl.java @@ -1,11 +1,17 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.*; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.CodeTopService; +import com.shuzijun.leetcode.platform.utils.CodeTopURLUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; @@ -14,33 +20,47 @@ /** * @author shuzijun */ -public class CodeTopManager { +public class CodeTopServiceImpl implements CodeTopService { - public static void loadServiceData(NavigatorAction navigatorAction, Project project) { - loadServiceData(navigatorAction, project, null); + private final Project project; + private RepositoryService repositoryService; + + public CodeTopServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; } - public static void loadServiceData(NavigatorAction navigatorAction, Project project, String selectTitleSlug) { - QuestionManager.getQuestionAllService(project, false); - PageInfo pageInfo = CodeTopManager.getQuestionService(project, navigatorAction.getPageInfo()); + @Override + public void loadServiceData(NavigatorAction navigatorAction) { + loadServiceData(navigatorAction, null); + } + + @Override + public void loadServiceData(NavigatorAction navigatorAction, String selectTitleSlug) { + repositoryService.getQuestionService().getQuestionAllService(false); + PageInfo pageInfo = getQuestionService(navigatorAction.getPageInfo()); if ((pageInfo.getRows() == null || pageInfo.getRows().isEmpty()) && pageInfo.getRowTotal() != 0) { MessageUtils.getInstance(project).showErrorMsg("error", PropertiesUtils.getInfo("response.question")); return; } if (navigatorAction.getFind().getFilter().isEmpty()) { - navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_DIFFICULTY, CodeTopManager.getDifficulty()); - navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_TAGS, CodeTopManager.getTags()); - navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_COMPANY, CodeTopManager.getCompany()); + navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_DIFFICULTY, getDifficulty()); + navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_TAGS, getTags()); + navigatorAction.getFind().addFilter(Constant.CODETOP_FIND_TYPE_COMPANY, getCompany()); } navigatorAction.loadData(selectTitleSlug); } - private static List getCompany() { + private List getCompany() { List tags = new ArrayList<>(); - HttpResponse response = HttpRequest.builderGet(CodeTopURLUtils.getCompanies()).request(); - if (response != null && response.getStatusCode() == 200) { + HttpResponse response = repositoryService.HttpRequest().get(CodeTopURLUtils.getCompanies()).request(); + if (response.getStatusCode() == 200) { try { String body = response.getBody(); if (StringUtils.isNotBlank(body)) { @@ -62,11 +82,11 @@ private static List getCompany() { return tags; } - private static List getTags() { + private List getTags() { List tags = new ArrayList<>(); - HttpResponse response = HttpRequest.builderGet(CodeTopURLUtils.getTags()).request(); + HttpResponse response = repositoryService.HttpRequest().get(CodeTopURLUtils.getTags()).request(); if (response.getStatusCode() == 200) { try { String body = response.getBody(); @@ -89,7 +109,7 @@ private static List getTags() { return tags; } - private static List getDifficulty() { + private List getDifficulty() { List keyList = Lists.newArrayList(Constant.DIFFICULTY_EASY, Constant.DIFFICULTY_MEDIUM, Constant.DIFFICULTY_HARD); List difficultyList = Lists.newArrayList(); for (int i = 0; i < keyList.size(); i++) { @@ -101,7 +121,7 @@ private static List getDifficulty() { return difficultyList; } - private static PageInfo getQuestionService(Project project, PageInfo pageInfo) { + private PageInfo getQuestionService(PageInfo pageInfo) { String url = CodeTopURLUtils.getQuestions() + "?page=" + pageInfo.getPageIndex(); PageInfo.Filters filters = pageInfo.getFilters(); if (StringUtils.isNotBlank(filters.getOrderBy())) { @@ -120,9 +140,9 @@ private static PageInfo getQuestionService(Project project, } - HttpResponse response = HttpRequest.builderGet(url).request(); + HttpResponse response = repositoryService.HttpRequest().get(url).request(); if (response.getStatusCode() == 200) { - List questionList = new ArrayList(); + List questionList = new ArrayList<>(); JSONObject pageObject = JSONObject.parseObject(response.getBody()); JSONArray questionJsonArray = pageObject.getJSONArray("list"); for (int i = 0; i < pageObject.getJSONArray("list").size(); i++) { @@ -140,7 +160,7 @@ private static PageInfo getQuestionService(Project project, } else { question.setInspectTime(time); } - QuestionIndex questionIndex = QuestionManager.getQuestionIndex(question.getTitleSlug()); + QuestionIndex questionIndex = repositoryService.getQuestionService().getQuestionIndex(question.getTitleSlug()); if (questionIndex != null) { question.setStatus(questionIndex.getQuestionView().getStatus()); } @@ -150,7 +170,7 @@ private static PageInfo getQuestionService(Project project, pageInfo.setRowTotal(pageObject.getInteger("count")); pageInfo.setRows(questionList); } else { - LogUtils.LOG.error("Request question list failed, status:" + response == null ? "" : response.getStatusCode()); + LogUtils.LOG.error("Request question list failed, status:" + response.getStatusCode()); throw new RuntimeException("Request question list failed"); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/service/ConfigServiceImpl.java b/src/main/java/com/shuzijun/leetcode/plugin/service/ConfigServiceImpl.java new file mode 100644 index 00000000..e044a4de --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/ConfigServiceImpl.java @@ -0,0 +1,22 @@ +package com.shuzijun.leetcode.plugin.service; + +import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.repository.ConfigService; +import com.shuzijun.leetcode.plugin.setting.PersistentConfig; + +public class ConfigServiceImpl implements ConfigService { + + public ConfigServiceImpl(Project project) { + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + } + + @Override + public Config getConfig() { + return PersistentConfig.getInstance().getInitConfig(); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/FavoriteManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/FavoriteServiceImpl.java similarity index 54% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/FavoriteManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/FavoriteServiceImpl.java index d280ca25..a1a9d041 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/FavoriteManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/FavoriteServiceImpl.java @@ -1,30 +1,46 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.Graphql; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.Tag; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Graphql; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.Tag; +import com.shuzijun.leetcode.platform.repository.FavoriteService; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; /** * @author shuzijun */ -public class FavoriteManager { +public class FavoriteServiceImpl implements FavoriteService { - public static void addQuestionToFavorite(Tag tag, String titleSlug, Project project) { - if (!HttpRequestUtils.isLogin(project)) { + private final Project project; + private RepositoryService repositoryService; + + public FavoriteServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public void addQuestionToFavorite(Tag tag, String titleSlug) { + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return; } - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } try { - HttpResponse response = Graphql.builder().operationName("addQuestionToFavorite") - .variables("favoriteIdHash", tag.getSlug()).variables("questionId", question.getQuestionId()).request(); + HttpResponse response = Graphql.builder(repositoryService).operationName("addQuestionToFavorite").variables("favoriteIdHash", tag.getSlug()).variables("questionId", question.getQuestionId()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject object = JSONObject.parseObject(body).getJSONObject("data").getJSONObject("addQuestionToFavorite"); @@ -41,19 +57,19 @@ public static void addQuestionToFavorite(Tag tag, String titleSlug, Project proj } } - public static void removeQuestionFromFavorite(Tag tag, String titleSlug, Project project) { - if (!HttpRequestUtils.isLogin(project)) { + @Override + public void removeQuestionFromFavorite(Tag tag, String titleSlug) { + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return; } - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); if (question == null) { return; } try { - HttpResponse response = Graphql.builder().operationName("removeQuestionFromFavorite") - .variables("favoriteIdHash", tag.getSlug()).variables("questionId", question.getQuestionId()).request(); + HttpResponse response = Graphql.builder(repositoryService).operationName("removeQuestionFromFavorite").variables("favoriteIdHash", tag.getSlug()).variables("questionId", question.getQuestionId()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject object = JSONObject.parseObject(body).getJSONObject("data").getJSONObject("removeQuestionFromFavorite"); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/FindManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/FindServiceImpl.java similarity index 76% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/FindManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/FindServiceImpl.java index 6a183d05..8674fd80 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/FindManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/FindServiceImpl.java @@ -1,13 +1,17 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.HttpRequest; -import com.shuzijun.leetcode.plugin.model.Tag; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.model.Tag; +import com.shuzijun.leetcode.platform.repository.FindService; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.plugin.utils.DataKeys; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.WindowFactory; import org.apache.commons.lang.StringUtils; @@ -17,9 +21,22 @@ /** * @author shuzijun */ -public class FindManager { +public class FindServiceImpl implements FindService { - public static List getDifficulty() { + private final Project project; + private RepositoryService repositoryService; + + public FindServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public List getDifficulty() { List keyList = Lists.newArrayList(Constant.DIFFICULTY_EASY, Constant.DIFFICULTY_MEDIUM, Constant.DIFFICULTY_HARD); List difficultyList = Lists.newArrayList(); @@ -32,7 +49,8 @@ public static List getDifficulty() { return difficultyList; } - public static List getStatus() { + @Override + public List getStatus() { List keyList = Lists.newArrayList(Constant.STATUS_TODO, Constant.STATUS_SOLVED, Constant.STATUS_ATTEMPTED); List statusList = Lists.newArrayList(); @@ -51,10 +69,11 @@ public static List getStatus() { return statusList; } - public static List getTags() { + @Override + public List getTags() { List tags = new ArrayList<>(); - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeTags()).cache(true).request(); + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeTags()).cache(true).request(); if (response.getStatusCode() == 200) { try { String body = response.getBody(); @@ -69,11 +88,11 @@ public static List getTags() { return tags; } - public static List getLists(Project project) { + @Override + public List getLists() { List tags = new ArrayList<>(); - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeFavorites()) - .cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeFavorites()).cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); if (response.getStatusCode() == 200) { try { String body = response.getBody(); @@ -87,10 +106,11 @@ public static List getLists(Project project) { return tags; } - public static List getCategory() { + @Override + public List getCategory() { List tags = new ArrayList<>(); - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeCardInfo()).cache(true).request(); + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeCardInfo()).cache(true).request(); if (response.getStatusCode() == 200) { try { String body = response.getBody(); @@ -104,7 +124,7 @@ public static List getCategory() { return tags; } - private static List parseTag(String str) { + private List parseTag(String str) { List tags = new ArrayList(); if (StringUtils.isNotBlank(str)) { @@ -130,7 +150,7 @@ private static List parseTag(String str) { return tags; } - private static List parseCategory(String str) { + private List parseCategory(String str) { List tags = new ArrayList(); if (StringUtils.isNotBlank(str)) { @@ -148,7 +168,7 @@ private static List parseCategory(String str) { return tags; } - private static List parseList(String str) { + private List parseList(String str) { List tags = new ArrayList(); if (StringUtils.isNotBlank(str)) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/NoteManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/NoteServiceImpl.java similarity index 67% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/NoteManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/NoteServiceImpl.java index 06872d89..1aee3cc2 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/NoteManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/NoteServiceImpl.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.application.ApplicationManager; @@ -7,24 +7,39 @@ import com.intellij.openapi.util.Computable; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.Graphql; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.NoteService; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.VelocityUtils; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.FileUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import java.io.File; /** * @author shuzijun */ -public class NoteManager { +public class NoteServiceImpl implements NoteService { + private final Project project; + private RepositoryService repositoryService; - public static File show(String titleSlug, Project project, Boolean isOpenEditor) { + public NoteServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public File show(String titleSlug, Boolean isOpenEditor) { Config config = PersistentConfig.getInstance().getConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_NOTE + VelocityUtils.convert(config.getCustomFileName(), question) + ".md"; File file = new File(filePath); if (file.exists()) { @@ -32,7 +47,7 @@ public static File show(String titleSlug, Project project, Boolean isOpenEditor) FileUtils.openFileEditor(file, project); } } else { - if (pull(titleSlug, project)) { + if (pull(titleSlug)) { if (isOpenEditor) { FileUtils.openFileEditor(file, project); } @@ -41,17 +56,18 @@ public static File show(String titleSlug, Project project, Boolean isOpenEditor) return file; } - public static boolean pull(String titleSlug, Project project) { + @Override + public boolean pull(String titleSlug) { try { - if (!HttpRequestUtils.isLogin(project)) { + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return false; } - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); Config config = PersistentConfig.getInstance().getConfig(); String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_NOTE + VelocityUtils.convert(config.getCustomFileName(), question) + ".md"; - HttpResponse response = Graphql.builder().operationName("getNote").variables("titleSlug",question.getTitleSlug()).request(); + HttpResponse response = Graphql.builder(repositoryService).operationName("getNote").variables("titleSlug", question.getTitleSlug()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); @@ -70,15 +86,16 @@ public static boolean pull(String titleSlug, Project project) { return Boolean.FALSE; } - public static void push(String titleSlug, Project project) { + @Override + public void push(String titleSlug) { try { - if (!HttpRequestUtils.isLogin(project)) { + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return; } Config config = PersistentConfig.getInstance().getConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_NOTE + VelocityUtils.convert(config.getCustomFileName(), question) + ".md"; File file = new File(filePath); if (!file.exists()) { @@ -88,7 +105,7 @@ public static void push(String titleSlug, Project project) { VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file); FileUtils.saveEditDocument(vf); String note = ApplicationManager.getApplication().runReadAction((Computable) () -> FileDocumentManager.getInstance().getDocument(vf).getText()); - HttpResponse response = Graphql.builder().operationName("updateNote").variables("titleSlug",question.getTitleSlug()).variables("content",note).request(); + HttpResponse response = Graphql.builder(repositoryService).operationName("updateNote").variables("titleSlug", question.getTitleSlug()).variables("content", note).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); JSONObject jsonObject = JSONObject.parseObject(body).getJSONObject("data").getJSONObject("updateNote"); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/QuestionManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/QuestionServiceImpl.java similarity index 80% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/QuestionManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/QuestionServiceImpl.java index 71f6ca20..f0b2fb0a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/QuestionManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/QuestionServiceImpl.java @@ -1,4 +1,4 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -7,21 +7,30 @@ import com.google.common.collect.Maps; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.QuestionService; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.doc.CleanMarkdown; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; -import com.shuzijun.leetcode.plugin.utils.doc.CleanMarkdown; +import com.shuzijun.leetcode.plugin.utils.DataKeys; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.WindowFactory; import org.apache.commons.lang.StringUtils; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; /** * @author shuzijun */ -public class QuestionManager { +public class QuestionServiceImpl implements QuestionService { private static final Cache dayMap = CacheBuilder.newBuilder().maximumSize(5).expireAfterWrite(2, TimeUnit.DAYS).build(); private static final Cache questionCache = CacheBuilder.newBuilder().maximumSize(30).build(); @@ -29,17 +38,25 @@ public class QuestionManager { private static final Map> questionIndexCache = Maps.newLinkedHashMap(); - public static PageInfo getQuestionViewList(Project project, PageInfo pageInfo) { + private final Project project; + private RepositoryService repositoryService; + + public QuestionServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public PageInfo getQuestionViewList(PageInfo pageInfo) { boolean isPremium = false; User user = WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser(); - if (user != null) { - isPremium = user.isPremium(); - } + isPremium = user.isPremium(); - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("problemsetQuestionList") - .variables("categorySlug", pageInfo.getCategorySlug()).variables("skip", pageInfo.getSkip()) - .variables("limit", pageInfo.getPageSize()).variables("filters", pageInfo.getFilters()) - .cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("problemsetQuestionList").variables("categorySlug", pageInfo.getCategorySlug()).variables("skip", pageInfo.getSkip()).variables("limit", pageInfo.getPageSize()).variables("filters", pageInfo.getFilters()).cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); if (response.getStatusCode() == 200) { List questionList = parseQuestion(response.getBody(), isPremium); @@ -60,18 +77,16 @@ public static PageInfo getQuestionViewList(Project project, PageIn } - public static List getQuestionAllService(Project project, boolean reset) { - Boolean isPremium = false; + @Override + public List getQuestionAllService(boolean reset) { + boolean isPremium = false; User user = WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser(); - if (user != null) { - isPremium = user.isPremium(); - } + isPremium = user.isPremium(); if (questionAllCache.getIfPresent(URLUtils.getLeetcodeHost()) == null || reset) { String key = URLUtils.getLeetcodeHost() + "getQuestionAll"; synchronized (key.intern()) { if (questionAllCache.getIfPresent(URLUtils.getLeetcodeHost()) == null || reset) { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("allQuestions") - .cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("allQuestions").cacheParam(WindowFactory.getDataContext(project).getData(DataKeys.LEETCODE_PROJECTS_TABS).getUser().getUsername()).request(); if (response.getStatusCode() == 200) { List questionViews = new ArrayList<>(); @@ -91,7 +106,7 @@ public static List getQuestionAllService(Project project, boolean } - Collections.sort(questionViews, (o1, o2) -> o1.frontendQuestionIdCompareTo(o2)); + questionViews.sort(QuestionView::frontendQuestionIdCompareTo); Map questionIndex = Maps.newHashMap(); for (int i = 0; i < questionViews.size(); i++) { @@ -110,7 +125,8 @@ public static List getQuestionAllService(Project project, boolean return questionAllCache.getIfPresent(URLUtils.getLeetcodeHost()); } - public static QuestionIndex getQuestionIndex(String titleSlug) { + @Override + public QuestionIndex getQuestionIndex(String titleSlug) { if (questionAllCache.getIfPresent(URLUtils.getLeetcodeHost()) == null) { return null; } else if (!questionIndexCache.get(URLUtils.getLeetcodeHost()).containsKey(titleSlug)) { @@ -123,7 +139,7 @@ public static QuestionIndex getQuestionIndex(String titleSlug) { } } - private static List parseQuestion(String str, Boolean isPremium) { + private List parseQuestion(String str, Boolean isPremium) { List questionList = new ArrayList<>(); @@ -139,7 +155,7 @@ private static List parseQuestion(String str, Boolean isPremium) { return questionList; } - private static QuestionView parseQuestionView(JSONObject object, Boolean isPremium) { + private QuestionView parseQuestionView(JSONObject object, Boolean isPremium) { QuestionView question = new QuestionView(object.getString("title")); if (URLUtils.isCn() && !PersistentConfig.getInstance().getConfig().getEnglishContent()) { if (StringUtils.isNotBlank(object.getString("titleCn"))) { @@ -165,11 +181,12 @@ private static QuestionView parseQuestionView(JSONObject object, Boolean isPremi return question; } - public static QuestionView questionOfToday() { + @Override + public QuestionView questionOfToday() { QuestionView dayQuestion = dayMap.getIfPresent(URLUtils.getLeetcodeHost() + new SimpleDateFormat("yyyy-MM-dd").format(new Date())); if (dayQuestion == null) { try { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("questionOfToday").request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("questionOfToday").request(); if (response.getStatusCode() != 200) { return null; } else { @@ -193,9 +210,9 @@ public static QuestionView questionOfToday() { } - private static boolean getQuestion(Question question, Project project) { + private boolean getQuestion(Question question) { try { - HttpResponse response = Graphql.builder().operationName("questionData").variables("titleSlug", question.getTitleSlug()).request(); + HttpResponse response = Graphql.builder(repositoryService).operationName("questionData").variables("titleSlug", question.getTitleSlug()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); @@ -249,7 +266,7 @@ private static boolean getQuestion(Question question, Project project) { return Boolean.FALSE; } - private static String getContent(JSONObject jsonObject) { + private String getContent(JSONObject jsonObject) { StringBuilder sb = new StringBuilder(); sb.append(CleanMarkdown.cleanMarkdown(jsonObject.getString(URLUtils.getDescContent()), "")); Config config = PersistentConfig.getInstance().getConfig(); @@ -275,9 +292,10 @@ private static String getContent(JSONObject jsonObject) { return sb.toString(); } - public static Question pick(Project project, PageInfo pageInfo) { + @Override + public Question pick(PageInfo pageInfo) { String titleSlug = null; - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("randomQuestion").variables("categorySlug", pageInfo.getCategorySlug()).variables("filters", pageInfo.getFilters()).request(); + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("randomQuestion").variables("categorySlug", pageInfo.getCategorySlug()).variables("filters", pageInfo.getFilters()).request(); if (response.getStatusCode() == 200) { String body = response.getBody(); if (URLUtils.isCn()) { @@ -287,15 +305,16 @@ public static Question pick(Project project, PageInfo pageInfo) { } } if (StringUtils.isNotBlank(titleSlug)) { - return getQuestionByTitleSlug(titleSlug, project); + return getQuestionByTitleSlug(titleSlug); } else { return null; } } - public static User getUser() { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("userStatus").request(); + @Override + public User getUser() { + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("userStatus").request(); if (response.getStatusCode() == 200) { JSONObject userObject = JSONObject.parseObject(response.getBody()).getJSONObject("data").getJSONObject("userStatus"); User user = new User(); @@ -311,7 +330,8 @@ public static User getUser() { } } - public static Question getQuestionByTitleSlug(String titleSlug, Project project) { + @Override + public Question getQuestionByTitleSlug(String titleSlug) { if (StringUtils.isBlank(titleSlug)) { return null; } @@ -323,7 +343,7 @@ public static Question getQuestionByTitleSlug(String titleSlug, Project project) Question question = new Question(); question.setTitleSlug(titleSlug); if (ApplicationManager.getApplication().executeOnPooledThread(() -> { - return getQuestion(question, project); + return getQuestion(question); }).get()) { questionCache.put(key, question); } else { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/service/RepositoryServiceImpl.java b/src/main/java/com/shuzijun/leetcode/plugin/service/RepositoryServiceImpl.java new file mode 100644 index 00000000..b20c4760 --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/RepositoryServiceImpl.java @@ -0,0 +1,174 @@ +package com.shuzijun.leetcode.plugin.service; + +import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.project.Project; +import com.intellij.util.messages.MessageBusConnection; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Topic; +import com.shuzijun.leetcode.platform.notifier.*; +import com.shuzijun.leetcode.platform.repository.*; +import com.shuzijun.leetcode.platform.service.HttpRequestService; +import com.shuzijun.leetcode.platform.service.URLService; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.setting.ProjectConfig; +import org.jetbrains.annotations.NotNull; + +public class RepositoryServiceImpl implements RepositoryService { + + private final Project project; + private final URLService urlService; + private final HttpRequestService httpRequestService; + private final ArticleService articleService; + private final CodeService codeService; + private final CodeTopService codeTopService; + private final ConfigService configService; + private final FavoriteService favoriteService; + private final FindService findService; + private final NoteService noteService; + private final QuestionService questionService; + private final SessionService sessionService; + private final SubmissionService submissionService; + private final ViewService viewService; + + private final ProjectConfig projectConfig; + + public RepositoryServiceImpl(Project project) { + this.project = project; + this.configService = project.getService(ConfigServiceImpl.class); + this.configService.registerRepository(this); + this.articleService = project.getService(ArticleServiceImpl.class); + this.articleService.registerRepository(this); + this.codeService = project.getService(CodeServiceImpl.class); + this.codeService.registerRepository(this); + this.codeTopService = project.getService(CodeTopServiceImpl.class); + this.codeTopService.registerRepository(this); + this.favoriteService = project.getService(FavoriteServiceImpl.class); + this.favoriteService.registerRepository(this); + this.findService = project.getService(FindServiceImpl.class); + this.findService.registerRepository(this); + this.noteService = project.getService(NoteServiceImpl.class); + this.noteService.registerRepository(this); + this.questionService = project.getService(QuestionServiceImpl.class); + this.questionService.registerRepository(this); + this.sessionService = project.getService(SessionServiceImpl.class); + this.sessionService.registerRepository(this); + this.submissionService = project.getService(SubmissionServiceImpl.class); + this.submissionService.registerRepository(this); + this.viewService = project.getService(ViewServiceImpl.class); + this.viewService.registerRepository(this); + this.urlService = URLService.getInstance(configService); + this.httpRequestService = HttpRequestService.getInstance(urlService); + this.projectConfig = ProjectConfig.getInstance(project); + + } + + public static RepositoryService getInstance(Project project) { + return project.getService(RepositoryServiceImpl.class); + } + + + @Override + public boolean isPro() { + return false; + } + + @Override + public Project getProject() { + return project; + } + + @Override + public URLService getUrlService() { + return urlService; + } + + @Override + public HttpRequestService getHttpRequestService() { + return httpRequestService; + } + + @Override + public ArticleService getArticleService() { + return articleService; + } + + @Override + public CodeService getCodeService() { + return codeService; + } + + @Override + public LeetcodeEditor getLeetcodeEditor(String path) { + return projectConfig.getEditor(path); + } + + @Override + public CodeTopService getCodeTopService() { + return codeTopService; + } + + @Override + public ConfigService getConfigService() { + return configService; + } + + @Override + public FavoriteService getFavoriteService() { + return favoriteService; + } + + @Override + public FindService getFindService() { + return findService; + } + + @Override + public NoteService getNoteService() { + return noteService; + } + + @Override + public QuestionService getQuestionService() { + return questionService; + } + + @Override + public SessionService getSessionService() { + return sessionService; + } + + @Override + public SubmissionService getSubmissionService() { + return submissionService; + } + + @Override + public ViewService getViewService() { + return viewService; + } + + + @Override + public void subscribeNotifier(@NotNull Topic topic, @NotNull L l, @NotNull Disposable parentDisposable) { + MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(parentDisposable); + if (topic == Topic.AllQuestionNotifier) { + AllQuestionNotifier handler = (AllQuestionNotifier) l; + messageBusConnection.subscribe(PluginTopic.ALL_QUESTION_TOPIC, handler); + } else if (topic == Topic.ConfigNotifier) { + ConfigNotifier handler = (ConfigNotifier) l; + messageBusConnection.subscribe(PluginTopic.CONFIG_TOPIC, handler); + } else if (topic == Topic.LoginNotifier) { + LoginNotifier handler = (LoginNotifier) l; + messageBusConnection.subscribe(PluginTopic.LOGIN_TOPIC, handler); + } else if (topic == Topic.QuestionStatusNotifier) { + QuestionStatusNotifier handler = (QuestionStatusNotifier) l; + messageBusConnection.subscribe(PluginTopic.QUESTION_STATUS_TOPIC, handler); + } else if (topic == Topic.QuestionSubmitNotifier) { + QuestionSubmitNotifier handler = (QuestionSubmitNotifier) l; + messageBusConnection.subscribe(PluginTopic.QUESTION_SUBMIT_TOPIC, handler); + } + + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/SessionManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/SessionServiceImpl.java similarity index 64% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/SessionManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/SessionServiceImpl.java index 9e9bda5b..0fcdf708 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/SessionManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/SessionServiceImpl.java @@ -1,12 +1,16 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.HttpRequest; -import com.shuzijun.leetcode.plugin.model.Session; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.model.Session; +import com.shuzijun.leetcode.platform.repository.SessionService; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import java.util.ArrayList; import java.util.List; @@ -14,15 +18,30 @@ /** * @author shuzijun */ -public class SessionManager { +public class SessionServiceImpl implements SessionService { - public static List getSession(Project project) { - return getSession(project, false); + + private final Project project; + private RepositoryService repositoryService; + + public SessionServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public List getSession() { + return getSession(false); } - public static List getSession(Project project, boolean cache) { + @Override + public List getSession(boolean cache) { List sessionList = new ArrayList<>(); - HttpResponse httpResponse = HttpRequest.builderGet(URLUtils.getLeetcodeProgress()).cache(cache).request(); + HttpResponse httpResponse = repositoryService.HttpRequest().get(URLUtils.getLeetcodeProgress()).cache(cache).request(); if (httpResponse.getStatusCode() == 200) { Session defSession = new Session(); @@ -53,9 +72,10 @@ public static List getSession(Project project, boolean cache) { return sessionList; } - public static boolean switchSession(Project project, Integer id) { + @Override + public boolean switchSession(Integer id) { - HttpResponse httpResponse = HttpRequest.builderPut(URLUtils.getLeetcodeSession(), "application/json") + HttpResponse httpResponse = repositoryService.HttpRequest().put(URLUtils.getLeetcodeSession(), "application/json") .addHeader("Accept", "application/json, text/javascript, */*; q=0.01") .addHeader("x-requested-with", "XMLHttpRequest") .body("{\"func\":\"activate\",\"target\":" + id + "}").request(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/SubmissionManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/SubmissionServiceImpl.java similarity index 79% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/SubmissionManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/SubmissionServiceImpl.java index 1a7e6674..38523bcc 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/SubmissionManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/SubmissionServiceImpl.java @@ -1,11 +1,19 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.SubmissionService; +import com.shuzijun.leetcode.platform.utils.CommentUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.platform.utils.VelocityUtils; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.FileUtils; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.lang.StringUtils; import java.io.File; @@ -15,11 +23,24 @@ /** * @author shuzijun */ -public class SubmissionManager { +public class SubmissionServiceImpl implements SubmissionService { - public static List getSubmissionService(String titleSlug, Project project) { + private final Project project; + private RepositoryService repositoryService; - if (!HttpRequestUtils.isLogin(project)) { + public SubmissionServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public List getSubmissionService(String titleSlug) { + + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return null; } @@ -27,8 +48,8 @@ public static List getSubmissionService(String titleSlug, Project pr List submissionList = new ArrayList(); try { - HttpResponse response = Graphql.builder().operationName("submissions").variables("offset", 0).variables("limit", 100).variables("questionSlug", titleSlug).request(); - if (response != null && response.getStatusCode() == 200) { + HttpResponse response = Graphql.builder(repositoryService).operationName("submissions").variables("offset", 0).variables("limit", 100).variables("questionSlug", titleSlug).request(); + if (response.getStatusCode() == 200) { String body = response.getBody(); if (StringUtils.isNotBlank(body)) { @@ -44,9 +65,6 @@ public static List getSubmissionService(String titleSlug, Project pr submission.setMemory(object.getString("memory")); submissionList.add(submission); } - /* if (submissionList.size() == 0) { - MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("submission.empty")); - }*/ } } else { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("request.failed")); @@ -58,14 +76,15 @@ public static List getSubmissionService(String titleSlug, Project pr return submissionList; } - public static File openSubmission(Submission submission, String titleSlug, Project project, Boolean isOpenEditor) { + @Override + public File openSubmission(Submission submission, String titleSlug, Boolean isOpenEditor) { - if (!HttpRequestUtils.isLogin(project)) { + if (!repositoryService.getHttpRequestService().isLogin(project)) { MessageUtils.getInstance(project).showWarnMsg("info", PropertiesUtils.getInfo("login.not")); return null; } - Config config = PersistentConfig.getInstance().getInitConfig(); - Question question = QuestionManager.getQuestionByTitleSlug(titleSlug, project); + Config config = PersistentConfig.getInstance().getConfig(); + Question question = repositoryService.getQuestionService().getQuestionByTitleSlug(titleSlug); CodeTypeEnum codeTypeEnum = CodeTypeEnum.getCodeTypeEnumByLangSlug(submission.getLang()); String filePath = PersistentConfig.getInstance().getTempFilePath() + Constant.DOC_SUBMISSION + VelocityUtils.convert(config.getCustomFileName(), question) + submission.getId() + ".txt"; @@ -80,15 +99,15 @@ public static File openSubmission(Submission submission, String titleSlug, Proje JSONObject jsonObject; if (URLUtils.isCn()) { - jsonObject = loadSubmissionCn(submission, project); + jsonObject = loadSubmissionCn(submission); } else { - jsonObject = loadSubmissionEn(submission, project); + jsonObject = loadSubmissionEn(submission); } if (jsonObject == null) { return file; } - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(jsonObject.getString("submissionCode").replaceAll("\\u000A", "\n")).append("\n"); @@ -136,8 +155,8 @@ public static File openSubmission(Submission submission, String titleSlug, Proje } - private static JSONObject loadSubmissionEn(Submission submission, Project project) { - HttpResponse response = HttpRequest.builderGet(URLUtils.getLeetcodeSubmissions() + submission.getId() + "/").request(); + private JSONObject loadSubmissionEn(Submission submission) { + HttpResponse response = repositoryService.HttpRequest().get(URLUtils.getLeetcodeSubmissions() + submission.getId() + "/").request(); if (response.getStatusCode() == 200) { String html = response.getBody(); String body = CommentUtils.createSubmissions(html); @@ -146,8 +165,7 @@ private static JSONObject loadSubmissionEn(Submission submission, Project projec MessageUtils.getInstance(project).showWarnMsg("error", PropertiesUtils.getInfo("submission.parse")); } else { try { - JSONObject jsonObject = JSONObject.parseObject(body); - return jsonObject; + return JSONObject.parseObject(body); } catch (Exception e) { LogUtils.LOG.error(body, e); MessageUtils.getInstance(project).showWarnMsg("error", PropertiesUtils.getInfo("submission.parse")); @@ -159,9 +177,9 @@ private static JSONObject loadSubmissionEn(Submission submission, Project projec return null; } - private static JSONObject loadSubmissionCn(Submission submission, Project project) { - HttpResponse response = Graphql.builder().cn(URLUtils.isCn()).operationName("submissionDetail").variables("id", submission.getId()).request(); - if (response != null && response.getStatusCode() == 200) { + private JSONObject loadSubmissionCn(Submission submission) { + HttpResponse response = Graphql.builder(repositoryService).cn(URLUtils.isCn()).operationName("submissionDetail").variables("id", submission.getId()).request(); + if (response.getStatusCode() == 200) { String body = response.getBody(); if (StringUtils.isNotBlank(body)) { JSONObject jsonObject = new JSONObject(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/manager/ViewManager.java b/src/main/java/com/shuzijun/leetcode/plugin/service/ViewServiceImpl.java similarity index 57% rename from src/main/java/com/shuzijun/leetcode/plugin/manager/ViewManager.java rename to src/main/java/com/shuzijun/leetcode/plugin/service/ViewServiceImpl.java index f7cf01ea..319db732 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/manager/ViewManager.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/service/ViewServiceImpl.java @@ -1,28 +1,48 @@ -package com.shuzijun.leetcode.plugin.manager; +package com.shuzijun.leetcode.plugin.service; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.repository.ViewService; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** * @author shuzijun */ -public class ViewManager { +public class ViewServiceImpl implements ViewService { - public static void loadServiceData(NavigatorAction navigatorAction, Project project) { - loadServiceData(navigatorAction, project, null); + private final Project project; + private RepositoryService repositoryService; + + public ViewServiceImpl(Project project) { + this.project = project; + } + + @Override + public void registerRepository(RepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + @Override + public void loadServiceData(NavigatorAction navigatorAction) { + loadServiceData(navigatorAction, null); } - public static void loadServiceData(NavigatorAction navigatorAction, Project project, String selectTitleSlug) { - QuestionManager.getQuestionAllService(project, false); - PageInfo pageInfo = QuestionManager.getQuestionViewList(project, navigatorAction.getPageInfo()); + @Override + public void loadServiceData(NavigatorAction navigatorAction, String selectTitleSlug) { + repositoryService.getQuestionService().getQuestionAllService(false); + PageInfo pageInfo = repositoryService.getQuestionService().getQuestionViewList(navigatorAction.getPageInfo()); if ((pageInfo.getRows() == null || pageInfo.getRows().isEmpty()) && pageInfo.getRowTotal() != 0) { MessageUtils.getInstance(project).showErrorMsg("error", PropertiesUtils.getInfo("response.question")); return; @@ -30,41 +50,44 @@ public static void loadServiceData(NavigatorAction navigatorAction, Project proj if (navigatorAction.getFind().getFilter().isEmpty()) { ApplicationManager.getApplication().executeOnPooledThread(() -> { - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_CATEGORY, FindManager.getCategory()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_DIFFICULTY, FindManager.getDifficulty()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_STATUS, FindManager.getStatus()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_TAGS, FindManager.getTags()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_LISTS, FindManager.getLists(project)); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_CATEGORY, repositoryService.getFindService().getCategory()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_DIFFICULTY, repositoryService.getFindService().getDifficulty()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_STATUS, repositoryService.getFindService().getStatus()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_TAGS, repositoryService.getFindService().getTags()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_LISTS, repositoryService.getFindService().getLists()); }); } navigatorAction.loadData(selectTitleSlug); } - public static void pick(Project project, PageInfo pageInfo) { - Question question = QuestionManager.pick(project, pageInfo); + @Override + public void pick(PageInfo pageInfo) { + Question question = repositoryService.getQuestionService().pick(pageInfo); if (question != null) { - CodeManager.openCode(question.getTitleSlug(), project); + repositoryService.getCodeService().openCode(question.getTitleSlug()); } } - public static void loadAllServiceData(NavigatorAction navigatorAction, Project project) { - loadAllServiceData(navigatorAction, project, null, false); + @Override + public void loadAllServiceData(NavigatorAction navigatorAction) { + loadAllServiceData(navigatorAction, null, false); } - public static void loadAllServiceData(NavigatorAction navigatorAction, Project project, String selectTitleSlug, boolean reset) { - List questionViews = QuestionManager.getQuestionAllService(project, reset); + @Override + public void loadAllServiceData(NavigatorAction navigatorAction, String selectTitleSlug, boolean reset) { + List questionViews = repositoryService.getQuestionService().getQuestionAllService(reset); if (CollectionUtils.isEmpty(questionViews)) { MessageUtils.getInstance(project).showErrorMsg("error", PropertiesUtils.getInfo("response.question")); return; } if (navigatorAction.getFind().getFilter().isEmpty()) { - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_CATEGORY, FindManager.getCategory()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_DIFFICULTY, FindManager.getDifficulty()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_STATUS, FindManager.getStatus()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_TAGS, FindManager.getTags()); - navigatorAction.getFind().addFilter(Constant.FIND_TYPE_LISTS, FindManager.getLists(project)); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_CATEGORY, repositoryService.getFindService().getCategory()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_DIFFICULTY, repositoryService.getFindService().getDifficulty()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_STATUS, repositoryService.getFindService().getStatus()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_TAGS, repositoryService.getFindService().getTags()); + navigatorAction.getFind().addFilter(Constant.FIND_TYPE_LISTS, repositoryService.getFindService().getLists()); } Set conformSet = questionViews.stream().map(QuestionView::getQuestionId).collect(Collectors.toSet()); @@ -93,7 +116,7 @@ public static void loadAllServiceData(NavigatorAction navigatorAction, Project p boolean status = StringUtils.isNotBlank(filters.getStatus()); List conformList = new ArrayList<>(); - QuestionView dayQuestion = QuestionManager.questionOfToday(); + QuestionView dayQuestion = repositoryService.getQuestionService().questionOfToday(); if (dayQuestion != null) { conformList.add(dayQuestion); } @@ -104,19 +127,18 @@ public static void loadAllServiceData(NavigatorAction navigatorAction, Project p if (category && !questionView.getCategory().equalsIgnoreCase(pageInfo.getCategorySlug())) { continue; } - if (searchKeywords && !(questionView.getFrontendQuestionId().startsWith(filters.getSearchKeywords()) - || questionView.getTitle().contains(filters.getSearchKeywords()) || questionView.getTitleSlug().contains(filters.getSearchKeywords()))) { + if (searchKeywords && !(questionView.getFrontendQuestionId().startsWith(filters.getSearchKeywords()) || questionView.getTitle().contains(filters.getSearchKeywords()) || questionView.getTitleSlug().contains(filters.getSearchKeywords()))) { continue; } if (difficulty) { - List difficultyList = FindManager.getDifficulty().stream().map(t -> t.getSlug()).collect(Collectors.toList()); + List difficultyList = repositoryService.getFindService().getDifficulty().stream().map(Tag::getSlug).collect(Collectors.toList()); Integer level = difficultyList.indexOf(filters.getDifficulty()) + 1; if (!questionView.getLevel().equals(level)) { continue; } } if (status) { - if ("TRIED".equalsIgnoreCase(filters.getStatus()) && !questionView.getStatusSign().equalsIgnoreCase("❓")) { + if ("TRIED".equalsIgnoreCase(filters.getStatus()) && !questionView.getStatusSign().equalsIgnoreCase("?")) { continue; } else if ("AC".equalsIgnoreCase(filters.getStatus()) && !questionView.getStatusSign().equalsIgnoreCase("✔")) { continue; @@ -129,25 +151,22 @@ public static void loadAllServiceData(NavigatorAction navigatorAction, Project p if (StringUtils.isNotBlank(filters.getOrderBy())) { int order = "DESCENDING".equalsIgnoreCase(filters.getSortOrder()) ? -1 : 1; - Collections.sort(conformList, new Comparator() { - @Override - public int compare(QuestionView o1, QuestionView o2) { - if ("day".equalsIgnoreCase(o1.getStatus())) { - return 1; - } else if ("day".equalsIgnoreCase(o2.getStatus())) { - return -1; - } - if ("TITLE".equalsIgnoreCase(filters.getOrderBy())) { - return order * o1.getTitle().compareTo(o2.getTitle()); - } - if ("DIFFICULTY".equalsIgnoreCase(filters.getOrderBy())) { - return order * o1.getLevel().compareTo(o2.getLevel()); - } - if ("STATES".equalsIgnoreCase(filters.getOrderBy())) { - return order * o1.getStatusSign().compareTo(o2.getStatusSign()); - } - return order * o1.getFrontendQuestionId().compareTo(o2.getFrontendQuestionId()); + conformList.sort((o1, o2) -> { + if ("day".equalsIgnoreCase(o1.getStatus())) { + return 1; + } else if ("day".equalsIgnoreCase(o2.getStatus())) { + return -1; + } + if ("TITLE".equalsIgnoreCase(filters.getOrderBy())) { + return order * o1.getTitle().compareTo(o2.getTitle()); + } + if ("DIFFICULTY".equalsIgnoreCase(filters.getOrderBy())) { + return order * o1.getLevel().compareTo(o2.getLevel()); + } + if ("STATES".equalsIgnoreCase(filters.getOrderBy())) { + return order * o1.getStatusSign().compareTo(o2.getStatusSign()); } + return order * o1.getFrontendQuestionId().compareTo(o2.getFrontendQuestionId()); }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/setting/PersistentConfig.java b/src/main/java/com/shuzijun/leetcode/plugin/setting/PersistentConfig.java index 97a4e7ae..8e57a484 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/setting/PersistentConfig.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/setting/PersistentConfig.java @@ -5,8 +5,8 @@ import com.intellij.ide.passwordSafe.PasswordSafe; import com.intellij.openapi.components.*; import com.intellij.util.xmlb.XmlSerializerUtil; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Constant; import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.utils.MessageUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; @@ -70,6 +70,10 @@ public Config getInitConfig() { return config; } + public void setInitConfig(Config config) { + initConfig.put(INITNAME, config); + } + @NotNull public Config getConfig() { Config config = getInitConfig(); @@ -82,10 +86,6 @@ public Config getConfig() { } - public void setInitConfig(Config config) { - initConfig.put(INITNAME, config); - } - public String getTempFilePath() { return getConfig().getFilePath() + File.separator + PATH + File.separator + initConfig.get(INITNAME).getAlias() + File.separator; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/setting/ProjectConfig.java b/src/main/java/com/shuzijun/leetcode/plugin/setting/ProjectConfig.java index af10f0a9..82b48f3e 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/setting/ProjectConfig.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/setting/ProjectConfig.java @@ -5,7 +5,7 @@ import com.intellij.openapi.components.Storage; import com.intellij.openapi.project.Project; import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.lang3.StringUtils; @@ -23,14 +23,13 @@ public class ProjectConfig implements PersistentStateComponent { public Map idProjectConfig = new HashMap<>(); + private InnerState innerState = new InnerState(); - @Nullable + @NotNull public static ProjectConfig getInstance(Project project) { return project.getService(ProjectConfig.class); } - private InnerState innerState = new InnerState(); - @Nullable @Override public ProjectConfig.InnerState getState() { @@ -86,6 +85,10 @@ public LeetcodeEditor getEditor(String path, String host) { } } + public String getComponentName() { + return this.getClass().getName(); + } + public static class InnerState { @NotNull @MapAnnotation @@ -96,8 +99,4 @@ public static class InnerState { } } - public String getComponentName() { - return this.getClass().getName(); - } - } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/setting/SettingUI.java b/src/main/java/com/shuzijun/leetcode/plugin/setting/SettingUI.java index 51b4a398..68c25609 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/setting/SettingUI.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/setting/SettingUI.java @@ -17,13 +17,13 @@ import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.components.JBTextField; import com.intellij.util.net.HttpConfigurable; +import com.shuzijun.leetcode.platform.model.CodeTypeEnum; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Constant; import com.shuzijun.leetcode.plugin.listener.ColorListener; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; import com.shuzijun.leetcode.plugin.listener.DonateListener; -import com.shuzijun.leetcode.plugin.model.CodeTypeEnum; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Constant; import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; import com.shuzijun.leetcode.plugin.utils.MTAUtils; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import com.shuzijun.leetcode.plugin.utils.URLUtils; @@ -269,7 +269,7 @@ public void apply() { ProgressManager.getInstance().run(new Task.Backgroundable(null, PluginConstant.PLUGIN_NAME + " Apply Config", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - ApplicationManager.getApplication().getMessageBus().syncPublisher(ConfigNotifier.TOPIC).change(finalOldConfig, finalConfig); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.CONFIG_TOPIC).change(finalOldConfig, finalConfig); } }); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/setting/StatisticsData.java b/src/main/java/com/shuzijun/leetcode/plugin/setting/StatisticsData.java index 656b4f89..d3c08f53 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/setting/StatisticsData.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/setting/StatisticsData.java @@ -5,10 +5,10 @@ import com.intellij.openapi.components.Storage; import com.intellij.openapi.project.Project; import com.intellij.util.xmlb.annotations.MapAnnotation; -import com.shuzijun.leetcode.plugin.manager.SessionManager; +import com.shuzijun.leetcode.platform.model.Session; +import com.shuzijun.leetcode.platform.model.Statistics; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.Session; -import com.shuzijun.leetcode.plugin.model.Statistics; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.collections.CollectionUtils; import org.jetbrains.annotations.NotNull; @@ -24,31 +24,16 @@ @State(name = "LeetcodeEditorStatistics" + PluginConstant.ACTION_SUFFIX, storages = {@Storage(value = PluginConstant.ACTION_PREFIX + "/statistics.xml")}, externalStorageOnly = true) public class StatisticsData implements PersistentStateComponent { - @Nullable - public static StatisticsData getInstance(Project project) { - return project.getService(StatisticsData.class); - } - private InnerState innerState = new InnerState(); @Nullable - @Override - public StatisticsData.InnerState getState() { - return innerState; - } - - @Override - public void loadState(@NotNull StatisticsData.InnerState innerState) { - this.innerState = innerState; - } - - public void refresh(String host, Statistics statistics) { - this.innerState.statistics.put(host, statistics); + public static StatisticsData getInstance(Project project) { + return project.getService(StatisticsData.class); } public static void refresh(Project project) { StatisticsData statisticsData = StatisticsData.getInstance(project); - List sessionList = SessionManager.getSession(project, true); + List sessionList = RepositoryServiceImpl.getInstance(project).getSessionService().getSession(true); if (CollectionUtils.isEmpty(sessionList)) { return; } @@ -62,6 +47,20 @@ public static void refresh(Project project) { statisticsData.refresh(URLUtils.getLeetcodeHost(), statistics); } + @Nullable + @Override + public StatisticsData.InnerState getState() { + return innerState; + } + + @Override + public void loadState(@NotNull StatisticsData.InnerState innerState) { + this.innerState = innerState; + } + + public void refresh(String host, Statistics statistics) { + this.innerState.statistics.put(host, statistics); + } public static class InnerState { @NotNull diff --git a/src/main/java/com/shuzijun/leetcode/plugin/timer/TimerBarWidget.java b/src/main/java/com/shuzijun/leetcode/plugin/timer/TimerBarWidget.java index e5c759ee..6ad0be52 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/timer/TimerBarWidget.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/timer/TimerBarWidget.java @@ -5,9 +5,9 @@ import com.intellij.openapi.wm.CustomStatusBarWidget; import com.intellij.openapi.wm.StatusBar; import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import org.jetbrains.annotations.NotNull; @@ -23,34 +23,13 @@ public class TimerBarWidget implements CustomStatusBarWidget { public final static String ID = PluginConstant.LEETCODE_TIMER_BAR_WIDGET; - - private Long second = 0L; - private String name = ""; - private Project project; - - private static Color Level1 = new Color(92, 184, 92); private static Color Level2 = new Color(240, 173, 78); private static Color Level3 = new Color(217, 83, 79); - - public TimerBarWidget(Project project) { - this.project = project; - loaColor(PersistentConfig.getInstance().getInitConfig()); - MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, (oldConfig, newConfig) -> loaColor(newConfig)); - } - - private void loaColor(Config config) { - if (config != null) { - Color[] colors = config.getFormatLevelColour(); - Level1 = colors[0]; - Level2 = colors[1]; - Level3 = colors[2]; - } - } - + private Long second = 0L; + private String name = ""; + private Project project; private JLabel label = new JLabel(time()); - private Timer timer = new Timer(1000, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -66,6 +45,22 @@ public void actionPerformed(ActionEvent e) { } }); + public TimerBarWidget(Project project) { + this.project = project; + loaColor(PersistentConfig.getInstance().getInitConfig()); + MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); + messageBusConnection.subscribe(PluginTopic.CONFIG_TOPIC, (oldConfig, newConfig) -> loaColor(newConfig)); + } + + private void loaColor(Config config) { + if (config != null) { + Color[] colors = config.getFormatLevelColour(); + Level1 = colors[0]; + Level2 = colors[1]; + Level3 = colors[2]; + } + } + private String time() { return String.format("[%s]%02d:%02d:%02d", name, second / 60 / 60, second / 60 % 60, second % 60); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/DataKeys.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/DataKeys.java index 2168fa7c..b5f2f501 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/DataKeys.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/DataKeys.java @@ -2,7 +2,7 @@ import com.intellij.execution.ui.ConsoleView; import com.intellij.openapi.actionSystem.DataKey; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorAction; import com.shuzijun.leetcode.plugin.window.NavigatorTabsPanel; /** diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/FileUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/FileUtils.java index 10998408..613705af 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/FileUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/FileUtils.java @@ -9,10 +9,12 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.RefreshQueue; -import com.shuzijun.leetcode.plugin.model.CodeTypeEnum; -import com.shuzijun.leetcode.plugin.model.Constant; -import com.shuzijun.leetcode.plugin.model.LeetcodeEditor; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.CodeTypeEnum; +import com.shuzijun.leetcode.platform.model.Constant; +import com.shuzijun.leetcode.platform.model.LeetcodeEditor; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.utils.IOUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.setting.ProjectConfig; import org.apache.commons.lang.StringUtils; @@ -121,7 +123,7 @@ public static String getClearCommentFileBody(File file, CodeTypeEnum codeTypeEnu } } } catch (Exception e) { - LogUtils.LOG.error("getClearCommentFileBody error",e); + LogUtils.LOG.error("getClearCommentFileBody error", e); } return code.toString(); } @@ -224,23 +226,23 @@ public static void openFileEditor(File file, Project project) { } - public static void openFileEditorAndSaveState(File file, Project project, Question question, BiConsumer consumer,boolean isOpen) { + public static void openFileEditorAndSaveState(File file, Project project, Question question, BiConsumer consumer, boolean isOpen) { ApplicationManager.getApplication().invokeLater(() -> { VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file); - LeetcodeEditor leetcodeEditor = ProjectConfig.getInstance(project).getDefEditor(URLUtils.getLeetcodeHost()+question.getFrontendQuestionId()); - leetcodeEditor.setFrontendQuestionId(URLUtils.getLeetcodeHost()+question.getFrontendQuestionId()); + LeetcodeEditor leetcodeEditor = ProjectConfig.getInstance(project).getDefEditor(URLUtils.getLeetcodeHost() + question.getFrontendQuestionId()); + leetcodeEditor.setFrontendQuestionId(URLUtils.getLeetcodeHost() + question.getFrontendQuestionId()); leetcodeEditor.setTitleSlug(question.getTitleSlug()); leetcodeEditor.setHost(URLUtils.getLeetcodeHost()); - consumer.accept(leetcodeEditor,vf.getPath()); + consumer.accept(leetcodeEditor, vf.getPath()); ProjectConfig.getInstance(project).addLeetcodeEditor(leetcodeEditor); - if(isOpen) { + if (isOpen) { OpenFileDescriptor descriptor = new OpenFileDescriptor(project, vf); FileEditorManager.getInstance(project).openTextEditor(descriptor, false); } }); } - public static void saveEditDocument(VirtualFile file){ + public static void saveEditDocument(VirtualFile file) { if (FileDocumentManager.getInstance().isFileModified(file)) { try { ApplicationManager.getApplication().invokeLaterOnWriteThread((() -> { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/HttpClientUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/HttpClientUtils.java deleted file mode 100644 index afa7b9db..00000000 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/HttpClientUtils.java +++ /dev/null @@ -1,219 +0,0 @@ -//package com.shuzijun.leetcode.plugin.utils; -// -//import com.intellij.util.proxy.CommonProxy; -//import com.shuzijun.leetcode.plugin.model.Config; -//import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -//import org.apache.commons.lang.StringUtils; -//import org.apache.http.Header; -//import org.apache.http.HttpHeaders; -//import org.apache.http.client.config.AuthSchemes; -//import org.apache.http.client.config.CookieSpecs; -//import org.apache.http.client.config.RequestConfig; -//import org.apache.http.client.methods.CloseableHttpResponse; -//import org.apache.http.client.methods.HttpGet; -//import org.apache.http.client.methods.HttpPost; -//import org.apache.http.client.methods.HttpUriRequest; -//import org.apache.http.client.protocol.HttpClientContext; -//import org.apache.http.config.Registry; -//import org.apache.http.config.RegistryBuilder; -//import org.apache.http.conn.routing.HttpRoutePlanner; -//import org.apache.http.conn.socket.ConnectionSocketFactory; -//import org.apache.http.conn.socket.PlainConnectionSocketFactory; -//import org.apache.http.conn.ssl.NoopHostnameVerifier; -//import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -//import org.apache.http.cookie.Cookie; -//import org.apache.http.impl.client.BasicCookieStore; -//import org.apache.http.impl.client.CloseableHttpClient; -//import org.apache.http.impl.client.HttpClientBuilder; -//import org.apache.http.impl.client.HttpClients; -//import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; -//import org.apache.http.impl.conn.SystemDefaultRoutePlanner; -//import org.apache.http.impl.cookie.BasicClientCookie; -//import org.apache.http.message.BasicHeader; -// -//import javax.net.ssl.SSLContext; -//import javax.net.ssl.TrustManager; -//import javax.net.ssl.X509TrustManager; -//import java.io.IOException; -//import java.security.cert.X509Certificate; -//import java.util.ArrayList; -//import java.util.Arrays; -//import java.util.List; -// -///** -// * @author shuzijun -// */ -//public class HttpClientUtils { -// -// private static CloseableHttpClient httpclient = null; -// private static HttpClientContext context = null; -// -// private static void createHttpClient() { -// if (httpclient == null) { -// -// context = HttpClientContext.create(); -// BasicCookieStore cookieStore = new BasicCookieStore(); -// context.setCookieStore(cookieStore); -// -// RequestConfig.Builder globalConfigBuilder = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD) -// .setConnectTimeout(30000).setConnectionRequestTimeout(10000) -// .setSocketTimeout(30000) -// .setCookieSpec(CookieSpecs.STANDARD_STRICT) -// .setExpectContinueEnabled(Boolean.TRUE).setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST)) -// .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)); -// -// -// HttpClientBuilder httpClientBuilder = HttpClients.custom() -// .setDefaultRequestConfig(globalConfigBuilder.build()) -// .setDefaultCookieStore(cookieStore) -// .setDefaultHeaders(defaultHeader()) -// .setConnectionManager(getconnectionManager()); -// -// -// //proxy -// Config config = PersistentConfig.getInstance().getInitConfig(); -// -// if (config != null && config.getProxy()) { -// CommonProxy commonProxy = CommonProxy.getInstance(); -// HttpRoutePlanner routePlanner = new SystemDefaultRoutePlanner(commonProxy); -// httpClientBuilder.setRoutePlanner(routePlanner); -// } -// -// httpclient = httpClientBuilder.build(); -// -// } -// } -// -// public static void setCookie(List cookieList) { -// if (httpclient == null) { -// createHttpClient(); -// } -// context.getCookieStore().clear(); -// for (Cookie cookie : cookieList) { -// context.getCookieStore().addCookie(cookie); -// } -// } -// -// public static CloseableHttpResponse executeGet(HttpGet httpGet) { -// if (httpclient == null) { -// createHttpClient(); -// } -// return execute(httpGet); -// -// } -// -// public static CloseableHttpResponse executePost(HttpPost httpPost) { -// if (httpclient == null) { -// createHttpClient(); -// } -// return execute(httpPost); -// } -// -// public static CloseableHttpResponse execute(HttpUriRequest httpUriRequest) { -// -// if (StringUtils.isNotBlank(getToken())) { -// httpUriRequest.setHeader("x-csrftoken", getToken()); -// } -// -// httpUriRequest.setHeader("referer", httpUriRequest.getURI().toString()); -// httpUriRequest.setHeader(":path", httpUriRequest.getURI().getPath()); -// -// try { -// CloseableHttpResponse response = httpclient.execute(httpUriRequest, context); -// return response; -// } catch (Exception e) { -// LogUtils.LOG.error("httpclient request error:", e); -// } finally { -// } -// -// return null; -// -// } -// -// private static List
defaultHeader() { -// ArrayList
headers = new ArrayList
(); -// headers.add(new BasicHeader(HttpHeaders.USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36")); -// headers.add(new BasicHeader(HttpHeaders.ACCEPT, "*/*")); -// //headers.add(new BasicHeader(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate, br")); -// headers.add(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "zh-CN,zh;q=0.9")); -// headers.add(new BasicHeader("origin", URLUtils.getLeetcodeUrl())); -// headers.add(new BasicHeader(":authority", URLUtils.getLeetcodeHost())); -// headers.add(new BasicHeader(":scheme", "https")); -// -// return headers; -// } -// -// public static boolean isLogin() { -// HttpGet httpget = new HttpGet(URLUtils.getLeetcodePoints()); -// CloseableHttpResponse response = HttpClientUtils.executeGet(httpget); -// httpget.abort(); -// if (response == null) { -// return Boolean.FALSE; -// } -// if (response.getStatusLine().getStatusCode() == 200) { -// return Boolean.TRUE; -// } -// return Boolean.FALSE; -// } -// -// public static String getToken() { -// if (context == null || context.getCookieStore().getCookies() == null) { -// return null; -// } -// for (Cookie cookie : context.getCookieStore().getCookies()) { -// if ("csrftoken".equals(cookie.getName())) { -// return cookie.getValue(); -// } -// -// } -// return null; -// } -// -// public static void resetHttpclient() { -// if (httpclient != null) { -// try { -// httpclient.close(); -// } catch (IOException e) { -// LogUtils.LOG.error("close error:", e); -// } finally { -// httpclient = null; -// context = null; -// } -// } -// } -// -// private static PoolingHttpClientConnectionManager getconnectionManager() { -// -// try { -// X509TrustManager trustManager = new X509TrustManager() { -// @Override -// public X509Certificate[] getAcceptedIssuers() { -// return null; -// } -// -// @Override -// public void checkClientTrusted(X509Certificate[] xcs, String str) { -// } -// -// @Override -// public void checkServerTrusted(X509Certificate[] xcs, String str) { -// } -// }; -// -// SSLContext ctx = SSLContext.getInstance(SSLConnectionSocketFactory.TLS); -// ctx.init(null, new TrustManager[]{trustManager}, null); -// SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE); -// Registry socketFactoryRegistry = RegistryBuilder.create() -// .register("http", PlainConnectionSocketFactory.INSTANCE) -// .register("https", socketFactory).build(); -// PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); -// connectionManager.setDefaultMaxPerRoute(200); -// connectionManager.setMaxTotal(400); -// return connectionManager; -// -// } catch (Exception e) { -// LogUtils.LOG.error("创建PoolingHttpClientConnectionManager失败", e); -// } -// return new PoolingHttpClientConnectionManager(); -// } -//} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/MTAUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/MTAUtils.java index e15211d4..6423efd6 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/MTAUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/MTAUtils.java @@ -4,7 +4,7 @@ import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.util.SystemInfo; import com.intellij.util.io.HttpRequests; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; import org.apache.http.client.utils.URIBuilder; @@ -80,7 +80,7 @@ public void run() { .setParameter("cf", version) .setParameter("ck", "0") .setParameter("cl", Toolkit.getDefaultToolkit().getScreenResolution() + "-bit") - .setParameter("ds", (int)screensize.getWidth() + "x" + (int)screensize.getHeight()) + .setParameter("ds", (int) screensize.getWidth() + "x" + (int) screensize.getHeight()) .setParameter("vl", "") .setParameter("ep", "3392,2371") .setParameter("ep", "3") @@ -94,8 +94,8 @@ public void run() { .setParameter("lv", "2") .setParameter("sn", "44949") .setParameter("r", "0") - .setParameter("ww", String.valueOf((int)screensize.getWidth())) - .setParameter("u", "http://leetcode-editor.shuzijun.cn/" + actionsId ) + .setParameter("ww", String.valueOf((int) screensize.getWidth())) + .setParameter("u", "http://leetcode-editor.shuzijun.cn/" + actionsId) .build(); HttpRequests.request(uri.toURL().toString()).userAgent(userAgent).tuner(connection -> { connection.addRequestProperty("Cookie", "HMACCOUNT=" + config.getId() + ";" + "HMACCOUNT_BFESS" + config.getId()); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/MessageUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/MessageUtils.java index 2d5de595..20b86607 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/MessageUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/MessageUtils.java @@ -62,6 +62,54 @@ public static void showMsg(JComponent component, MessageType messageType, String b.show(p, Balloon.Position.atRight); } + public static void showAllWarnMsg(String title, String body) { + Notifications.Bus.notify(new Notification(PluginConstant.NOTIFICATION_GROUP, title, body, NotificationType.WARNING)); + } + + public static String format(String body, String type) { + return FLAG + type + body.replace("\n", FLAG + "\n" + FLAG + type) + FLAG; + } + + public static String formatDiff(String expected, String output) { + if ((StringUtils.isBlank(expected) && StringUtils.isNotBlank(output)) || (StringUtils.isNotBlank(expected) && StringUtils.isBlank(output))) { + return FLAG + "E" + output + FLAG; + } else if (StringUtils.isBlank(expected) || StringUtils.isBlank(output) || output.equals(expected)) { + return output; + } else { + boolean isDiff = false; + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < output.length(); i++) { + if (i >= expected.length()) { + if (!isDiff) { + sb.append(FLAG).append("E"); + } + sb.append(output.substring(i)).append(FLAG); + isDiff = true; + break; + } else { + if (output.charAt(i) == expected.charAt(i)) { + if (isDiff) { + sb.append(FLAG); + isDiff = false; + } + sb.append(output.charAt(i)); + } else { + if (!isDiff) { + sb.append(FLAG).append("E"); + isDiff = true; + } + sb.append(output.charAt(i)); + } + } + + } + if (isDiff) { + sb.append(FLAG); + } + return sb.toString(); + } + } + public void showInfoMsg(String title, String body) { showConsole(() -> { printTitle(title, ConsoleViewContentType.NORMAL_OUTPUT); @@ -123,58 +171,10 @@ private void printBody(String body, ConsoleViewContentType contentType) { } } - public static void showAllWarnMsg(String title, String body) { - Notifications.Bus.notify(new Notification(PluginConstant.NOTIFICATION_GROUP, title, body, NotificationType.WARNING)); - } - public String getComponentName() { return this.getClass().getName(); } - public static String format(String body, String type) { - return FLAG + type + body.replace("\n", FLAG + "\n" + FLAG + type) + FLAG; - } - - public static String formatDiff(String expected, String output) { - if ((StringUtils.isBlank(expected) && StringUtils.isNotBlank(output)) || (StringUtils.isNotBlank(expected) && StringUtils.isBlank(output))) { - return FLAG + "E" + output + FLAG; - } else if (StringUtils.isBlank(expected) || StringUtils.isBlank(output) || output.equals(expected)) { - return output; - } else { - boolean isDiff = false; - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < output.length(); i++) { - if (i >= expected.length()) { - if (!isDiff) { - sb.append(FLAG).append("E"); - } - sb.append(output.substring(i)).append(FLAG); - isDiff = true; - break; - } else { - if (output.charAt(i) == expected.charAt(i)) { - if (isDiff) { - sb.append(FLAG); - isDiff = false; - } - sb.append(output.charAt(i)); - } else { - if (!isDiff) { - sb.append(FLAG).append("E"); - isDiff = true; - } - sb.append(output.charAt(i)); - } - } - - } - if (isDiff) { - sb.append(FLAG); - } - return sb.toString(); - } - } - private void showConsole(Runnable runnable) { ApplicationManager.getApplication().invokeLater(() -> { if (toolWindow == null) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/PropertiesUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/PropertiesUtils.java index d9982c2a..3a56e52c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/PropertiesUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/PropertiesUtils.java @@ -9,7 +9,7 @@ public class PropertiesUtils { private final static String baseName = "i18n/info"; - private final static ResourceBundle rb1 = ResourceBundle.getBundle(baseName); + private final static ResourceBundle rb1 = ResourceBundle.getBundle(baseName); public static String getInfo(String key, String... params) { return new MessageFormat(rb1.getString(key)).format(params); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/SentryUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/SentryUtils.java index a1b5a9e3..cc20dd18 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/SentryUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/SentryUtils.java @@ -6,7 +6,7 @@ import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import io.sentry.SentryClient; @@ -80,9 +80,9 @@ public void helpBuildingEvent(EventBuilder eventBuilder) { } context.addTag("javaVersion", SystemInfo.JAVA_RUNTIME_VERSION); context.addTag("pluginVersion", PluginManagerCore.getPlugin(PluginId.getId(PluginConstant.PLUGIN_ID)).getVersion()); - if(error == null){ + if (error == null) { sentry.sendMessage(description); - }else { + } else { sentry.sendException(error); } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/URLUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/URLUtils.java index 0041e6ad..89b27fe4 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/URLUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/URLUtils.java @@ -1,5 +1,6 @@ package com.shuzijun.leetcode.plugin.utils; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import org.apache.commons.lang.StringUtils; @@ -29,7 +30,11 @@ public class URLUtils { private static String leetcodeRandomOneQuestion = "/problems/random-one-question/all"; public static String getLeetcodeHost() { - String host = PersistentConfig.getInstance().getConfig().getUrl(); + Config config = PersistentConfig.getInstance().getInitConfig(); + if (config == null) { + return leetcode; + } + String host = config.getUrl(); if (StringUtils.isBlank(host)) { return leetcode; } @@ -38,11 +43,11 @@ public static String getLeetcodeHost() { public static boolean equalsHost(String host) { String thisHost = getLeetcodeHost(); - if(thisHost.equals(host)){ + if (thisHost.equals(host)) { return true; - }else if(thisHost.equals(leetcodecn) && leetcodecnOld.equals(host)){ + } else if (thisHost.equals(leetcodecn) && leetcodecnOld.equals(host)) { return true; - }else { + } else { return false; } } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/utils/UpdateUtils.java b/src/main/java/com/shuzijun/leetcode/plugin/utils/UpdateUtils.java index 1b77ef3d..c679339c 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/utils/UpdateUtils.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/utils/UpdateUtils.java @@ -6,7 +6,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.model.Config; +import com.shuzijun.leetcode.platform.model.Config; import com.shuzijun.leetcode.plugin.model.PluginConstant; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; @@ -34,7 +34,7 @@ public void run() { HttpGet httpget = null; try { String[] version = PluginManagerCore.getPlugin(PluginId.getId(PluginConstant.PLUGIN_ID)).getVersion().replace("v", "").split("\\.|-"); - httpget = new HttpGet("https://plugins.jetbrains.com/api/plugins/"+PluginConstant.WEB_ID+"/updates"); + httpget = new HttpGet("https://plugins.jetbrains.com/api/plugins/" + PluginConstant.WEB_ID + "/updates"); CloseableHttpResponse response = httpClient.execute(httpget); String body = EntityUtils.toString(response.getEntity(), "UTF-8"); JSONArray jsonArray = JSONObject.parseArray(body); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/ConsolePanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/ConsolePanel.java index a7800df3..1837b164 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/ConsolePanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/ConsolePanel.java @@ -21,9 +21,9 @@ */ public class ConsolePanel extends SimpleToolWindowPanel implements DataProvider { - private ConsoleView consoleView; + private final ConsoleView consoleView; - public ConsolePanel(ToolWindow toolWindow, Project project) { + public ConsolePanel(ToolWindow ignoredToolWindow, Project project) { super(Boolean.FALSE, Boolean.TRUE); this.consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(project).getConsole(); SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(Boolean.FALSE, Boolean.TRUE); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/ConsoleWindowFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/ConsoleWindowFactory.java index 416da6b7..6f562e59 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/ConsoleWindowFactory.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/ConsoleWindowFactory.java @@ -20,6 +20,11 @@ public class ConsoleWindowFactory implements ToolWindowFactory, DumbAware { public static String ID = PluginConstant.CONSOLE_WINDOW_ID; + public static DataContext getDataContext(@NotNull Project project) { + ToolWindow leetcodeToolWindows = ToolWindowManager.getInstance(project).getToolWindow(ID); + ConsolePanel consolePanel = (ConsolePanel) leetcodeToolWindows.getContentManager().getContent(0).getComponent(); + return DataManager.getInstance().getDataContext(consolePanel); + } @Override public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) { @@ -32,12 +37,6 @@ public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindo } } - public static DataContext getDataContext(@NotNull Project project) { - ToolWindow leetcodeToolWindows = ToolWindowManager.getInstance(project).getToolWindow(ID); - ConsolePanel consolePanel = (ConsolePanel) leetcodeToolWindows.getContentManager().getContent(0).getComponent(); - return DataManager.getInstance().getDataContext(consolePanel); - } - @Override public boolean shouldBeAvailable(@NotNull Project project) { return false; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTableData.java b/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTableData.java index 228b8102..eb49ec28 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTableData.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTableData.java @@ -2,22 +2,20 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.progress.ProgressIndicator; -import com.intellij.openapi.progress.ProgressManager; -import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtilRt; -import com.intellij.ui.components.JBPanel; +import com.intellij.ui.JBColor; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.table.JBTable; import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.listener.QuestionStatusNotifier; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.Graphql; -import com.shuzijun.leetcode.plugin.model.PageInfo; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.utils.LogUtils; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.Graphql; +import com.shuzijun.leetcode.platform.model.PageInfo; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.window.navigator.TopNavigatorTable; import org.jetbrains.annotations.NotNull; @@ -25,9 +23,9 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; -import javax.swing.text.*; +import javax.swing.text.AttributeSet; +import javax.swing.text.StyledDocument; import java.awt.*; -import java.awt.event.ItemEvent; import java.awt.event.MouseEvent; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -43,32 +41,29 @@ public abstract class NavigatorTableData extends JPanel implements Disposable protected static volatile Color defColor = null; - - protected Color Level1 = new Color(92, 184, 92); - protected Color Level2 = new Color(240, 173, 78); - protected Color Level3 = new Color(217, 83, 79); - private final MyJBTable myTable; private final MyTableModel myTableModel; - private final Project project; - private List myList; private final PageInfo myPageInfo; - private final PagePanel myPagePanel; + private final NavigatorPagePanel myPagePanel; private final JComponent firstToolTip; + protected Color Level1 = new JBColor(new Color(92, 184, 92), new Color(92, 184, 92)); + protected Color Level2 = new JBColor(new Color(240, 173, 78), new Color(240, 173, 78)); + protected Color Level3 = new JBColor(new Color(217, 83, 79), new Color(217, 83, 79)); + private List myList; private boolean first = true; public NavigatorTableData(Project project) { super(new BorderLayout()); - this.project = project; this.myTableModel = createMyTableModel(); this.myTable = createMyTable(myTableModel, project); this.myPageInfo = createMyPageInfo(); this.myPagePanel = createMyPagePanel(myPageInfo, project); this.firstToolTip = firstToolTip(); this.add(firstToolTip, BorderLayout.CENTER); + loaColor(PersistentConfig.getInstance().getInitConfig()); MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, (oldConfig, newConfig) -> loaColor(newConfig)); - messageBusConnection.subscribe(QuestionStatusNotifier.QUESTION_STATUS_TOPIC, question -> { + messageBusConnection.subscribe(PluginTopic.CONFIG_TOPIC, (oldConfig, newConfig) -> loaColor(newConfig)); + messageBusConnection.subscribe(PluginTopic.QUESTION_STATUS_TOPIC, question -> { if (myList != null) { for (T q : myList) { if (dataNotifier(q, question)) { @@ -88,7 +83,7 @@ protected PageInfo createMyPageInfo() { return new PageInfo<>(1, 50); } - protected abstract PagePanel createMyPagePanel(PageInfo myPageInfo, Project project); + protected abstract NavigatorPagePanel createMyPagePanel(PageInfo myPageInfo, Project project); protected abstract MyJBTable createMyTable(MyTableModel myTableModel, Project project); @@ -142,13 +137,13 @@ public void refreshData(String selectTitleSlug) { selectedRow(selectTitleSlug); } if (myPagePanel != null) { - if (myPageInfo.getPageTotal() != this.myPagePanel.page.getItemCount()) { - this.myPagePanel.page.removeAllItems(); + if (myPageInfo.getPageTotal() != this.myPagePanel.getPage().getItemCount()) { + this.myPagePanel.getPage().removeAllItems(); for (int i = 1; i <= myPageInfo.getPageTotal(); i++) { - this.myPagePanel.page.addItem(i); + this.myPagePanel.getPage().addItem(i); } } - this.myPagePanel.page.setSelectedItem(myPageInfo.getPageIndex()); + this.myPagePanel.getPage().setSelectedItem(myPageInfo.getPageIndex()); } }); @@ -172,11 +167,11 @@ public boolean selectedRow(String titleSlug) { return false; } - public PagePanel getPagePanel() { + public NavigatorPagePanel getPagePanel() { return myPagePanel; } - protected abstract void setColumnWidth(MyJBTable myJBTable); + protected abstract void setColumnWidth(MyJBTable myJBTable); public abstract boolean compareSlug(T myData, String titleSlug); @@ -310,128 +305,10 @@ public String getToolTipText(MouseEvent e) { protected abstract void prepareRenderer(Component component, Object value, int row, int column); } - public static abstract class PagePanel extends JBPanel { - protected JComboBox pageSizeBox; - protected JButton previous; - protected JButton next; - protected JButton go; - protected JComboBox page; - - public PagePanel(Project project, PageInfo pageInfo) { - super(new BorderLayout()); - pageSizeBox = new JComboBox(pageSizeData()); - pageSizeBox.setPreferredSize(new Dimension(60, -1)); - pageSizeBox.setSelectedItem(pageInfo.getPageSize()); - pageSizeBox.addItemListener(e -> { - if (e.getStateChange() == ItemEvent.SELECTED) { - pageInfo.setPageSize((Integer) e.getItem()); - } - }); - add(pageSizeBox, BorderLayout.WEST); - - JPanel control = new JPanel(new BorderLayout()); - previous = new JButton("<"); - previous.setToolTipText("Previous"); - previous.setPreferredSize(new Dimension(50, -1)); - previous.setMaximumSize(new Dimension(50, -1)); - previous.addActionListener(event -> { - if (page.getItemCount() <= 0 || (int) page.getSelectedItem() < 2) { - } else { - pageInfo.setPageIndex((int) page.getSelectedItem() - 1); - ProgressManager.getInstance().run(new Task.Backgroundable(project, "Previous", false) { - @Override - public void run(@NotNull ProgressIndicator progressIndicator) { - previousRunnable(); - } - }); - } - - }); - control.add(previous, BorderLayout.WEST); - next = new JButton(">"); - next.setToolTipText("Next"); - next.setPreferredSize(new Dimension(50, -1)); - next.setMaximumSize(new Dimension(50, -1)); - next.addActionListener(event -> { - if (page.getItemCount() <= 0 || (int) page.getSelectedItem() >= page.getItemCount()) { - return; - } else { - pageInfo.setPageIndex((int) page.getSelectedItem() + 1); - ProgressManager.getInstance().run(new Task.Backgroundable(project, "Next", false) { - @Override - public void run(@NotNull ProgressIndicator progressIndicator) { - nextRunnable(); - } - }); - } - - }); - control.add(next, BorderLayout.EAST); - page = new JComboBox(); - control.add(page, BorderLayout.CENTER); - add(control, BorderLayout.CENTER); - - go = new JButton("Go"); - go.setPreferredSize(new Dimension(50, -1)); - go.setMaximumSize(new Dimension(50, -1)); - go.addActionListener(event -> { - if (page.getItemCount() <= 0) { - return; - } else { - pageInfo.setPageIndex((int) page.getSelectedItem()); - ProgressManager.getInstance().run(new Task.Backgroundable(project, "Go to", false) { - @Override - public void run(@NotNull ProgressIndicator progressIndicator) { - goRunnable(); - } - }); - } - - }); - add(go, BorderLayout.EAST); - } - - public abstract Integer[] pageSizeData(); - - public abstract void previousRunnable(); - - public abstract void nextRunnable(); - - public abstract void goRunnable(); - - public int getPageIndex() { - if (page.getItemCount() <= 0) { - return 1; - } else { - return (int) page.getSelectedItem(); - } - } - - public void focusedPageSize() { - pageSizeBox.requestFocusInWindow(); - } - - public void focusedPage() { - page.requestFocusInWindow(); - } - - public void clickPrevious() { - previous.doClick(); - } - - public void clickNext() { - next.doClick(); - } - - public void clickGo() { - go.doClick(); - } - } - public static class MyStyle { - private int offset; - private int length; - private AttributeSet s; + private final int offset; + private final int length; + private final AttributeSet s; public MyStyle(int offset, int length, AttributeSet s) { this.offset = offset; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTabsPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTabsPanel.java index 07d2317b..4bf35496 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTabsPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/NavigatorTabsPanel.java @@ -1,7 +1,9 @@ package com.shuzijun.leetcode.plugin.window; import com.intellij.openapi.Disposable; +import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Disposer; @@ -9,26 +11,26 @@ import com.intellij.ui.tabs.TabInfo; import com.intellij.ui.tabs.impl.JBTabsImpl; import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; -import com.shuzijun.leetcode.plugin.listener.QuestionStatusNotifier; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.User; +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.extension.NavigatorPanelAction; +import com.shuzijun.leetcode.extension.NavigatorPanelFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.User; +import com.shuzijun.leetcode.platform.notifier.ConfigNotifier; +import com.shuzijun.leetcode.platform.notifier.LoginNotifier; +import com.shuzijun.leetcode.platform.utils.LogUtils; +import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; import com.shuzijun.leetcode.plugin.setting.StatisticsData; import com.shuzijun.leetcode.plugin.utils.DataKeys; -import com.shuzijun.leetcode.plugin.utils.LogUtils; import com.shuzijun.leetcode.plugin.utils.URLUtils; -import com.shuzijun.leetcode.plugin.window.navigator.AllNavigatorPanel; -import com.shuzijun.leetcode.plugin.window.navigator.NavigatorPanel; -import com.shuzijun.leetcode.plugin.window.navigator.TopNavigatorPanel; import org.jetbrains.annotations.NotNull; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; +import javax.swing.*; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** @@ -36,61 +38,49 @@ */ public class NavigatorTabsPanel extends SimpleToolWindowPanel implements Disposable { + private static final ExtensionPointName EXTENSION_NAVIGATOR = ExtensionPointName.create(PluginConstant.EXTENSION_NAVIGATOR); + private static final DisposableMap NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP = new DisposableMap<>(); static { Disposer.register(ApplicationManager.getApplication(), NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP); } - private String id = UUID.randomUUID().toString(); + private final String id = UUID.randomUUID().toString(); - private SimpleToolWindowPanel[] navigatorPanels; - private TabInfo[] tabInfos; + private final RepositoryService repositoryService; - private JBTabsImpl tabs; + private final LinkedList navigatorPanels = new LinkedList<>(); + private final LinkedList tabInfos = new LinkedList<>(); + private final JBTabsImpl tabs; + private final Map userCache = new ConcurrentHashMap<>(); private int toggleIndex = 0; - private volatile Map userCache = new ConcurrentHashMap<>(); - - public NavigatorTabsPanel(ToolWindow toolWindow, Project project) { + public NavigatorTabsPanel(ToolWindow ignoredToolWindow, Project project) { super(Boolean.TRUE, Boolean.TRUE); - navigatorPanels = new SimpleToolWindowPanel[3]; - tabInfos = new TabInfo[3]; + this.repositoryService = RepositoryServiceImpl.getInstance(project); tabs = new JBTabsImpl(project); tabs.setHideTabs(true); - NavigatorPanel navigatorPanel = new NavigatorPanel(toolWindow, project); - navigatorPanels[0] = navigatorPanel; - - TabInfo tabInfo = new TabInfo(navigatorPanel); - tabInfo.setText("page"); - tabInfos[0] = tabInfo; - tabs.addTab(tabInfo); - - AllNavigatorPanel allNavigatorPanel = new AllNavigatorPanel(toolWindow, project); - navigatorPanels[1] = allNavigatorPanel; + List extensionList = EXTENSION_NAVIGATOR.getExtensionList(); + for (NavigatorPanelFactory factory : extensionList) { + NavigatorPanel navigatorPanel = factory.createPanel(repositoryService); + navigatorPanels.add(navigatorPanel); - TabInfo allTabInfo = new TabInfo(allNavigatorPanel); - allTabInfo.setText("all"); - tabInfos[1] = allTabInfo; - tabs.addTab(allTabInfo); - - TopNavigatorPanel topNavigatorPanel = new TopNavigatorPanel(toolWindow, project); - navigatorPanels[2] = topNavigatorPanel; - - TabInfo topTabInfo = new TabInfo(topNavigatorPanel); - topTabInfo.setText("codeTop"); - tabInfos[2] = topTabInfo; - tabs.addTab(topTabInfo); + TabInfo tabInfo = new TabInfo(navigatorPanel); + tabInfo.setText(factory.getName()); + tabInfos.add(tabInfo); + tabs.addTab(tabInfo); + } Config config = PersistentConfig.getInstance().getInitConfig(); if (config != null) { - for (int i = 0; i < tabInfos.length; i++) { - if (tabInfos[i].getText().equalsIgnoreCase(config.getNavigatorName())) { - tabs.select(tabInfos[i], true); + for (int i = 0; i < tabInfos.size(); i++) { + if (tabInfos.get(i).getText().equalsIgnoreCase(config.getNavigatorName())) { + tabs.select(tabInfos.get(i), true); toggleIndex = i; break; } @@ -109,7 +99,7 @@ public NavigatorTabsPanel(ToolWindow toolWindow, Project project) { } }); MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(LoginNotifier.TOPIC, new LoginNotifier() { + messageBusConnection.subscribe(PluginTopic.LOGIN_TOPIC, new LoginNotifier() { @Override public void login(Project notifierProject, String host) { User user = getUser(); @@ -127,7 +117,7 @@ public void logout(Project notifierProject, String host) { WindowFactory.updateTitle(project, "No login"); } }); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, new ConfigNotifier() { + messageBusConnection.subscribe(PluginTopic.CONFIG_TOPIC, new ConfigNotifier() { @Override public void change(Config oldConfig, Config newConfig) { if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { @@ -141,10 +131,10 @@ public void change(Config oldConfig, Config newConfig) { } } }); - messageBusConnection.subscribe(QuestionStatusNotifier.QUESTION_STATUS_TOPIC, question -> StatisticsData.refresh(project)); + messageBusConnection.subscribe(PluginTopic.QUESTION_STATUS_TOPIC, question -> StatisticsData.refresh(project)); - for (SimpleToolWindowPanel n : navigatorPanels) { - if (n != null && navigatorPanel instanceof Disposable) { + for (JPanel n : navigatorPanels) { + if (n instanceof Disposable) { Disposer.register(this, (Disposable) n); } } @@ -153,12 +143,38 @@ public void change(Config oldConfig, Config newConfig) { } + public static synchronized void loadUser(boolean login, Project project) { + User user = null; + if (login) { + for (int i = 0; i <= 50; i++) { + user = RepositoryServiceImpl.getInstance(project).getQuestionService().getUser(); + if (!user.isSignedIn()) { + try { + Thread.sleep(500 + (i / 10 * 100)); + } catch (InterruptedException ignore) { + } + } else { + break; + } + if (i == 50) { + LogUtils.LOG.warn("User data is not synchronized"); + } + } + } else { + user = new User(); + } + Collection collection = NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.values(); + for (NavigatorTabsPanel navigatorTabsPanel : collection) { + navigatorTabsPanel.userCache.put(URLUtils.getLeetcodeHost(), user); + } + } + public void toggle() { - toggleIndex = (toggleIndex + 1) % 3; - tabs.select(tabInfos[toggleIndex], true); + toggleIndex = (toggleIndex + 1) % navigatorPanels.size(); + tabs.select(tabInfos.get(toggleIndex), true); Config config = PersistentConfig.getInstance().getInitConfig(); if (config != null) { - config.setNavigatorName(tabInfos[toggleIndex].getText()); + config.setNavigatorName(tabInfos.get(toggleIndex).getText()); PersistentConfig.getInstance().setInitConfig(config); } } @@ -172,18 +188,18 @@ public User getUser() { return userCache.get(config.getUrl()); } else { String otherKey = null; - for (Object key : NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.keySet()) { + for (String key : NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.keySet()) { if (!key.equals(id)) { - otherKey = (String) key; + otherKey = key; break; } } - if (otherKey == null || !((NavigatorTabsPanel) NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.get(otherKey)).userCache.containsKey(config.getUrl())) { - User user = QuestionManager.getUser(); + if (otherKey == null || !NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.get(otherKey).userCache.containsKey(config.getUrl())) { + User user = repositoryService.getQuestionService().getUser(); userCache.put(config.getUrl(), user); return user; } else { - User user = ((NavigatorTabsPanel) NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.get(otherKey)).userCache.get(config.getUrl()); + User user = NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.get(otherKey).userCache.get(config.getUrl()); userCache.put(config.getUrl(), user); return user; } @@ -191,18 +207,20 @@ public User getUser() { } @Override - public Object getData(String dataId) { - for (SimpleToolWindowPanel navigatorPanel : navigatorPanels) { - Object object = navigatorPanel.getData(dataId); - if (object != null) { - return object; + public Object getData(@NotNull String dataId) { + for (JPanel panel : navigatorPanels) { + if (panel instanceof DataProvider) { + Object object = ((DataProvider) panel).getData(dataId); + if (object != null) { + return object; + } } } if (DataKeys.LEETCODE_PROJECTS_TABS.is(dataId)) { return this; } if (DataKeys.LEETCODE_PROJECTS_NAVIGATORACTION.is(dataId)) { - SimpleToolWindowPanel panel = navigatorPanels[toggleIndex]; + JPanel panel = navigatorPanels.get(toggleIndex); if (panel instanceof NavigatorPanelAction) { return ((NavigatorPanelAction) panel).getNavigatorAction(); } @@ -214,40 +232,14 @@ public Object getData(String dataId) { @Override public void dispose() { NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.remove(id); - for (SimpleToolWindowPanel navigatorPanel : navigatorPanels) { - if (navigatorPanel != null && navigatorPanel instanceof Disposable) { - ((Disposable) navigatorPanel).dispose(); + for (JPanel panel : navigatorPanels) { + if (panel instanceof Disposable) { + ((Disposable) panel).dispose(); } } } - public static synchronized void loadUser(boolean login) { - User user = null; - if (login) { - for (int i = 0; i <= 50; i++) { - user = QuestionManager.getUser(); - if (!user.isSignedIn()) { - try { - Thread.sleep(500 + (i / 10 * 100)); - } catch (InterruptedException ignore) { - } - } else { - break; - } - if(i == 50){ - LogUtils.LOG.warn("User data is not synchronized"); - } - } - } else { - user = new User(); - } - Collection collection = NAVIGATOR_TABS_PANEL_DISPOSABLE_MAP.values(); - for (NavigatorTabsPanel navigatorTabsPanel : collection) { - navigatorTabsPanel.userCache.put(URLUtils.getLeetcodeHost(), user); - } - } - - public static class DisposableMap extends HashMap implements Disposable { + public static class DisposableMap extends HashMap implements Disposable { @Override public void dispose() { for (Object value : values()) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/ProgressPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/ProgressPanel.java index f51ea53f..5864a88f 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/ProgressPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/ProgressPanel.java @@ -2,7 +2,7 @@ import com.intellij.openapi.project.Project; import com.intellij.ui.components.JBTextField; -import com.shuzijun.leetcode.plugin.model.Session; +import com.shuzijun.leetcode.platform.model.Session; import javax.swing.*; import java.util.List; @@ -11,6 +11,7 @@ * @author shuzijun */ public class ProgressPanel { + private final Project project; private JPanel mainPanel; private JComboBox sessionBox; private JBTextField todoField; @@ -22,8 +23,6 @@ public class ProgressPanel { private JBTextField expField; private JBTextField pointField; - private Project project; - public ProgressPanel(List sessionList, Project project) { this.project = project; initUI(sessionList); @@ -33,8 +32,8 @@ public JPanel getPanel() { return mainPanel; } - public Session select(){ - return (Session) sessionBox.getSelectedItem(); + public Session select() { + return (Session) sessionBox.getSelectedItem(); } public void update(List sessionList) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java index c254cdd1..c6cd8f07 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java @@ -27,25 +27,6 @@ public class WindowFactory implements ToolWindowFactory, DumbAware { public static String ID = PluginConstant.TOOL_WINDOW_ID; - @Override - public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) { - - ContentFactory contentFactory = ContentFactory.SERVICE.getInstance(); - JComponent navigatorPanel = new NavigatorTabsPanel(toolWindow, project); - Content content = contentFactory.createContent(navigatorPanel, "", false); - toolWindow.getContentManager().addContent(content); - if (PersistentConfig.getInstance().getInitConfig() != null) { - if (!PersistentConfig.getInstance().getInitConfig().getShowToolIcon()) { - toolWindow.setIcon(LeetCodeEditorIcons.EMPEROR_NEW_CLOTHES); - } - if (!PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { - toolWindow.setAnchor(ToolWindowAnchor.RIGHT, null); - } - - } - } - - @NotNull public static DataContext getDataContext(@NotNull Project project) { AtomicReference dataContext = new AtomicReference<>(); @@ -77,4 +58,22 @@ public static void activateToolWindow(@NotNull Project project) { leetcodeToolWindows.activate(null); } + @Override + public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) { + + ContentFactory contentFactory = ContentFactory.SERVICE.getInstance(); + JComponent navigatorPanel = new NavigatorTabsPanel(toolWindow, project); + Content content = contentFactory.createContent(navigatorPanel, "", false); + toolWindow.getContentManager().addContent(content); + if (PersistentConfig.getInstance().getInitConfig() != null) { + if (!PersistentConfig.getInstance().getInitConfig().getShowToolIcon()) { + toolWindow.setIcon(LeetCodeEditorIcons.EMPEROR_NEW_CLOTHES); + } + if (!PersistentConfig.getInstance().getInitConfig().isLeftQuestionEditor()) { + toolWindow.setAnchor(ToolWindowAnchor.RIGHT, null); + } + + } + } + } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SolutionPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SolutionPanel.java index 01ce3c70..daf57572 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SolutionPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SolutionPanel.java @@ -5,7 +5,7 @@ import com.intellij.ui.components.JBPanel; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.table.JBTable; -import com.shuzijun.leetcode.plugin.model.Solution; +import com.shuzijun.leetcode.platform.model.Solution; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SubmissionsPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SubmissionsPanel.java index d6830b99..1f64119a 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SubmissionsPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/SubmissionsPanel.java @@ -5,7 +5,7 @@ import com.intellij.ui.components.JBPanel; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.table.JBTable; -import com.shuzijun.leetcode.plugin.model.Submission; +import com.shuzijun.leetcode.platform.model.Submission; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -43,7 +43,7 @@ public SubmissionsPanel(@Nullable Project project, TableModel tableModel) { table.getColumnModel().getColumn(2).setPreferredWidth(100); table.getColumnModel().getColumn(3).setPreferredWidth(200); table.getColumnModel().getColumn(4).setPreferredWidth(100); - jpanel.add(new JBScrollPane(table, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_NEVER), BorderLayout.CENTER); + jpanel.add(new JBScrollPane(table, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_NEVER), BorderLayout.CENTER); setModal(true); init(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/TestcasePanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/TestcasePanel.java index d3ee1456..54e088b1 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/TestcasePanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/dialog/TestcasePanel.java @@ -4,7 +4,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.ui.components.JBPanel; import com.intellij.ui.components.JBScrollPane; -import com.shuzijun.leetcode.plugin.model.Question; +import com.shuzijun.leetcode.platform.model.Question; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -27,7 +27,7 @@ public TestcasePanel(@Nullable Project project, Question question) { jpanel = new JBPanel(); jpanel.setLayout(new BorderLayout()); caseText = new JTextArea(); - JBScrollPane caseTextScroll = new JBScrollPane(caseText, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + JBScrollPane caseTextScroll = new JBScrollPane(caseText, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); caseTextScroll.setMinimumSize(new Dimension(400, 200)); caseTextScroll.setPreferredSize(new Dimension(400, 200)); jpanel.add(caseTextScroll, BorderLayout.CENTER); @@ -59,13 +59,13 @@ public void actionPerformed(ActionEvent e) { @Override public Object getValue(String key) { - if(Action.NAME.equals(key)){ + if (Action.NAME.equals(key)) { return "&Use Example Testcases"; - }else { + } else { return super.getValue(key); } } - },getOKAction(),getCancelAction()}; + }, getOKAction(), getCancelAction()}; } public String testcaseText() { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/login/HttpLogin.java b/src/main/java/com/shuzijun/leetcode/plugin/window/login/HttpLogin.java index a97120c2..cea09b61 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/login/HttpLogin.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/login/HttpLogin.java @@ -7,14 +7,23 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.Config; -import com.shuzijun.leetcode.plugin.model.HttpRequest; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.platform.model.Config; +import com.shuzijun.leetcode.platform.model.HttpRequest; +import com.shuzijun.leetcode.platform.model.HttpResponse; +import com.shuzijun.leetcode.platform.model.User; +import com.shuzijun.leetcode.platform.service.HttpRequestService; +import com.shuzijun.leetcode.platform.utils.CookieUtils; +import com.shuzijun.leetcode.platform.utils.IOUtils; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.model.User; +import com.shuzijun.leetcode.plugin.model.PluginTopic; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; import com.shuzijun.leetcode.plugin.setting.PersistentConfig; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.utils.DataKeys; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.NavigatorTabsPanel; import com.shuzijun.leetcode.plugin.window.WindowFactory; import org.apache.commons.lang.StringUtils; @@ -40,15 +49,15 @@ public static boolean ajaxLogin(Config config, NavigatorAction navigatorAction, if (StringUtils.isBlank(PersistentConfig.getInstance().getPassword(config.getLoginName()))) { return Boolean.FALSE; } - + HttpRequestService httpRequestService = RepositoryServiceImpl.getInstance(project).getHttpRequestService(); try { HttpEntity ent = MultipartEntityBuilder.create() - .addTextBody("csrfmiddlewaretoken", HttpRequestUtils.getToken() == null ? "" : HttpRequestUtils.getToken()) + .addTextBody("csrfmiddlewaretoken", httpRequestService.getToken() == null ? "" : httpRequestService.getToken()) .addTextBody("login", config.getLoginName()) .addTextBody("password", PersistentConfig.getInstance().getPassword(config.getLoginName())) .addTextBody("next", "/problems") .build(); - HttpResponse response = HttpRequest.builderPost(URLUtils.getLeetcodeLogin(), ent.getContentType().getValue()) + HttpResponse response = HttpRequest.builder(httpRequestService).post(URLUtils.getLeetcodeLogin(), ent.getContentType().getValue()) .body(IOUtils.toString(ent.getContent(), "UTF-8")) .addHeader("x-requested-with", "XMLHttpRequest") .addHeader("accept", "*/*").request(); @@ -61,8 +70,8 @@ public static boolean ajaxLogin(Config config, NavigatorAction navigatorAction, JSONArray jsonArray = jsonObject.getJSONObject("form").getJSONArray("errors"); if (jsonArray.isEmpty()) { MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("login.success")); - NavigatorTabsPanel.loadUser(true); - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).login(project, config.getUrl()); + NavigatorTabsPanel.loadUser(true, project); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).login(project, config.getUrl()); examineEmail(project); return Boolean.TRUE; } else { @@ -71,14 +80,13 @@ public static boolean ajaxLogin(Config config, NavigatorAction navigatorAction, } } else if (StringUtils.isBlank(body)) { MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("login.success")); - NavigatorTabsPanel.loadUser(true); - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).login(project, config.getUrl()); + NavigatorTabsPanel.loadUser(true, project); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).login(project, config.getUrl()); examineEmail(project); return Boolean.TRUE; } else { - HttpRequestUtils.resetHttpclient(); + httpRequestService.resetHttpclient(); MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("login.unknown")); - SentryUtils.submitErrorReport(null, String.format("login.unknown:\nStatusCode:%s\nbody:%s", response.getStatusCode(), body)); return Boolean.FALSE; } } else if (response.getStatusCode() == 400) { @@ -91,9 +99,8 @@ public static boolean ajaxLogin(Config config, NavigatorAction navigatorAction, } return Boolean.FALSE; } else { - HttpRequestUtils.resetHttpclient(); + httpRequestService.resetHttpclient(); MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("login.unknown")); - SentryUtils.submitErrorReport(null, String.format("login.unknown:\nStatusCode:%s\nbody:%s", response.getStatusCode(), body)); return Boolean.FALSE; } } catch (Exception e) { @@ -128,8 +135,8 @@ public void run(@NotNull ProgressIndicator progressIndicator) { config.addCookie(config.getUrl() + config.getLoginName(), CookieUtils.httpCookieToJSONString(cookieList)); PersistentConfig.getInstance().setInitConfig(config); MessageUtils.getInstance(project).showInfoMsg("info", PropertiesUtils.getInfo("login.success")); - NavigatorTabsPanel.loadUser(true); - ApplicationManager.getApplication().getMessageBus().syncPublisher(LoginNotifier.TOPIC).login(project, config.getUrl()); + NavigatorTabsPanel.loadUser(true, project); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.LOGIN_TOPIC).login(project, config.getUrl()); examineEmail(project); } }); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/login/LoginPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/login/LoginPanel.java index c3a23c90..021182cf 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/login/LoginPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/login/LoginPanel.java @@ -12,8 +12,12 @@ import com.intellij.ui.jcef.JCEFHtmlPanel; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.components.BorderLayoutPanel; +import com.shuzijun.leetcode.platform.utils.LogUtils; import com.shuzijun.leetcode.plugin.model.PluginConstant; -import com.shuzijun.leetcode.plugin.utils.*; +import com.shuzijun.leetcode.plugin.service.RepositoryServiceImpl; +import com.shuzijun.leetcode.plugin.utils.MessageUtils; +import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; +import com.shuzijun.leetcode.plugin.utils.URLUtils; import org.apache.commons.lang.StringUtils; import org.cef.browser.CefBrowser; import org.cef.browser.CefFrame; @@ -56,7 +60,7 @@ public LoginPanel(@Nullable Project project) { try { jcefPanel = new JcefPanel(project, okAction); } catch (IllegalArgumentException e) { - jcefPanel = new JcefPanel(project, okAction,true); + jcefPanel = new JcefPanel(project, okAction, true); } jcefPanel.getComponent().setMinimumSize(new Dimension(1000, 500)); jcefPanel.getComponent().setPreferredSize(new Dimension(1000, 500)); @@ -90,12 +94,12 @@ protected void doAction(ActionEvent e) { } } } - HttpRequestUtils.setCookie(cookieList); + RepositoryServiceImpl.getInstance(project).getHttpRequestService().setCookie(cookieList); ProgressManager.getInstance().run(new Task.Backgroundable(project, PluginConstant.ACTION_PREFIX + ".loginSuccess", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { - if (HttpRequestUtils.isLogin(project)) { + if (RepositoryServiceImpl.getInstance(project).getHttpRequestService().isLogin(project)) { HttpLogin.loginSuccess(project, cookieList); } else { JOptionPane.showMessageDialog(null, PropertiesUtils.getInfo("login.failed")); @@ -150,7 +154,7 @@ private static class JcefPanel extends JCEFHtmlPanel { private Action okAction; public JcefPanel(Project project, Action okAction, boolean old) { - super( null); + super(null); this.project = project; this.okAction = okAction; init(); @@ -163,7 +167,7 @@ public JcefPanel(Project project, Action okAction) { init(); } - private void init(){ + private void init() { getJBCefClient().addLoadHandler(cefLoadHandler = new CefLoadHandlerAdapter() { boolean successDispose = false; @@ -196,8 +200,8 @@ public boolean visit(CefCookie cefCookie, int count, int total, BoolRef boolRef) } } if (count == total - 1 && isSession) { - HttpRequestUtils.setCookie(cookieList); - if (HttpRequestUtils.isLogin(project)) { + RepositoryServiceImpl.getInstance(project).getHttpRequestService().setCookie(cookieList); + if (RepositoryServiceImpl.getInstance(project).getHttpRequestService().isLogin(project)) { HttpLogin.loginSuccess(project, cookieList); MessageUtils.getInstance(project).showWarnMsg("", PropertiesUtils.getInfo("browser.login.success")); ApplicationManager.getApplication().invokeLater(() -> okAction.actionPerformed(null)); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanel.java index 3363a442..c69943d3 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanel.java @@ -12,48 +12,45 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Disposer; -import com.intellij.openapi.wm.ToolWindow; import com.intellij.ui.components.JBTextField; -import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.AllQuestionNotifier; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.notifier.ConfigNotifier; +import com.shuzijun.leetcode.platform.notifier.LoginNotifier; import com.shuzijun.leetcode.plugin.listener.QueryKeyListener; -import com.shuzijun.leetcode.plugin.manager.FindManager; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.ViewManager; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.plugin.model.PluginConstant; +import com.shuzijun.leetcode.plugin.model.PluginTopic; import com.shuzijun.leetcode.plugin.utils.URLUtils; -import com.shuzijun.leetcode.plugin.window.NavigatorPanelAction; -import com.shuzijun.leetcode.plugin.window.NavigatorTableData; -import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.util.HashMap; import java.util.Map; /** * @author shuzijun */ -public class AllNavigatorPanel extends SimpleToolWindowPanel implements NavigatorPanelAction, Disposable { +public class AllNavigatorPanel extends NavigatorPanel implements Disposable { - private Map findMap = new HashedMap(); - private JPanel queryPanel; - private JTextField queryField; - private AllNavigatorTable navigatorTable; - private ActionToolbar findToolbar; - private ActionToolbar actionSortToolbar; - private Project myProject; + private final NavigatorAction myNavigatorAction; + private final Map findMap = new HashMap<>(); + private final JPanel queryPanel; + private final JTextField queryField; + private final AllNavigatorTable navigatorTable; + private final ActionToolbar findToolbar; + private final ActionToolbar actionSortToolbar; + private final RepositoryService repositoryService; - private final NavigatorAction myNavigatorAction; - - public AllNavigatorPanel(ToolWindow toolWindow, Project project) { + public AllNavigatorPanel(RepositoryService repositoryService) { super(Boolean.TRUE, Boolean.TRUE); - this.myProject = project; + this.repositoryService = repositoryService; this.myNavigatorAction = createMyNavigatorAction(); - navigatorTable = new AllNavigatorTable(project, myNavigatorAction); + navigatorTable = new AllNavigatorTable(repositoryService.getProject(), myNavigatorAction); Disposer.register(this, navigatorTable); final ActionManager actionManager = ActionManager.getInstance(); @@ -69,7 +66,7 @@ public AllNavigatorPanel(ToolWindow toolWindow, Project project) { queryPanel.setLayout(new BoxLayout(queryPanel, BoxLayout.Y_AXIS)); queryField = new JBTextField(); queryField.setToolTipText("Enter Search"); - queryField.addKeyListener(new QueryKeyListener(queryField, myNavigatorAction, project)); + queryField.addKeyListener(new QueryKeyListener(queryField, myNavigatorAction, repositoryService.getProject())); queryPanel.add(queryField); findToolbar = actionManager.createActionToolbar(PluginConstant.LEETCODE_ALL_FIND_TOOLBAR, (DefaultActionGroup) actionManager.getAction(PluginConstant.LEETCODE_ALL_FIND_TOOLBAR), true); @@ -88,37 +85,37 @@ public AllNavigatorPanel(ToolWindow toolWindow, Project project) { } private void subscribe() { - MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(LoginNotifier.TOPIC, new LoginNotifier() { + + repositoryService.subscribeNotifier(Topic.LoginNotifier, new LoginNotifier() { @Override public void login(Project project, String host) { - ProgressManager.getInstance().run(new Task.Backgroundable(myProject, "Refresh data", false) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { return; } myNavigatorAction.resetServiceData(); - ApplicationManager.getApplication().getMessageBus().syncPublisher(AllQuestionNotifier.TOPIC).reset(); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.ALL_QUESTION_TOPIC).reset(); } }); } @Override public void logout(Project project, String host) { - ProgressManager.getInstance().run(new Task.Backgroundable(myProject, "Refresh data", false) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { return; } myNavigatorAction.resetServiceData(); - ApplicationManager.getApplication().getMessageBus().syncPublisher(AllQuestionNotifier.TOPIC).reset(); + ApplicationManager.getApplication().getMessageBus().syncPublisher(PluginTopic.ALL_QUESTION_TOPIC).reset(); } }); } - }); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, new ConfigNotifier() { + }, this); + repositoryService.subscribeNotifier(Topic.ConfigNotifier, new ConfigNotifier() { @Override public void change(Config oldConfig, Config newConfig) { if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { @@ -127,11 +124,11 @@ public void change(Config oldConfig, Config newConfig) { } } } - }); + }, this); } private NavigatorAction createMyNavigatorAction() { - return new NavigatorAction.Adapter() { + return new NavigatorAction.Adapter<>() { @Override public void updateUI() { findToolbar.getComponent().updateUI(); @@ -157,7 +154,7 @@ public Find getFind() { public void findClear() { navigatorTable.getPageInfo().clearFilter(); getFind().clearFilter(); - ViewManager.loadAllServiceData(this, myProject); + repositoryService.getViewService().loadAllServiceData(this); } @Override @@ -171,7 +168,7 @@ public void findChange(String filterKey, boolean b, Tag tag) { } else { navigatorTable.getPageInfo().disposeFilters(filterKey, tag.getSlug(), b); } - ViewManager.loadAllServiceData(this, myProject); + repositoryService.getViewService().loadAllServiceData(this); } @Override @@ -186,7 +183,7 @@ public void sort(Sort sort) { navigatorTable.getPageInfo().disposeFilters("orderBy", sort.getSlug(), true); navigatorTable.getPageInfo().disposeFilters("sortOrder", "ASCENDING", true); } - ViewManager.loadAllServiceData(this, myProject); + repositoryService.getViewService().loadAllServiceData(this); } @Override @@ -195,7 +192,7 @@ public QuestionView getSelectedRowData() { } @Override - public NavigatorTableData.PagePanel getPagePanel() { + public NavigatorPagePanel getPagePanel() { return navigatorTable.getPagePanel(); } @@ -211,13 +208,13 @@ public void loadData(String slug) { @Override public void loadServiceData() { - ViewManager.loadAllServiceData(this, myProject); + repositoryService.getViewService().loadAllServiceData(this); } @Override public void resetServiceData() { - getFind().resetFilterData(Constant.FIND_TYPE_LISTS, FindManager.getLists(myProject)); - ViewManager.loadAllServiceData(this, myProject, null, true); + getFind().resetFilterData(Constant.FIND_TYPE_LISTS, repositoryService.getFindService().getLists()); + repositoryService.getViewService().loadAllServiceData(this, null, true); } @Override @@ -233,14 +230,14 @@ public boolean position(String slug) { queryField.setText(""); getFind().clearFilter(); - ViewManager.loadAllServiceData(this, myProject, slug, false); + repositoryService.getViewService().loadAllServiceData(this, slug, false); return selectedRow(slug); } }; } @Override - public Object getData(String dataId) { + public Object getData(@NotNull String dataId) { return super.getData(dataId); } @@ -250,7 +247,7 @@ public void dispose() { } @Override - public NavigatorAction getNavigatorAction() { + public NavigatorAction getNavigatorAction() { return myNavigatorAction; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanelFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanelFactory.java new file mode 100644 index 00000000..bd554212 --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorPanelFactory.java @@ -0,0 +1,18 @@ +package com.shuzijun.leetcode.plugin.window.navigator; + +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.extension.NavigatorPanelFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public class AllNavigatorPanelFactory implements NavigatorPanelFactory { + @Override + public @NotNull String getName() { + return "all"; + } + + @Override + public @NotNull NavigatorPanel createPanel(RepositoryService repositoryService) { + return new AllNavigatorPanel(repositoryService); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorTable.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorTable.java index 47055bb4..19f97d16 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorTable.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/AllNavigatorTable.java @@ -1,12 +1,13 @@ package com.shuzijun.leetcode.plugin.window.navigator; import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.platform.model.PageInfo; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.QuestionView; import com.shuzijun.leetcode.plugin.listener.JTableKeyAdapter; import com.shuzijun.leetcode.plugin.listener.TreeMouseListener; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.PageInfo; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.QuestionView; import com.shuzijun.leetcode.plugin.window.NavigatorTableData; import icons.LeetCodeEditorIcons; @@ -43,7 +44,7 @@ protected boolean dataNotifier(QuestionView myData, Question question) { } @Override - protected PagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { + protected NavigatorPagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { return null; } @@ -68,10 +69,10 @@ protected JTextPane firstToolTip() { Style style = new StyleContext().addStyle("boldStyle", null); StyleConstants.setBold(style, true); - List styleList ; - if(Locale.getDefault().getLanguage().equals(Locale.CHINESE.getLanguage())){ + List styleList; + if (Locale.getDefault().getLanguage().equals(Locale.CHINESE.getLanguage())) { styleList = Arrays.asList(new MyStyle(5, 7, style)); - }else { + } else { styleList = Arrays.asList(new MyStyle(18, 16, style)); } return createTip("allTip", icons, styleList); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanel.java similarity index 79% rename from src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorPanel.java rename to src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanel.java index 2a30729f..c00a09e3 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanel.java @@ -5,55 +5,50 @@ import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.ActionToolbar; import com.intellij.openapi.actionSystem.DefaultActionGroup; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Disposer; -import com.intellij.openapi.wm.ToolWindow; import com.intellij.ui.components.JBTextField; -import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.listener.LoginNotifier; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.platform.notifier.ConfigNotifier; +import com.shuzijun.leetcode.platform.notifier.LoginNotifier; import com.shuzijun.leetcode.plugin.listener.QueryKeyListener; -import com.shuzijun.leetcode.plugin.manager.FindManager; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.manager.QuestionManager; -import com.shuzijun.leetcode.plugin.manager.ViewManager; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.utils.URLUtils; -import com.shuzijun.leetcode.plugin.window.NavigatorPanelAction; -import com.shuzijun.leetcode.plugin.window.NavigatorTableData; -import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.util.HashMap; import java.util.Map; /** * @author shuzijun */ -public class NavigatorPanel extends SimpleToolWindowPanel implements NavigatorPanelAction, Disposable { +public class SimpleNavigatorPanel extends NavigatorPanel implements Disposable { - private Map findMap = new HashedMap(); - private JPanel queryPanel; - private JTextField queryField; - private NavigatorTable navigatorTable; - private ActionToolbar findToolbar; - private ActionToolbar actionSortToolbar; - private Project myProject; + private final NavigatorAction myNavigatorAction; + private final Map findMap = new HashMap<>(); + private final JPanel queryPanel; + private final JTextField queryField; + private final SimpleNavigatorTable navigatorTable; + private final ActionToolbar findToolbar; + private final ActionToolbar actionSortToolbar; + private final RepositoryService repositoryService; - private final NavigatorAction myNavigatorAction; - - public NavigatorPanel(ToolWindow toolWindow, Project project) { + public SimpleNavigatorPanel(RepositoryService repositoryService) { super(Boolean.TRUE, Boolean.TRUE); - this.myProject = project; + this.repositoryService = repositoryService; this.myNavigatorAction = createMyNavigatorAction(); - navigatorTable = new NavigatorTable(project, myNavigatorAction); + navigatorTable = new SimpleNavigatorTable(repositoryService.getProject(), myNavigatorAction); Disposer.register(this, navigatorTable); final ActionManager actionManager = ActionManager.getInstance(); @@ -69,7 +64,7 @@ public NavigatorPanel(ToolWindow toolWindow, Project project) { queryPanel.setLayout(new BoxLayout(queryPanel, BoxLayout.Y_AXIS)); queryField = new JBTextField(); queryField.setToolTipText("Enter Search"); - queryField.addKeyListener(new QueryKeyListener(queryField, myNavigatorAction, project)); + queryField.addKeyListener(new QueryKeyListener(queryField, myNavigatorAction, repositoryService.getProject())); queryPanel.add(queryField); findToolbar = actionManager.createActionToolbar(PluginConstant.LEETCODE_FIND_TOOLBAR, (DefaultActionGroup) actionManager.getAction(PluginConstant.LEETCODE_FIND_TOOLBAR), true); @@ -88,11 +83,10 @@ public NavigatorPanel(ToolWindow toolWindow, Project project) { } private void subscribe() { - MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(LoginNotifier.TOPIC, new LoginNotifier() { + repositoryService.subscribeNotifier(Topic.LoginNotifier, new LoginNotifier() { @Override public void login(Project project, String host) { - ProgressManager.getInstance().run(new Task.Backgroundable(myProject, "Refresh data", false) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { @@ -105,7 +99,7 @@ public void run(@NotNull ProgressIndicator progressIndicator) { @Override public void logout(Project project, String host) { - ProgressManager.getInstance().run(new Task.Backgroundable(myProject, "Refresh data", false) { + ProgressManager.getInstance().run(new Task.Backgroundable(repositoryService.getProject(), "Refresh data", false) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { if (!project.equals(myProject) && myNavigatorAction.getPageInfo().getRowTotal() <= 0) { @@ -115,8 +109,8 @@ public void run(@NotNull ProgressIndicator progressIndicator) { } }); } - }); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, new ConfigNotifier() { + }, this); + repositoryService.subscribeNotifier(Topic.ConfigNotifier, new ConfigNotifier() { @Override public void change(Config oldConfig, Config newConfig) { if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { @@ -125,11 +119,11 @@ public void change(Config oldConfig, Config newConfig) { } } } - }); + }, this); } private NavigatorAction createMyNavigatorAction() { - return new NavigatorAction.Adapter() { + return new NavigatorAction.Adapter<>() { @Override public void updateUI() { findToolbar.getComponent().updateUI(); @@ -155,7 +149,7 @@ public Find getFind() { public void findClear() { navigatorTable.getPageInfo().clearFilter(); getFind().clearFilter(); - ViewManager.loadServiceData(this, myProject); + repositoryService.getViewService().loadServiceData(this); } @Override @@ -170,7 +164,7 @@ public void findChange(String filterKey, boolean b, Tag tag) { navigatorTable.getPageInfo().disposeFilters(filterKey, tag.getSlug(), b); } navigatorTable.getPageInfo().setPageIndex(1); - ViewManager.loadServiceData(this, myProject); + repositoryService.getViewService().loadServiceData(this); } @Override @@ -185,7 +179,7 @@ public void sort(Sort sort) { navigatorTable.getPageInfo().disposeFilters("orderBy", sort.getSlug(), true); navigatorTable.getPageInfo().disposeFilters("sortOrder", "ASCENDING", true); } - ViewManager.loadServiceData(this, myProject); + repositoryService.getViewService().loadServiceData(this); } @Override @@ -194,7 +188,7 @@ public QuestionView getSelectedRowData() { } @Override - public NavigatorTableData.PagePanel getPagePanel() { + public NavigatorPagePanel getPagePanel() { return navigatorTable.getPagePanel(); } @@ -210,13 +204,13 @@ public void loadData(String slug) { @Override public void loadServiceData() { - ViewManager.loadServiceData(this, myProject); + repositoryService.getViewService().loadServiceData(this); } @Override public void resetServiceData() { - getFind().resetFilterData(Constant.FIND_TYPE_LISTS, FindManager.getLists(myProject)); - ViewManager.loadServiceData(this, myProject); + getFind().resetFilterData(Constant.FIND_TYPE_LISTS, repositoryService.getFindService().getLists()); + repositoryService.getViewService().loadServiceData(this); } @Override @@ -227,7 +221,7 @@ public boolean position(String slug) { if (selectedRow(slug)) { return true; } - QuestionIndex questionIndex = QuestionManager.getQuestionIndex(slug); + QuestionIndex questionIndex = repositoryService.getQuestionService().getQuestionIndex(slug); if (questionIndex == null) { return false; } @@ -239,17 +233,12 @@ public boolean position(String slug) { queryField.setText(""); navigatorTable.getPageInfo().setPageIndex((questionIndex.getIndex() / navigatorTable.getPageInfo().getPageSize()) + 1); - ViewManager.loadServiceData(this, myProject, slug); + repositoryService.getViewService().loadServiceData(this, slug); return selectedRow(slug); } }; } - @Override - public Object getData(String dataId) { - return super.getData(dataId); - } - @Override public void dispose() { navigatorTable.dispose(); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanelFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanelFactory.java new file mode 100644 index 00000000..dd33a17d --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorPanelFactory.java @@ -0,0 +1,18 @@ +package com.shuzijun.leetcode.plugin.window.navigator; + +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.extension.NavigatorPanelFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public class SimpleNavigatorPanelFactory implements NavigatorPanelFactory { + @Override + public @NotNull String getName() { + return "page"; + } + + @Override + public @NotNull NavigatorPanel createPanel(RepositoryService repositoryService) { + return new SimpleNavigatorPanel(repositoryService); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorTable.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorTable.java similarity index 83% rename from src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorTable.java rename to src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorTable.java index a0c81b24..2df840b5 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/NavigatorTable.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/SimpleNavigatorTable.java @@ -1,13 +1,13 @@ package com.shuzijun.leetcode.plugin.window.navigator; import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.platform.model.PageInfo; +import com.shuzijun.leetcode.platform.model.Question; +import com.shuzijun.leetcode.platform.model.QuestionView; import com.shuzijun.leetcode.plugin.listener.JTableKeyAdapter; import com.shuzijun.leetcode.plugin.listener.TreeMouseListener; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.PageInfo; -import com.shuzijun.leetcode.plugin.model.Question; -import com.shuzijun.leetcode.plugin.model.QuestionView; -import com.shuzijun.leetcode.plugin.utils.URLUtils; import com.shuzijun.leetcode.plugin.window.NavigatorTableData; import icons.LeetCodeEditorIcons; @@ -17,19 +17,18 @@ import javax.swing.text.StyleContext; import java.awt.*; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Locale; /** * @author shuzijun */ -public class NavigatorTable extends NavigatorTableData { +public class SimpleNavigatorTable extends NavigatorTableData { - private NavigatorAction myNavigatorAction; + private final NavigatorAction myNavigatorAction; - public NavigatorTable(Project project, NavigatorAction navigatorAction) { + public SimpleNavigatorTable(Project project, NavigatorAction navigatorAction) { super(project); this.myNavigatorAction = navigatorAction; } @@ -64,18 +63,18 @@ protected JTextPane firstToolTip() { Style style = new StyleContext().addStyle("boldStyle", null); StyleConstants.setBold(style, true); - List styleList ; - if(Locale.getDefault().getLanguage().equals(Locale.CHINESE.getLanguage())){ - styleList = Arrays.asList(new MyStyle(5, 7, style)); - }else { - styleList = Arrays.asList(new MyStyle(18, 22, style)); + List styleList; + if (Locale.getDefault().getLanguage().equals(Locale.CHINESE.getLanguage())) { + styleList = List.of(new MyStyle(5, 7, style)); + } else { + styleList = List.of(new MyStyle(18, 22, style)); } return createTip("pageTip", icons, styleList); } @Override - protected PagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { - return new PagePanel(project, myPageInfo) { + protected NavigatorPagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { + return new NavigatorPagePanel(project, myPageInfo) { @Override public Integer[] pageSizeData() { return new Integer[]{20, 50, 100}; @@ -100,7 +99,7 @@ public void goRunnable() { @Override protected MyJBTable createMyTable(MyTableModel myTableModel, Project project) { - MyJBTable myJBTable = new MyJBTable(myTableModel) { + MyJBTable myJBTable = new MyJBTable<>(myTableModel) { @Override protected void prepareRenderer(Component component, Object value, int row, int column) { if (column == 3) { @@ -172,7 +171,7 @@ public boolean compareSlug(QuestionView myData, String titleSlug) { return myData.getTitleSlug().equals(titleSlug); } - protected void setColumnWidth(MyJBTable myJBTable) { + protected void setColumnWidth(MyJBTable myJBTable) { myJBTable.getColumnModel().getColumn(0).setMaxWidth(20); myJBTable.getColumnModel().getColumn(2).setMaxWidth(50); myJBTable.getColumnModel().getColumn(3).setMaxWidth(60); diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanel.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanel.java index 5f4e4cd4..9f98df80 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanel.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanel.java @@ -5,47 +5,42 @@ import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.ActionToolbar; import com.intellij.openapi.actionSystem.DefaultActionGroup; -import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Disposer; -import com.intellij.openapi.wm.ToolWindow; -import com.intellij.util.messages.MessageBusConnection; -import com.shuzijun.leetcode.plugin.listener.AllQuestionNotifier; -import com.shuzijun.leetcode.plugin.listener.ConfigNotifier; -import com.shuzijun.leetcode.plugin.manager.CodeTopManager; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.*; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.platform.RepositoryService; +import com.shuzijun.leetcode.platform.model.*; +import com.shuzijun.leetcode.plugin.model.PluginConstant; import com.shuzijun.leetcode.plugin.utils.URLUtils; -import com.shuzijun.leetcode.plugin.window.NavigatorPanelAction; -import com.shuzijun.leetcode.plugin.window.NavigatorTableData; -import org.apache.commons.collections.map.HashedMap; +import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.util.HashMap; import java.util.Map; /** * @author shuzijun */ -public class TopNavigatorPanel extends SimpleToolWindowPanel implements NavigatorPanelAction, Disposable { +public class TopNavigatorPanel extends NavigatorPanel implements Disposable { - private Map findMap = new HashedMap(); - private JPanel queryPanel; - private TopNavigatorTable topNavigatorTable; - private ActionToolbar findToolbar; - private ActionToolbar actionSortToolbar; - private Project project; + private final NavigatorAction myNavigatorAction; + private final Map findMap = new HashMap<>(); + private final JPanel queryPanel; + private final TopNavigatorTable topNavigatorTable; + private final ActionToolbar findToolbar; + private final ActionToolbar actionSortToolbar; + private final RepositoryService repositoryService; - private final NavigatorAction myNavigatorAction; - - public TopNavigatorPanel(ToolWindow toolWindow, Project project) { + public TopNavigatorPanel(RepositoryService repositoryService) { super(Boolean.TRUE, Boolean.TRUE); - this.project = project; + this.repositoryService = repositoryService; final ActionManager actionManager = ActionManager.getInstance(); this.myNavigatorAction = createMyNavigatorAction(); - topNavigatorTable = new TopNavigatorTable(project, myNavigatorAction); + topNavigatorTable = new TopNavigatorTable(repositoryService.getProject(), myNavigatorAction); Disposer.register(this, topNavigatorTable); ActionToolbar actionToolbar = actionManager.createActionToolbar(PluginConstant.LEETCODE_CODETOP_NAVIGATOR_ACTIONS_TOOLBAR, (DefaultActionGroup) actionManager.getAction(PluginConstant.LEETCODE_CODETOP_NAVIGATOR_ACTIONS_TOOLBAR), true); @@ -75,25 +70,16 @@ public TopNavigatorPanel(ToolWindow toolWindow, Project project) { } private void subscribe() { - MessageBusConnection messageBusConnection = ApplicationManager.getApplication().getMessageBus().connect(this); - messageBusConnection.subscribe(AllQuestionNotifier.TOPIC, new AllQuestionNotifier() { - @Override - public void reset() { + repositoryService.subscribeNotifier(Topic.AllQuestionNotifier, myNavigatorAction::resetServiceData, this); + repositoryService.subscribeNotifier(Topic.ConfigNotifier, (oldConfig, newConfig) -> { + if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { myNavigatorAction.resetServiceData(); } - }); - messageBusConnection.subscribe(ConfigNotifier.TOPIC, new ConfigNotifier() { - @Override - public void change(Config oldConfig, Config newConfig) { - if (oldConfig != null && !oldConfig.getUrl().equalsIgnoreCase(newConfig.getUrl())) { - myNavigatorAction.resetServiceData(); - } - } - }); + }, this); } - private NavigatorAction createMyNavigatorAction() { - return new NavigatorAction.Adapter() { + private NavigatorAction createMyNavigatorAction() { + return new NavigatorAction.Adapter<>() { @Override public void updateUI() { findToolbar.getComponent().updateUI(); @@ -114,7 +100,7 @@ public boolean selectedRow(String slug) { public void findClear() { topNavigatorTable.getPageInfo().clearFilter(); getFind().clearFilter(); - CodeTopManager.loadServiceData(this, project); + repositoryService.getCodeTopService().loadServiceData(this); } @Override @@ -127,7 +113,7 @@ public void findChange(String filterKey, boolean b, Tag tag) { } topNavigatorTable.getPageInfo().disposeFilters(filterKey, tag.getSlug(), b); topNavigatorTable.getPageInfo().setPageIndex(1); - CodeTopManager.loadServiceData(this, project); + repositoryService.getCodeTopService().loadServiceData(this); } @Override @@ -147,7 +133,7 @@ public void sort(Sort sort) { topNavigatorTable.getPageInfo().disposeFilters("orderBy", sort.getSlug(), true); topNavigatorTable.getPageInfo().disposeFilters("sortOrder", "ASCENDING", true); } - CodeTopManager.loadServiceData(this, project); + repositoryService.getCodeTopService().loadServiceData(this); } @Override @@ -156,7 +142,7 @@ public CodeTopQuestionView getSelectedRowData() { } @Override - public NavigatorTableData.PagePanel getPagePanel() { + public NavigatorPagePanel getPagePanel() { return topNavigatorTable.getPagePanel(); } @@ -172,20 +158,20 @@ public void loadData(String slug) { @Override public void loadServiceData() { - CodeTopManager.loadServiceData(this, project); + repositoryService.getCodeTopService().loadServiceData(this); } @Override public void resetServiceData() { if (topNavigatorTable.getPageInfo().getRowTotal() > 0) { - CodeTopManager.loadServiceData(this, project); + repositoryService.getCodeTopService().loadServiceData(this); } } }; } @Override - public Object getData(String dataId) { + public Object getData(@NotNull String dataId) { return super.getData(dataId); } @@ -203,7 +189,7 @@ private void initFind() { } @Override - public NavigatorAction getNavigatorAction() { + public NavigatorAction getNavigatorAction() { return myNavigatorAction; } diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanelFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanelFactory.java new file mode 100644 index 00000000..431a1fcf --- /dev/null +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorPanelFactory.java @@ -0,0 +1,18 @@ +package com.shuzijun.leetcode.plugin.window.navigator; + +import com.shuzijun.leetcode.extension.NavigatorPanel; +import com.shuzijun.leetcode.extension.NavigatorPanelFactory; +import com.shuzijun.leetcode.platform.RepositoryService; +import org.jetbrains.annotations.NotNull; + +public class TopNavigatorPanelFactory implements NavigatorPanelFactory { + @Override + public @NotNull String getName() { + return "codeTop"; + } + + @Override + public @NotNull NavigatorPanel createPanel(RepositoryService repositoryService) { + return new TopNavigatorPanel(repositoryService); + } +} diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorTable.java b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorTable.java index c87e609a..3c3bdee4 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorTable.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/navigator/TopNavigatorTable.java @@ -1,12 +1,13 @@ package com.shuzijun.leetcode.plugin.window.navigator; import com.intellij.openapi.project.Project; +import com.shuzijun.leetcode.extension.NavigatorAction; +import com.shuzijun.leetcode.extension.NavigatorPagePanel; +import com.shuzijun.leetcode.platform.model.CodeTopQuestionView; +import com.shuzijun.leetcode.platform.model.PageInfo; +import com.shuzijun.leetcode.platform.model.Question; import com.shuzijun.leetcode.plugin.listener.JTableKeyAdapter; import com.shuzijun.leetcode.plugin.listener.TreeMouseListener; -import com.shuzijun.leetcode.plugin.manager.NavigatorAction; -import com.shuzijun.leetcode.plugin.model.CodeTopQuestionView; -import com.shuzijun.leetcode.plugin.model.PageInfo; -import com.shuzijun.leetcode.plugin.model.Question; import com.shuzijun.leetcode.plugin.window.NavigatorTableData; import icons.LeetCodeEditorIcons; @@ -71,8 +72,8 @@ protected JTextPane firstToolTip() { } @Override - protected PagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { - return new PagePanel(project, myPageInfo) { + protected NavigatorPagePanel createMyPagePanel(PageInfo myPageInfo, Project project) { + return new NavigatorPagePanel(project, myPageInfo) { @Override public Integer[] pageSizeData() { return new Integer[]{20}; diff --git a/src/main/java/icons/LeetCodeEditorIcons.java b/src/main/java/icons/LeetCodeEditorIcons.java index 511fa5be..7a502a54 100644 --- a/src/main/java/icons/LeetCodeEditorIcons.java +++ b/src/main/java/icons/LeetCodeEditorIcons.java @@ -8,7 +8,7 @@ * @author shuzijun */ public interface LeetCodeEditorIcons { - + Icon LEETCODE_TOOL_WINDOW = IconLoader.getIcon("/icons/LeetCode.svg"); Icon EMPEROR_NEW_CLOTHES = IconLoader.getIcon("/icons/emperor_new_clothes.svg"); diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 118ffd22..81f9b833 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -10,7 +10,7 @@ - + @@ -21,49 +21,95 @@ + + + + + + + + + + + + + + + - + - - - - + factoryClass="com.shuzijun.leetcode.plugin.window.WindowFactory"/> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -72,10 +118,10 @@ text="Sign out" description="Sign out" icon="LeetCodeEditorIcons.LOGOUT"> + text="Refresh Question" description="Refreshquestion" icon="LeetCodeEditorIcons.REFRESH"> + text="Find Question" description="Refreshquestion" icon="LeetCodeEditorIcons.FIND"> @@ -85,7 +131,7 @@ text="Settings" description="Settings" icon="LeetCodeEditorIcons.CONFIG"> + text="Clear Cache" description="Clear cache" icon="LeetCodeEditorIcons.CLEAR"> + text="Toggle List" description="Toggle list" icon="LeetCodeEditorIcons.TOGGLE"> + text="Open Question" description="Open question" icon="LeetCodeEditorIcons.QUESTION"> + text="Open Content" description="Open content" icon="LeetCodeEditorIcons.DESC"> + text="Open Solution" description="Open solution" icon="LeetCodeEditorIcons.SOLUTION"> + text="Open in Web" description="Open in web" icon="LeetCodeEditorIcons.POPUP"> + text="Run Code" description="Run code" icon="LeetCodeEditorIcons.RUN"> + text="Clear Cache" description="Clear cache" icon="LeetCodeEditorIcons.CLEAR"> + text="Pick One" description="Pick one" icon="LeetCodeEditorIcons.RANDOM"> + text="Position" description="Position" icon="LeetCodeEditorIcons.POSITION"/> @@ -167,29 +213,29 @@ - + + text="ShowNote" description="Show note" icon="LeetCodeEditorIcons.SHOW"> + text="PullNote" description="Pull note" icon="LeetCodeEditorIcons.PULL"> + text="PushNote" description="Push note" icon="LeetCodeEditorIcons.PUSH"> - + + text="Start" description="Start time"> + text="Stop" description="Stop time"> + text="Reset" description="Reset time"> @@ -200,27 +246,30 @@ - - - + text="Clear Find" description="Clear find " icon="LeetCodeEditorIcons.CLEAN"> + text="Run Code" description="Run code(editor)" icon="LeetCodeEditorIcons.RUN"> + text="Open Content" description="Open content(editor)" icon="LeetCodeEditorIcons.DESC"> - + + text="Open in Web" description="Open in web(editor)" icon="LeetCodeEditorIcons.POPUP"> - + + text="ShowNote" description="Show note" icon="LeetCodeEditorIcons.SHOW"> + text="PullNote" description="Pull note" icon="LeetCodeEditorIcons.PULL"> + text="PushNote" description="Push note" icon="LeetCodeEditorIcons.PUSH"> - + + text="Start" description="Start time(editor)"> - + - + + text="Leetcode Editor Menu" popup="true" icon="LeetCodeEditorIcons.LEETCODE_TOOL_WINDOW"> @@ -283,52 +337,53 @@ + text="Sort:" description="Label"/> + text="Title" description="Sort By title" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Solution" description="Sort By solution" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Acceptance" description="Sort By acceptance" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Difficulty" description="Sort By difficulty" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Frequency" description="Sort By frequency" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Page Size" description="Page size"> + text="Previous" description="Previous page"> + text="Next" description="Next page"> + text="Go" description="Go page"> - + + text="Find Question" description="Refreshquestion" icon="LeetCodeEditorIcons.FIND"> @@ -341,73 +396,84 @@ - - - - + + text="Sort:" description="Label"/> - + - + - + - - - - + text="Clear Find" description="Clear find " icon="LeetCodeEditorIcons.CLEAN"> + text="Sort:" description="Label"/> + text="Title" description="Sort By title" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="Difficulty" description="Sort By difficulty" icon="LeetCodeEditorIcons.SORT_ASC"/> + text="States" description="Sort By states" icon="LeetCodeEditorIcons.SORT_ASC"/> diff --git a/src/main/resources/META-INF/pluginIcon.svg b/src/main/resources/META-INF/pluginIcon.svg index 2f576ee8..bdba9b18 100644 --- a/src/main/resources/META-INF/pluginIcon.svg +++ b/src/main/resources/META-INF/pluginIcon.svg @@ -1,21 +1,21 @@ - - + + + fill="#FFFFFF"> + fill="#FFFFFF"> + fill="#FFFFFF"> + fill="#FFFFFF"> + fill="#FFFFFF"> + fill="#FFFFFF"> + fill="#FFFFFF"> diff --git a/src/main/resources/graphql/getNote.graphql b/src/main/resources/graphql/getNote.graphql index 0fcdfa66..d80594aa 100644 --- a/src/main/resources/graphql/getNote.graphql +++ b/src/main/resources/graphql/getNote.graphql @@ -1,7 +1,7 @@ query getNote($titleSlug: String!) { - question(titleSlug: $titleSlug) { - questionId - note - __typename - } + question(titleSlug: $titleSlug) { + questionId + note + __typename + } } diff --git a/src/main/resources/icons/donate.svg b/src/main/resources/icons/donate.svg index 12d7a55e..997e7085 100644 --- a/src/main/resources/icons/donate.svg +++ b/src/main/resources/icons/donate.svg @@ -1,7 +1,8 @@ - \ No newline at end of file diff --git a/src/main/resources/icons/donate_dark.svg b/src/main/resources/icons/donate_dark.svg index 94c63af4..ce64f7aa 100644 --- a/src/main/resources/icons/donate_dark.svg +++ b/src/main/resources/icons/donate_dark.svg @@ -1,7 +1,8 @@ - \ No newline at end of file diff --git a/src/main/resources/icons/emperor_new_clothes.svg b/src/main/resources/icons/emperor_new_clothes.svg index 33dead99..04dbfd4e 100644 --- a/src/main/resources/icons/emperor_new_clothes.svg +++ b/src/main/resources/icons/emperor_new_clothes.svg @@ -1,4 +1,4 @@ - - + \ No newline at end of file diff --git a/src/main/resources/icons/position.svg b/src/main/resources/icons/position.svg index 86205179..09239e8c 100644 --- a/src/main/resources/icons/position.svg +++ b/src/main/resources/icons/position.svg @@ -1,7 +1,7 @@ +> diff --git a/src/main/resources/icons/position_dark.svg b/src/main/resources/icons/position_dark.svg index a9c91fa4..321012d3 100644 --- a/src/main/resources/icons/position_dark.svg +++ b/src/main/resources/icons/position_dark.svg @@ -1,7 +1,7 @@ +> diff --git a/src/main/resources/icons/share.svg b/src/main/resources/icons/share.svg index 4b41277e..b85cc6e7 100644 --- a/src/main/resources/icons/share.svg +++ b/src/main/resources/icons/share.svg @@ -2,6 +2,7 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - + \ No newline at end of file diff --git a/src/main/resources/icons/share_dark.svg b/src/main/resources/icons/share_dark.svg index 4fbfe8ce..7d44c88b 100644 --- a/src/main/resources/icons/share_dark.svg +++ b/src/main/resources/icons/share_dark.svg @@ -2,6 +2,7 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - + \ No newline at end of file diff --git a/src/main/resources/icons/toggle.svg b/src/main/resources/icons/toggle.svg index 2c5d06cb..b515d0c3 100644 --- a/src/main/resources/icons/toggle.svg +++ b/src/main/resources/icons/toggle.svg @@ -2,9 +2,11 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - - \ No newline at end of file diff --git a/src/main/resources/icons/toggle_dark.svg b/src/main/resources/icons/toggle_dark.svg index e4e189b6..8295860e 100644 --- a/src/main/resources/icons/toggle_dark.svg +++ b/src/main/resources/icons/toggle_dark.svg @@ -2,9 +2,11 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - - \ No newline at end of file diff --git a/src/main/resources/template/default.html b/src/main/resources/template/default.html index 486ad8a3..4401a757 100644 --- a/src/main/resources/template/default.html +++ b/src/main/resources/template/default.html @@ -1,13 +1,13 @@ - - + + -
+
@@ -20,7 +20,7 @@ window.onload = function () { $(".vditor-toolbar")[0].remove(); $(".vditor-sv")[0].remove(); - $(".vditor-preview").find(".vditor-reset").css("max-width","90%" ) + $(".vditor-preview").find(".vditor-reset").css("max-width", "90%") } const vditor = new Vditor('vditor', { "mode": "sv", @@ -45,13 +45,14 @@ }, "value": document.getElementById("fileValue").innerText }); - function updateStyle(style,darcula){ + + function updateStyle(style, darcula) { let newStyle = document.createElement('style'); newStyle.id = 'ideaStyle'; newStyle.innerHTML = style; let oldStyle = document.getElementById('ideaStyle'); - oldStyle.parentNode.replaceChild(newStyle,oldStyle); - vditor.setTheme(darcula? "dark" : "light",darcula ? "idea-dark" : "idea-light",darcula ? "dracula" : "github",vditorThemeCDN) + oldStyle.parentNode.replaceChild(newStyle, oldStyle); + vditor.setTheme(darcula ? "dark" : "light", darcula ? "idea-dark" : "idea-light", darcula ? "dracula" : "github", vditorThemeCDN) } {{ideStyle}} diff --git a/src/main/resources/vditor/dist/css/content-theme/idea-dark.css b/src/main/resources/vditor/dist/css/content-theme/idea-dark.css index 1c337baa..9ee08270 100644 --- a/src/main/resources/vditor/dist/css/content-theme/idea-dark.css +++ b/src/main/resources/vditor/dist/css/content-theme/idea-dark.css @@ -123,7 +123,7 @@ } -.vditor--dark{ +.vditor--dark { --panel-background-color: #2B2B2B; --textarea-background-color: #2B2B2B; --toolbar-background-color: #3C3F41; diff --git a/src/main/resources/vditor/dist/index.css b/src/main/resources/vditor/dist/index.css index f6829c49..06170306 100644 --- a/src/main/resources/vditor/dist/index.css +++ b/src/main/resources/vditor/dist/index.css @@ -24,5 +24,1986 @@ * SOFTWARE. * */ -.vditor{--border-color: #d1d5da;--second-color: rgba(88, 96, 105, 0.36);--panel-background-color: #fff;--panel-shadow: 0 1px 2px rgba(0, 0, 0, .2);--toolbar-background-color: #f6f8fa;--toolbar-icon-color: #586069;--toolbar-icon-hover-color: #4285f4;--toolbar-height: 35px;--toolbar-divider-margin-top: 8px;--textarea-background-color: #fafbfc;--textarea-text-color: #24292e;--resize-icon-color: var(--toolbar-icon-color);--resize-background-color: var(--toolbar-background-color);--resize-hover-icon-color: var(--panel-background-color);--resize-hover-background-color: var(--toolbar-icon-hover-color);--count-background-color:rgba(27, 31, 35, .05);--heading-border-color: #eaecef;--blockquote-color: #6a737d;--ir-heading-color: #660e7a;--ir-title-color: #808080;--ir-bi-color: #0033b3;--ir-link-color: #008000;--ir-bracket-color: #0000ff;--ir-paren-color: #008000}.vditor--dark{--border-color: #141414;--second-color: rgba(185, 185, 185, .36);--panel-background-color: #24292e;--panel-shadow: 0 1px 2px rgba(255, 255, 255, .2);--toolbar-background-color: #1d2125;--toolbar-icon-color: #b9b9b9;--toolbar-icon-hover-color: #fff;--textarea-background-color: #2f363d;--textarea-text-color: #d1d5da;--resize-icon-color: var(--border-color);--resize-background-color: var(--second-color);--resize-hover-icon-color: var(--toolbar-icon-hover-color);--resize-hover-background-color: rgba(185, 185, 185, .86);--count-background-color: rgba(66,133,244,0.36);--heading-border-color: var(--textarea-text-color);--blockquote-color: var(--toolbar-icon-color);--ir-heading-color: #9876aa;--ir-title-color: #808080;--ir-bi-color: #cc7832;--ir-link-color: #ffc66d;--ir-bracket-color: #287bde;--ir-paren-color: #6a8759}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:#3b3e43;border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:#3b3e43;pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.15s;animation-duration:0.15s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:#3b3e43}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:#3b3e43}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:#3b3e43}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:#3b3e43}@media screen and (max-width: 520px){.vditor-tooltipped:before,.vditor-tooltipped:after{content:none}}@-webkit-keyframes scale-in{0%{opacity:0;transform:scale(0.5)}100%{opacity:1;transform:scale(1)}}@keyframes scale-in{0%{opacity:0;transform:scale(0.5)}100%{opacity:1;transform:scale(1)}}.vditor-panel{background-color:var(--panel-background-color);position:absolute;box-shadow:var(--panel-shadow);border-radius:3px;padding:5px;z-index:3;font-size:14px;display:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:320px;min-width:80px;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-name:scale-in;animation-name:scale-in;-webkit-animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5);animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5);color:var(--toolbar-icon-color)}.vditor-panel--none{padding:0;-webkit-animation:none;animation:none;min-width:auto;max-width:none;white-space:nowrap;opacity:.86}.vditor-panel--arrow:before{position:absolute;width:0;height:0;pointer-events:none;content:" ";border:7px solid transparent;top:-14px;left:5px;border-bottom-color:var(--panel-background-color)}.vditor-panel--left{right:0}.vditor-panel--left.vditor-panel--arrow:before{right:5px;left:auto}.vditor-input{border:0;padding:3px 5px;background-color:var(--panel-background-color);font-size:12px;color:var(--textarea-text-color)}.vditor-input:focus{background-color:var(--toolbar-background-color);outline:none}.vditor-icon{color:var(--toolbar-icon-color);cursor:pointer;float:left;padding:4px 5px;height:21px;width:23px;background-color:transparent;border:0;box-sizing:border-box}.vditor-icon:hover,.vditor-icon--current{color:var(--toolbar-icon-hover-color);background-color:transparent}.vditor-icon:focus{outline:none}.vditor-icon svg{height:13px !important;width:13px !important;float:left;fill:currentColor;pointer-events:none}.vditor-toolbar{background-color:var(--toolbar-background-color);border-bottom:1px solid var(--border-color);padding:0 5px;line-height:1}.vditor-toolbar--pin{position:sticky;top:0;z-index:1}.vditor-toolbar--hide{transition:all 0.15s ease-in-out;height:5px;overflow:hidden}.vditor-toolbar--hide:hover{background-color:var(--toolbar-background-color);height:auto;overflow:visible}.vditor-toolbar__item{float:left;position:relative}.vditor-toolbar__item .vditor-tooltipped{color:var(--toolbar-icon-color);border:0;padding:10px 5px;background-color:transparent;height:var(--toolbar-height);width:25px;box-sizing:border-box;font-size:0}.vditor-toolbar__item .vditor-tooltipped:focus{outline:none}.vditor-toolbar__item .vditor-tooltipped:focus{cursor:pointer;color:var(--toolbar-icon-hover-color)}.vditor-toolbar__item svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:15px;height:15px}.vditor-toolbar__item input{position:absolute;width:25px;height:var(--toolbar-height);top:0;left:0;cursor:pointer;opacity:.001;overflow:hidden}.vditor-toolbar__divider{float:left;height:calc(var(--toolbar-height) - (var(--toolbar-divider-margin-top) * 2));border-left:1px solid var(--second-color);margin:var(--toolbar-divider-margin-top) 8px}.vditor-toolbar__br{width:100%;padding:0 !important;height:0 !important}.vditor-menu--current{color:var(--toolbar-icon-hover-color) !important}.vditor-menu--disabled{color:var(--second-color) !important;cursor:not-allowed !important}.vditor-emojis{display:inline-block;overflow:auto}.vditor-emojis::-webkit-scrollbar{display:none}.vditor-emojis__tip{flex:1;min-width:1px;width:200px;margin-right:10px;color:var(--toolbar-icon-color);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vditor-emojis__tail{margin-top:5px;font-size:12px;color:var(--toolbar-icon-color);display:flex}.vditor-emojis__tail a{text-decoration:none;color:var(--toolbar-icon-color)}.vditor-emojis__tail a:hover{color:var(--toolbar-icon-hover-color)}.vditor-emojis button{cursor:pointer;border-radius:3px;float:left;height:30px;width:30px;text-align:center;line-height:26px;padding:3px;box-sizing:border-box;font-size:16px;transition:all 0.15s ease-in-out;border:0;margin:0;background-color:transparent;overflow:hidden}.vditor-emojis button:focus{outline:none}.vditor-emojis button:hover .vditor-emojis__icon{display:inline-block;transform:scale(1.2)}.vditor-emojis img{height:20px;width:20px;float:left;margin:3px 0 0 3px}@media screen and (max-width: 520px){.vditor-toolbar__item{padding:0 12px}.vditor-panel--left.vditor-panel--arrow:before{right:17px}}@media (hover: hover) and (pointer: fine){.vditor-toolbar__item .vditor-tooltipped:hover{color:var(--toolbar-icon-hover-color)}}@-webkit-keyframes slideInDown{from{transform:translate3d(0, -100%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes slideInDown{from{transform:translate3d(0, -100%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}.vditor{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:3px;box-sizing:border-box;font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans","Hiragino Sans GB","Microsoft Yahei",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiSymbols"}.vditor .vditor-copy{z-index:auto}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;border-radius:0}.vditor-content{display:flex;min-height:60px;flex:1;min-width:1px;position:relative}.vditor-preview{flex:1;min-width:1px;overflow:auto;margin-left:-1px;border-left:1px solid var(--border-color);box-sizing:border-box;border-radius:0 0 3px 0;background-color:var(--textarea-background-color)}.vditor-preview::-webkit-scrollbar{display:none}.vditor-preview__action{text-align:center;padding:10px;background-color:var(--toolbar-background-color)}.vditor-preview__action button{background-color:var(--toolbar-background-color);color:var(--toolbar-icon-color);line-height:20px;border:0;margin:0 10px;cursor:pointer;padding:0 7px;font-size:12px}.vditor-preview__action button.vditor-preview__action--current,.vditor-preview__action button:hover{color:var(--toolbar-icon-hover-color);background-color:var(--toolbar-background-color)}.vditor-preview__action button:focus{outline:none}.vditor-preview__action button svg{fill:currentColor;height:15px;width:15px;vertical-align:middle}.vditor-preview>.vditor-reset{padding:10px;margin:0 auto}.vditor-preview img:not(.emoji){cursor:pointer}.vditor-devtools{display:none;background-color:var(--textarea-background-color);overflow:auto;flex:1;min-width:1px;box-shadow:inset 1px 0 var(--border-color);box-sizing:border-box;border-radius:0 0 3px 0;padding:10px}.vditor-counter{padding:3px;color:var(--toolbar-icon-color);background-color:var(--count-background-color);border-radius:3px;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;float:right;margin:8px 3px 0 0}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:3px 0;cursor:row-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;width:100%}.vditor-resize--top{top:-3px}.vditor-resize--bottom{bottom:-3px}.vditor-resize>div{height:3px;background-color:var(--resize-background-color);transition:all 0.15s ease-in-out}.vditor-resize:hover>div,.vditor-resize--selected>div{background-color:var(--resize-hover-background-color)}.vditor-resize:hover svg,.vditor-resize--selected svg{color:var(--resize-hover-icon-color)}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:var(--resize-icon-color)}.vditor-upload{position:absolute;height:3px;left:0;top:-2px;transition:all 0.15s ease-in-out;background-color:#4285f4}.vditor-tip{position:absolute;font-size:12px;top:10px;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-fill-mode:both;animation-fill-mode:both;left:50%;z-index:5}.vditor-tip--show{display:block;-webkit-animation-name:slideInDown;animation-name:slideInDown}.vditor-tip__content{text-align:left;display:inline-block;line-height:16px;padding:3px 10px;border-radius:3px;background:var(--toolbar-background-color);position:relative;margin-left:-50%;color:var(--toolbar-icon-color);max-width:100%;box-shadow:var(--panel-shadow)}.vditor-tip__content ul{margin:2px 0;padding:0 0 0 18px}.vditor-tip__content a{color:#4285f4}.vditor-tip__close{position:absolute;color:var(--toolbar-icon-color);top:-7px;right:-15px;font-weight:bold;cursor:pointer}.vditor-tip__close:hover{color:var(--toolbar-icon-hover-color)}.vditor-img{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;z-index:3}.vditor-img__bar{border-bottom:1px solid var(--border-color);background-color:var(--toolbar-background-color);text-align:center;height:36px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.vditor-img__btn{display:flex;align-items:center;cursor:pointer;margin-left:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--toolbar-icon-color)}.vditor-img__btn:hover{color:var(--toolbar-icon-hover-color)}.vditor-img__btn svg{height:14px;width:14px;margin-right:8px;fill:currentColor}.vditor-img__img{flex:1;background-color:var(--textarea-background-color);overflow:auto;cursor:zoom-out}.vditor-img__img img{max-width:none}.vditor-hint{background-color:var(--panel-background-color);position:absolute;box-shadow:var(--panel-shadow);border-radius:3px;padding:5px 0;z-index:4;line-height:20px;list-style:none;font-size:12px;margin:0;max-width:250px;min-width:80px;display:none}.vditor-hint .vditor-hint{margin-top:-31px;left:100%;right:auto}.vditor-hint .vditor-hint.vditor-panel--left{right:100%;left:auto}.vditor-hint button{color:var(--toolbar-icon-color);display:block;padding:3px 10px;border:0;border-radius:0;line-height:20px;width:100%;box-sizing:border-box;text-align:left;margin:0;background-color:transparent;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vditor-hint button:focus{outline:none}.vditor-hint--current,.vditor-hint button:not(.vditor-menu--disabled):hover{background-color:var(--toolbar-background-color) !important;color:var(--toolbar-icon-hover-color) !important}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}.vditor-reset{color:#24292e;font-variant-ligatures:no-common-ligatures;font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans","Hiragino Sans GB","Microsoft Yahei",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";word-wrap:break-word;overflow:auto;line-height:1.5;font-size:16px;word-break:break-word}.vditor-reset--anchor{padding-left:20px}.vditor-reset--error{color:#d23f31;font-size:12px;display:block;line-height:16px}.vditor-reset ul ul ul{list-style-type:square}.vditor-reset ul ul{list-style-type:circle}.vditor-reset ul{list-style-type:disc}.vditor-reset ul,.vditor-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.vditor-reset li+li{margin-top:0.25em}.vditor-reset audio{max-width:100%}.vditor-reset audio:focus{outline:none}.vditor-reset video{max-height:90vh;max-width:100%}.vditor-reset img{max-width:100%}.vditor-reset img.emoji{cursor:auto;max-width:20px;vertical-align:sub}.vditor-reset h1,.vditor-reset h2,.vditor-reset h3,.vditor-reset h4,.vditor-reset h5,.vditor-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.vditor-reset h1:hover .vditor-anchor svg,.vditor-reset h2:hover .vditor-anchor svg,.vditor-reset h3:hover .vditor-anchor svg,.vditor-reset h4:hover .vditor-anchor svg,.vditor-reset h5:hover .vditor-anchor svg,.vditor-reset h6:hover .vditor-anchor svg{visibility:visible}.vditor-reset h1{font-size:1.75em}.vditor-reset h2{font-size:1.55em}.vditor-reset h3{font-size:1.38em}.vditor-reset h4{font-size:1.25em}.vditor-reset h5{font-size:1.13em}.vditor-reset h6{font-size:1em}.vditor-reset hr{height:2px;padding:0;margin:24px 0;background-color:#eaecef;border:0}.vditor-reset p{margin-top:0;margin-bottom:16px}.vditor-reset blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #eaecef;margin:0 0 16px 0}.vditor-reset blockquote>:first-child{margin-top:0}.vditor-reset blockquote>:last-child{margin-bottom:0}.vditor-reset ins>iframe{border:0}.vditor-reset iframe{border:1px solid #d1d5da;max-width:100%;box-sizing:border-box}.vditor-reset iframe.iframe__video{min-width:80%;min-height:36vh}.vditor-reset table{border-collapse:collapse;empty-cells:show;margin-bottom:16px;overflow:auto;border-spacing:0;display:block;word-break:keep-all;width:100%}.vditor-reset table tr{background-color:#fafbfc;border-top:1px solid #c6cbd1}.vditor-reset table td,.vditor-reset table th{padding:6px 13px;border:1px solid #dfe2e5;word-break:normal;white-space:nowrap}.vditor-reset table td:first-child::after,.vditor-reset table th:first-child::after{content:"";display:inline-block;vertical-align:top;min-height:24px}.vditor-reset table th{font-weight:600}.vditor-reset table tbody tr:nth-child(2n){background-color:#fff}.vditor-reset code:not(.hljs):not(.highlight-chroma){padding:0.2em 0.4em;margin:0;font-size:85%;border-radius:3px;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";word-break:break-word;background-size:20px 20px;white-space:pre-wrap}.vditor-reset pre{margin:1em 0}.vditor-reset pre>code{margin:0;font-size:85%;padding:0.5em;border-radius:5px;display:block;overflow:auto;white-space:pre;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";background-size:20px 20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);word-break:initial;word-wrap:normal}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset .language-math,.vditor-reset .language-echarts,.vditor-reset .language-mindmap,.vditor-reset .language-plantuml,.vditor-reset .language-mermaid,.vditor-reset .language-abc,.vditor-reset .language-flowchart,.vditor-reset .language-graphviz{margin-bottom:16px}.vditor-reset .language-math mjx-container:focus{outline:none;cursor:context-menu}.vditor-reset .language-echarts,.vditor-reset .language-mindmap{overflow:hidden;height:420px}.vditor-reset .language-mermaid,.vditor-reset .language-flowchart,.vditor-reset .language-graphviz{text-align:center}.vditor-reset .language-graphviz parsererror{overflow:auto}.vditor-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#24292e;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da}.vditor-reset summary{cursor:pointer}.vditor-reset summary:focus{outline:none}.vditor-reset svg{height:auto;width:auto;stroke-width:initial}.vditor-reset p:last-child,.vditor-reset blockquote:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child,.vditor-reset ol:last-child,.vditor-reset hr:last-child{margin-bottom:0}.vditor-comment{border-bottom:2px solid #f8e6ab}.vditor-comment--focus,.vditor-comment--hover{background-color:#faf1d1;border-bottom:2px solid #ffc60a}.vditor-comment--focus .vditor-comment,.vditor-comment--hover .vditor-comment{border-bottom:2px solid #ffc60a}.vditor-task{list-style:none !important;word-break:break-all}.vditor-task input{margin:0 .2em .25em -1.6em;font-size:12px;vertical-align:middle}.vditor-copy{position:relative;display:none;z-index:1}.vditor-copy textarea{position:absolute;left:-100000px;height:10px}.vditor-copy span{cursor:pointer;position:absolute;right:15px;top:0.5em}.vditor-copy svg{color:#586069;height:14px;width:14px !important;display:block;fill:currentColor}.vditor-linenumber{padding-left:4em !important;position:relative}.vditor-linenumber__rows{position:absolute;pointer-events:none;top:0.5em;left:0;width:3em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;counter-reset:linenumber}.vditor-linenumber__rows>span{pointer-events:none;display:block}.vditor-linenumber__rows>span::before{counter-increment:linenumber;content:counter(linenumber);color:rgba(158,150,150,0.38);display:block;padding-right:1em;text-align:right}.vditor-speech{position:absolute;display:none;background-color:#f6f8fa;border:1px solid #d1d5da;border-radius:3px;padding:3px;cursor:pointer;color:#586069}.vditor-speech:hover,.vditor-speech--current{color:#4285f4}.vditor-speech svg{height:14px;width:14px;fill:currentColor;display:block;stroke-width:0;stroke:currentColor}.vditor-anchor{margin-left:5px}.vditor-anchor--left{float:left;padding-right:4px;margin-left:-20px}.vditor-anchor svg{visibility:hidden}.vditor-anchor:hover svg{visibility:visible}.vditor-anchor:focus{outline:none}.vditor-linkcard{margin:31px auto 16px;transition:all 0.15s ease-in-out;cursor:pointer;max-width:768px;padding:0 10px}.vditor-linkcard a{border-radius:3px;background-color:#f6f8fa;overflow:hidden;max-height:250px;display:flex;text-decoration:none;flex-wrap:wrap-reverse;box-shadow:0 1px 2px rgba(0,0,0,0.2)}.vditor-linkcard a:hover{box-shadow:0 0 3px rgba(0,0,0,0.13),0 3px 6px rgba(0,0,0,0.26);text-decoration:none}.vditor-linkcard a:visited .vditor-linkcard__abstract{color:rgba(88,96,105,0.36)}.vditor-linkcard__info{padding:10px;min-width:200px;box-sizing:border-box;flex:1}.vditor-linkcard__title{font-size:14px;font-weight:400;color:#24292e;display:flex;align-items:center}.vditor-linkcard__title img{cursor:pointer;height:20px;width:20px;border-radius:3px;flex-shrink:0;margin-right:5px}.vditor-linkcard__abstract{word-wrap:break-word;word-break:break-all;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;font-size:13px;color:#586069;margin:5px 0}.vditor-linkcard__site{font-size:12px;color:#4285f4}.vditor-linkcard__image{background-size:cover;background-repeat:no-repeat;background-position:center center;max-width:250px;min-width:126px;cursor:pointer;background-color:rgba(88,96,105,0.36)}.vditor-footnotes__goto-ref{text-decoration:none}.vditor-toc{margin-bottom:16px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#4285f4}.vditor-toc .vditor-outline__action{display:none}.vditor-toc ul{list-style:none !important;padding-left:1em}.vditor-toc>ul{padding-left:0}.vditor-toc span{cursor:pointer}.vditor-toc li>span>svg{width:0;height:0}.vditor-outline{width:250px;border-right:1px solid var(--border-color);background-color:var(--panel-background-color);display:none;overflow:auto}.vditor-outline--right{border-right:0;border-left:1px solid var(--border-color)}.vditor-outline::-webkit-scrollbar{display:none}.vditor-outline ul{list-style:none !important;padding-left:1em;margin:0}.vditor-outline__content>ul{padding-left:0}.vditor-outline li>span{display:flex;align-items:center;padding:5px 10px;cursor:pointer;color:var(--textarea-text-color)}.vditor-outline li>span>svg{height:10px;width:10px}.vditor-outline li>span:hover{color:var(--toolbar-icon-hover-color)}.vditor-outline li>span>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vditor-outline__title{border-bottom:1px dashed var(--border-color);padding:5px 10px;color:var(--toolbar-icon-color);font-size:12px}.vditor-outline__action{transition:all 0.15s ease-in-out;fill:currentColor;margin-right:5px;flex-shrink:0}.vditor-outline__action--close{transform:rotate(-90deg)}.vditor-wysiwyg{box-sizing:border-box;flex:1;position:relative;width:100%;min-width:1px}.vditor-wysiwyg pre.vditor-reset{background-color:var(--panel-background-color);margin:0;white-space:pre-wrap;height:100%;box-sizing:border-box}.vditor-wysiwyg pre.vditor-reset[contenteditable="false"]{opacity:0.3;cursor:not-allowed}.vditor-wysiwyg pre.vditor-reset:empty::before{content:attr(placeholder);color:var(--second-color)}.vditor-wysiwyg pre.vditor-reset:focus{outline:none;background-color:var(--textarea-background-color)}.vditor-wysiwyg pre.vditor-reset:after{content:"";height:var(--editor-bottom);display:block}.vditor-wysiwyg blockquote:empty::before,.vditor-wysiwyg pre>code:empty::before,.vditor-wysiwyg p:empty::before,.vditor-wysiwyg h1:empty::after,.vditor-wysiwyg h2:empty::after,.vditor-wysiwyg h3:empty::after,.vditor-wysiwyg h4:empty::after,.vditor-wysiwyg h5:empty::after,.vditor-wysiwyg h6:empty::after{content:' '}.vditor-wysiwyg code[data-marker="`"]{padding-left:0 !important;padding-right:0 !important}.vditor-wysiwyg__block pre:first-child{margin-bottom:-1em}.vditor-wysiwyg__block pre:first-child code{height:auto;color:var(--textarea-text-color);height:auto;text-align:left}.vditor-wysiwyg__block pre:last-child{margin-bottom:1em}.vditor-wysiwyg__preview{cursor:pointer;white-space:initial;min-height:27px}.vditor-wysiwyg>.vditor-reset>h1:before,.vditor-wysiwyg>.vditor-reset>h2:before,.vditor-wysiwyg>.vditor-reset>h3:before,.vditor-wysiwyg>.vditor-reset>h4:before,.vditor-wysiwyg>.vditor-reset>h5:before,.vditor-wysiwyg>.vditor-reset>h6:before,.vditor-wysiwyg div.vditor-wysiwyg__block:before,.vditor-wysiwyg div[data-type="link-ref-defs-block"]:before,.vditor-wysiwyg div[data-type="footnotes-block"]:before,.vditor-wysiwyg .vditor-toc:before{float:left;padding-right:4px;margin-left:-29px;content:'H1';font-size:0.85rem;font-weight:normal;color:var(--second-color)}.vditor-wysiwyg>.vditor-reset>h2:before{content:'H2'}.vditor-wysiwyg>.vditor-reset>h3:before{content:'H3'}.vditor-wysiwyg>.vditor-reset>h4:before{content:'H4'}.vditor-wysiwyg>.vditor-reset>h5:before{content:'H5'}.vditor-wysiwyg>.vditor-reset>h6:before{content:'H6'}.vditor-wysiwyg div[data-type="link-ref-defs-block"]:before{content:'"A"'}.vditor-wysiwyg div[data-type="footnotes-block"]:before{content:'^F'}.vditor-wysiwyg div.vditor-wysiwyg__block:before{content:""}.vditor-wysiwyg div.vditor-wysiwyg__block[data-type="yaml-front-matter"]:before{content:"F"}.vditor-wysiwyg div.vditor-wysiwyg__block[data-type="math-block"]:before{content:"$$"}.vditor-wysiwyg .vditor-toc:before{content:"ToC"}.vditor-wysiwyg hr{display:inline-block;margin:12px 0;width:100%}.vditor-wysiwyg details{white-space:initial}.vditor-wysiwyg a{cursor:pointer}.vditor-wysiwyg span[data-type="backslash"]>span{display:none;color:var(--second-color)}.vditor-wysiwyg span[data-type="link-ref"],.vditor-wysiwyg sup[data-type="footnotes-ref"]{color:#4285f4}.vditor-wysiwyg span[data-type="toc-h"]{color:#4285f4;text-decoration:underline}.vditor-wysiwyg div[data-type="footnotes-block"]{border-top:2px solid var(--heading-border-color);padding-top:24px;margin-top:24px}.vditor-wysiwyg div[data-type="link-ref-defs-block"]{color:var(--blockquote-color)}@media screen and (max-width: 520px){.vditor-wysiwyg h1:before,.vditor-wysiwyg h2:before,.vditor-wysiwyg h3:before,.vditor-wysiwyg h4:before,.vditor-wysiwyg h5:before,.vditor-wysiwyg h6:before,.vditor-wysiwyg div.vditor-wysiwyg__block:before,.vditor-wysiwyg div[data-type="link-ref-defs-block"]:before,.vditor-wysiwyg div[data-type="footnotes-block"]:before,.vditor-wysiwyg .vditor-toc:before{content:none}}.vditor-ir{box-sizing:border-box;flex:1;min-width:1px;position:relative;width:100%}.vditor-ir__node[data-type="code-block"]:before,.vditor-ir__node[data-type="code-block"]:after,.vditor-ir__node[data-type="yaml-front-matter"]:before,.vditor-ir__node[data-type="yaml-front-matter"]:after,.vditor-ir__node[data-type="math-block"]:before,.vditor-ir__node[data-type="math-block"]:after{content:' ';color:var(--second-color)}.vditor-ir__node:not(.vditor-ir__node--expand) .vditor-ir__marker{padding:0 !important}.vditor-ir__node:not(.vditor-ir__node--expand)[data-type="a"]{cursor:pointer}.vditor-ir__node[data-type="link-ref"],.vditor-ir__node[data-type="footnotes-ref"]{color:#4285f4}.vditor-ir__node[data-type="html-block"]{margin-bottom:1em}.vditor-ir__node .vditor-ir__marker{width:0;overflow:hidden;display:inline-block;height:0;transition:all 0.15s ease-in-out}.vditor-ir__node--hidden .vditor-ir__marker{visibility:hidden}.vditor-ir__node--expand .vditor-ir__marker{color:var(--second-color);display:inline;height:auto;width:auto}.vditor-ir__node--expand .vditor-ir__marker--hide{display:none}.vditor-ir__node--expand .vditor-ir__marker--heading{color:var(--ir-heading-color)}.vditor-ir__node--expand .vditor-ir__marker--bi{color:var(--ir-bi-color)}.vditor-ir__node--expand .vditor-ir__marker--link{color:var(--ir-link-color)}.vditor-ir__node--expand .vditor-ir__marker--title{color:var(--ir-title-color)}.vditor-ir__node--expand .vditor-ir__marker--bracket{color:var(--ir-bracket-color);text-decoration:underline}.vditor-ir__node--expand .vditor-ir__marker--paren{color:var(--ir-paren-color)}.vditor-ir__node--expand .vditor-ir__marker--info{color:var(--ir-heading-color)}.vditor-ir__node--expand .vditor-ir__marker--pre code{color:var(--textarea-text-color);height:auto;text-align:left}.vditor-ir__node--expand[data-type="code-block"]:before,.vditor-ir__node--expand[data-type="code-block"]:after{content:'```'}.vditor-ir__node--expand[data-type="yaml-front-matter"]:before,.vditor-ir__node--expand[data-type="yaml-front-matter"]:after{content:'---'}.vditor-ir__node--expand[data-type="math-block"]:before,.vditor-ir__node--expand[data-type="math-block"]:after{content:'$$'}.vditor-ir__node span[data-type="code-block-open-marker"],.vditor-ir__node span[data-type="code-block-close-marker"],.vditor-ir__node span[data-type="yaml-front-matter-open-marker"],.vditor-ir__node span[data-type="yaml-front-matter-close-marker"],.vditor-ir__node span[data-type="math-block-open-marker"],.vditor-ir__node span[data-type="math-block-close-marker"]{display:none}.vditor-ir__preview{cursor:pointer;white-space:initial;min-height:27px}.vditor-ir__link{color:var(--ir-bracket-color);text-decoration:underline}.vditor-ir pre.vditor-reset{background-color:var(--panel-background-color);margin:0;white-space:pre-wrap;height:100%;box-sizing:border-box}.vditor-ir pre.vditor-reset[contenteditable="false"]{opacity:0.3;cursor:not-allowed}.vditor-ir pre.vditor-reset:empty::before{content:attr(placeholder);color:var(--second-color)}.vditor-ir pre.vditor-reset:focus{outline:none;background-color:var(--textarea-background-color)}.vditor-ir pre.vditor-reset:after{content:"";height:var(--editor-bottom);display:block}.vditor-ir pre.vditor-reset pre{margin:0}.vditor-ir hr{display:inline-block;margin:12px 0;width:100%}.vditor-ir blockquote:empty::before,.vditor-ir pre>code:empty::before,.vditor-ir p:empty::before,.vditor-ir h1:empty::after,.vditor-ir h2:empty::after,.vditor-ir h3:empty::after,.vditor-ir h4:empty::after,.vditor-ir h5:empty::after,.vditor-ir h6:empty::after{content:' '}.vditor-ir .vditor-reset>h1:before,.vditor-ir .vditor-reset>h2:before,.vditor-ir .vditor-reset>h3:before,.vditor-ir .vditor-reset>h4:before,.vditor-ir .vditor-reset>h5:before,.vditor-ir .vditor-reset>h6:before,.vditor-ir div[data-type="link-ref-defs-block"]:before,.vditor-ir div[data-type="footnotes-block"]:before,.vditor-ir .vditor-toc:before{float:left;padding-right:4px;margin-left:-29px;content:'H1';font-size:0.85rem;font-weight:normal;color:var(--second-color)}.vditor-ir .vditor-reset>h2:before{content:'H2'}.vditor-ir .vditor-reset>h3:before{content:'H3'}.vditor-ir .vditor-reset>h4:before{content:'H4'}.vditor-ir .vditor-reset>h5:before{content:'H5'}.vditor-ir .vditor-reset>h6:before{content:'H6'}.vditor-ir div[data-type="link-ref-defs-block"]{color:var(--blockquote-color)}.vditor-ir div[data-type="link-ref-defs-block"]:before{content:'"A"'}.vditor-ir div[data-type="footnotes-block"]{border-top:2px solid var(--heading-border-color);padding-top:24px;margin-top:24px}.vditor-ir div[data-type="footnotes-block"]:before{content:'^F'}.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>ul,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>ol,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>p,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>blockquote,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>pre,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>table,.vditor-ir div[data-type="footnotes-block"]>div[data-type="footnotes-def"]>hr{margin-left:8px}.vditor-ir .vditor-toc:before{content:"ToC"}.vditor-ir .vditor-toc span[data-type="toc-h"]{color:#4285f4;text-decoration:underline}@media screen and (max-width: 520px){.vditor-ir h1:before,.vditor-ir h2:before,.vditor-ir h3:before,.vditor-ir h4:before,.vditor-ir h5:before,.vditor-ir h6:before,.vditor-ir div[data-type="link-ref-defs-block"]:before,.vditor-ir div[data-type="footnotes-block"]:before,.vditor-ir .vditor-toc:before{content:none}}.vditor-sv{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans","Hiragino Sans GB","Microsoft Yahei",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";margin:0 1px 0 0;overflow:auto;width:100%;flex:1;min-width:1px;border:0;resize:none;padding:10px 9px 10px 10px;box-sizing:border-box;background-color:var(--panel-background-color);outline:0 none;font-size:16px;line-height:22px;color:var(--textarea-text-color);border-radius:0 0 3px 3px;font-variant-ligatures:no-common-ligatures;white-space:pre-wrap;word-break:break-word;word-wrap:break-word}.vditor-sv[contenteditable="false"]{opacity:0.3;cursor:not-allowed}.vditor-sv:empty::before{content:attr(placeholder);color:var(--second-color)}.vditor-sv:focus{background-color:var(--textarea-background-color)}.vditor-sv:after{content:"";height:var(--editor-bottom);display:block}.vditor-sv span[data-type="newline"]+span[data-type="text"]:empty{display:inherit}.vditor-sv .sup{vertical-align:super;font-size:smaller}.vditor-sv .strong{font-weight:bold}.vditor-sv .em{font-style:italic}.vditor-sv .s{text-decoration:line-through}.vditor-sv .mark:not(.vditor-sv__marker){background-color:yellow;color:black}.vditor-sv .h1{font-size:1.75em;line-height:44px}.vditor-sv .h2{font-size:1.55em;line-height:38px}.vditor-sv .h3{font-size:1.38em;line-height:27px}.vditor-sv .h4{font-size:1.25em;line-height:25px}.vditor-sv .h5{font-size:1.13em}.vditor-sv .h6{font-size:1em}.vditor-sv__marker{color:var(--second-color)}.vditor-sv__marker--heading{color:var(--ir-heading-color)}.vditor-sv__marker--bi{color:var(--ir-bi-color)}.vditor-sv__marker--link{color:var(--ir-link-color)}.vditor-sv__marker--title{color:var(--ir-title-color)}.vditor-sv__marker--bracket{color:var(--ir-bracket-color)}.vditor-sv__marker--paren{color:var(--ir-paren-color)}.vditor-sv__marker--info{color:var(--ir-heading-color)}.vditor-sv__marker--strong{font-weight:bold} +.vditor { + --border-color: #d1d5da; + --second-color: rgba(88, 96, 105, 0.36); + --panel-background-color: #fff; + --panel-shadow: 0 1px 2px rgba(0, 0, 0, .2); + --toolbar-background-color: #f6f8fa; + --toolbar-icon-color: #586069; + --toolbar-icon-hover-color: #4285f4; + --toolbar-height: 35px; + --toolbar-divider-margin-top: 8px; + --textarea-background-color: #fafbfc; + --textarea-text-color: #24292e; + --resize-icon-color: var(--toolbar-icon-color); + --resize-background-color: var(--toolbar-background-color); + --resize-hover-icon-color: var(--panel-background-color); + --resize-hover-background-color: var(--toolbar-icon-hover-color); + --count-background-color: rgba(27, 31, 35, .05); + --heading-border-color: #eaecef; + --blockquote-color: #6a737d; + --ir-heading-color: #660e7a; + --ir-title-color: #808080; + --ir-bi-color: #0033b3; + --ir-link-color: #008000; + --ir-bracket-color: #0000ff; + --ir-paren-color: #008000 +} + +.vditor--dark { + --border-color: #141414; + --second-color: rgba(185, 185, 185, .36); + --panel-background-color: #24292e; + --panel-shadow: 0 1px 2px rgba(255, 255, 255, .2); + --toolbar-background-color: #1d2125; + --toolbar-icon-color: #b9b9b9; + --toolbar-icon-hover-color: #fff; + --textarea-background-color: #2f363d; + --textarea-text-color: #d1d5da; + --resize-icon-color: var(--border-color); + --resize-background-color: var(--second-color); + --resize-hover-icon-color: var(--toolbar-icon-hover-color); + --resize-hover-background-color: rgba(185, 185, 185, .86); + --count-background-color: rgba(66, 133, 244, 0.36); + --heading-border-color: var(--textarea-text-color); + --blockquote-color: var(--toolbar-icon-color); + --ir-heading-color: #9876aa; + --ir-title-color: #808080; + --ir-bi-color: #cc7832; + --ir-link-color: #ffc66d; + --ir-bracket-color: #287bde; + --ir-paren-color: #6a8759 +} + +@-webkit-keyframes tooltip-appear { + from { + opacity: 0 + } + to { + opacity: 1 + } +} + +@keyframes tooltip-appear { + from { + opacity: 0 + } + to { + opacity: 1 + } +} + +.vditor-tooltipped { + position: relative; + cursor: pointer +} + +.vditor-tooltipped::after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font-size: 11px; + font-weight: normal; + -webkit-font-smoothing: subpixel-antialiased; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: #3b3e43; + border-radius: 3px; + line-height: 16px; + opacity: 0 +} + +.vditor-tooltipped::before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: #3b3e43; + pointer-events: none; + content: ""; + border: 5px solid transparent; + opacity: 0 +} + +.vditor-tooltipped--hover::before, .vditor-tooltipped--hover::after, .vditor-tooltipped:hover::before, .vditor-tooltipped:hover::after, .vditor-tooltipped:active::before, .vditor-tooltipped:active::after, .vditor-tooltipped:focus::before, .vditor-tooltipped:focus::after { + display: inline-block; + text-decoration: none; + -webkit-animation-name: tooltip-appear; + animation-name: tooltip-appear; + -webkit-animation-duration: 0.15s; + animation-duration: 0.15s; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in +} + +.vditor-tooltipped__s::after, .vditor-tooltipped__se::after, .vditor-tooltipped__sw::after { + top: 100%; + right: 50%; + margin-top: 5px +} + +.vditor-tooltipped__s::before, .vditor-tooltipped__se::before, .vditor-tooltipped__sw::before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: #3b3e43 +} + +.vditor-tooltipped__se::after { + right: auto; + left: 50%; + margin-left: -15px +} + +.vditor-tooltipped__sw::after { + margin-right: -15px +} + +.vditor-tooltipped__n::after, .vditor-tooltipped__ne::after, .vditor-tooltipped__nw::after { + right: 50%; + bottom: 100%; + margin-bottom: 5px +} + +.vditor-tooltipped__n::before, .vditor-tooltipped__ne::before, .vditor-tooltipped__nw::before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: #3b3e43 +} + +.vditor-tooltipped__ne::after { + right: auto; + left: 50%; + margin-left: -15px +} + +.vditor-tooltipped__nw::after { + margin-right: -15px +} + +.vditor-tooltipped__s::after, .vditor-tooltipped__n::after { + transform: translateX(50%) +} + +.vditor-tooltipped__w::after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%) +} + +.vditor-tooltipped__w::before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: #3b3e43 +} + +.vditor-tooltipped__e::after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%) +} + +.vditor-tooltipped__e::before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: #3b3e43 +} + +@media screen and (max-width: 520px) { + .vditor-tooltipped:before, .vditor-tooltipped:after { + content: none + } +} + +@-webkit-keyframes scale-in { + 0% { + opacity: 0; + transform: scale(0.5) + } + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes scale-in { + 0% { + opacity: 0; + transform: scale(0.5) + } + 100% { + opacity: 1; + transform: scale(1) + } +} + +.vditor-panel { + background-color: var(--panel-background-color); + position: absolute; + box-shadow: var(--panel-shadow); + border-radius: 3px; + padding: 5px; + z-index: 3; + font-size: 14px; + display: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + max-width: 320px; + min-width: 80px; + -webkit-animation-duration: .15s; + animation-duration: .15s; + -webkit-animation-name: scale-in; + animation-name: scale-in; + -webkit-animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); + animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); + color: var(--toolbar-icon-color) +} + +.vditor-panel--none { + padding: 0; + -webkit-animation: none; + animation: none; + min-width: auto; + max-width: none; + white-space: nowrap; + opacity: .86 +} + +.vditor-panel--arrow:before { + position: absolute; + width: 0; + height: 0; + pointer-events: none; + content: " "; + border: 7px solid transparent; + top: -14px; + left: 5px; + border-bottom-color: var(--panel-background-color) +} + +.vditor-panel--left { + right: 0 +} + +.vditor-panel--left.vditor-panel--arrow:before { + right: 5px; + left: auto +} + +.vditor-input { + border: 0; + padding: 3px 5px; + background-color: var(--panel-background-color); + font-size: 12px; + color: var(--textarea-text-color) +} + +.vditor-input:focus { + background-color: var(--toolbar-background-color); + outline: none +} + +.vditor-icon { + color: var(--toolbar-icon-color); + cursor: pointer; + float: left; + padding: 4px 5px; + height: 21px; + width: 23px; + background-color: transparent; + border: 0; + box-sizing: border-box +} + +.vditor-icon:hover, .vditor-icon--current { + color: var(--toolbar-icon-hover-color); + background-color: transparent +} + +.vditor-icon:focus { + outline: none +} + +.vditor-icon svg { + height: 13px !important; + width: 13px !important; + float: left; + fill: currentColor; + pointer-events: none +} + +.vditor-toolbar { + background-color: var(--toolbar-background-color); + border-bottom: 1px solid var(--border-color); + padding: 0 5px; + line-height: 1 +} + +.vditor-toolbar--pin { + position: sticky; + top: 0; + z-index: 1 +} + +.vditor-toolbar--hide { + transition: all 0.15s ease-in-out; + height: 5px; + overflow: hidden +} + +.vditor-toolbar--hide:hover { + background-color: var(--toolbar-background-color); + height: auto; + overflow: visible +} + +.vditor-toolbar__item { + float: left; + position: relative +} + +.vditor-toolbar__item .vditor-tooltipped { + color: var(--toolbar-icon-color); + border: 0; + padding: 10px 5px; + background-color: transparent; + height: var(--toolbar-height); + width: 25px; + box-sizing: border-box; + font-size: 0 +} + +.vditor-toolbar__item .vditor-tooltipped:focus { + outline: none +} + +.vditor-toolbar__item .vditor-tooltipped:focus { + cursor: pointer; + color: var(--toolbar-icon-hover-color) +} + +.vditor-toolbar__item svg { + fill: currentColor; + display: inline-block; + stroke-width: 0; + stroke: currentColor; + width: 15px; + height: 15px +} + +.vditor-toolbar__item input { + position: absolute; + width: 25px; + height: var(--toolbar-height); + top: 0; + left: 0; + cursor: pointer; + opacity: .001; + overflow: hidden +} + +.vditor-toolbar__divider { + float: left; + height: calc(var(--toolbar-height) - (var(--toolbar-divider-margin-top) * 2)); + border-left: 1px solid var(--second-color); + margin: var(--toolbar-divider-margin-top) 8px +} + +.vditor-toolbar__br { + width: 100%; + padding: 0 !important; + height: 0 !important +} + +.vditor-menu--current { + color: var(--toolbar-icon-hover-color) !important +} + +.vditor-menu--disabled { + color: var(--second-color) !important; + cursor: not-allowed !important +} + +.vditor-emojis { + display: inline-block; + overflow: auto +} + +.vditor-emojis::-webkit-scrollbar { + display: none +} + +.vditor-emojis__tip { + flex: 1; + min-width: 1px; + width: 200px; + margin-right: 10px; + color: var(--toolbar-icon-color); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} + +.vditor-emojis__tail { + margin-top: 5px; + font-size: 12px; + color: var(--toolbar-icon-color); + display: flex +} + +.vditor-emojis__tail a { + text-decoration: none; + color: var(--toolbar-icon-color) +} + +.vditor-emojis__tail a:hover { + color: var(--toolbar-icon-hover-color) +} + +.vditor-emojis button { + cursor: pointer; + border-radius: 3px; + float: left; + height: 30px; + width: 30px; + text-align: center; + line-height: 26px; + padding: 3px; + box-sizing: border-box; + font-size: 16px; + transition: all 0.15s ease-in-out; + border: 0; + margin: 0; + background-color: transparent; + overflow: hidden +} + +.vditor-emojis button:focus { + outline: none +} + +.vditor-emojis button:hover .vditor-emojis__icon { + display: inline-block; + transform: scale(1.2) +} + +.vditor-emojis img { + height: 20px; + width: 20px; + float: left; + margin: 3px 0 0 3px +} + +@media screen and (max-width: 520px) { + .vditor-toolbar__item { + padding: 0 12px + } + + .vditor-panel--left.vditor-panel--arrow:before { + right: 17px + } +} + +@media (hover: hover) and (pointer: fine) { + .vditor-toolbar__item .vditor-tooltipped:hover { + color: var(--toolbar-icon-hover-color) + } +} + +@-webkit-keyframes slideInDown { + from { + transform: translate3d(0, -100%, 0); + visibility: visible + } + to { + transform: translate3d(0, 0, 0) + } +} + +@keyframes slideInDown { + from { + transform: translate3d(0, -100%, 0); + visibility: visible + } + to { + transform: translate3d(0, 0, 0) + } +} + +.vditor { + display: flex; + flex-direction: column; + border: 1px solid var(--border-color); + border-radius: 3px; + box-sizing: border-box; + font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols" +} + +.vditor .vditor-copy { + z-index: auto +} + +.vditor--fullscreen { + position: fixed; + top: 0; + width: 100% !important; + left: 0; + height: 100vh !important; + z-index: 90; + border-radius: 0 +} + +.vditor-content { + display: flex; + min-height: 60px; + flex: 1; + min-width: 1px; + position: relative +} + +.vditor-preview { + flex: 1; + min-width: 1px; + overflow: auto; + margin-left: -1px; + border-left: 1px solid var(--border-color); + box-sizing: border-box; + border-radius: 0 0 3px 0; + background-color: var(--textarea-background-color) +} + +.vditor-preview::-webkit-scrollbar { + display: none +} + +.vditor-preview__action { + text-align: center; + padding: 10px; + background-color: var(--toolbar-background-color) +} + +.vditor-preview__action button { + background-color: var(--toolbar-background-color); + color: var(--toolbar-icon-color); + line-height: 20px; + border: 0; + margin: 0 10px; + cursor: pointer; + padding: 0 7px; + font-size: 12px +} + +.vditor-preview__action button.vditor-preview__action--current, .vditor-preview__action button:hover { + color: var(--toolbar-icon-hover-color); + background-color: var(--toolbar-background-color) +} + +.vditor-preview__action button:focus { + outline: none +} + +.vditor-preview__action button svg { + fill: currentColor; + height: 15px; + width: 15px; + vertical-align: middle +} + +.vditor-preview > .vditor-reset { + padding: 10px; + margin: 0 auto +} + +.vditor-preview img:not(.emoji) { + cursor: pointer +} + +.vditor-devtools { + display: none; + background-color: var(--textarea-background-color); + overflow: auto; + flex: 1; + min-width: 1px; + box-shadow: inset 1px 0 var(--border-color); + box-sizing: border-box; + border-radius: 0 0 3px 0; + padding: 10px +} + +.vditor-counter { + padding: 3px; + color: var(--toolbar-icon-color); + background-color: var(--count-background-color); + border-radius: 3px; + font-size: 12px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + float: right; + margin: 8px 3px 0 0 +} + +.vditor-counter--error { + color: #d23f31; + background-color: rgba(210, 63, 49, 0.1) +} + +.vditor-resize { + padding: 3px 0; + cursor: row-resize; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: absolute; + width: 100% +} + +.vditor-resize--top { + top: -3px +} + +.vditor-resize--bottom { + bottom: -3px +} + +.vditor-resize > div { + height: 3px; + background-color: var(--resize-background-color); + transition: all 0.15s ease-in-out +} + +.vditor-resize:hover > div, .vditor-resize--selected > div { + background-color: var(--resize-hover-background-color) +} + +.vditor-resize:hover svg, .vditor-resize--selected svg { + color: var(--resize-hover-icon-color) +} + +.vditor-resize svg { + fill: currentColor; + stroke-width: 0; + stroke: currentColor; + width: 13px; + height: 3px; + display: block; + margin: 0 auto; + color: var(--resize-icon-color) +} + +.vditor-upload { + position: absolute; + height: 3px; + left: 0; + top: -2px; + transition: all 0.15s ease-in-out; + background-color: #4285f4 +} + +.vditor-tip { + position: absolute; + font-size: 12px; + top: 10px; + -webkit-animation-duration: .15s; + animation-duration: .15s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + left: 50%; + z-index: 5 +} + +.vditor-tip--show { + display: block; + -webkit-animation-name: slideInDown; + animation-name: slideInDown +} + +.vditor-tip__content { + text-align: left; + display: inline-block; + line-height: 16px; + padding: 3px 10px; + border-radius: 3px; + background: var(--toolbar-background-color); + position: relative; + margin-left: -50%; + color: var(--toolbar-icon-color); + max-width: 100%; + box-shadow: var(--panel-shadow) +} + +.vditor-tip__content ul { + margin: 2px 0; + padding: 0 0 0 18px +} + +.vditor-tip__content a { + color: #4285f4 +} + +.vditor-tip__close { + position: absolute; + color: var(--toolbar-icon-color); + top: -7px; + right: -15px; + font-weight: bold; + cursor: pointer +} + +.vditor-tip__close:hover { + color: var(--toolbar-icon-hover-color) +} + +.vditor-img { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + flex-direction: column; + z-index: 3 +} + +.vditor-img__bar { + border-bottom: 1px solid var(--border-color); + background-color: var(--toolbar-background-color); + text-align: center; + height: 36px; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center +} + +.vditor-img__btn { + display: flex; + align-items: center; + cursor: pointer; + margin-left: 24px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: var(--toolbar-icon-color) +} + +.vditor-img__btn:hover { + color: var(--toolbar-icon-hover-color) +} + +.vditor-img__btn svg { + height: 14px; + width: 14px; + margin-right: 8px; + fill: currentColor +} + +.vditor-img__img { + flex: 1; + background-color: var(--textarea-background-color); + overflow: auto; + cursor: zoom-out +} + +.vditor-img__img img { + max-width: none +} + +.vditor-hint { + background-color: var(--panel-background-color); + position: absolute; + box-shadow: var(--panel-shadow); + border-radius: 3px; + padding: 5px 0; + z-index: 4; + line-height: 20px; + list-style: none; + font-size: 12px; + margin: 0; + max-width: 250px; + min-width: 80px; + display: none +} + +.vditor-hint .vditor-hint { + margin-top: -31px; + left: 100%; + right: auto +} + +.vditor-hint .vditor-hint.vditor-panel--left { + right: 100%; + left: auto +} + +.vditor-hint button { + color: var(--toolbar-icon-color); + display: block; + padding: 3px 10px; + border: 0; + border-radius: 0; + line-height: 20px; + width: 100%; + box-sizing: border-box; + text-align: left; + margin: 0; + background-color: transparent; + cursor: pointer; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} + +.vditor-hint button:focus { + outline: none +} + +.vditor-hint--current, .vditor-hint button:not(.vditor-menu--disabled):hover { + background-color: var(--toolbar-background-color) !important; + color: var(--toolbar-icon-hover-color) !important +} + +.vditor-hint__emoji { + font-size: 16px; + float: left; + margin-right: 3px +} + +.vditor-hint img { + height: 20px; + width: 20px; + float: left; + margin-right: 3px +} + +.vditor-reset { + color: #24292e; + font-variant-ligatures: no-common-ligatures; + font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + word-wrap: break-word; + overflow: auto; + line-height: 1.5; + font-size: 16px; + word-break: break-word +} + +.vditor-reset--anchor { + padding-left: 20px +} + +.vditor-reset--error { + color: #d23f31; + font-size: 12px; + display: block; + line-height: 16px +} + +.vditor-reset ul ul ul { + list-style-type: square +} + +.vditor-reset ul ul { + list-style-type: circle +} + +.vditor-reset ul { + list-style-type: disc +} + +.vditor-reset ul, .vditor-reset ol { + padding-left: 2em; + margin-top: 0; + margin-bottom: 16px +} + +.vditor-reset li + li { + margin-top: 0.25em +} + +.vditor-reset audio { + max-width: 100% +} + +.vditor-reset audio:focus { + outline: none +} + +.vditor-reset video { + max-height: 90vh; + max-width: 100% +} + +.vditor-reset img { + max-width: 100% +} + +.vditor-reset img.emoji { + cursor: auto; + max-width: 20px; + vertical-align: sub +} + +.vditor-reset h1, .vditor-reset h2, .vditor-reset h3, .vditor-reset h4, .vditor-reset h5, .vditor-reset h6 { + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25 +} + +.vditor-reset h1:hover .vditor-anchor svg, .vditor-reset h2:hover .vditor-anchor svg, .vditor-reset h3:hover .vditor-anchor svg, .vditor-reset h4:hover .vditor-anchor svg, .vditor-reset h5:hover .vditor-anchor svg, .vditor-reset h6:hover .vditor-anchor svg { + visibility: visible +} + +.vditor-reset h1 { + font-size: 1.75em +} + +.vditor-reset h2 { + font-size: 1.55em +} + +.vditor-reset h3 { + font-size: 1.38em +} + +.vditor-reset h4 { + font-size: 1.25em +} + +.vditor-reset h5 { + font-size: 1.13em +} + +.vditor-reset h6 { + font-size: 1em +} + +.vditor-reset hr { + height: 2px; + padding: 0; + margin: 24px 0; + background-color: #eaecef; + border: 0 +} + +.vditor-reset p { + margin-top: 0; + margin-bottom: 16px +} + +.vditor-reset blockquote { + padding: 0 1em; + color: #6a737d; + border-left: 0.25em solid #eaecef; + margin: 0 0 16px 0 +} + +.vditor-reset blockquote > :first-child { + margin-top: 0 +} + +.vditor-reset blockquote > :last-child { + margin-bottom: 0 +} + +.vditor-reset ins > iframe { + border: 0 +} + +.vditor-reset iframe { + border: 1px solid #d1d5da; + max-width: 100%; + box-sizing: border-box +} + +.vditor-reset iframe.iframe__video { + min-width: 80%; + min-height: 36vh +} + +.vditor-reset table { + border-collapse: collapse; + empty-cells: show; + margin-bottom: 16px; + overflow: auto; + border-spacing: 0; + display: block; + word-break: keep-all; + width: 100% +} + +.vditor-reset table tr { + background-color: #fafbfc; + border-top: 1px solid #c6cbd1 +} + +.vditor-reset table td, .vditor-reset table th { + padding: 6px 13px; + border: 1px solid #dfe2e5; + word-break: normal; + white-space: nowrap +} + +.vditor-reset table td:first-child::after, .vditor-reset table th:first-child::after { + content: ""; + display: inline-block; + vertical-align: top; + min-height: 24px +} + +.vditor-reset table th { + font-weight: 600 +} + +.vditor-reset table tbody tr:nth-child(2n) { + background-color: #fff +} + +.vditor-reset code:not(.hljs):not(.highlight-chroma) { + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + border-radius: 3px; + font-family: mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + word-break: break-word; + background-size: 20px 20px; + white-space: pre-wrap +} + +.vditor-reset pre { + margin: 1em 0 +} + +.vditor-reset pre > code { + margin: 0; + font-size: 85%; + padding: 0.5em; + border-radius: 5px; + display: block; + overflow: auto; + white-space: pre; + font-family: mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + background-size: 20px 20px; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==); + word-break: initial; + word-wrap: normal +} + +.vditor-reset pre:hover div.vditor-copy { + display: block +} + +.vditor-reset .language-math, .vditor-reset .language-echarts, .vditor-reset .language-mindmap, .vditor-reset .language-plantuml, .vditor-reset .language-mermaid, .vditor-reset .language-abc, .vditor-reset .language-flowchart, .vditor-reset .language-graphviz { + margin-bottom: 16px +} + +.vditor-reset .language-math mjx-container:focus { + outline: none; + cursor: context-menu +} + +.vditor-reset .language-echarts, .vditor-reset .language-mindmap { + overflow: hidden; + height: 420px +} + +.vditor-reset .language-mermaid, .vditor-reset .language-flowchart, .vditor-reset .language-graphviz { + text-align: center +} + +.vditor-reset .language-graphviz parsererror { + overflow: auto +} + +.vditor-reset kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #24292e; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #d1d5da; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #d1d5da +} + +.vditor-reset summary { + cursor: pointer +} + +.vditor-reset summary:focus { + outline: none +} + +.vditor-reset svg { + height: auto; + width: auto; + stroke-width: initial +} + +.vditor-reset p:last-child, .vditor-reset blockquote:last-child, .vditor-reset pre:last-child, .vditor-reset ul:last-child, .vditor-reset ol:last-child, .vditor-reset hr:last-child { + margin-bottom: 0 +} + +.vditor-comment { + border-bottom: 2px solid #f8e6ab +} + +.vditor-comment--focus, .vditor-comment--hover { + background-color: #faf1d1; + border-bottom: 2px solid #ffc60a +} + +.vditor-comment--focus .vditor-comment, .vditor-comment--hover .vditor-comment { + border-bottom: 2px solid #ffc60a +} + +.vditor-task { + list-style: none !important; + word-break: break-all +} + +.vditor-task input { + margin: 0 .2em .25em -1.6em; + font-size: 12px; + vertical-align: middle +} + +.vditor-copy { + position: relative; + display: none; + z-index: 1 +} + +.vditor-copy textarea { + position: absolute; + left: -100000px; + height: 10px +} + +.vditor-copy span { + cursor: pointer; + position: absolute; + right: 15px; + top: 0.5em +} + +.vditor-copy svg { + color: #586069; + height: 14px; + width: 14px !important; + display: block; + fill: currentColor +} + +.vditor-linenumber { + padding-left: 4em !important; + position: relative +} + +.vditor-linenumber__rows { + position: absolute; + pointer-events: none; + top: 0.5em; + left: 0; + width: 3em; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + counter-reset: linenumber +} + +.vditor-linenumber__rows > span { + pointer-events: none; + display: block +} + +.vditor-linenumber__rows > span::before { + counter-increment: linenumber; + content: counter(linenumber); + color: rgba(158, 150, 150, 0.38); + display: block; + padding-right: 1em; + text-align: right +} + +.vditor-speech { + position: absolute; + display: none; + background-color: #f6f8fa; + border: 1px solid #d1d5da; + border-radius: 3px; + padding: 3px; + cursor: pointer; + color: #586069 +} + +.vditor-speech:hover, .vditor-speech--current { + color: #4285f4 +} + +.vditor-speech svg { + height: 14px; + width: 14px; + fill: currentColor; + display: block; + stroke-width: 0; + stroke: currentColor +} + +.vditor-anchor { + margin-left: 5px +} + +.vditor-anchor--left { + float: left; + padding-right: 4px; + margin-left: -20px +} + +.vditor-anchor svg { + visibility: hidden +} + +.vditor-anchor:hover svg { + visibility: visible +} + +.vditor-anchor:focus { + outline: none +} + +.vditor-linkcard { + margin: 31px auto 16px; + transition: all 0.15s ease-in-out; + cursor: pointer; + max-width: 768px; + padding: 0 10px +} + +.vditor-linkcard a { + border-radius: 3px; + background-color: #f6f8fa; + overflow: hidden; + max-height: 250px; + display: flex; + text-decoration: none; + flex-wrap: wrap-reverse; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) +} + +.vditor-linkcard a:hover { + box-shadow: 0 0 3px rgba(0, 0, 0, 0.13), 0 3px 6px rgba(0, 0, 0, 0.26); + text-decoration: none +} + +.vditor-linkcard a:visited .vditor-linkcard__abstract { + color: rgba(88, 96, 105, 0.36) +} + +.vditor-linkcard__info { + padding: 10px; + min-width: 200px; + box-sizing: border-box; + flex: 1 +} + +.vditor-linkcard__title { + font-size: 14px; + font-weight: 400; + color: #24292e; + display: flex; + align-items: center +} + +.vditor-linkcard__title img { + cursor: pointer; + height: 20px; + width: 20px; + border-radius: 3px; + flex-shrink: 0; + margin-right: 5px +} + +.vditor-linkcard__abstract { + word-wrap: break-word; + word-break: break-all; + -webkit-line-clamp: 2; + overflow: hidden; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + display: -webkit-box; + font-size: 13px; + color: #586069; + margin: 5px 0 +} + +.vditor-linkcard__site { + font-size: 12px; + color: #4285f4 +} + +.vditor-linkcard__image { + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + max-width: 250px; + min-width: 126px; + cursor: pointer; + background-color: rgba(88, 96, 105, 0.36) +} + +.vditor-footnotes__goto-ref { + text-decoration: none +} + +.vditor-toc { + margin-bottom: 16px; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + color: #4285f4 +} + +.vditor-toc .vditor-outline__action { + display: none +} + +.vditor-toc ul { + list-style: none !important; + padding-left: 1em +} + +.vditor-toc > ul { + padding-left: 0 +} + +.vditor-toc span { + cursor: pointer +} + +.vditor-toc li > span > svg { + width: 0; + height: 0 +} + +.vditor-outline { + width: 250px; + border-right: 1px solid var(--border-color); + background-color: var(--panel-background-color); + display: none; + overflow: auto +} + +.vditor-outline--right { + border-right: 0; + border-left: 1px solid var(--border-color) +} + +.vditor-outline::-webkit-scrollbar { + display: none +} + +.vditor-outline ul { + list-style: none !important; + padding-left: 1em; + margin: 0 +} + +.vditor-outline__content > ul { + padding-left: 0 +} + +.vditor-outline li > span { + display: flex; + align-items: center; + padding: 5px 10px; + cursor: pointer; + color: var(--textarea-text-color) +} + +.vditor-outline li > span > svg { + height: 10px; + width: 10px +} + +.vditor-outline li > span:hover { + color: var(--toolbar-icon-hover-color) +} + +.vditor-outline li > span > span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis +} + +.vditor-outline__title { + border-bottom: 1px dashed var(--border-color); + padding: 5px 10px; + color: var(--toolbar-icon-color); + font-size: 12px +} + +.vditor-outline__action { + transition: all 0.15s ease-in-out; + fill: currentColor; + margin-right: 5px; + flex-shrink: 0 +} + +.vditor-outline__action--close { + transform: rotate(-90deg) +} + +.vditor-wysiwyg { + box-sizing: border-box; + flex: 1; + position: relative; + width: 100%; + min-width: 1px +} + +.vditor-wysiwyg pre.vditor-reset { + background-color: var(--panel-background-color); + margin: 0; + white-space: pre-wrap; + height: 100%; + box-sizing: border-box +} + +.vditor-wysiwyg pre.vditor-reset[contenteditable="false"] { + opacity: 0.3; + cursor: not-allowed +} + +.vditor-wysiwyg pre.vditor-reset:empty::before { + content: attr(placeholder); + color: var(--second-color) +} + +.vditor-wysiwyg pre.vditor-reset:focus { + outline: none; + background-color: var(--textarea-background-color) +} + +.vditor-wysiwyg pre.vditor-reset:after { + content: ""; + height: var(--editor-bottom); + display: block +} + +.vditor-wysiwyg blockquote:empty::before, .vditor-wysiwyg pre > code:empty::before, .vditor-wysiwyg p:empty::before, .vditor-wysiwyg h1:empty::after, .vditor-wysiwyg h2:empty::after, .vditor-wysiwyg h3:empty::after, .vditor-wysiwyg h4:empty::after, .vditor-wysiwyg h5:empty::after, .vditor-wysiwyg h6:empty::after { + content: ' ' +} + +.vditor-wysiwyg code[data-marker="`"] { + padding-left: 0 !important; + padding-right: 0 !important +} + +.vditor-wysiwyg__block pre:first-child { + margin-bottom: -1em +} + +.vditor-wysiwyg__block pre:first-child code { + height: auto; + color: var(--textarea-text-color); + height: auto; + text-align: left +} + +.vditor-wysiwyg__block pre:last-child { + margin-bottom: 1em +} + +.vditor-wysiwyg__preview { + cursor: pointer; + white-space: initial; + min-height: 27px +} + +.vditor-wysiwyg > .vditor-reset > h1:before, .vditor-wysiwyg > .vditor-reset > h2:before, .vditor-wysiwyg > .vditor-reset > h3:before, .vditor-wysiwyg > .vditor-reset > h4:before, .vditor-wysiwyg > .vditor-reset > h5:before, .vditor-wysiwyg > .vditor-reset > h6:before, .vditor-wysiwyg div.vditor-wysiwyg__block:before, .vditor-wysiwyg div[data-type="link-ref-defs-block"]:before, .vditor-wysiwyg div[data-type="footnotes-block"]:before, .vditor-wysiwyg .vditor-toc:before { + float: left; + padding-right: 4px; + margin-left: -29px; + content: 'H1'; + font-size: 0.85rem; + font-weight: normal; + color: var(--second-color) +} + +.vditor-wysiwyg > .vditor-reset > h2:before { + content: 'H2' +} + +.vditor-wysiwyg > .vditor-reset > h3:before { + content: 'H3' +} + +.vditor-wysiwyg > .vditor-reset > h4:before { + content: 'H4' +} + +.vditor-wysiwyg > .vditor-reset > h5:before { + content: 'H5' +} + +.vditor-wysiwyg > .vditor-reset > h6:before { + content: 'H6' +} + +.vditor-wysiwyg div[data-type="link-ref-defs-block"]:before { + content: '"A"' +} + +.vditor-wysiwyg div[data-type="footnotes-block"]:before { + content: '^F' +} + +.vditor-wysiwyg div.vditor-wysiwyg__block:before { + content: "" +} + +.vditor-wysiwyg div.vditor-wysiwyg__block[data-type="yaml-front-matter"]:before { + content: "F" +} + +.vditor-wysiwyg div.vditor-wysiwyg__block[data-type="math-block"]:before { + content: "$$" +} + +.vditor-wysiwyg .vditor-toc:before { + content: "ToC" +} + +.vditor-wysiwyg hr { + display: inline-block; + margin: 12px 0; + width: 100% +} + +.vditor-wysiwyg details { + white-space: initial +} + +.vditor-wysiwyg a { + cursor: pointer +} + +.vditor-wysiwyg span[data-type="backslash"] > span { + display: none; + color: var(--second-color) +} + +.vditor-wysiwyg span[data-type="link-ref"], .vditor-wysiwyg sup[data-type="footnotes-ref"] { + color: #4285f4 +} + +.vditor-wysiwyg span[data-type="toc-h"] { + color: #4285f4; + text-decoration: underline +} + +.vditor-wysiwyg div[data-type="footnotes-block"] { + border-top: 2px solid var(--heading-border-color); + padding-top: 24px; + margin-top: 24px +} + +.vditor-wysiwyg div[data-type="link-ref-defs-block"] { + color: var(--blockquote-color) +} + +@media screen and (max-width: 520px) { + .vditor-wysiwyg h1:before, .vditor-wysiwyg h2:before, .vditor-wysiwyg h3:before, .vditor-wysiwyg h4:before, .vditor-wysiwyg h5:before, .vditor-wysiwyg h6:before, .vditor-wysiwyg div.vditor-wysiwyg__block:before, .vditor-wysiwyg div[data-type="link-ref-defs-block"]:before, .vditor-wysiwyg div[data-type="footnotes-block"]:before, .vditor-wysiwyg .vditor-toc:before { + content: none + } +} + +.vditor-ir { + box-sizing: border-box; + flex: 1; + min-width: 1px; + position: relative; + width: 100% +} + +.vditor-ir__node[data-type="code-block"]:before, .vditor-ir__node[data-type="code-block"]:after, .vditor-ir__node[data-type="yaml-front-matter"]:before, .vditor-ir__node[data-type="yaml-front-matter"]:after, .vditor-ir__node[data-type="math-block"]:before, .vditor-ir__node[data-type="math-block"]:after { + content: ' '; + color: var(--second-color) +} + +.vditor-ir__node:not(.vditor-ir__node--expand) .vditor-ir__marker { + padding: 0 !important +} + +.vditor-ir__node:not(.vditor-ir__node--expand)[data-type="a"] { + cursor: pointer +} + +.vditor-ir__node[data-type="link-ref"], .vditor-ir__node[data-type="footnotes-ref"] { + color: #4285f4 +} + +.vditor-ir__node[data-type="html-block"] { + margin-bottom: 1em +} + +.vditor-ir__node .vditor-ir__marker { + width: 0; + overflow: hidden; + display: inline-block; + height: 0; + transition: all 0.15s ease-in-out +} + +.vditor-ir__node--hidden .vditor-ir__marker { + visibility: hidden +} + +.vditor-ir__node--expand .vditor-ir__marker { + color: var(--second-color); + display: inline; + height: auto; + width: auto +} + +.vditor-ir__node--expand .vditor-ir__marker--hide { + display: none +} + +.vditor-ir__node--expand .vditor-ir__marker--heading { + color: var(--ir-heading-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--bi { + color: var(--ir-bi-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--link { + color: var(--ir-link-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--title { + color: var(--ir-title-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--bracket { + color: var(--ir-bracket-color); + text-decoration: underline +} + +.vditor-ir__node--expand .vditor-ir__marker--paren { + color: var(--ir-paren-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--info { + color: var(--ir-heading-color) +} + +.vditor-ir__node--expand .vditor-ir__marker--pre code { + color: var(--textarea-text-color); + height: auto; + text-align: left +} + +.vditor-ir__node--expand[data-type="code-block"]:before, .vditor-ir__node--expand[data-type="code-block"]:after { + content: '```' +} + +.vditor-ir__node--expand[data-type="yaml-front-matter"]:before, .vditor-ir__node--expand[data-type="yaml-front-matter"]:after { + content: '---' +} + +.vditor-ir__node--expand[data-type="math-block"]:before, .vditor-ir__node--expand[data-type="math-block"]:after { + content: '$$' +} + +.vditor-ir__node span[data-type="code-block-open-marker"], .vditor-ir__node span[data-type="code-block-close-marker"], .vditor-ir__node span[data-type="yaml-front-matter-open-marker"], .vditor-ir__node span[data-type="yaml-front-matter-close-marker"], .vditor-ir__node span[data-type="math-block-open-marker"], .vditor-ir__node span[data-type="math-block-close-marker"] { + display: none +} + +.vditor-ir__preview { + cursor: pointer; + white-space: initial; + min-height: 27px +} + +.vditor-ir__link { + color: var(--ir-bracket-color); + text-decoration: underline +} + +.vditor-ir pre.vditor-reset { + background-color: var(--panel-background-color); + margin: 0; + white-space: pre-wrap; + height: 100%; + box-sizing: border-box +} + +.vditor-ir pre.vditor-reset[contenteditable="false"] { + opacity: 0.3; + cursor: not-allowed +} + +.vditor-ir pre.vditor-reset:empty::before { + content: attr(placeholder); + color: var(--second-color) +} + +.vditor-ir pre.vditor-reset:focus { + outline: none; + background-color: var(--textarea-background-color) +} + +.vditor-ir pre.vditor-reset:after { + content: ""; + height: var(--editor-bottom); + display: block +} + +.vditor-ir pre.vditor-reset pre { + margin: 0 +} + +.vditor-ir hr { + display: inline-block; + margin: 12px 0; + width: 100% +} + +.vditor-ir blockquote:empty::before, .vditor-ir pre > code:empty::before, .vditor-ir p:empty::before, .vditor-ir h1:empty::after, .vditor-ir h2:empty::after, .vditor-ir h3:empty::after, .vditor-ir h4:empty::after, .vditor-ir h5:empty::after, .vditor-ir h6:empty::after { + content: ' ' +} + +.vditor-ir .vditor-reset > h1:before, .vditor-ir .vditor-reset > h2:before, .vditor-ir .vditor-reset > h3:before, .vditor-ir .vditor-reset > h4:before, .vditor-ir .vditor-reset > h5:before, .vditor-ir .vditor-reset > h6:before, .vditor-ir div[data-type="link-ref-defs-block"]:before, .vditor-ir div[data-type="footnotes-block"]:before, .vditor-ir .vditor-toc:before { + float: left; + padding-right: 4px; + margin-left: -29px; + content: 'H1'; + font-size: 0.85rem; + font-weight: normal; + color: var(--second-color) +} + +.vditor-ir .vditor-reset > h2:before { + content: 'H2' +} + +.vditor-ir .vditor-reset > h3:before { + content: 'H3' +} + +.vditor-ir .vditor-reset > h4:before { + content: 'H4' +} + +.vditor-ir .vditor-reset > h5:before { + content: 'H5' +} + +.vditor-ir .vditor-reset > h6:before { + content: 'H6' +} + +.vditor-ir div[data-type="link-ref-defs-block"] { + color: var(--blockquote-color) +} + +.vditor-ir div[data-type="link-ref-defs-block"]:before { + content: '"A"' +} + +.vditor-ir div[data-type="footnotes-block"] { + border-top: 2px solid var(--heading-border-color); + padding-top: 24px; + margin-top: 24px +} + +.vditor-ir div[data-type="footnotes-block"]:before { + content: '^F' +} + +.vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > ul, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > ol, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > p, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > blockquote, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > pre, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > table, .vditor-ir div[data-type="footnotes-block"] > div[data-type="footnotes-def"] > hr { + margin-left: 8px +} + +.vditor-ir .vditor-toc:before { + content: "ToC" +} + +.vditor-ir .vditor-toc span[data-type="toc-h"] { + color: #4285f4; + text-decoration: underline +} + +@media screen and (max-width: 520px) { + .vditor-ir h1:before, .vditor-ir h2:before, .vditor-ir h3:before, .vditor-ir h4:before, .vditor-ir h5:before, .vditor-ir h6:before, .vditor-ir div[data-type="link-ref-defs-block"]:before, .vditor-ir div[data-type="footnotes-block"]:before, .vditor-ir .vditor-toc:before { + content: none + } +} + +.vditor-sv { + font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + margin: 0 1px 0 0; + overflow: auto; + width: 100%; + flex: 1; + min-width: 1px; + border: 0; + resize: none; + padding: 10px 9px 10px 10px; + box-sizing: border-box; + background-color: var(--panel-background-color); + outline: 0 none; + font-size: 16px; + line-height: 22px; + color: var(--textarea-text-color); + border-radius: 0 0 3px 3px; + font-variant-ligatures: no-common-ligatures; + white-space: pre-wrap; + word-break: break-word; + word-wrap: break-word +} + +.vditor-sv[contenteditable="false"] { + opacity: 0.3; + cursor: not-allowed +} + +.vditor-sv:empty::before { + content: attr(placeholder); + color: var(--second-color) +} + +.vditor-sv:focus { + background-color: var(--textarea-background-color) +} + +.vditor-sv:after { + content: ""; + height: var(--editor-bottom); + display: block +} + +.vditor-sv span[data-type="newline"] + span[data-type="text"]:empty { + display: inherit +} + +.vditor-sv .sup { + vertical-align: super; + font-size: smaller +} + +.vditor-sv .strong { + font-weight: bold +} + +.vditor-sv .em { + font-style: italic +} + +.vditor-sv .s { + text-decoration: line-through +} + +.vditor-sv .mark:not(.vditor-sv__marker) { + background-color: yellow; + color: black +} + +.vditor-sv .h1 { + font-size: 1.75em; + line-height: 44px +} + +.vditor-sv .h2 { + font-size: 1.55em; + line-height: 38px +} + +.vditor-sv .h3 { + font-size: 1.38em; + line-height: 27px +} + +.vditor-sv .h4 { + font-size: 1.25em; + line-height: 25px +} + +.vditor-sv .h5 { + font-size: 1.13em +} + +.vditor-sv .h6 { + font-size: 1em +} + +.vditor-sv__marker { + color: var(--second-color) +} + +.vditor-sv__marker--heading { + color: var(--ir-heading-color) +} + +.vditor-sv__marker--bi { + color: var(--ir-bi-color) +} + +.vditor-sv__marker--link { + color: var(--ir-link-color) +} + +.vditor-sv__marker--title { + color: var(--ir-title-color) +} + +.vditor-sv__marker--bracket { + color: var(--ir-bracket-color) +} + +.vditor-sv__marker--paren { + color: var(--ir-paren-color) +} + +.vditor-sv__marker--info { + color: var(--ir-heading-color) +} + +.vditor-sv__marker--strong { + font-weight: bold +} diff --git a/src/main/resources/vditor/dist/js/graphviz/full.render.js b/src/main/resources/vditor/dist/js/graphviz/full.render.js index c96b7a94..797c937d 100644 --- a/src/main/resources/vditor/dist/js/graphviz/full.render.js +++ b/src/main/resources/vditor/dist/js/graphviz/full.render.js @@ -1,90 +1,144542 @@ /* Viz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) */ -(function(global) { - var Module = function(Module) { - Module = Module || {}; - var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+194160;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqQVQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP1ioNc07TtU/JXUCmggb2j8AAAAAAADgPwAAAAAAAOA/LNSa5h2n6j9q3nGKjuToP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAOA/XdxGA3gL4j8AAAAAAADQP1ioNc07TtU/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T/TvOMUHcnRP13cRgN4C+I/XdxGA3gL4j9d3EYDeAviPw1xrIvbaNw/ZF3cRgN47T/Sb18HzhnnPxB6Nqs+V+U/EHo2qz5X5T/Sb18HzhnnP3gLJCh+jOM/tRX7y+7J4T/Sb18HzhnnP9JvXwfOGec/WKg1zTtO1T+IhVrTvOPYP9JvXwfOGec/eAskKH6M4z/EQq1p3nHsP9JvXwfOGec/0m9fB84Z5z+1FfvL7snhP9JvXwfOGec/EHo2qz5X5T+1FfvL7snhP3gLJCh+jOM/0m9fB84Z5z/Sb18HzhnnP4Y41sVtNO4/0m9fB84Z5z/Sb18HzhnnP3gLJCh+jOM/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/pgpGJXUC3j8AAAAAAADgP1ioNc07TtU/DXGsi9to3D8AAAAAAADgPw1xrIvbaNw/AAAAAAAA4D8NcayL22jcP1ioNc07TtU/AAAAAAAA4D8AAAAAAADgP9O84xQdydE/07zjFB3J0T8AAAAAAADgP9O84xQdydE/at5xio7k6D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgP1ioNc07TtU/iIVa07zj2D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D/Sb18HzhnnPwAAAAAAAOA/AAAAAAAA4D8NcayL22jcP/RsVn2utt4/ETY8vVKWyT/0bFZ9rrbePzsBTYQNT+E/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D9YqDXNO07VPwAAAAAAAOA/AAAAAAAA4D8+6Nms+lzFPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/gnNGlPYGxz8NcayL22jcPwAAAAAAAOA/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADQPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8H8BZIUPzcP6K0N/jCZNY/WKg1zTtO1T8NcayL22jcPw1xrIvbaNw/AAAAAAAA4D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA0D8NcayL22jcPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/AAAAAAAA8D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP8RCrWnecew/AAAAAAAA0D9/2T15WKjRPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/eAskKH6M4z/Sb18HzhnnP8RCrWnecew/E/JBz2bV0z8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/EHo2qz5X5T8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP/RsVn2uttY/tRX7y+7J4T+1FfvL7snhP8RCrWnecew/EHo2qz5X5T/129eBc0bMP1ioNc07TtU/WKg1zTtO1T+IhVrTvOPYPwFNhA1Pr+I/07zjFB3J0T9YqDXNO07VP9O84xQdydE/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP9O84xQdydE/07zjFB3J0T8BTYQNT6/iPwFNhA1Pr+I/AU2EDU+v4j+1FfvL7snhP8xdS8gHPfA/EHo2qz5X5T8QejarPlflP9JvXwfOGec/0m9fB84Z5z8QejarPlflP3gLJCh+jOM/at5xio7k6D/Sb18HzhnnP9O84xQdydE/AAAAAAAA4D8QejarPlflP7UV+8vuyeE/LNSa5h2n6j/Sb18HzhnnP2recYqO5Og/EHo2qz5X5T9q3nGKjuToP9JvXwfOGec/EHo2qz5X5T94CyQofozjP9JvXwfOGec/EHo2qz5X5T+GONbFbTTuPxB6Nqs+V+U/EHo2qz5X5T94CyQofozjP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP6YKRiV1At4/tRX7y+7J4T9Iv30dOGfMP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADgP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP7UV+8vuyeE/tRX7y+7J4T9Iv30dOGfMP0i/fR04Z8w/AAAAAAAA4D9Iv30dOGfMPyzUmuYdp+o/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T9YqDXNO07VPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8Cmggbnl7VP+C+DpwzotA/ApoIG55e1T8BTYQNT6/iP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/WKg1zTtO1T+1FfvL7snhP7UV+8vuyeE/PujZrPpcxT+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhPx04Z0Rpb8g/WKg1zTtO1T+1FfvL7snhP1ioNc07TtU/WKg1zTtO1T8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP9O84xQdydE/5x2n6Egu4T+itDf4wmTWP0i/fR04Z8w/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/AAAAAAAA8D8AAAAAAADwP9O84xQdydE/eAskKH6M4z/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAPA/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T8AAAAAAADwP9O84xQdydE/6pWyDHGs1z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP7UV+8vuyeE/at5xio7k6D8AAAAAAADwP5jdk4eFWtc/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP8RCrWnecew/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/SL99HThnzD94CyQofozjP4Y41sVtNO4/eAskKH6M4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP1GgT+RJ0g5AtMh2vp86NcA6It+l1CXVv/OCPkeaLoo/n+V5cHfW+b9+/RAbLJzmP5bs2AjE68w/zc6idyrg0D+w479AECDtv62h1F5E29g/O6F85lGWdj/TbnD5eoR7P4HMzqJ3KuS/0a3X9KCgyD9q3zcZsD+EP77KkBle/4Q/HJYGflTDxL+lSSno9uIjQKnZA63AkME/CMSQQZNpiT/6RJ4kXTPQvwHwmTYtwl4/DZx9L8+Ulz+JtfgUAOOJP+WpWEY0y7G/jwDJz6Fnpr9ctcb7zLSIP02kj1Q6s5A/5scEoWHWoL/HaWccE/eCvyp/a+UtcFy/5FdiVAiadT/R8YdVcgS3P5XUCWgiPDPAZCMQr+t3EMCnIarwZ3jHP9r/AGvVrsE/TihEwCFU97+qSIWxhSD1P51oVyHlJ/Y/TS7GwDqOzT9Zayi1F9HcvwM/qmG/J8w/pkdTPZl/2j+2gTtQpzyuP1FM3gAz37m/9XaV/9oLpj/UpTW8D/aUPx+tILws3JA/KCzxgLLJI0AjWuFMAoq3P0ijZVGWKX8/u7SG98Gekz8XqHtTR32gvyErruBtlIs/M3PchNYetb+geISJ9fyPP2k1JO6x9JG/uM0zel6/aj+SPq2iPzTNv36w58ZPPpi/ByObUC3HpD8+GMJ7WLmRvy18fa1LjcY/AAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAPC/VAQBAOgqAAADAAAAEC0AAAMAAADoLwAAAwAAALAwAAADAAAAADIAAAMAAAB4NQAAAwAAALQ4AAADAAAAxC4AAAMAAAB8OQAAAwAAAIQ6AAADAAAAED8AAAMAAAA0PQAAAAAAANQsAAAAAAAAwC8AAAAAAAAQMAAAAAAAANgxAAAAAAAAKDIAAAAAAACMOAAAAAAAAGAuAAAAAAAAVDkAAAAAAABcOgAAAAAAAOg+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAAzQIAEM0CACDNAgAwzQIAQM0CAFDNAgBgzQIAcM0CABDNAgAQzQIAUM0CAFDNAgAfAAAAPwAAAH8AAAAAAAAA0HkBAAEAAACoKwAAaAAAAAQAAABtCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAUBAAEAAAAAAAAA4AAAAAAAAAAQBQEAAQAAAAAAAADgAAAAAQAAABcFAQABAAAAAAAAAKgAAAACAAAAIQUBAAEAAAAAAAAA4AAAAAMAAAArBQEAAQAAAAAAAADgAAAABAAAADkFAQABAAAAAAAAAOAAAAAFAAAAQwUBAAEAAAAAAAAA4AAAAAYAAABQBQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcggBAAEAAADELQAAGAEAAAEAAAB3CAEAAQAAAMQtAAAYAQAAAgAAAH0IAQABAAAAxC0AABgBAAADAAAAhggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAIAQABAAAAAAAAAHABAAABAAAAmggBAAEAAAAAAAAAcAEAAAIAAAClCAEAAQAAAAAAAAA4AQAAAwAAALMIAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAFgMAgBd9QEA7vYBAC79AQAlBAIAZAgCAOQLAgD1CwIAAAAAAPoIAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+CAEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAD4KAQABAAAAAAAAACACAAACAAAASAoBAAEAAAAAAAAAWAIAAAAAAABRCgEAAQAAAAAAAABYAgAAAwAAAFoKAQABAAAAAAAAAFgCAAAAAAAAZAoBAAEAAAAAAAAAIAIAAAMAAABwCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABYDAIAXfUBAC79AQDu9gEAZAgCACUEAgD1CwIA5AsCAAAAAAAAAAAALQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWgQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAAAtEAEAOxABAFEQAQDr7QIAXxABAG4QAQBzEAEAkRABAOvtAgCjEAEA0xABAOvtAgDxEAEAGREBACcRAQBWEQEAihEBAJsRAQDAEQEA4xEBAOkRAQAFEgEAIhIBAD0SAQBeEgEAeBIBAJoSAQC5EgEA3xIBAPcSAQAXEwEANBMBAFgTAQBkEwEA6+0CAG8TAQCVEwEAuRMBAN8TAQDr7QIAFRQBAC0UAQA6FAEAaRQBAGQTAQDr7QIAdhQBAH8UAQCgFAEA2xQBACYVAQB6FQEAnBUBALEVAQDIFQEA3hUBAPYVAQDr7QIADBYBACcWAQBLFgEAbxYBAJQWAQDr7QIAtRYBAM8WAQDhFgEA7hYBAPsWAQAPFwEAHhcBACYXAQA7FwEASRcBAIcXAQCSFwEAZBMBAOvtAgCYFwEApBcBALMXAQDjEQEA6+0CAMYXAQDvFwEADRgBAB0YAQAuGAEANRgBAEQYAQBUGAEAmBgBAJ8YAQDjEQEA6+0CAKkYAQDVGAEA4BgBAOkYAQDyGAEAAxkBABQZAQAoGQEAZBMBAOvtAgA0GQEARBkBAFIZAQBgGQEAbRkBAHoZAQCQGQEAmRkBAKgZAQC1GQEAxhkBAGQTAQDr7QIA0RkBAPAZAQDr7QIAAhoBABEaAQBBGgEASxoBAFgaAQBlGgEAchoBAH8aAQCCGgEA6+0CAIYaAQDr7QIAqRoBANoaAQAJGwEAIBsBADsbAQBWGwEAZBMBAOvtAgByGwEA6+0CAJobAQCmGwEAuRsBAMwbAQDhGwEA9hsBAPobAQDjEQEA6+0CAAYcAQDr7QIAFhwBACQcAQAwHAEAPRwBAF0cAQBzHAEA6+0CAIccAQDQHAEAFh0BAEYdAQB5HQEAgB0BAKcdAQDOHQEA6+0CANMdAQAAAAAAAAAAAJFHAQABAAAAAAAAAAgDAAABAAAARx4BAAEAAAAAAAAACAMAAAIAAACKRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB19AEAf/QBABExAQDE9AEA//QBACH1AQAn9QEAWAwCAE71AQBd9QEAevUBAIX1AQCn9QEA3fUBABP2AQBO9gEAhPYBAKb2AQC19gEA5vYBAO72AQDXJAEA4CQBAAv3AQDpJAEAVfcBAPIkAQBf9wEA+yQBAGn3AQC49wEA8/cBAAclAQAu+AEAOfgBAH74AQCM+AEA1vgBAOT4AQDy+AEA/fgBAC75AQBu+QEAdvkBAH75AQC5+QEA7/kBAPv5AQAWMQEAB/oBABH6AQAc+gEAOfoBAG/6AQAu/QEAUP0BAFz9AQAbAAIATAACAHgAAgCuAAIAuwACAN0AAgD/AAIACAECAFIBAgBcAQIAoQECANcBAgDiAQIAZwICAHwCAgAPJQEAhgICAJACAgDGAgIABgMCABQDAgBoAwIAdwMCAIYDAgDVAwIAHjEBABUEAgAfBAIAJQQCAFEEAgB4BAIAiQQCAJQEAgDZBAIAHgUCAC0FAgA9BQIATwUCAF8FAgBvBQIAfAUCAIYFAgC8BQIAxQUCAAUGAgAYBgIAIzEBACAGAgBWBgIAfQYCALMGAgDaBgIA6AYCAB4HAgBoBwIAsgcCAL0HAgDzBwIA+AcCABUIAgAyCAIAPQgCAGQIAgB8CAIAsggCAOgIAgD0CAIAGwkCACYJAgBXCQIAiAkCABA8AQCvCQIA2wkCABEKAgBHCgIAUQoCAG4KAgCuCgIA5AoCACkxAQD8CgIAKAsCAE8LAgCFCwIAwgsCAOQLAgDqCwIA9QsCABwMAgAAAAAA2YEBAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAABFJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAETEBAFgMAgBd9QEAFjEBAG/6AQAu/QEAHjEBAFEEAgAFBgIAIzEBAD0IAgBkCAIAEDwBACkxAQDkCwIA9QsCAAAAAAAuMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAxPQBAKY6AQBYDAIAXfUBAHr1AQCxOgEAtzoBAMI6AQDJOgEAhfUBAN31AQDROgEA1zoBAOI6AQCE9gEApvYBAO72AQDpOgEAVfcBAGn3AQDz9wEA8zoBAH74AQCM+AEA1vgBAP46AQDk+AEABjsBAA87AQAdOwEAJzsBALn5AQAwOwEA+/kBABz6AQA5+gEANjsBAID6AQCr+gEA1PoBAPf6AQAg+wEAQ/sBAGz7AQCP+wEAuPsBANv7AQAE/AEAJ/wBAFD8AQBz/AEAnPwBAL/8AQDo/AEAC/0BAC79AQA9OwEAUP0BAEk7AQB4AAIA3QACAKEBAgBWOwEAhgMCAGM7AQAVBAIAJQQCAG07AQBRBAIAeAQCAIkEAgB8OwEAjjsBAJQEAgAeBQIALQUCAD0FAgBPBQIAXwUCAJ47AQCpOwEAtDsBAG8FAgAFBgIACgYCALk7AQDCOwEAyzsBANs7AQDiOwEAVgYCAH0GAgCzBgIA6AYCAPgHAgAVCAIA6jsBAGQIAgDxOwEA9AgCAPo7AQAmCQIAAjwBAIgJAgAQPAEArwkCANsJAgAXPAEAbgoCAK4KAgAhPAEA5AoCAPwKAgBPCwIAKzwBADk8AQCFCwIAjAsCAMILAgDkCwIA9QsCABwMAgAAAAAASzwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE88AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAADelQEAQUkAALiVAQBBUgAAi5UBAEFYAADzlQEAQiAAAC+YAQBCSQAAQJgBAENCAAB4lgEAQ08AAGaWAQBDWAAAhZYBAEggAACplgEASEIAALOWAQBISQAAP5cBAEhYAADClgEASGIAAPOWAQBIaQAAJpcBAEhyAADYlgEASHgAAAmXAQBJIAAAUZgBAEtCAAAKlgEAS0kAAFKWAQBLUgAAPpYBAEtYAAArlgEATkIAAFGXAQBOSQAAmJcBAE5SAACwlwEATlgAAHyXAQBQQQAAEZgBAFBCAADNlwEAUEkAAAGYAQBQWAAA7ZcBAFIgAAAImgEAUyAAACCYAQBaRAAAjpgBAAAAAAAAAAAAAQAAAAAAAAD+RgEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAApHAQABAAAAIEMAAAAAAAAQAAAAEkcBAAEAAAAgQwAAAAAAABEAAAAaRwEAAQAAACBDAAAAAAAAEQAAACNHAQABAAAAIEMAAAAAAAARAAAAK0cBAAEAAAAgQwAAAAAAABMAAAAzRwEAAQAAACRDAAAAAAAAFAAAADtHAQABAAAAJEMAAAAAAAAVAAAAQ0cBAAEAAAAkQwAAAAAAABUAAABMRwEAAQAAACRDAAAAAAAAFQAAAFRHAQABAAAAJEMAAAAAAAAWAAAAXEcBAAEAAAAoQwAAAAAAABcAAABlRwEAAQAAAChDAAAAAAAAGAAAAG5HAQABAAAAKEMAAAAAAAAYAAAAeEcBAAEAAAAoQwAAAAAAABgAAACBRwEAAQAAAChDAAAAAAAAGQAAAIpHAQABAAAALEMAAAAAAAAZAAAAkUcBAAEAAAAsQwAAAAAAABoAAACXRwEAAQAAADBDAAAAAAAACgAAAKBHAQABAAAANEMAAAAAAAALAAAAqEcBAAEAAAA0QwAAAAAAAAwAAACwRwEAAQAAADRDAAAAAAAADAAAALlHAQABAAAANEMAAAAAAAAMAAAAwUcBAAEAAAA0QwAAAAAAAA4AAADJRwEAAQAAADRDAAAAAAAADgAAANBHAQABAAAANEMAAAAAAAANAAAA2EcBAAEAAAA0QwAAAAAAAAUAAADgRwEAAQAAADRDAAAAAAAABgAAAOhHAQABAAAANEMAAAAAAAAHAAAA8EcBAAEAAAA0QwAAAAAAAAcAAAD5RwEAAQAAADRDAAAAAAAABwAAAAFIAQABAAAANEMAAAAAAAAJAAAACUgBAAEAAAA0QwAAAAAAAAkAAAAQSAEAAQAAADRDAAAAAAAACAAAABhIAQABAAAANEMAAAAAAAAAAAAAIEgBAAEAAAA4QwAAAAAAAAEAAAApSAEAAQAAADhDAAAAAAAAAgAAADJIAQABAAAAOEMAAAAAAAACAAAAPEgBAAEAAAA4QwAAAAAAAAIAAABFSAEAAQAAADhDAAAAAAAABAAAAE5IAQABAAAAOEMAAAAAAAAEAAAAVkgBAAEAAAA4QwAAAAAAAAMAAABfSAEAAQAAADhDAAAAAAAAEgAAAGhIAQABAAAAIEMAAAAAAAAbAAAAcEgBAAEAAAA8QwAAAAAAABwAAAB4SAEAAQAAADxDAAAAAAAAHQAAAIBIAQABAAAAPEMAAAAAAAAdAAAAiUgBAAEAAAA8QwAAAAAAAB0AAACRSAEAAQAAADxDAAAAAAAAHgAAAJlIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAARMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAADQeQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAAApVAEALlQBADJUAQA5VAEAPVQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAyWQEAKEQAAAEAAAB4RAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABLAAAAUwAAAEsAAABUAAAAVQAAAFYAAABXAAAAAAAAAD9ZAQAAAAAAOEQAACDPAgABAAAARVkBAAAAAABARAAAIM8CAAMAAABJWQEAAAAAAEhEAAAgzwIABAAAAE9ZAQAAAAAAUEQAACDPAgAFAAAAVVkBAAAAAABoRAAAIM8CAAYAAABfWQEAAAAAAHBEAAAgzwIABwAAAGVZAQAAAAAAWEQAACDPAgAHAAAAaVkBAAAAAABYRAAAIM8CAAcAAABuWQEAAAAAAGBEAAAgzwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAMAAAAAAAAAABAAAAIAAAAAEAAAAAAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAA6+0CAAAAAAATBgIAAQAAAHRkAQAHAAAAOGQBAAMAAAC8GQIABQAAAHxkAQAPAAAAvoEBAAgAAAC+gQEAEAAAAIRkAQAEAAAAhGQBABEAAACJZAEABQAAAIlkAQACAAAAj2QBAAYAAACWZAEABAAAAKJkAQAHAAAAqmQBAAcAAAC6ZAEABQAAAMBkAQAIAAAA12QBAAgAAADAZAEACQAAAOBkAQAHAAAA6GQBAAoAAAACZQEABwAAAAplAQALAAAAJGUBAAYAAAArZQEADAAAAEllAQAJAAAAK2UBAA0AAABTZQEACAAAAFxlAQAOAAAAfWUBAAgAAACGZQEAEgAAAKdlAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAADAAAAIQAAAAQAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAQAAAACBHAAAwRwAABgAAAAQAAAA8RwAABgAAAAgAAAAGAAAABAAAAERHAAAABAAACAAAAP////8AAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAAIAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAkAAAALAAAACAAAAAoAAADISAAATEgAALBIAAABAAAAAQAAAAoAAAAWAAAACwAAAFgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAANAAAAAAAAAAcAAAAAAAAABwAAAAIAAAAFAAAACAAAAAAAAAAAAAAABgAAAAMAAAAOAAAACwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABAAAAAAAAAABwAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA/////wAAAAAAAAAAJwAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAMAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAb6cBAFCnAQAWcAEAfKcBAHSnAQCCpwEAAAAAABx0AQAldAEALHQBADp0AQBBdAEAmKcBAEh0AQBPdAEAAQAAAAgAAAD/////AAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAO11AQAIAAAAAwAAAPZ1AQD6dQEACwAAAAYAAADWgQEABnYBAAIAAAABAAAACXYBAA12AQAEAAAAAgAAABJ2AQAWdgEABAAAAAQAAAAbdgEAIHYBAAUAAAAFAAAAJnYBACp2AQAEAAAABwAAAC92AQAzdgEABQAAAAkAAAA5dgEAPXYBAAQAAAAKAAAAQnYBAEd2AQAEAAAADAAAAEx2AQAQewEAAAAAAAEAAAAYewEAAQAAAAAAAACjpgEAAQAAAAEAAAATBgIAAAAAAAAAAAAAAAAAAAAAAAAAAAD5eQEAMQAAAAAAAAAAAAAA0aEBABAAAAA7EgIAgAAAAPJ5AQBAAAAAPJQBABAAAAD0eQEAQAAAAAAAAAAAAAAAwHkBAAEAAADHeQEAAgAAAMx5AQADAAAA+poBAAQAAABekQEABQAAANB5AQAGAAAAEwYCAAgAAADUeQEAIQAAANh5AQAiAAAA3HkBACIAAADgeQEAAQAAAOV5AQAHAAAA63kBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAArfwEAMn8BAAAAAADTgQEA1oEBANmBAQAAAAAAAAAAAAEAAAACAAAA/////5aBAQCcgQEAEwYCAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACoAAAARAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACQAAACsAAAARAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAA+poBAPhUAACABgAAAAAAACeRAQD4VAAAsAYAAAAAAAAAmgEA+FQAAOAGAAAAAAAAL5EBAPhUAADgBgAAAAAAADSRAQD4VAAAEAcAAAAAAAA7kQEAEFUAABAHAAAAAAAAQZEBAPhUAABABwAAAAAAAEWRAQD4VAAAcAcAAAAAAAATBgIA+FQAAKAHAAAAAAAATpEBAPhUAACgBwAAAAAAAFiRAQD4VAAAUAYAAAAAAABekQEA+FQAANAHAAAAAAAAZpEBAPhUAAAACAAAAAAAAHCRAQD4VAAAMAgAAAAAAAB+kQEA+FQAAGAIAAAAAAAAhJEBAPhUAACQCAAAAAAAAI2RAQD4VAAAwAgAAAAAAACVkQEA+FQAAPAIAAAAAAAAnpEBAPhUAAAgCQAAAAAAAKaRAQD4VAAAUAkAAAAAAACrkQEA+FQAAIAJAAAAAAAAr5EBAPhUAACwCQAAAAAAALaRAQD4VAAA4AkAAAAAAAC8kQEA+FQAABAKAAAAAAAAxpEBAChVAABACgAAAAAAAM+RAQD4VAAAgAYAAAAAAADUkQEA+FQAAIAGAAAAAAAA3pEBAPhUAABwCgAAAAAAAOWRAQD4VAAAoAoAAAAAAADykQEA+FQAANAKAAAAAAAAAJIBAPhUAAAACwAAAAAAAA6SAQD4VAAAMAsAAAAAAAAakgEA+FQAAGALAAAAAAAAJ5IBAPhUAACQCwAAAAAAADCSAQD4VAAAwAsAAAAAAAA6kgEA+FQAAPALAAAAAAAAQ5IBAPhUAAAgDAAAAAAAAEuSAQD4VAAAUAwAAAAAAABTkgEA+FQAAIAMAAAAAAAAXJIBAPhUAACwDAAAAAAAAGCSAQD4VAAA4AwAAAAAAABrkgEA+FQAABANAAAAAAAAb5IBAPhUAABADQAAAAAAAHmSAQD4VAAAcA0AAAAAAACCkgEA+FQAAKANAAAAAAAAipIBAPhUAADQDQAAAAAAAJeSAQD4VAAAAA4AAAAAAACjkgEA+FQAADAOAAAAAAAArpIBAPhUAABgDgAAAAAAAL6SAQD4VAAAkA4AAAAAAADMkgEA+FQAAMAOAAAAAAAA25IBAPhUAADwDgAAAAAAAOWSAQD4VAAAIA8AAAAAAADukgEA+FQAAFAPAAAAAAAA+JIBAPhUAACADwAAAAAAAAKTAQD4VAAAsA8AAAAAAAAJkwEA+FQAAOAPAAAAAAAAEJMBAPhUAAAQEAAAAAAAABqTAQBAVQAAAAAAAAAAAAAhkwEAQFUAAAAAAAAAAAAAA5EBAFhVAAAAAAAAAAAAACmTAQBwVQAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAWwAAAFoAAAAXAAAABQAAAAAAAAANAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAXAAAAF0AAAAYAAAABgAAAAMAAAAOAAAAXgAAAF8AAAAXAAAABwAAAAAAAAAPAAAAWQAAAFoAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAACuUAQAylAEAAAAAADqUAQA8lAEAdRICAD6UAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAACLlQEAm5UBAKiVAQAAAAAAAAAAAAQAAACtlQEAAAAAAAAAAAC4lQEAm5UBAKiVAQAAAAAAz5UBAAUAAACtlQEAAAAAANeVAQDelQEAm5UBAO6VAQAAAAAAAAAAAAYAAACtlQEAGaYBAAAAAADzlQEAm5UBAO6VAQAAAAAAz5UBAAcAAACtlQEAGaYBANeVAQAKlgEAF5YBAO6VAQAAAAAAAAAAAAoAAAAllgEAGaYBAAAAAAArlgEAF5YBAO6VAQAAAAAA15UBAAsAAAAllgEAGaYBANeVAQA+lgEAF5YBAEyWAQAAAAAAAAAAAAgAAAAllgEAAAAAAAAAAABSlgEAF5YBAEyWAQAAAAAA15UBAAkAAAAllgEAAAAAANeVAQBmlgEAZpYBAAAAAAAAAAAAAAAAAAwAAABulgEAAAAAAAAAAAB4lgEAZpYBABmmAQAAAAAAAAAAAA4AAABulgEAGaYBAAAAAACFlgEAZpYBABmmAQAAAAAAz5UBAA8AAABulgEAGaYBANeVAQCZlgEAZpYBAAAAAAAAAAAAz5UBAA0AAABulgEAAAAAANeVAQCplgEAqZYBAAAAAAAAAAAAAAAAABAAAACtlQEAAAAAAAAAAACzlgEAqZYBABmmAQAAAAAAAAAAABIAAACtlQEAGaYBAAAAAADClgEAqZYBABmmAQAAAAAAz5UBABMAAACtlQEAGaYBANeVAQDYlgEAqZYBAAAAAADplgEAAAAAABQAAACtlQEAAAAAAAAAAADzlgEAqZYBABmmAQDplgEAAAAAABYAAACtlQEAGaYBAAAAAAAJlwEAqZYBABmmAQDplgEAz5UBABcAAACtlQEAGaYBANeVAQAmlwEAqZYBAAAAAADplgEAz5UBABUAAACtlQEAAAAAANeVAQA/lwEAqZYBAAAAAAAAAAAAz5UBABEAAACtlQEAAAAAANeVAQBRlwEAZ5cBABmmAQAAAAAAAAAAABoAAAAllgEAGaYBAAAAAAB8lwEAZ5cBABmmAQAAAAAA15UBABsAAAAllgEAGaYBANeVAQCYlwEAZ5cBAAAAAAAAAAAA15UBABkAAAAllgEAAAAAANeVAQCwlwEAZ5cBAMeXAQAAAAAAAAAAABgAAAAllgEAAAAAAAAAAADNlwEA25cBABmmAQAAAAAAAAAAAB4AAAAllgEAGaYBAAAAAADtlwEA25cBABmmAQAAAAAA15UBAB8AAAAllgEAGaYBANeVAQABmAEA25cBAAAAAAAAAAAA15UBAB0AAAAllgEAAAAAANeVAQARmAEA25cBAMeXAQAAAAAAAAAAABwAAAAllgEAAAAAAAAAAAAgmAEAIJgBAAAAAAAAAAAAAAAAACAAAAAnmAEAAAAAAAAAAAAvmAEAOpgBABmmAQAAAAAAAAAAAAIAAAAllgEAGaYBAAAAAABAmAEAOpgBABmmAQAAAAAA15UBAAMAAAAllgEAGaYBANeVAQBRmAEAOpgBAAAAAAAAAAAA15UBAAEAAAAllgEAAAAAANeVAQAImgEAOpgBAAAAAAAAAAAAAAAAAAAAAAAllgEAAAAAAAAAAABemAEAeJgBAIeYAQAAAAAA15UBACEAAAAllgEAAAAAANeVAQCOmAEAm5gBAAAAAAAAAAAAAAAAACIAAAAnmAEAAAAAAAAAAAAIAAAABAAAAAAAAAAKAAAALQAAABIAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALgAAAAAAAAAAAAAAAAAAAAAAAAA3mwEAxgAAAD2bAQDBAAAARJsBAMIAAABKmwEAwAAAAFGbAQCRAwAAV5sBAMUAAABdmwEAwwAAAGSbAQDEAAAAaZsBAJIDAABumwEAxwAAAHWbAQCnAwAAeZsBACEgAACAmwEAlAMAAIabAQDQAAAAipsBAMkAAACRmwEAygAAAJebAQDIAAAAnpsBAJUDAACmmwEAlwMAAKqbAQDLAAAAr5sBAJMDAAC1mwEAzQAAALybAQDOAAAAwpsBAMwAAADJmwEAmQMAAM6bAQDPAAAA05sBAJoDAADZmwEAmwMAAOCbAQCcAwAA45sBANEAAADqmwEAnQMAAO2bAQBSAQAA85sBANMAAAD6mwEA1AAAAACcAQDSAAAAB5wBAKkDAAANnAEAnwMAABWcAQDYAAAAHJwBANUAAAAjnAEA1gAAACicAQCmAwAALJwBAKADAAAvnAEAMyAAADWcAQCoAwAAOZwBAKEDAAA9nAEAYAEAAEScAQCjAwAASpwBAN4AAABQnAEApAMAAFScAQCYAwAAWpwBANoAAABhnAEA2wAAAGecAQDZAAAAbpwBAKUDAAB2nAEA3AAAAHucAQCeAwAAfpwBAN0AAACFnAEAeAEAAIqcAQCWAwAAj5wBAOEAAACWnAEA4gAAAJycAQC0AAAAopwBAOYAAAConAEA4AAAAK+cAQA1IQAAt5wBALEDAAC9nAEAJgAAAMGcAQAnIgAAxZwBACAiAADJnAEA5QAAAM+cAQBIIgAA1ZwBAOMAAADcnAEA5AAAAOGcAQAeIAAA55wBALIDAADsnAEApgAAAPOcAQAiIAAA+JwBACkiAAD8nAEA5wAAAAOdAQC4AAAACZ0BAKIAAAAOnQEAxwMAABKdAQDGAgAAF50BAGMmAAAdnQEARSIAACKdAQCpAAAAJ50BALUhAAAtnQEAKiIAADGdAQCkAAAAOJ0BANMhAAA9nQEAICAAAESdAQCTIQAASZ0BALAAAABNnQEAtAMAAFOdAQBmJgAAWZ0BAPcAAABgnQEA6QAAAGedAQDqAAAAbZ0BAOgAAAB0nQEABSIAAHqdAQADIAAAf50BAAIgAACEnQEAtQMAAIydAQBhIgAAkp0BALcDAACWnQEA8AAAAJqdAQDrAAAAn50BAKwgAACknQEAAyIAAKqdAQCSAQAAr50BAAAiAAC2nQEAvQAAAL2dAQC8AAAAxJ0BAL4AAADLnQEARCAAANGdAQCzAwAA150BAGUiAADanQEAPgAAAN2dAQDUIQAA4p0BAJQhAADnnQEAZSYAAO6dAQAmIAAA9Z0BAO0AAAD8nQEA7gAAAAKeAQChAAAACJ4BAOwAAAAPngEAESEAABWeAQAeIgAAG54BACsiAAAfngEAuQMAACSeAQC/AAAAK54BAAgiAAAwngEA7wAAADWeAQC6AwAAO54BANAhAABAngEAuwMAAEeeAQApIwAATJ4BAKsAAABSngEAkCEAAFeeAQAIIwAAXZ4BABwgAABjngEAZCIAAGaeAQAKIwAAbZ4BABciAAB0ngEAyiUAAHieAQAOIAAAfJ4BADkgAACDngEAGCAAAImeAQA8AAAAjJ4BAK8AAACRngEAFCAAAJeeAQC1AAAAnZ4BALcAAAA8pwEAEiIAAKSeAQC8AwAAp54BAAciAACtngEAoAAAALKeAQATIAAAuJ4BAGAiAAC7ngEACyIAAL6eAQCsAAAAwp4BAAkiAADIngEAhCIAAM2eAQDxAAAA1J4BAL0DAADXngEA8wAAAN6eAQD0AAAA5J4BAFMBAADqngEA8gAAAPGeAQA+IAAA954BAMkDAAD9ngEAvwMAAAWfAQCVIgAAC58BACgiAAAOnwEAqgAAABOfAQC6AAAAGJ8BAPgAAAAfnwEA9QAAACafAQCXIgAALZ8BAPYAAAAynwEAtgAAADefAQACIgAAPJ8BADAgAABDnwEApSIAAEifAQDGAwAATJ8BAMADAABPnwEA1gMAAFOfAQCxAAAAWp8BAKMAAABgnwEAMiAAAGafAQAPIgAAa58BAB0iAABwnwEAyAMAAHSfAQAiAAAAeZ8BANIhAAB+nwEAGiIAAISfAQAqIwAAiZ8BALsAAACPnwEAkiEAAJSfAQAJIwAAmp8BAB0gAACgnwEAHCEAAKWfAQCuAAAAqZ8BAAsjAACwnwEAwQMAALSfAQAPIAAAuJ8BADogAAC/nwEAGSAAAMWfAQAaIAAAy58BAGEBAADSnwEAxSIAANefAQCnAAAA3J8BAK0AAADgnwEAwwMAAOafAQDCAwAA7Z8BADwiAADxnwEAYCYAAPifAQCCIgAA/J8BAIYiAAABoAEAESIAAAWgAQCDIgAACaABALkAAAAOoAEAsgAAABOgAQCzAAAAGKABAIciAAAdoAEA3wAAACOgAQDEAwAAJ6ABADQiAAAuoAEAuAMAADSgAQDRAwAAPaABAAkgAABEoAEA/gAAAEqgAQDcAgAAUKABANcAAABWoAEAIiEAAFygAQDRIQAAYaABAPoAAABooAEAkSEAAG2gAQD7AAAAc6ABAPkAAAB6oAEAqAAAAH6gAQDSAwAAhKABAMUDAACMoAEA/AAAAJGgAQAYIQAAmKABAL4DAACboAEA/QAAAKKgAQClAAAApqABAP8AAACroAEAtgMAALCgAQANIAAAtKABAAwgAAAHAAAACAAAAAEBAAAIAAAACAAAAAAAAAAAAAAALwAAABMAAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAMAAAABQAAAAAAAAAAAAAAAAAAAD8pgEACQAAAP6mAQAKAAAAA6cBAAoAAAALpwEACwAAABGnAQALAAAAGqcBAAwAAAAdpwEADAAAACOnAQANAAAAKKcBAA0AAAAwpwEADgAAADWnAQAOAAAAPKcBAA8AAABCpwEADwAAAE6nAQAQAAAAYAAAADEAAAAyAAAAFAAAADMAAABhAAAANAAAABUAAAA1AAAACAAAAAQAAAD/////AAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAmagBAFVdyX/Jf/8ApKgBALst1L6u1P8Ar6gBABR3/f3Ahv8AuqgBAFVdyX/Jf/8AxagBALst1L6u1P8A0KgBABR3/f3Ahv8A26gBACpm////mf8A5qgBAFVdyX/Jf/8A8agBALst1L6u1P8A/KgBABR3/f3Ahv8AB6kBACpm////mf8AEqkBAJetsDhssP8AHakBAFVdyX/Jf/8AKKkBALst1L6u1P8AM6kBABR3/f3Ahv8APqkBACpm////mf8ASakBAJetsDhssP8AVKkBAOj88PACf/8AX6kBAFVdyX/Jf/8AaqkBALst1L6u1P8AdakBABR3/f3Ahv8AgKkBACpm////mf8Ai6kBAJetsDhssP8AlqkBAOj88PACf/8AoakBABHgv79bF/8ArKkBAFVdyX/Jf/8At6kBALst1L6u1P8AwqkBABR3/f3Ahv8AzakBACpm////mf8A2KkBAJetsDhssP8A46kBAOj88PACf/8A7qkBABHgv79bF/8A+akBAAAAZmZmZv8ABKoBAJMZ997r9/8ADqoBAI5L4Z7K4f8AGKoBAJG8vTGCvf8AIqoBAJ8Q/+/z//8ALKoBAI8u573X5/8ANqoBAI9/1muu1v8AQKoBAJPQtSFxtf8ASqoBAJ8Q/+/z//8AVKoBAI8u573X5/8AXqoBAI9/1muu1v8AaKoBAJG8vTGCvf8AcqoBAJXxnAhRnP8AfKoBAJ8Q/+/z//8AhqoBAJQr78bb7/8AkKoBAI5L4Z7K4f8AmqoBAI9/1muu1v8ApKoBAJG8vTGCvf8ArqoBAJXxnAhRnP8AuKoBAJ8Q/+/z//8AwqoBAJQr78bb7/8AzKoBAI5L4Z7K4f8A1qoBAI9/1muu1v8A4KoBAJCpxkKSxv8A6qoBAJPQtSFxtf8A9KoBAJfxlAhFlP8A/qoBAJQI//f7//8ACKsBAJMZ997r9/8AEqsBAJQr78bb7/8AHKsBAI5L4Z7K4f8AJqsBAI9/1muu1v8AMKsBAJCpxkKSxv8AOqsBAJPQtSFxtf8ARKsBAJfxlAhFlP8ATqsBAJQI//f7//8AWKsBAJMZ997r9/8AYqsBAJQr78bb7/8AbKsBAI5L4Z7K4f8AdqsBAI9/1muu1v8AgKsBAJCpxkKSxv8AiqsBAJPQtSFxtf8AlKsBAJXxnAhRnP8AnqsBAJjrawgwa/8AqKsBABfvVFQwBf8AsqsBAHf/PAA8MP8AvasBABfsjIxRCv8Ax6sBABjCv7+BLf8A0asBAB1w39/Cff8A26sBAB409vbow/8A5asBAHkm6sfq5f8A76sBAHhfzYDNwf8A+asBAHyllzWXj/8AA6wBAHz8ZgFmXv8ADawBABfvVFQwBf8AF6wBAHz8ZgFmXv8AIqwBAHf/PAA8MP8ALawBABfsjIxRCv8AN6wBABjCv7+BLf8AQawBAB1w39/Cff8AS6wBAB409vbow/8AVawBAAAA9fX19f8AX6wBAHkm6sfq5f8AaawBAHhfzYDNwf8Ac6wBAHyllzWXj/8AfawBAByH2NizZf8AhqwBAAAA9fX19f8Aj6wBAHt/tFq0rP8AmKwBABXXpqZhGv8AoawBAB1w39/Cff8AqqwBAHhfzYDNwf8As6wBAHn9hQGFcf8AvKwBABXXpqZhGv8AxawBAB1w39/Cff8AzqwBAAAA9fX19f8A16wBAHhfzYDNwf8A4KwBAHn9hQGFcf8A6awBABfsjIxRCv8A8qwBAByH2NizZf8A+6wBAB409vbow/8ABK0BAHkm6sfq5f8ADa0BAHt/tFq0rP8AFq0BAHz8ZgFmXv8AH60BABfsjIxRCv8AKK0BAByH2NizZf8AMa0BAB409vbow/8AOq0BAAAA9fX19f8AQ60BAHkm6sfq5f8ATK0BAHt/tFq0rP8AVa0BAHz8ZgFmXv8AXq0BABfsjIxRCv8AZ60BABjCv7+BLf8AcK0BAB1w39/Cff8Aea0BAB409vbow/8Agq0BAHkm6sfq5f8Ai60BAHhfzYDNwf8AlK0BAHyllzWXj/8Ana0BAHz8ZgFmXv8Apq0BABfsjIxRCv8Ar60BABjCv7+BLf8AuK0BAB1w39/Cff8Awa0BAB409vbow/8Ayq0BAAAA9fX19f8A060BAHkm6sfq5f8A3K0BAHhfzYDNwf8A5a0BAHyllzWXj/8A7q0BAHz8ZgFmXv8A960BAIcU+eX1+f8AAK4BAHVK2JnYyf8ACa4BAGe5oiyiX/8AEq4BAIgO++34+/8AG64BAH824rLi4v8AJK4BAHF4wmbCpP8ALa4BAGK+iyOLRf8ANq4BAIgO++34+/8AP64BAH824rLi4v8ASK4BAHF4wmbCpP8AUa4BAGe5oiyiX/8AWq4BAGb/bQBtLP8AY64BAIgO++34+/8AbK4BAHci7Mzs5v8Ada4BAHVK2JnYyf8Afq4BAHF4wmbCpP8Ah64BAGe5oiyiX/8AkK4BAGb/bQBtLP8Ama4BAIgO++34+/8Aoq4BAHci7Mzs5v8Aq64BAHVK2JnYyf8AtK4BAHF4wmbCpP8Ava4BAGmfrkGudv8Axq4BAGK+iyOLRf8Az64BAGb/WABYJP8A2K4BAIYG/ff8/f8A4a4BAIcU+eX1+f8A6q4BAHci7Mzs5v8A864BAHVK2JnYyf8A/K4BAHF4wmbCpP8ABa8BAGmfrkGudv8ADq8BAGK+iyOLRf8AF68BAGb/WABYJP8AIK8BAIYG/ff8/f8AKa8BAIcU+eX1+f8AMq8BAHci7Mzs5v8AO68BAHVK2JnYyf8ARK8BAHF4wmbCpP8ATa8BAGmfrkGudv8AVq8BAGK+iyOLRf8AX68BAGb/bQBtLP8AaK8BAGX/RABEG/8Aca8BAJAU9ODs9P8Aeq8BAJRG2p682v8Ag68BAMR7p4hWp/8AjK8BAIgO++34+/8Ala8BAJI147PN4/8Anq8BAKJKxoyWxv8Ap68BAMqVnYhBnf8AsK8BAIgO++34+/8Aua8BAJI147PN4/8Awq8BAKJKxoyWxv8Ay68BAMR7p4hWp/8A1K8BANbhgYEPfP8A3a8BAIgO++34+/8A5q8BAJQr5r/T5v8A768BAJRG2p682v8A+K8BAKJKxoyWxv8AAbABAMR7p4hWp/8ACrABANbhgYEPfP8AE7ABAIgO++34+/8AHLABAJQr5r/T5v8AJbABAJRG2p682v8ALrABAKJKxoyWxv8AN7ABAL5ksYxrsf8AQLABAMqVnYhBnf8ASbABANX8bm4Ba/8AUrABAIYG/ff8/f8AW7ABAJAU9ODs9P8AZLABAJQr5r/T5v8AbbABAJRG2p682v8AdrABAKJKxoyWxv8Af7ABAL5ksYxrsf8AiLABAMqVnYhBnf8AkbABANX8bm4Ba/8AmrABAIYG/ff8/f8Ao7ABAJAU9ODs9P8ArLABAJQr5r/T5v8AtbABAJRG2p682v8AvrABAKJKxoyWxv8Ax7ABAL5ksYxrsf8A0LABAMqVnYhBnf8A2bABANbhgYEPfP8A4rABANX/TU0AS/8A67ABAHLTnhued/8A9bABABL82dlfAv8A/7ABAK1fs3Vws/8ACbEBAHLTnhued/8AE7EBABL82dlfAv8AHbEBAK1fs3Vws/8AJ7EBAOnR5+cpiv8AMbEBAHLTnhued/8AO7EBABL82dlfAv8ARbEBAK1fs3Vws/8AT7EBAOnR5+cpiv8AWbEBAD7QpmamHv8AY7EBAHLTnhued/8AbbEBABL82dlfAv8Ad7EBAK1fs3Vws/8AgbEBAOnR5+cpiv8Ai7EBAD7QpmamHv8AlbEBAB/85uarAv8An7EBAHLTnhued/8AqbEBABL82dlfAv8As7EBAK1fs3Vws/8AvbEBAOnR5+cpiv8Ax7EBAD7QpmamHv8A0bEBAB/85uarAv8A27EBABvSpqZ2Hf8A5bEBAHLTnhued/8A77EBABL82dlfAv8A+bEBAK1fs3Vws/8AA7IBAOnR5+cpiv8ADbIBAD7QpmamHv8AF7IBAB/85uarAv8AIbIBABvSpqZ2Hf8AK7IBAAAAZmZmZv8ANbIBAEwZ8+Dz2/8APrIBAF893ajdtf8AR7IBAIyqykOiyv8AULIBAEER+fD56P8AWbIBAFcu5LrkvP8AYrIBAHtlzHvMxP8Aa7IBAI3FviuMvv8AdLIBAEER+fD56P8AfbIBAFcu5LrkvP8AhrIBAHtlzHvMxP8Aj7IBAIyqykOiyv8AmLIBAJHzrAhorP8AobIBAEER+fD56P8AqrIBAE0p68zrxf8As7IBAF893ajdtf8AvLIBAHtlzHvMxP8AxbIBAIyqykOiyv8AzrIBAJHzrAhorP8A17IBAEER+fD56P8A4LIBAE0p68zrxf8A6bIBAF893ajdtf8A8rIBAHtlzHvMxP8A+7IBAImg006z0/8ABLMBAI3FviuMvv8ADbMBAJPynghYnv8AFrMBADwM/Pf88P8AH7MBAEwZ8+Dz2/8AKLMBAE0p68zrxf8AMbMBAF893ajdtf8AOrMBAHtlzHvMxP8AQ7MBAImg006z0/8ATLMBAI3FviuMvv8AVbMBAJPynghYnv8AXrMBADwM/Pf88P8AZ7MBAEwZ8+Dz2/8AcLMBAE0p68zrxf8AebMBAF893ajdtf8AgrMBAHtlzHvMxP8Ai7MBAImg006z0/8AlLMBAI3FviuMvv8AnbMBAJHzrAhorP8AprMBAJbvgQhAgf8Ar7MBAEoV9eX14P8AurMBAFBI2aHZm/8AxbMBAGKyozGjVP8A0LMBAEkP+O346f8A27MBAE425Lrks/8A5rMBAFZoxHTEdv8A8bMBAGK+iyOLRf8A/LMBAEkP+O346f8AB7QBAE425Lrks/8AErQBAFZoxHTEdv8AHbQBAGKyozGjVP8AKLQBAGb/bQBtLP8AM7QBAEkP+O346f8APrQBAE0s6cfpwP8ASbQBAFBI2aHZm/8AVLQBAFZoxHTEdv8AX7QBAGKyozGjVP8AarQBAGb/bQBtLP8AdbQBAEkP+O346f8AgLQBAE0s6cfpwP8Ai7QBAFBI2aHZm/8AlrQBAFZoxHTEdv8AobQBAGCeq0GrXf8ArLQBAGK+iyOLRf8At7QBAGz/WgBaMv8AwrQBAEgH/Pf89f8AzbQBAEoV9eX14P8A2LQBAE0s6cfpwP8A47QBAFBI2aHZm/8A7rQBAFZoxHTEdv8A+bQBAGCeq0GrXf8ABLUBAGK+iyOLRf8AD7UBAGz/WgBaMv8AGrUBAEgH/Pf89f8AJbUBAEoV9eX14P8AMLUBAE0s6cfpwP8AO7UBAFBI2aHZm/8ARrUBAFZoxHTEdv8AUbUBAGCeq0GrXf8AXLUBAGK+iyOLRf8AZ7UBAGb/bQBtLP8AcrUBAGX/RABEG/8AfbUBAAAA8PDw8P8Ah7UBAAAAvb29vf8AkbUBAAAAY2NjY/8Am7UBAAAA9/f39/8ApbUBAAAAzMzMzP8Ar7UBAAAAlpaWlv8AubUBAAAAUlJSUv8Aw7UBAAAA9/f39/8AzbUBAAAAzMzMzP8A17UBAAAAlpaWlv8A4bUBAAAAY2NjY/8A67UBAAAAJSUlJf8A9bUBAAAA9/f39/8A/7UBAAAA2dnZ2f8ACbYBAAAAvb29vf8AE7YBAAAAlpaWlv8AHbYBAAAAY2NjY/8AJ7YBAAAAJSUlJf8AMbYBAAAA9/f39/8AO7YBAAAA2dnZ2f8ARbYBAAAAvb29vf8AT7YBAAAAlpaWlv8AWbYBAAAAc3Nzc/8AY7YBAAAAUlJSUv8AbbYBAAAAJSUlJf8Ad7YBAAAA//////8AgbYBAAAA8PDw8P8Ai7YBAAAA2dnZ2f8AlbYBAAAAvb29vf8An7YBAAAAlpaWlv8AqbYBAAAAc3Nzc/8As7YBAAAAUlJSUv8AvbYBAAAAJSUlJf8Ax7YBAAAA//////8A0bYBAAAA8PDw8P8A27YBAAAA2dnZ2f8A5bYBAAAAvb29vf8A77YBAAAAlpaWlv8A+bYBAAAAc3Nzc/8AA7cBAAAAUlJSUv8ADbcBAAAAJSUlJf8AF7cBAAAAAAAAAP8AIbcBABUw/v7mzv8ALbcBABOT/f2ua/8AObcBAA7w5uZVDf8ARbcBABMg/v7t3v8AUbcBABR4/f2+hf8AXbcBABHC/f2NPP8AabcBAA392dlHAf8AdbcBABMg/v7t3v8AgbcBABR4/f2+hf8AjbcBABHC/f2NPP8AmbcBAA7w5uZVDf8ApbcBAA36pqY2A/8AsbcBABMg/v7t3v8AvbcBABVb/f3Qov8AybcBABOT/f2ua/8A1bcBABHC/f2NPP8A4bcBAA7w5uZVDf8A7bcBAA36pqY2A/8A+bcBABMg/v7t3v8ABbgBABVb/f3Qov8AEbgBABOT/f2ua/8AHbgBABHC/f2NPP8AKbgBABDq8fFpE/8ANbgBAA392dlIAf8AQbgBAAz3jIwtBP8ATbgBABUU///16/8AWbgBABUw/v7mzv8AZbgBABVb/f3Qov8AcbgBABOT/f2ua/8AfbgBABHC/f2NPP8AibgBABDq8fFpE/8AlbgBAA392dlIAf8AobgBAAz3jIwtBP8ArbgBABUU///16/8AubgBABUw/v7mzv8AxbgBABVb/f3Qov8A0bgBABOT/f2ua/8A3bgBABHC/f2NPP8A6bgBABDq8fFpE/8A9bgBAA392dlIAf8AAbkBAA36pqY2A/8ADbkBAAz2f38nBP8AGbkBABk2/v7oyP8AIrkBABN5/f27hP8AK7kBAAXF4+NKM/8ANLkBABol/v7w2f8APbkBABhz/f3Miv8ARrkBAA2k/PyNWf8AT7kBAAPa19cwH/8AWLkBABol/v7w2f8AYbkBABhz/f3Miv8AarkBAA2k/PyNWf8Ac7kBAAXF4+NKM/8AfLkBAAD/s7MAAP8AhbkBABol/v7w2f8AjrkBABhf/f3Unv8Al7kBABN5/f27hP8AoLkBAA2k/PyNWf8AqbkBAAXF4+NKM/8AsrkBAAD/s7MAAP8Au7kBABol/v7w2f8AxLkBABhf/f3Unv8AzbkBABN5/f27hP8A1rkBAA2k/PyNWf8A37kBAAey7+9lSP8A6LkBAAPa19cwH/8A8bkBAAD/mZkAAP8A+rkBABgS///37P8AA7oBABk2/v7oyP8ADLoBABhf/f3Unv8AFboBABN5/f27hP8AHroBAA2k/PyNWf8AJ7oBAAey7+9lSP8AMLoBAAPa19cwH/8AOboBAAD/mZkAAP8AQroBABgS///37P8AS7oBABk2/v7oyP8AVLoBABhf/f3Unv8AXboBABN5/f27hP8AZroBAA2k/PyNWf8Ab7oBAAey7+9lSP8AeLoBAAPa19cwH/8AgboBAAD/s7MAAP8AiroBAAD/f38AAP8Ak7oBAI5E46bO4/8An7oBAL6Zmmo9mv8ArLoBAJDTtB94tP8AuLoBAEFh37Lfiv8AxLoBAFK4oDOgLP8A0LoBAABj+/uamf8A3LoBAP7h4+MaHP8A6LoBABeP/f2/b/8A9LoBABX///9/AP8AALsBAMYq1sqy1v8ADLsBAI5E46bO4/8AGLsBAL6Zmmo9mv8AJbsBACpm////mf8AMrsBAJDTtB94tP8APrsBAEFh37Lfiv8ASrsBAFK4oDOgLP8AVrsBAABj+/uamf8AYrsBAP7h4+MaHP8AbrsBABeP/f2/b/8AersBABX///9/AP8AhrsBAMYq1sqy1v8AkrsBAI5E46bO4/8AnrsBAL6Zmmo9mv8Aq7sBACpm////mf8AuLsBAA/FsbFZKP8AxbsBAJDTtB94tP8A0bsBAEFh37Lfiv8A3bsBAFK4oDOgLP8A6bsBAABj+/uamf8A9bsBAP7h4+MaHP8AAbwBABeP/f2/b/8ADbwBABX///9/AP8AGbwBAMYq1sqy1v8AJbwBAI5E46bO4/8AMLwBAJDTtB94tP8AO7wBAEFh37Lfiv8ARrwBAI5E46bO4/8AUbwBAJDTtB94tP8AXLwBAEFh37Lfiv8AZ7wBAFK4oDOgLP8AcrwBAI5E46bO4/8AfbwBAJDTtB94tP8AiLwBAEFh37Lfiv8Ak7wBAFK4oDOgLP8AnrwBAABj+/uamf8AqbwBAI5E46bO4/8AtLwBAJDTtB94tP8Av7wBAEFh37Lfiv8AyrwBAFK4oDOgLP8A1bwBAABj+/uamf8A4LwBAP7h4+MaHP8A67wBAI5E46bO4/8A9rwBAJDTtB94tP8AAb0BAEFh37Lfiv8ADL0BAFK4oDOgLP8AF70BAABj+/uamf8AIr0BAP7h4+MaHP8ALb0BABeP/f2/b/8AOL0BAI5E46bO4/8AQ70BAJDTtB94tP8ATr0BAEFh37Lfiv8AWb0BAFK4oDOgLP8AZL0BAABj+/uamf8Ab70BAP7h4+MaHP8Aer0BABeP/f2/b/8Ahb0BABX///9/AP8AkL0BAI5E46bO4/8Am70BAJDTtB94tP8Apr0BAEFh37Lfiv8Asb0BAFK4oDOgLP8AvL0BAABj+/uamf8Ax70BAP7h4+MaHP8A0r0BABeP/f2/b/8A3b0BABX///9/AP8A6L0BAMYq1sqy1v8A870BAANO+/u0rv8A/70BAJI147PN4/8AC74BAE0p68zrxf8AF74BAANO+/u0rv8AI74BAJI147PN4/8AL74BAE0p68zrxf8AO74BAMob5N7L5P8AR74BAANO+/u0rv8AU74BAJI147PN4/8AX74BAE0p68zrxf8Aa74BAMob5N7L5P8Ad74BABhY/v7Zpv8Ag74BAANO+/u0rv8Aj74BAJI147PN4/8Am74BAE0p68zrxf8Ap74BAMob5N7L5P8As74BABhY/v7Zpv8Av74BACoy////zP8Ay74BAANO+/u0rv8A174BAJI147PN4/8A474BAE0p68zrxf8A774BAMob5N7L5P8A+74BABhY/v7Zpv8AB78BACoy////zP8AE78BABws5eXYvf8AH78BAANO+/u0rv8AK78BAJI147PN4/8AN78BAE0p68zrxf8AQ78BAMob5N7L5P8AT78BABhY/v7Zpv8AW78BACoy////zP8AZ78BABws5eXYvf8Ac78BAOkj/f3a7P8Af78BAANO+/u0rv8Ai78BAJI147PN4/8Al78BAE0p68zrxf8Ao78BAMob5N7L5P8Ar78BABhY/v7Zpv8Au78BACoy////zP8Ax78BABws5eXYvf8A078BAOkj/f3a7P8A378BAAAA8vLy8v8A678BAGw14rPizf8A978BABFR/f3NrP8AA8ABAJsf6MvV6P8AD8ABAGw14rPizf8AG8ABABFR/f3NrP8AJ8ABAJsf6MvV6P8AM8ABAOQr9PTK5P8AP8ABAGw14rPizf8AS8ABABFR/f3NrP8AV8ABAJsf6MvV6P8AY8ABAOQr9PTK5P8Ab8ABADgt9eb1yf8Ae8ABAGw14rPizf8Ah8ABABFR/f3NrP8Ak8ABAJsf6MvV6P8An8ABAOQr9PTK5P8Aq8ABADgt9eb1yf8At8ABACNR///yrv8Aw8ABAGw14rPizf8Az8ABABFR/f3NrP8A28ABAJsf6MvV6P8A58ABAOQr9PTK5P8A88ABADgt9eb1yf8A/8ABACNR///yrv8AC8EBABkn8fHizP8AF8EBAGw14rPizf8AI8EBABFR/f3NrP8AL8EBAJsf6MvV6P8AO8EBAOQr9PTK5P8AR8EBADgt9eb1yf8AU8EBACNR///yrv8AX8EBABkn8fHizP8Aa8EBAAAAzMzMzP8Ad8EBAOb9jo4BUv8AgcEBAE2/ZCdkGf8AjMEBAObcxcUbff8AlsEBAOh23t53rv8AoMEBAOU+8fG22v8AqsEBAOkd/f3g7/8AtMEBADsm9eb10P8AvsEBAD1n4bjhhv8AyMEBAD+mvH+8Qf8A0sEBAETFkk2SIf8A3MEBAOb9jo4BUv8A5sEBAETFkk2SIf8A8cEBAE2/ZCdkGf8A/MEBAObcxcUbff8ABsIBAOh23t53rv8AEMIBAOU+8fG22v8AGsIBAOkd/f3g7/8AJMIBAAAA9/f39/8ALsIBADsm9eb10P8AOMIBAD1n4bjhhv8AQsIBAD+mvH+8Qf8ATMIBAOdM6emjyf8AVcIBAAAA9/f39/8AXsIBAD+B16HXav8AZ8IBAOTc0NAci/8AcMIBAOU+8fG22v8AecIBAD1n4bjhhv8AgsIBAEjGrE2sJv8Ai8IBAOTc0NAci/8AlMIBAOU+8fG22v8AncIBAAAA9/f39/8ApsIBAD1n4bjhhv8Ar8IBAEjGrE2sJv8AuMIBAObcxcUbff8AwcIBAOdM6emjyf8AysIBAOkd/f3g7/8A08IBADsm9eb10P8A3MIBAD+B16HXav8A5cIBAETFkk2SIf8A7sIBAObcxcUbff8A98IBAOdM6emjyf8AAMMBAOkd/f3g7/8ACcMBAAAA9/f39/8AEsMBADsm9eb10P8AG8MBAD+B16HXav8AJMMBAETFkk2SIf8ALcMBAObcxcUbff8ANsMBAOh23t53rv8AP8MBAOU+8fG22v8ASMMBAOkd/f3g7/8AUcMBADsm9eb10P8AWsMBAD1n4bjhhv8AY8MBAD+mvH+8Qf8AbMMBAETFkk2SIf8AdcMBAObcxcUbff8AfsMBAOh23t53rv8Ah8MBAOU+8fG22v8AkMMBAOkd/f3g7/8AmcMBAAAA9/f39/8AosMBADsm9eb10P8Aq8MBAD1n4bjhhv8AtMMBAD+mvH+8Qf8AvcMBAETFkk2SIf8AxsMBAM7/S0AAS/8A0MMBAGX/RABEG/8A28MBAM6tg3Yqg/8A5cMBAMdXq5lwq/8A78MBAMczz8Klz/8A+cMBANIV6OfU6P8AA8QBAEwe8Nnw0/8ADcQBAFBE26bboP8AF8QBAFh7rlquYf8AIcQBAGHFeBt4N/8AK8QBAM7/S0AAS/8ANcQBAGHFeBt4N/8AQMQBAGX/RABEG/8AS8QBAM6tg3Yqg/8AVcQBAMdXq5lwq/8AX8QBAMczz8Klz/8AacQBANIV6OfU6P8Ac8QBAAAA9/f39/8AfcQBAEwe8Nnw0/8Ah8QBAFBE26bboP8AkcQBAFh7rlquYf8Am8QBAMRGw6+Nw/8ApMQBAAAA9/f39/8ArcQBAFJav3+/e/8AtsQBAMmolHsylP8Av8QBAMczz8Klz/8AyMQBAFBE26bboP8A0cQBAGb/iACIN/8A2sQBAMmolHsylP8A48QBAMczz8Klz/8A7MQBAAAA9/f39/8A9cQBAFBE26bboP8A/sQBAGb/iACIN/8AB8UBAM6tg3Yqg/8AEMUBAMRGw6+Nw/8AGcUBANIV6OfU6P8AIsUBAEwe8Nnw0/8AK8UBAFJav3+/e/8ANMUBAGHFeBt4N/8APcUBAM6tg3Yqg/8ARsUBAMRGw6+Nw/8AT8UBANIV6OfU6P8AWMUBAAAA9/f39/8AYcUBAEwe8Nnw0/8AasUBAFJav3+/e/8Ac8UBAGHFeBt4N/8AfMUBAM6tg3Yqg/8AhcUBAMdXq5lwq/8AjsUBAMczz8Klz/8Al8UBANIV6OfU6P8AoMUBAEwe8Nnw0/8AqcUBAFBE26bboP8AssUBAFh7rlquYf8Au8UBAGHFeBt4N/8AxMUBAM6tg3Yqg/8AzcUBAMdXq5lwq/8A1sUBAMczz8Klz/8A38UBANIV6OfU6P8A6MUBAAAA9/f39/8A8cUBAEwe8Nnw0/8A+sUBAFBE26bboP8AA8YBAFh7rlquYf8ADMYBAGHFeBt4N/8AFcYBAL0L8uzn8v8AHsYBAJc926a92/8AJ8YBAI3FviuMvv8AMMYBALkI9vHu9v8AOcYBAJso4b3J4f8AQsYBAJFwz3Spz/8AS8YBAI/3sAVwsP8AVMYBALkI9vHu9v8AXcYBAJso4b3J4f8AZsYBAJFwz3Spz/8Ab8YBAI3FviuMvv8AeMYBAI/3jQRajf8AgcYBALkI9vHu9v8AisYBAKgY5tDR5v8Ak8YBAJc926a92/8AnMYBAJFwz3Spz/8ApcYBAI3FviuMvv8ArsYBAI/3jQRajf8At8YBALkI9vHu9v8AwMYBAKgY5tDR5v8AycYBAJc926a92/8A0sYBAJFwz3Spz/8A28YBAI63wDaQwP8A5MYBAI/3sAVwsP8A7cYBAI/4ewNOe/8A9sYBAOkI///3+/8A/8YBAL0L8uzn8v8ACMcBAKgY5tDR5v8AEccBAJc926a92/8AGscBAJFwz3Spz/8AI8cBAI63wDaQwP8ALMcBAI/3sAVwsP8ANccBAI/4ewNOe/8APscBAOkI///3+/8AR8cBAL0L8uzn8v8AUMcBAKgY5tDR5v8AWccBAJc926a92/8AYscBAJFwz3Spz/8Aa8cBAI63wDaQwP8AdMcBAI/3sAVwsP8AfccBAI/3jQRajf8AhscBAI/5WAI4WP8Aj8cBAMgO8Ozi8P8AmscBAJc926a92/8ApccBAILQmRyQmf8AsMcBAM8I9/bv9/8Au8cBAJso4b3J4f8AxscBAI+Az2epz/8A0ccBAIL7igKBiv8A3McBAM8I9/bv9/8A58cBAJso4b3J4f8A8scBAI+Az2epz/8A/ccBAILQmRyQmf8ACMgBAHf8bAFsWf8AE8gBAM8I9/bv9/8AHsgBAKgY5tDR5v8AKcgBAJc926a92/8ANMgBAI+Az2epz/8AP8gBAILQmRyQmf8ASsgBAHf8bAFsWf8AVcgBAM8I9/bv9/8AYMgBAKgY5tDR5v8Aa8gBAJc926a92/8AdsgBAI+Az2epz/8AgcgBAI63wDaQwP8AjMgBAIL7igKBiv8Al8gBAHb8ZAFkUP8AosgBAOkI///3+/8ArcgBAMgO8Ozi8P8AuMgBAKgY5tDR5v8Aw8gBAJc926a92/8AzsgBAI+Az2epz/8A2cgBAI63wDaQwP8A5MgBAIL7igKBiv8A78gBAHb8ZAFkUP8A+sgBAOkI///3+/8ABckBAMgO8Ozi8P8AEMkBAKgY5tDR5v8AG8kBAJc926a92/8AJskBAI+Az2epz/8AMckBAI63wDaQwP8APMkBAIL7igKBiv8AR8kBAHf8bAFsWf8AUskBAHX7RgFGNv8AXckBABLuf387CP8AZ8kBAMP/Sy0AS/8AcskBABT2s7NYBv8AfMkBABbo4OCCFP8AhskBABeb/f24Y/8AkMkBABhI/v7gtv8AmskBAKUU69ja6/8ApMkBALEv0rKr0v8ArskBALNUrIBzrP8AuMkBAL21iFQniP8AwskBABLuf387CP8AzMkBAL21iFQniP8A18kBAMP/Sy0AS/8A4skBABT2s7NYBv8A7MkBABbo4OCCFP8A9skBABeb/f24Y/8AAMoBABhI/v7gtv8ACsoBAAAA9/f39/8AFMoBAKUU69ja6/8AHsoBALEv0rKr0v8AKMoBALNUrIBzrP8AMsoBABe78fGjQP8AO8oBAAAA9/f39/8ARMoBALJFw5mOw/8ATcoBABH95uZhAf8AVsoBABeb/f24Y/8AX8oBALEv0rKr0v8AaMoBALmbmV48mf8AccoBABH95uZhAf8AesoBABeb/f24Y/8Ag8oBAAAA9/f39/8AjMoBALEv0rKr0v8AlcoBALmbmV48mf8AnsoBABT2s7NYBv8Ap8oBABe78fGjQP8AsMoBABhI/v7gtv8AucoBAKUU69ja6/8AwsoBALJFw5mOw/8Ay8oBAL21iFQniP8A1MoBABT2s7NYBv8A3coBABe78fGjQP8A5soBABhI/v7gtv8A78oBAAAA9/f39/8A+MoBAKUU69ja6/8AAcsBALJFw5mOw/8ACssBAL21iFQniP8AE8sBABT2s7NYBv8AHMsBABbo4OCCFP8AJcsBABeb/f24Y/8ALssBABhI/v7gtv8AN8sBAKUU69ja6/8AQMsBALEv0rKr0v8AScsBALNUrIBzrP8AUssBAL21iFQniP8AW8sBABT2s7NYBv8AZMsBABbo4OCCFP8AbcsBABeb/f24Y/8AdssBABhI/v7gtv8Af8sBAAAA9/f39/8AiMsBAKUU69ja6/8AkcsBALEv0rKr0v8AmssBALNUrIBzrP8Ao8sBAL21iFQniP8ArMsBALwO7+fh7/8AtcsBANZDycmUx/8AvssBAOre3d0cd/8Ax8sBALkI9vHu9v8A0MsBANMp2Ne12P8A2csBAOSL399lsP8A4ssBAO/ozs4SVv8A68sBALkI9vHu9v8A9MsBANMp2Ne12P8A/csBAOSL399lsP8ABswBAOre3d0cd/8AD8wBAOz/mJgAQ/8AGMwBALkI9vHu9v8AIcwBAMwm2tS52v8AKswBANZDycmUx/8AM8wBAOSL399lsP8APMwBAOre3d0cd/8ARcwBAOz/mJgAQ/8ATswBALkI9vHu9v8AV8wBAMwm2tS52v8AYMwBANZDycmUx/8AacwBAOSL399lsP8AcswBAOnR5+cpiv8Ae8wBAO/ozs4SVv8AhMwBAOz/kZEAP/8AjcwBAMMF+ff0+f8AlswBALwO7+fh7/8An8wBAMwm2tS52v8AqMwBANZDycmUx/8AscwBAOSL399lsP8AuswBAOnR5+cpiv8Aw8wBAO/ozs4SVv8AzMwBAOz/kZEAP/8A1cwBAMMF+ff0+f8A3swBALwO7+fh7/8A58wBAMwm2tS52v8A8MwBANZDycmUx/8A+cwBAOSL399lsP8AAs0BAOnR5+cpiv8AC80BAO/ozs4SVv8AFM0BAOz/mJgAQ/8AHc0BAPL/Z2cAH/8AJs0BALQI9e/t9f8AMs0BAKgl3Ly93P8APs0BALBksXVrsf8ASs0BALYH9/Lw9/8AVs0BAK0c4svJ4v8AYs0BAK06yJ6ayP8Abs0BALaAo2pRo/8Aes0BALYH9/Lw9/8Ahs0BAK0c4svJ4v8Aks0BAK06yJ6ayP8Ans0BALBksXVrsf8Aqs0BALy5j1Qnj/8Ats0BALYH9/Lw9/8Aws0BAKoS69ra6/8Azs0BAKgl3Ly93P8A2s0BAK06yJ6ayP8A5s0BALBksXVrsf8A8s0BALy5j1Qnj/8A/s0BALYH9/Lw9/8ACs4BAKoS69ra6/8AFs4BAKgl3Ly93P8AIs4BAK06yJ6ayP8ALs4BAKxTuoB9uv8AOs4BALaAo2pRo/8ARs4BAL7YhkoUhv8AUs4BAL8C/fz7/f8AXs4BALQI9e/t9f8Aas4BAKoS69ra6/8Ads4BAKgl3Ly93P8Ags4BAK06yJ6ayP8Ajs4BAKxTuoB9uv8Ams4BALaAo2pRo/8Aps4BAL7YhkoUhv8Ass4BAL8C/fz7/f8Avs4BALQI9e/t9f8Ays4BAKoS69ra6/8A1s4BAKgl3Ly93P8A4s4BAK06yJ6ayP8A7s4BAKxTuoB9uv8A+s4BALaAo2pRo/8ABs8BALy5j1Qnj/8AEs8BAL//fT8Aff8AHs8BAPL/Z2cAH/8AKM8BAJbxYQUwYf8AM88BAPncsrIYK/8APc8BAAWj1tZgTf8AR88BAA139PSlgv8AUc8BAA82/f3bx/8AW88BAI4g8NHl8P8AZc8BAI1X3pLF3v8Ab88BAI+nw0OTw/8Aec8BAJTOrCFmrP8Ag88BAPL/Z2cAH/8Ajc8BAJTOrCFmrP8AmM8BAJbxYQUwYf8Ao88BAPncsrIYK/8Arc8BAAWj1tZgTf8At88BAA139PSlgv8Awc8BAA82/f3bx/8Ay88BAAAA9/f39/8A1c8BAI4g8NHl8P8A388BAI1X3pLF3v8A6c8BAI+nw0OTw/8A888BAAyW7++KYv8A/M8BAAAA9/f39/8ABdABAI+Az2epz/8ADtABAPj/ysoAIP8AF9ABAA139PSlgv8AINABAI1X3pLF3v8AKdABAI/3sAVxsP8AMtABAPj/ysoAIP8AO9ABAA139PSlgv8ARNABAAAA9/f39/8ATdABAI1X3pLF3v8AVtABAI/3sAVxsP8AX9ABAPncsrIYK/8AaNABAAyW7++KYv8AcdABAA82/f3bx/8AetABAI4g8NHl8P8Ag9ABAI+Az2epz/8AjNABAJTOrCFmrP8AldABAPncsrIYK/8AntABAAyW7++KYv8Ap9ABAA82/f3bx/8AsNABAAAA9/f39/8AudABAI4g8NHl8P8AwtABAI+Az2epz/8Ay9ABAJTOrCFmrP8A1NABAPncsrIYK/8A3dABAAWj1tZgTf8A5tABAA139PSlgv8A79ABAA82/f3bx/8A+NABAI4g8NHl8P8AAdEBAI1X3pLF3v8ACtEBAI+nw0OTw/8AE9EBAJTOrCFmrP8AHNEBAPncsrIYK/8AJdEBAAWj1tZgTf8ALtEBAA139PSlgv8AN9EBAA82/f3bx/8AQNEBAAAA9/f39/8ASdEBAI4g8NHl8P8AUtEBAI1X3pLF3v8AW9EBAI+nw0OTw/8AZNEBAJTOrCFmrP8AbdEBAPL/Z2cAH/8Ad9EBAAAAGhoaGv8AgtEBAPncsrIYK/8AjNEBAAWj1tZgTf8AltEBAA139PSlgv8AoNEBAA82/f3bx/8AqtEBAAAA4ODg4P8AtNEBAAAAurq6uv8AvtEBAAAAh4eHh/8AyNEBAAAATU1NTf8A0tEBAPL/Z2cAH/8A3NEBAAAATU1NTf8A59EBAAAAGhoaGv8A8tEBAPncsrIYK/8A/NEBAAWj1tZgTf8ABtIBAA139PSlgv8AENIBAA82/f3bx/8AGtIBAAAA//////8AJNIBAAAA4ODg4P8ALtIBAAAAurq6uv8AONIBAAAAh4eHh/8AQtIBAAyW7++KYv8AS9IBAAAA//////8AVNIBAAAAmZmZmf8AXdIBAPj/ysoAIP8AZtIBAA139PSlgv8Ab9IBAAAAurq6uv8AeNIBAAAAQEBAQP8AgdIBAPj/ysoAIP8AitIBAA139PSlgv8Ak9IBAAAA//////8AnNIBAAAAurq6uv8ApdIBAAAAQEBAQP8ArtIBAPncsrIYK/8At9IBAAyW7++KYv8AwNIBAA82/f3bx/8AydIBAAAA4ODg4P8A0tIBAAAAmZmZmf8A29IBAAAATU1NTf8A5NIBAPncsrIYK/8A7dIBAAyW7++KYv8A9tIBAA82/f3bx/8A/9IBAAAA//////8ACNMBAAAA4ODg4P8AEdMBAAAAmZmZmf8AGtMBAAAATU1NTf8AI9MBAPncsrIYK/8ALNMBAAWj1tZgTf8ANdMBAA139PSlgv8APtMBAA82/f3bx/8AR9MBAAAA4ODg4P8AUNMBAAAAurq6uv8AWdMBAAAAh4eHh/8AYtMBAAAATU1NTf8Aa9MBAPncsrIYK/8AdNMBAAWj1tZgTf8AfdMBAA139PSlgv8AhtMBAA82/f3bx/8Aj9MBAAAA//////8AmNMBAAAA4ODg4P8AodMBAAAAurq6uv8AqtMBAAAAh4eHh/8As9MBAAAATU1NTf8AvNMBAAMg/f3g3f8AxdMBAPRc+vqftf8AztMBAOPcxcUbiv8A19MBAA0c/v7r4v8A4NMBAPxI+/u0uf8A6dMBAO6T9/doof8A8tMBAOD9rq4Bfv8A+9MBAA0c/v7r4v8ABNQBAPxI+/u0uf8ADdQBAO6T9/doof8AFtQBAOPcxcUbiv8AH9QBANX8enoBd/8AKNQBAA0c/v7r4v8AMdQBAAM8/PzFwP8AOtQBAPRc+vqftf8AQ9QBAO6T9/doof8ATNQBAOPcxcUbiv8AVdQBANX8enoBd/8AXtQBAA0c/v7r4v8AZ9QBAAM8/PzFwP8AcNQBAPRc+vqftf8AedQBAO6T9/doof8AgtQBAObD3d00l/8Ai9QBAOD9rq4Bfv8AlNQBANX8enoBd/8AndQBAA4M///38/8AptQBAAMg/f3g3f8Ar9QBAAM8/PzFwP8AuNQBAPRc+vqftf8AwdQBAO6T9/doof8AytQBAObD3d00l/8A09QBAOD9rq4Bfv8A3NQBANX8enoBd/8A5dQBAA4M///38/8A7tQBAAMg/f3g3f8A99QBAAM8/PzFwP8AANUBAPRc+vqftf8ACdUBAO6T9/doof8AEtUBAObD3d00l/8AG9UBAOD9rq4Bfv8AJNUBANX8enoBd/8ALdUBAMf/akkAav8ANtUBAPX/paUAJv8AQtUBAKerlTE2lf8AT9UBAALQ19cwJ/8AW9UBAAq49PRtQ/8AZ9UBABSd/f2uYf8Ac9UBAB5u/v7gkP8Af9UBAIgY+ODz+P8Ai9UBAIpD6avZ6f8Al9UBAI9x0XSt0f8Ao9UBAJedtEV1tP8Ar9UBAPX/paUAJv8Au9UBAJedtEV1tP8AyNUBAKerlTE2lf8A1dUBAALQ19cwJ/8A4dUBAAq49PRtQ/8A7dUBABSd/f2uYf8A+dUBAB5u/v7gkP8ABdYBACpA////v/8AEdYBAIgY+ODz+P8AHdYBAIpD6avZ6f8AKdYBAI9x0XSt0f8ANdYBAA2k/PyNWf8AQNYBACpA////v/8AS9YBAI9W25G/2/8AVtYBAP7h19cZHP8AYdYBABSd/f2uYf8AbNYBAIpD6avZ6f8Ad9YBAJHBtix7tv8AgtYBAP7h19cZHP8AjdYBABSd/f2uYf8AmNYBACpA////v/8Ao9YBAIpD6avZ6f8ArtYBAJHBtix7tv8AudYBAALQ19cwJ/8AxNYBAA2k/PyNWf8Az9YBAB5u/v7gkP8A2tYBAIgY+ODz+P8A5dYBAI9W25G/2/8A8NYBAJedtEV1tP8A+9YBAALQ19cwJ/8ABtcBAA2k/PyNWf8AEdcBAB5u/v7gkP8AHNcBACpA////v/8AJ9cBAIgY+ODz+P8AMtcBAI9W25G/2/8APdcBAJedtEV1tP8ASNcBAALQ19cwJ/8AU9cBAAq49PRtQ/8AXtcBABSd/f2uYf8AadcBAB5u/v7gkP8AdNcBAIgY+ODz+P8Af9cBAIpD6avZ6f8AitcBAI9x0XSt0f8AldcBAJedtEV1tP8AoNcBAALQ19cwJ/8Aq9cBAAq49PRtQ/8AttcBABSd/f2uYf8AwdcBAB5u/v7gkP8AzNcBACpA////v/8A19cBAIgY+ODz+P8A4tcBAIpD6avZ6f8A7dcBAI9x0XSt0f8A+NcBAJedtEV1tP8AA9gBAPX/paUAJv8AD9gBAGv/aABoN/8AHNgBAALQ19cwJ/8AKNgBAAq49PRtQ/8ANNgBABSd/f2uYf8AQNgBAB9z/v7gi/8ATNgBADNq79nvi/8AWNgBAD6C2abZav8AZNgBAFN5vWa9Y/8AcNgBAGfTmBqYUP8AfNgBAPX/paUAJv8AiNgBAGfTmBqYUP8AldgBAGv/aABoN/8AotgBAALQ19cwJ/8ArtgBAAq49PRtQ/8AutgBABSd/f2uYf8AxtgBAB9z/v7gi/8A0tgBACpA////v/8A3tgBADNq79nvi/8A6tgBAD6C2abZav8A9tgBAFN5vWa9Y/8AAtkBAA2k/PyNWf8ADdkBACpA////v/8AGNkBAEKIz5HPYP8AI9kBAP7h19cZHP8ALtkBABSd/f2uYf8AOdkBAD6C2abZav8ARNkBAGLSlhqWQf8AT9kBAP7h19cZHP8AWtkBABSd/f2uYf8AZdkBACpA////v/8AcNkBAD6C2abZav8Ae9kBAGLSlhqWQf8AhtkBAALQ19cwJ/8AkdkBAA2k/PyNWf8AnNkBAB9z/v7gi/8Ap9kBADNq79nvi/8AstkBAEKIz5HPYP8AvdkBAGfTmBqYUP8AyNkBAALQ19cwJ/8A09kBAA2k/PyNWf8A3tkBAB9z/v7gi/8A6dkBACpA////v/8A9NkBADNq79nvi/8A/9kBAEKIz5HPYP8ACtoBAGfTmBqYUP8AFdoBAALQ19cwJ/8AINoBAAq49PRtQ/8AK9oBABSd/f2uYf8ANtoBAB9z/v7gi/8AQdoBADNq79nvi/8ATNoBAD6C2abZav8AV9oBAFN5vWa9Y/8AYtoBAGfTmBqYUP8AbdoBAALQ19cwJ/8AeNoBAAq49PRtQ/8Ag9oBABSd/f2uYf8AjtoBAB9z/v7gi/8AmdoBACpA////v/8ApNoBADNq79nvi/8Ar9oBAD6C2abZav8AutoBAFN5vWa9Y/8AxdoBAGfTmBqYUP8A0NoBAA0s/v7g0v8A2doBAAmL/PyScv8A4toBAAHT3t4tJv8A69oBAA0l/v7l2f8A9NoBAAts/Pyukf8A/doBAAez+/tqSv8ABtsBAP3gy8sYHf8AD9sBAA0l/v7l2f8AGNsBAAts/Pyukf8AIdsBAAez+/tqSv8AKtsBAAHT3t4tJv8AM9sBAP3npaUPFf8APNsBAA0l/v7l2f8ARdsBAAxc/Py7of8ATtsBAAmL/PyScv8AV9sBAAez+/tqSv8AYNsBAAHT3t4tJv8AadsBAP3npaUPFf8ActsBAA0l/v7l2f8Ae9sBAAxc/Py7of8AhNsBAAmL/PyScv8AjdsBAAez+/tqSv8AltsBAAPQ7+87LP8An9sBAP3gy8sYHf8AqNsBAPv/mZkADf8AsdsBAA4P///18P8AutsBAA0s/v7g0v8Aw9sBAAxc/Py7of8AzNsBAAmL/PyScv8A1dsBAAez+/tqSv8A3tsBAAPQ7+87LP8A59sBAP3gy8sYHf8A8NsBAPv/mZkADf8A+dsBAA4P///18P8AAtwBAA0s/v7g0v8AC9wBAAxc/Py7of8AFNwBAAmL/PyScv8AHdwBAAez+/tqSv8AJtwBAAPQ7+87LP8AL9wBAP3gy8sYHf8AONwBAP3npaUPFf8AQdwBAPn/Z2cADf8AStwBAP7h5OQaHP8AU9wBAJKyuDd+uP8AXNwBAFOTr02vSv8AZdwBAP7h5OQaHP8AbtwBAJKyuDd+uP8Ad9wBAFOTr02vSv8AgNwBAM+Eo5hOo/8AidwBAP7h5OQaHP8AktwBAJKyuDd+uP8Am9wBAFOTr02vSv8ApNwBAM+Eo5hOo/8ArdwBABX///9/AP8AttwBAP7h5OQaHP8Av9wBAJKyuDd+uP8AyNwBAFOTr02vSv8A0dwBAM+Eo5hOo/8A2twBABX///9/AP8A49wBACrM////M/8A7NwBAP7h5OQaHP8A9dwBAJKyuDd+uP8A/twBAFOTr02vSv8AB90BAM+Eo5hOo/8AEN0BABX///9/AP8AGd0BACrM////M/8AIt0BAA/BpqZWKP8AK90BAP7h5OQaHP8ANN0BAJKyuDd+uP8APd0BAFOTr02vSv8ARt0BAM+Eo5hOo/8AT90BABX///9/AP8AWN0BACrM////M/8AYd0BAA/BpqZWKP8Aat0BAOh59/eBv/8Ac90BAP7h5OQaHP8AfN0BAJKyuDd+uP8Ahd0BAFOTr02vSv8Ajt0BAM+Eo5hOo/8Al90BABX///9/AP8AoN0BACrM////M/8Aqd0BAA/BpqZWKP8Ast0BAOh59/eBv/8Au90BAAAAmZmZmf8AxN0BAHJ4wmbCpf8Azd0BAAub/PyNYv8A1t0BAJxNy42gy/8A390BAHJ4wmbCpf8A6N0BAAub/PyNYv8A8d0BAJxNy42gy/8A+t0BAORm5+eKw/8AA94BAHJ4wmbCpf8ADN4BAAub/PyNYv8AFd4BAJxNy42gy/8AHt4BAORm5+eKw/8AJ94BADqb2KbYVP8AMN4BAHJ4wmbCpf8AOd4BAAub/PyNYv8AQt4BAJxNy42gy/8AS94BAORm5+eKw/8AVN4BADqb2KbYVP8AXd4BACLQ///ZL/8AZt4BAHJ4wmbCpf8Ab94BAAub/PyNYv8AeN4BAJxNy42gy/8Agd4BAORm5+eKw/8Ait4BADqb2KbYVP8Ak94BACLQ///ZL/8AnN4BABla5eXElP8Apd4BAHJ4wmbCpf8Art4BAAub/PyNYv8At94BAJxNy42gy/8AwN4BAORm5+eKw/8Ayd4BADqb2KbYVP8A0t4BACLQ///ZL/8A294BABla5eXElP8A5N4BAAAAs7Ozs/8A7d4BAHhU043Tx/8A994BANNSvbyAvf8AAt8BACpM////s/8ADN8BAK8l2r662v8AFt8BAASL+/uAcv8AIN8BAJBk04Cx0/8AKt8BABac/f20Yv8ANN8BADqG3rPeaf8APt8BAOkv/PzN5f8ASN8BAAAA2dnZ2f8AUt8BAHhU043Tx/8AXN8BANNSvbyAvf8AZ98BAE0p68zrxf8Act8BACpM////s/8AfN8BAK8l2r662v8Aht8BAASL+/uAcv8AkN8BAJBk04Cx0/8Amt8BABac/f20Yv8ApN8BADqG3rPeaf8Art8BAOkv/PzN5f8AuN8BAAAA2dnZ2f8Awt8BAHhU043Tx/8AzN8BANNSvbyAvf8A198BAE0p68zrxf8A4t8BACWQ///tb/8A7d8BACpM////s/8A998BAK8l2r662v8AAeABAASL+/uAcv8AC+ABAJBk04Cx0/8AFeABABac/f20Yv8AH+ABADqG3rPeaf8AKeABAOkv/PzN5f8AM+ABAAAA2dnZ2f8APeABAHhU043Tx/8ARuABACpM////s/8AT+ABAK8l2r662v8AWOABAHhU043Tx/8AYeABACpM////s/8AauABAK8l2r662v8Ac+ABAASL+/uAcv8AfOABAHhU043Tx/8AheABACpM////s/8AjuABAK8l2r662v8Al+ABAASL+/uAcv8AoOABAJBk04Cx0/8AqeABAHhU043Tx/8AsuABACpM////s/8Au+ABAK8l2r662v8AxOABAASL+/uAcv8AzeABAJBk04Cx0/8A1uABABac/f20Yv8A3+ABAHhU043Tx/8A6OABACpM////s/8A8eABAK8l2r662v8A+uABAASL+/uAcv8AA+EBAJBk04Cx0/8ADOEBABac/f20Yv8AFeEBADqG3rPeaf8AHuEBAHhU043Tx/8AJ+EBACpM////s/8AMOEBAK8l2r662v8AOeEBAASL+/uAcv8AQuEBAJBk04Cx0/8AS+EBABac/f20Yv8AVOEBADqG3rPeaf8AXeEBAOkv/PzN5f8AZuEBAHhU043Tx/8Ab+EBACpM////s/8AeOEBAK8l2r662v8AgeEBAASL+/uAcv8AiuEBAJBk04Cx0/8Ak+EBABac/f20Yv8AnOEBADqG3rPeaf8ApeEBAOkv/PzN5f8AruEBAAAA2dnZ2f8At+EBAO39np4BQv8AxeEBALGCol5Pov8A1OEBAPq01dU+T/8A4uEBAAq49PRtQ/8A8OEBABSd/f2uYf8A/uEBAB9z/v7gi/8ADOIBADFg9eb1mP8AGuIBAE9B3avdpP8AKOIBAHJ4wmbCpf8ANuIBAI+7vTKIvf8AROIBAO39np4BQv8AUuIBAI+7vTKIvf8AYeIBALGCol5Pov8AcOIBAPq01dU+T/8AfuIBAAq49PRtQ/8AjOIBABSd/f2uYf8AmuIBAB9z/v7gi/8AqOIBACpA////v/8AtuIBADFg9eb1mP8AxOIBAE9B3avdpP8A0uIBAHJ4wmbCpf8A4OIBAA2k/PyNWf8A7eIBACpA////v/8A+uIBAFFN1ZnVlP8AB+MBAP7h19cZHP8AFOMBABSd/f2uYf8AIeMBAE9B3avdpP8ALuMBAI/EuiuDuv8AO+MBAP7h19cZHP8ASOMBABSd/f2uYf8AVeMBACpA////v/8AYuMBAE9B3avdpP8Ab+MBAI/EuiuDuv8AfOMBAPq01dU+T/8AieMBAA2k/PyNWf8AluMBAB9z/v7gi/8Ao+MBADFg9eb1mP8AsOMBAFFN1ZnVlP8AveMBAI+7vTKIvf8AyuMBAPq01dU+T/8A1+MBAA2k/PyNWf8A5OMBAB9z/v7gi/8A8eMBACpA////v/8A/uMBADFg9eb1mP8AC+QBAFFN1ZnVlP8AGOQBAI+7vTKIvf8AJeQBAPq01dU+T/8AMuQBAAq49PRtQ/8AP+QBABSd/f2uYf8ATOQBAB9z/v7gi/8AWeQBADFg9eb1mP8AZuQBAE9B3avdpP8Ac+QBAHJ4wmbCpf8AgOQBAI+7vTKIvf8AjeQBAPq01dU+T/8AmuQBAAq49PRtQ/8Ap+QBABSd/f2uYf8AtOQBAB9z/v7gi/8AweQBACpA////v/8AzuQBADFg9eb1mP8A2+QBAE9B3avdpP8A6OQBAHJ4wmbCpf8A9eQBAI+7vTKIvf8AAuUBAJMP//D4//8AEeUBABgj+vrr1/8AI+UBAH///wD///8ALeUBAHGA/3//1P8APeUBAH8P//D///8ASOUBACoa9fX13P8AU+UBABc6///kxP8AX+UBAAAAAAAAAP8AauUBABkx///rzf8AfuUBAKr//wAA//8AiOUBAMDO4oor4v8AmOUBAAC+paUqKv8Ao+UBABdj3t64h/8AsuUBAIBnoF+eoP8AweUBAD///3//AP8A0eUBABHa0tJpHv8A4OUBAAuv//9/UP8A6+UBAJqT7WSV7f8A/+UBACEi///43P8ADeYBAPbn3NwUPP8AGuYBAH///wD///8AJOYBAKr/iwAAi/8AMuYBAH//iwCLi/8AQOYBAB7vuLiGC/8AU+YBAAAAqampqf8AYeYBAFX/ZABkAP8AcOYBAAAAqampqf8AfuYBACduvb23a/8AjeYBANT/i4sAi/8AnuYBADqOa1VrL/8AsuYBABf///+MAP8AwuYBAMbAzJkyzP8A0uYBAAD/i4sAAP8A3+YBAAp56emWev8A7+YBAFU9vI+8j/8AAecBAK+Pi0g9i/8AFOcBAH9nTy9PT/8AJ+cBAH9nTy9PT/8AOucBAID/0QDO0f8ATecBAMf/05QA0/8AXecBAOjr//8Uk/8Aa+cBAIr//wC///8AfOcBAAAAaWlpaf8AiecBAAAAaWlpaf8AlucBAJTh/x6Q//8ApucBAADOsrIiIv8AtecBABwP///68P8AxucBAFXAiyKLIv8A1+cBANT///8A//8A5OcBAAAA3Nzc3P8A8+cBAKoH//j4//8AA+gBACP////XAP8ADegBAB7Z2tqlIP8AHOgBAAAAgICAgP8AJugBAFX/gACAAP8AMegBADvQ/63/L/8AQugBAAAAgICAgP8ATOgBAFUP//D/8P8AWugBAOmW//9ptP8AZ+gBAACMzc1cXP8AdugBAML/gksAgv8AgugBACoP////8P8AjegBACZq8PDmjP8AmOgBAKoU+ubm+v8ApugBAPAP///w9f8AuegBAED//Hz8AP8AyOgBACYx///6zf8A2ugBAIk/5q3Y5v8A6egBAAB38PCAgP8A+egBAH8f/+D///8ACOkBACoo+vr60v8AIukBAAAA09PT0/8AMekBAFVk7pDukP8AQekBAAAA09PT0/8AUOkBAPhJ//+2wf8AX+kBAAyE//+gev8AcOkBAH3RsiCyqv8Ag+kBAI91+ofO+v8AlekBAJQ4mXeImf8AqekBAJQ4mXeImf8AvekBAJc03rDE3v8A0ekBACof////4P8A4ukBAFX//wD/AP8A7OkBAFXAzTLNMv8A++kBABUU+vrw5v8ABuoBANT///8A//8AE+oBAAD/gIAAAP8AH+oBAHGAzWbNqv8ANeoBAKr/zQAAzf8AReoBAMyY07pV0/8AV+oBALd825Nw2/8AaeoBAGepszyzcf8AfeoBALCP7nto7v8AkuoBAG//+gD6mv8AqeoBAH2n0UjRzP8AvuoBAOTkx8cVhf8A0+oBAKrGcBkZcP8A5eoBAGoJ//X/+v8A9OoBAAQe///k4f8AA+sBABpJ///ktf8AEesBABlR///erf8AIusBAKr/gAAAgP8ALOsBABsX/f315v8AOesBACr/gICAAP8AROsBADjAjmuOI/8AU+sBABv///+lAP8AX+sBAAv///9FAP8AbusBANZ72tpw1v8AeusBACZI7u7oqv8AjesBAFVk+5j7mP8AnOsBAH9D7q/u7v8Ar+sBAPF829twk/8AwusBABop///v1f8A0usBABRG///auf8A4esBABSwzc2FP/8A6+sBAPc////Ay/8A9esBANRG3d2g3f8A/+sBAIQ75rDg5v8AD+wBANT/gIAAgP8AG+wBAAD///8AAP8AJOwBAAA9vLyPj/8AM+wBAJ+14UFp4f8AQuwBABHci4tFE/8AU+wBAASK+vqAcv8AX+wBABOa9PSkYP8Ab+wBAGeqiy6LV/8AfewBABEQ///17v8Ai+wBAA23oKBSLf8Al+wBAAAAwMDAwP8Ao+wBAIts64fO6/8AsOwBAK+PzWpazf8Av+wBAJQ4kHCAkP8AzuwBAJQ4kHCAkP8A3ewBAAAF///6+v8A5+wBAGr//wD/f/8A+OwBAJKbtEaCtP8AB+0BABhU0tK0jP8AEO0BAH//gACAgP8AGu0BANQd2Ni/2P8AJ+0BAAa4//9jR/8AM+0BAHu24EDg0P8AQu0BANRz7u6C7v8ATu0BABtE9fXes/8AWe0BAAAA//////8AZO0BAAAA9fX19f8AdO0BACr/////AP8AgO0BADjAzZrNMv8Ake0BAC1D/Pf8uf8Amu0BAERb3a3djv8Ao+0BAGKyozGjVP8ArO0BACoy////zP8Ate0BAD5V5sLmmf8Avu0BAFVkxnjGef8Ax+0BAGO7hCOEQ/8A0O0BACoy////zP8A2e0BAD5V5sLmmf8A4u0BAFVkxnjGef8A6+0BAGKyozGjVP8A9O0BAGv/aABoN/8A/e0BACoy////zP8ABu4BADdR8Nnwo/8AD+4BAERb3a3djv8AGO4BAFVkxnjGef8AIe4BAGKyozGjVP8AKu4BAGv/aABoN/8AM+4BACoy////zP8APO4BADdR8Nnwo/8ARe4BAERb3a3djv8ATu4BAFVkxnjGef8AV+4BAGCeq0GrXf8AYO4BAGO7hCOEQ/8Aae4BAGz/WgBaMv8Acu4BACoZ////5f8Ae+4BAC1D/Pf8uf8AhO4BADdR8Nnwo/8Aje4BAERb3a3djv8Alu4BAFVkxnjGef8An+4BAGCeq0GrXf8AqO4BAGO7hCOEQ/8Ase4BAGz/WgBaMv8Auu4BACoZ////5f8Aw+4BAC1D/Pf8uf8AzO4BADdR8Nnwo/8A1e4BAERb3a3djv8A3u4BAFVkxnjGef8A5+4BAGCeq0GrXf8A8O4BAGO7hCOEQ/8A+e4BAGv/aABoN/8AAu8BAG7/RQBFKf8AC+8BADFJ+O34sf8AFu8BAHVhzX/Nu/8AIe8BAJDCuCx/uP8ALO8BACoy////zP8AN+8BAGNC2qHatP8AQu8BAISqxEG2xP8ATe8BAJbLqCJeqP8AWO8BACoy////zP8AY+8BAGNC2qHatP8Abu8BAISqxEG2xP8Aee8BAJDCuCx/uP8AhO8BAKS/lCU0lP8Aj+8BACoy////zP8Amu8BAEU66cfptP8Ape8BAHVhzX/Nu/8AsO8BAISqxEG2xP8Au+8BAJDCuCx/uP8Axu8BAKS/lCU0lP8A0e8BACoy////zP8A3O8BAEU66cfptP8A5+8BAHVhzX/Nu/8A8u8BAISqxEG2xP8A/e8BAIvYwB2RwP8ACPABAJbLqCJeqP8AE/ABAJ7nhAwshP8AHvABACom////2f8AKfABADFJ+O34sf8ANPABAEU66cfptP8AP/ABAHVhzX/Nu/8ASvABAISqxEG2xP8AVfABAIvYwB2RwP8AYPABAJbLqCJeqP8Aa/ABAJ7nhAwshP8AdvABACom////2f8AgfABADFJ+O34sf8AjPABAEU66cfptP8Al/ABAHVhzX/Nu/8AovABAISqxEG2xP8ArfABAIvYwB2RwP8AuPABAJbLqCJeqP8Aw/ABAKS/lCU0lP8AzvABAJ7nWAgdWP8A2fABACVC///3vP8A5PABAByv/v7ET/8A7/ABABDu2dlfDv8A+vABACoq////1P8ABfEBABxw/v7Zjv8AEPEBABbV/v6ZKf8AG/EBAA/8zMxMAv8AJvEBACoq////1P8AMfEBABxw/v7Zjv8APPEBABbV/v6ZKf8AR/EBABDu2dlfDv8AUvEBAA34mZk0BP8AXfEBACoq////1P8AaPEBAB9t/v7jkf8Ac/EBAByv/v7ET/8AfvEBABbV/v6ZKf8AifEBABDu2dlfDv8AlPEBAA34mZk0BP8An/EBACoq////1P8AqvEBAB9t/v7jkf8AtfEBAByv/v7ET/8AwPEBABbV/v6ZKf8Ay/EBABLp7OxwFP8A1vEBAA/8zMxMAv8A4fEBAAz3jIwtBP8A7PEBACoZ////5f8A9/EBACVC///3vP8AAvIBAB9t/v7jkf8ADfIBAByv/v7ET/8AGPIBABbV/v6ZKf8AI/IBABLp7OxwFP8ALvIBAA/8zMxMAv8AOfIBAAz3jIwtBP8ARPIBACoZ////5f8AT/IBACVC///3vP8AWvIBAB9t/v7jkf8AZfIBAByv/v7ET/8AcPIBABbV/v6ZKf8Ae/IBABLp7OxwFP8AhvIBAA/8zMxMAv8AkfIBAA34mZk0BP8AnPIBAA3wZmYlBv8Ap/IBACJf///toP8AsvIBABiy/v6yTP8AvfIBAAXd8PA7IP8AyPIBACpN////sv8A0/IBAB2i/v7MXP8A3vIBABHC/f2NPP8A6fIBAP7h4+MaHP8A9PIBACpN////sv8A//IBAB2i/v7MXP8ACvMBABHC/f2NPP8AFfMBAAXd8PA7IP8AIPMBAPb/vb0AJv8AK/MBACpN////sv8ANvMBAB6I/v7Zdv8AQfMBABiy/v6yTP8ATPMBABHC/f2NPP8AV/MBAAXd8PA7IP8AYvMBAPb/vb0AJv8AbfMBACpN////sv8AePMBAB6I/v7Zdv8Ag/MBABiy/v6yTP8AjvMBABHC/f2NPP8AmfMBAAfU/PxOKv8ApPMBAP7h4+MaHP8Ar/MBAPX/sbEAJv8AuvMBACoy////zP8AxfMBACJf///toP8A0PMBAB6I/v7Zdv8A2/MBABiy/v6yTP8A5vMBABHC/f2NPP8A8fMBAAfU/PxOKv8A/PMBAP7h4+MaHP8AB/QBAPX/sbEAJv8AEvQBACoy////zP8AHfQBACJf///toP8AKPQBAB6I/v7Zdv8AM/QBABiy/v6yTP8APvQBABHC/f2NPP8ASfQBAAfU/PxOKv8AVPQBAP7h4+MaHP8AX/QBAPb/vb0AJv8AavQBAPL/gIAAJv8AdfQBAJMP//D4//8Af/QBABgj+vrr1/8AjPQBABck///v2/8AmvQBABck7u7fzP8AqPQBABckzc3AsP8AtvQBABgii4uDeP8AxPQBAHGA/3//1P8Az/QBAHGA/3//1P8A2/QBAHGA7nbuxv8A5/QBAHGAzWbNqv8A8/QBAHGAi0WLdP8A//QBAH8P//D///8ABfUBAH8P//D///8ADPUBAH8P7uDu7v8AE/UBAH8OzcHNzf8AGvUBAH8Oi4OLi/8AIfUBACoa9fX13P8AJ/UBABc6///kxP8ALvUBABc6///kxP8ANvUBABc67u7Vt/8APvUBABY6zc23nv8ARvUBABc6i4t9a/8AWAwCAAAAAAAAAP8ATvUBABkx///rzf8AXfUBAKr//wAA//8AYvUBAKr//wAA//8AaPUBAKr/7gAA7v8AbvUBAKr/zQAAzf8AdPUBAKr/iwAAi/8AevUBAMDO4oor4v8AhfUBAAC+paUqKv8Ai/UBAAC///9AQP8AkvUBAAC/7u47O/8AmfUBAAC/zc0zM/8AoPUBAAC+i4sjI/8Ap/UBABdj3t64h/8AsfUBABdk///Tm/8AvPUBABdj7u7Fkf8Ax/UBABdjzc2qff8A0vUBABdji4tzVf8A3fUBAIBnoF+eoP8A5/UBAINn/5j1//8A8vUBAINm7o7l7v8A/fUBAINnzXrFzf8ACPYBAINmi1OGi/8AE/YBAD///3//AP8AHvYBAD///3//AP8AKvYBAD//7nbuAP8ANvYBAD//zWbNAP8AQvYBAD//i0WLAP8ATvYBABHa0tJpHv8AWPYBABHb//9/JP8AY/YBABHb7u52If8AbvYBABHazc1mHf8AefYBABHci4tFE/8AhPYBAAuv//9/UP8AivYBAAep//9yVv8AkfYBAAap7u5qUP8AmPYBAAapzc1bRf8An/YBAAaoi4s+L/8ApvYBAJqT7WSV7f8AtfYBACEi///43P8AvvYBACEi///43P8AyPYBACIj7u7ozf8A0vYBACIizc3Isf8A3PYBACMii4uIeP8A5vYBAPbn3NwUPP8A7vYBAH///wD///8A8/YBAH///wD///8A+fYBAH//7gDu7v8A//YBAH//zQDNzf8ABfcBAH//iwCLi/8AC/cBAB7vuLiGC/8AGfcBAB7w//+5D/8AKPcBAB7w7u6tDv8AN/cBAB7wzc2VDP8ARvcBAB7wi4tlCP8AVfcBAFX/ZABkAP8AX/cBACduvb23a/8AafcBADqOa1VrL/8AePcBADqP/8r/cP8AiPcBADqP7rzuaP8AmPcBADqPzaLNWv8AqPcBADqPi26LPf8AuPcBABf///+MAP8Aw/cBABX///9/AP8Az/cBABX/7u52AP8A2/cBABX/zc1mAP8A5/cBABX/i4tFAP8A8/cBAMbAzJkyzP8A/vcBAMbB/78+//8ACvgBAMbA7rI67v8AFvgBAMbAzZoyzf8AIvgBAMbAi2gii/8ALvgBAAp56emWev8AOfgBAFU9vI+8j/8ARvgBAFU+/8H/wf8AVPgBAFU+7rTutP8AYvgBAFU+zZvNm/8AcPgBAFU+i2mLaf8AfvgBAK+Pi0g9i/8AjPgBAH9nTy9PT/8AmvgBAH9o/5f///8AqfgBAH9n7o3u7v8AuPgBAH9ozXnNzf8Ax/gBAH9oi1KLi/8A1vgBAH9nTy9PT/8A5PgBAID/0QDO0f8A8vgBAMf/05QA0/8A/fgBAOjr//8Uk/8ABvkBAOjr//8Uk/8AEPkBAOjr7u4Sif8AGvkBAOjrzc0Qdv8AJPkBAOfsi4sKUP8ALvkBAIr//wC///8AOvkBAIr//wC///8AR/kBAIr/7gCy7v8AVPkBAIr/zQCazf8AYfkBAIr/iwBoi/8AbvkBAAAAaWlpaf8AdvkBAAAAaWlpaf8AfvkBAJTh/x6Q//8AifkBAJTh/x6Q//8AlfkBAJTh7hyG7v8AofkBAJThzRh0zf8ArfkBAJThixBOi/8AufkBAADOsrIiIv8Aw/kBAADP//8wMP8AzvkBAADP7u4sLP8A2fkBAADPzc0mJv8A5PkBAADPi4saGv8A7/kBABwP///68P8A+/kBAFXAiyKLIv8AB/oBAAAA3Nzc3P8AEfoBAKoH//j4//8AHPoBACP////XAP8AIfoBACP////XAP8AJ/oBACP/7u7JAP8ALfoBACP/zc2tAP8AM/oBACP/i4t1AP8AOfoBAB7Z2tqlIP8AQ/oBAB7a///BJf8ATvoBAB7a7u60Iv8AWfoBAB7azc2bHf8AZPoBAB7ai4tpFP8Ab/oBAAAAwMDAwP8AdPoBAAAAAAAAAP8AevoBAAAAAwMDA/8AgPoBAAAAGhoaGv8Ah/oBAAAA//////8Aj/oBAAAAHBwcHP8AlvoBAAAAHx8fH/8AnfoBAAAAISEhIf8ApPoBAAAAJCQkJP8Aq/oBAAAAJiYmJv8AsvoBAAAAKSkpKf8AufoBAAAAKysrK/8AwPoBAAAALi4uLv8Ax/oBAAAAMDAwMP8AzvoBAAAABQUFBf8A1PoBAAAAMzMzM/8A2/oBAAAANjY2Nv8A4voBAAAAODg4OP8A6foBAAAAOzs7O/8A8PoBAAAAPT09Pf8A9/oBAAAAQEBAQP8A/voBAAAAQkJCQv8ABfsBAAAARUVFRf8ADPsBAAAAR0dHR/8AE/sBAAAASkpKSv8AGvsBAAAACAgICP8AIPsBAAAATU1NTf8AJ/sBAAAAT09PT/8ALvsBAAAAUlJSUv8ANfsBAAAAVFRUVP8APPsBAAAAV1dXV/8AQ/sBAAAAWVlZWf8ASvsBAAAAXFxcXP8AUfsBAAAAXl5eXv8AWPsBAAAAYWFhYf8AX/sBAAAAY2NjY/8AZvsBAAAACgoKCv8AbPsBAAAAZmZmZv8Ac/sBAAAAaWlpaf8AevsBAAAAa2tra/8AgfsBAAAAbm5ubv8AiPsBAAAAcHBwcP8Aj/sBAAAAc3Nzc/8AlvsBAAAAdXV1df8AnfsBAAAAeHh4eP8ApPsBAAAAenp6ev8Aq/sBAAAAfX19ff8AsvsBAAAADQ0NDf8AuPsBAAAAf39/f/8Av/sBAAAAgoKCgv8AxvsBAAAAhYWFhf8AzfsBAAAAh4eHh/8A1PsBAAAAioqKiv8A2/sBAAAAjIyMjP8A4vsBAAAAj4+Pj/8A6fsBAAAAkZGRkf8A8PsBAAAAlJSUlP8A9/sBAAAAlpaWlv8A/vsBAAAADw8PD/8ABPwBAAAAmZmZmf8AC/wBAAAAnJycnP8AEvwBAAAAnp6env8AGfwBAAAAoaGhof8AIPwBAAAAo6Ojo/8AJ/wBAAAApqampv8ALvwBAAAAqKioqP8ANfwBAAAAq6urq/8APPwBAAAAra2trf8AQ/wBAAAAsLCwsP8ASvwBAAAAEhISEv8AUPwBAAAAs7Ozs/8AV/wBAAAAtbW1tf8AXvwBAAAAuLi4uP8AZfwBAAAAurq6uv8AbPwBAAAAvb29vf8Ac/wBAAAAv7+/v/8AevwBAAAAwsLCwv8AgfwBAAAAxMTExP8AiPwBAAAAx8fHx/8Aj/wBAAAAycnJyf8AlvwBAAAAFBQUFP8AnPwBAAAAzMzMzP8Ao/wBAAAAz8/Pz/8AqvwBAAAA0dHR0f8AsfwBAAAA1NTU1P8AuPwBAAAA1tbW1v8Av/wBAAAA2dnZ2f8AxvwBAAAA29vb2/8AzfwBAAAA3t7e3v8A1PwBAAAA4ODg4P8A2/wBAAAA4+Pj4/8A4vwBAAAAFxcXF/8A6PwBAAAA5eXl5f8A7/wBAAAA6Ojo6P8A9vwBAAAA6+vr6/8A/fwBAAAA7e3t7f8ABP0BAAAA8PDw8P8AC/0BAAAA8vLy8v8AEv0BAAAA9fX19f8AGf0BAAAA9/f39/8AIP0BAAAA+vr6+v8AJ/0BAAAA/Pz8/P8ALv0BAFX//wD/AP8ANP0BAFX//wD/AP8AO/0BAFX/7gDuAP8AQv0BAFX/zQDNAP8ASf0BAFX/iwCLAP8AUP0BADvQ/63/L/8AXP0BAAAAwMDAwP8AYf0BAAAAAAAAAP8AZ/0BAAAAAwMDA/8Abf0BAAAAGhoaGv8AdP0BAAAA//////8AfP0BAAAAHBwcHP8Ag/0BAAAAHx8fH/8Aiv0BAAAAISEhIf8Akf0BAAAAJCQkJP8AmP0BAAAAJiYmJv8An/0BAAAAKSkpKf8Apv0BAAAAKysrK/8Arf0BAAAALi4uLv8AtP0BAAAAMDAwMP8Au/0BAAAABQUFBf8Awf0BAAAAMzMzM/8AyP0BAAAANjY2Nv8Az/0BAAAAODg4OP8A1v0BAAAAOzs7O/8A3f0BAAAAPT09Pf8A5P0BAAAAQEBAQP8A6/0BAAAAQkJCQv8A8v0BAAAARUVFRf8A+f0BAAAAR0dHR/8AAP4BAAAASkpKSv8AB/4BAAAACAgICP8ADf4BAAAATU1NTf8AFP4BAAAAT09PT/8AG/4BAAAAUlJSUv8AIv4BAAAAVFRUVP8AKf4BAAAAV1dXV/8AMP4BAAAAWVlZWf8AN/4BAAAAXFxcXP8APv4BAAAAXl5eXv8ARf4BAAAAYWFhYf8ATP4BAAAAY2NjY/8AU/4BAAAACgoKCv8AWf4BAAAAZmZmZv8AYP4BAAAAaWlpaf8AZ/4BAAAAa2tra/8Abv4BAAAAbm5ubv8Adf4BAAAAcHBwcP8AfP4BAAAAc3Nzc/8Ag/4BAAAAdXV1df8Aiv4BAAAAeHh4eP8Akf4BAAAAenp6ev8AmP4BAAAAfX19ff8An/4BAAAADQ0NDf8Apf4BAAAAf39/f/8ArP4BAAAAgoKCgv8As/4BAAAAhYWFhf8Auv4BAAAAh4eHh/8Awf4BAAAAioqKiv8AyP4BAAAAjIyMjP8Az/4BAAAAj4+Pj/8A1v4BAAAAkZGRkf8A3f4BAAAAlJSUlP8A5P4BAAAAlpaWlv8A6/4BAAAADw8PD/8A8f4BAAAAmZmZmf8A+P4BAAAAnJycnP8A//4BAAAAnp6env8ABv8BAAAAoaGhof8ADf8BAAAAo6Ojo/8AFP8BAAAApqampv8AG/8BAAAAqKioqP8AIv8BAAAAq6urq/8AKf8BAAAAra2trf8AMP8BAAAAsLCwsP8AN/8BAAAAEhISEv8APf8BAAAAs7Ozs/8ARP8BAAAAtbW1tf8AS/8BAAAAuLi4uP8AUv8BAAAAurq6uv8AWf8BAAAAvb29vf8AYP8BAAAAv7+/v/8AZ/8BAAAAwsLCwv8Abv8BAAAAxMTExP8Adf8BAAAAx8fHx/8AfP8BAAAAycnJyf8Ag/8BAAAAFBQUFP8Aif8BAAAAzMzMzP8AkP8BAAAAz8/Pz/8Al/8BAAAA0dHR0f8Anv8BAAAA1NTU1P8Apf8BAAAA1tbW1v8ArP8BAAAA2dnZ2f8As/8BAAAA29vb2/8Auv8BAAAA3t7e3v8Awf8BAAAA4ODg4P8AyP8BAAAA4+Pj4/8Az/8BAAAAFxcXF/8A1f8BAAAA5eXl5f8A3P8BAAAA6Ojo6P8A4/8BAAAA6+vr6/8A6v8BAAAA7e3t7f8A8f8BAAAA8PDw8P8A+P8BAAAA8vLy8v8A//8BAAAA9fX19f8ABgACAAAA9/f39/8ADQACAAAA+vr6+v8AFAACAAAA/Pz8/P8AGwACAFUP//D/8P8AJAACAFUP//D/8P8ALgACAFUP7uDu4P8AOAACAFUOzcHNwf8AQgACAFUOi4OLg/8ATAACAOmW//9ptP8AVAACAOqR//9utP8AXQACAOuN7u5qp/8AZgACAOyHzc1gkP8AbwACAOqUi4s6Yv8AeAACAACMzc1cXP8AggACAACU//9qav8AjQACAACU7u5jY/8AmAACAACVzc1VVf8AowACAACUi4s6Ov8ArgACAML/gksAgv8AtQACACoA/////gAAuwACACoP////8P8AwQACACoP////8P8AyAACACoP7u7u4P8AzwACACoOzc3Nwf8A1gACACoOi4uLg/8A3QACACZq8PDmjP8A4wACACdw///2j/8A6gACACdw7u7mhf8A8QACACdvzc3Gc/8A+AACACdvi4uGTv8A/wACAKoU+ubm+v8ACAECAPAP///w9f8AFgECAPAP///w9f8AJQECAO8P7u7g5f8ANAECAPAOzc3Bxf8AQwECAO8Oi4uDhv8AUgECAED//Hz8AP8AXAECACYx///6zf8AaQECACYx///6zf8AdwECACUy7u7pv/8AhQECACYxzc3Jpf8AkwECACcxi4uJcP8AoQECAIk/5q3Y5v8AqwECAIpA/7/v//8AtgECAIpA7rLf7v8AwQECAIo/zZrAzf8AzAECAIlAi2iDi/8A1wECAAB38PCAgP8A4gECAH8f/+D///8A7AECAH8f/+D///8A9wECAH8f7tHu7v8AAgICAH8fzbTNzf8ADQICAH8fi3qLi/8AGAICACNz7u7dgv8AJwICACN0///si/8ANwICACNz7u7cgv8ARwICACNzzc2+cP8AVwICACNzi4uBTP8AZwICACoo+vr60v8AfAICAAAA09PT0/8AhgICAAAA09PT0/8AkAICAPhJ//+2wf8AmgICAPlR//+uuf8ApQICAPhR7u6irf8AsAICAPlQzc2Mlf8AuwICAPlQi4tfZf8AxgICAAyE//+gev8A0gICAAyE//+gev8A3wICAAuE7u6Vcv8A7AICAAyFzc2BYv8A+QICAAyFi4tXQv8ABgMCAH3RsiCyqv8AFAMCAI91+ofO+v8AIQMCAI9P/7Di//8ALwMCAI9P7qTT7v8APQMCAI5PzY22zf8ASwMCAI9Oi2B7i/8AWQMCAK+P/4Rw//8AaAMCAJQ4mXeImf8AdwMCAJQ4mXeImf8AhgMCAJc03rDE3v8AlQMCAJc1/8rh//8ApQMCAJc17rzS7v8AtQMCAJc1zaK1zf8AxQMCAJY1i257i/8A1QMCACof////4P8A4QMCACof////4P8A7gMCACof7u7u0f8A+wMCACofzc3NtP8ACAQCACofi4uLev8AFQQCAFXAzTLNMv8AHwQCABUU+vrw5v8AJQQCANT///8A//8ALQQCANT///8A//8ANgQCANT/7u4A7v8APwQCANT/zc0Azf8ASAQCANT/i4sAi/8AUQQCAO+5sLAwYP8AWAQCAOTL//80s/8AYAQCAOTL7u4wp/8AaAQCAOTMzc0pkP8AcAQCAOTLi4scYv8AeAQCAHGAzWbNqv8AiQQCAKr/zQAAzf8AlAQCAMyY07pV0/8AoQQCAMuZ/+Bm//8ArwQCAMuZ7tFf7v8AvQQCAMuZzbRSzf8AywQCAMuai3o3i/8A2QQCALd825Nw2/8A5gQCALd9/6uC//8A9AQCALd97p957v8AAgUCALd9zYlozf8AEAUCALd8i11Hi/8AHgUCAGepszyzcf8ALQUCALCP7nto7v8APQUCAG//+gD6mv8ATwUCAH2n0UjRzP8AXwUCAOTkx8cVhf8AbwUCAKrGcBkZcP8AfAUCAGoJ//X/+v8AhgUCAAQe///k4f8AkAUCAAQe///k4f8AmwUCAAQe7u7V0v8ApgUCAAMdzc23tf8AsQUCAAUdi4t9e/8AvAUCABpJ///ktf8AxQUCABlR///erf8A0QUCABlR///erf8A3gUCABlS7u7Pof8A6wUCABlSzc2zi/8A+AUCABlSi4t5Xv8ABQYCAKr/gAAAgP8ACgYCAKr/gAAAgP8AEwYCACoA/////gAAGAYCABsX/f315v8AIAYCADjAjmuOI/8AKgYCADjB/8D/Pv8ANQYCADjA7rPuOv8AQAYCADjAzZrNMv8ASwYCADjAi2mLIv8AVgYCABv///+lAP8AXQYCABv///+lAP8AZQYCABv/7u6aAP8AbQYCABv/zc2FAP8AdQYCABv/i4taAP8AfQYCAAv///9FAP8AhwYCAAv///9FAP8AkgYCAAv/7u5AAP8AnQYCAAv/zc03AP8AqAYCAAv/i4slAP8AswYCANZ72tpw1v8AugYCANZ8//+D+v8AwgYCANZ87u566f8AygYCANZ8zc1pyf8A0gYCANV8i4tHif8A2gYCACZI7u7oqv8A6AYCAFVk+5j7mP8A8gYCAFVl/5r/mv8A/QYCAFVk7pDukP8ACAcCAFVkzXzNfP8AEwcCAFVki1SLVP8AHgcCAH9D7q/u7v8ALAcCAH9E/7v///8AOwcCAH9E7q7u7v8ASgcCAH9EzZbNzf8AWQcCAH9Di2aLi/8AaAcCAPF829twk/8AdgcCAPF9//+Cq/8AhQcCAPF97u55n/8AlAcCAPF9zc1oif8AowcCAPF8i4tHXf8AsgcCABop///v1f8AvQcCABRG///auf8AxwcCABRG///auf8A0gcCABNF7u7Lrf8A3QcCABNFzc2vlf8A6AcCABRFi4t3Zf8A8wcCABSwzc2FP/8A+AcCAPc////Ay/8A/QcCAPVJ//+1xf8AAwgCAPVJ7u6puP8ACQgCAPVKzc2Rnv8ADwgCAPVJi4tjbP8AFQgCANRG3d2g3f8AGggCANRE//+7//8AIAgCANRE7u6u7v8AJggCANREzc2Wzf8ALAgCANRDi4tmi/8AMggCAIQ75rDg5v8APQgCAMTd8KAg8P8ARAgCAL/P/5sw//8ATAgCAMDP7pEs7v8AVAgCAMDPzX0mzf8AXAgCAMDPi1Uai/8AZAgCAAD///8AAP8AaAgCAAD///8AAP8AbQgCAAD/7u4AAP8AcggCAAD/zc0AAP8AdwgCAAD/i4sAAP8AfAgCAAA9vLyPj/8AhggCAAA+///Bwf8AkQgCAAA+7u60tP8AnAgCAAA+zc2bm/8ApwgCAAA+i4tpaf8AsggCAJ+14UFp4f8AvAgCAJ+3/0h2//8AxwgCAJ+37kNu7v8A0ggCAJ+2zTpfzf8A3QgCAJ+3iydAi/8A6AgCABHci4tFE/8A9AgCAASK+vqAcv8A+wgCAAmW//+Maf8AAwkCAAmW7u6CYv8ACwkCAAmWzc1wVP8AEwkCAAmWi4tMOf8AGwkCABOa9PSkYP8AJgkCAGeqiy6LV/8ALwkCAGer/1T/n/8AOQkCAGer7k7ulP8AQwkCAGerzUPNgP8ATQkCAGeqiy6LV/8AVwkCABEQ///17v8AYAkCABEQ///17v8AagkCABIR7u7l3v8AdAkCABIRzc3Fv/8AfgkCABIQi4uGgv8AiAkCAA23oKBSLf8AjwkCAA24//+CR/8AlwkCAA247u55Qv8AnwkCAA24zc1oOf8ApwkCAA25i4tHJv8ArwkCAIts64fO6/8AtwkCAJB4/4fO//8AwAkCAJB47n7A7v8AyQkCAJB4zWymzf8A0gkCAJF3i0pwi/8A2wkCAK+PzWpazf8A5QkCAK+Q/4Nv//8A8AkCAK+Q7npn7v8A+wkCAK+QzWlZzf8ABgoCAK+Qi0c8i/8AEQoCAJQ4kHCAkP8AGwoCAJU4/8bi//8AJgoCAJU47rnT7v8AMQoCAJQ5zZ+2zf8APAoCAJU4i2x7i/8ARwoCAJQ4kHCAkP8AUQoCAAAF///6+v8AVgoCAAAF///6+v8AXAoCAAAF7u7p6f8AYgoCAAAEzc3Jyf8AaAoCAAADi4uJif8AbgoCAGr//wD/f/8AegoCAGr//wD/f/8AhwoCAGr/7gDudv8AlAoCAGr/zQDNZv8AoQoCAGr/iwCLRf8ArgoCAJKbtEaCtP8AuAoCAJKc/2O4//8AwwoCAJKc7lys7v8AzgoCAJKczU+Uzf8A2QoCAJObizZki/8A5AoCABhU0tK0jP8A6AoCABSw//+lT/8A7QoCABSw7u6aSf8A8goCABSwzc2FP/8A9woCABSwi4taK/8A/AoCANQd2Ni/2P8ABAsCANQe///h//8ADQsCANQe7u7S7v8AFgsCANQdzc21zf8AHwsCANQdi4t7i/8AKAsCAAa4//9jR/8ALwsCAAa4//9jR/8ANwsCAAa47u5cQv8APwsCAAa4zc1POf8ARwsCAAa5i4s2Jv8AmQwCACoA/////gAATwsCAHu24EDg0P8AWQsCAIH//wD1//8AZAsCAIH/7gDl7v8AbwsCAIH/zQDFzf8AegsCAIH/iwCGi/8AhQsCANRz7u6C7v8AjAsCAOPX0NAgkP8AlgsCAOvB//8+lv8AoQsCAOvA7u46jP8ArAsCAOvAzc0yeP8AtwsCAOvAi4siUv8AwgsCABtE9fXes/8AyAsCABtF///nuv8AzwsCABtE7u7Yrv8A1gsCABtEzc26lv8A3QsCABtDi4t+Zv8A5AsCAAAA//////8A6gsCAAAA9fX19f8A9QsCACr/////AP8A/AsCACr/////AP8ABAwCACr/7u7uAP8ADAwCACr/zc3NAP8AFAwCACr/i4uLAP8AHAwCADjAzZrNMv8AkBACAHUgAgCsDAIArgwCALAMAgCyDAIAtAwCALYMAgC4DAIAugwCALwMAgC/DAIAwgwCAMUMAgDIDAIAywwCAM4MAgDRDAIA1AwCANcMAgDaDAIAAAAAAAQAAAAEAAAACwAAADYAAAAWAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAvBkCAAkAAADCGQIACgAAAMsZAgALAAAADRoCAAwAAAATGgIADQAAABgaAgAOAAAAyxkCAA8AAACgGgIAEAAAAKcaAgARAAAArxoCABIAAAC2GgIAEwAAAMIaAgAUAAAADRoCABUAAADOGgIAFgAAANYaAgAXAAAA4BoCABgAAADuGgIAGQAAAPUaAgAaAAAA+hoCABsAAAD9GgIAHAAAAAIbAgAdAAAAChsCAB4AAAAQGwIAHwAAABYbAgAgAAAAHRsCACEAAAAjGwIAIQAAACsbAgAiAAAAMhsCACMAAADLGQIAJAAAAKcaAgARAAAArxoCABIAAAApHQIAJQAAALYaAgATAAAAwhoCABQAAAANGgIAFQAAADQdAgAmAAAA1hoCABcAAADgGgIAGAAAAO4aAgAZAAAA9RoCABoAAAD6GgIAGwAAAP0aAgAcAAAAPB0CACcAAAAKGwIAHgAAABAbAgAfAAAAFhsCACAAAAAdGwIAIQAAACMbAgAhAAAAKxsCACIAAAAyGwIAIwAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDX///7/////39/VP3/DwD+3////////////t//////AwD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AAAAAAAAAAAA////BwcAAAAAAP7//wf+BwAAAAD+//////////98/38vAGAAAADg////////IwAAAP8DAAAA4J/5///9xQMAAACwAwADAOCH+f///W0DAAAAXgAAHADgr/v///3tIwAAAAABAAAA4J/5///9zSMAAACwAwAAAODHPdYYx78DAAAAAAAAAADg3/3///3vAwAAAAADAAAA4N/9///97wMAAABAAwAAAODf/f///f8DAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA/v////9/DQA/AAAAAAAAAJYl8P6ubA0gHwAAAAAAAAAAAAAAAAAAAP/+////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////z8A/////38A7doHAAAAAFABUDGCq2IsAAAAAEAAyYD1BwAAAAAIAQL/////////////////////////D///////////////A///Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAEBMAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAACAAAAA/gMAAP7///////////8fAP7/////////////B+D/////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////8/AAAAAAAAAAAAAAD//////////////////////////w8AAAAAAAAAAAAAAAAAAAAAYP8H/v//h/7//wcAAAAAAACAAP//f////3//////AAAAAAAAAP//////////////AQD4AwADAAAAAAD//////////z8AAAADAAAAwNf///v/////f39U/f8PAP7f///////////+3/////97AP///////58Z////zz8DAAAAAAAA/v///38C/v///38A/v/7//+7FgD///8HBwAAAAAA/v//B///BwD/A////////////3z/f+///z3/A+7////////z/z8e/8//AADun/n///3F0585gLDP/wMA5If5///9bdOHOQBewP8fAO6v+////e3zvzsAAMH/AADun/n///3N8485wLDD/wAA7Mc91hjHv8PHPYAAgP8AAO7f/f///e/D3z1gAMP/AADs3/3///3vw989YEDD/wAA7N/9///9/8PPPYAAw/8AAAAAAAAAAAAAAAAAAAAAAAD+/////3//B/9//wMAAAAAliXw/q5s/ztfP/8DAAAAAAAAAAP/A6DC//7///8D/v/fD7/+/z/+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HwIAAACgAAAA/v8+AP7///////////8fZv7/////////////dxkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAmNwAAPjlAABw5AAAZOcAAGTnAADQ6AAAcOQAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP2BAQCoJwIAgYIBALEnAgC4JwIAwScCABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAADc6wAASO0AALTuAAAg8AAAIPAAAIzxAAC07gAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAADMAAAA0AAAAKQAAADUAAAANAAAAGgAAACoAAAAJAAAACgAAAAIAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAA2AAAANwAAADIAAAA4AAAADgAAABsAAAAzAAAACwAAAAwAAAACAAAAAAEAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTKAIAWSgCAFwoAgBiKAIA/CcCAGkoAgByKAIAeigCADTzAAAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAADeEgSVAAAAAP///////////////wIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0xj0AAAJAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAEAAAAPTtAgAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmPQAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA/PECAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY9AAAHPUAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAQAAAABPYCAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDcAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QVfcIkA/wkvD3QAAADzSwIAbgAAAPVLAgByAAAA90sCAGYAAAD5SwIAYQAAAPtLAgBlAAAA/UsCAHcAAAD/SwIAVwAAAAxMAgBzAAAAGkwCAFMAAAAmTAIAZAAAADNMAgBEAAAAP0wCAAAAAAAAAAAAAAAAAAAABAAEABsAGwAgACAAIwAhAAoAAgAWAAkAIQAhACEAFQAcAAEAFAAUABQAFAAUABQAFAAIAAQABQAbAAIAFwAbACAAHwAeAB0ACQATAAAAFQASABUAAwAHABUAFQAUABQAFAAUABQAFAAUABQACAAEAAUABQAGABsAGgAYABkAIAAHABUAFAAUABQAFAAUABQACwAUAA0AFAAMABQAFAAUAA4AFAAUABQAEAAUAA8AFAARAAAAAAAAAK4ALgAvADMANQAwADcAqgDbANsA2wDbAAAAPQCHADcANwDbANsAAAAoADUALgAyAC8AYgAAAAAARwAAAAAA2wBRAAAA2wDbANsAAADbAIQAVQDbAIIA2wAAAIEA2wAAAD4AQgBBAEgARABSAFsAAAAAAF4AXwDbAAAA2wDbANsAAAAAAHsASQBXAFIAWgBaAF0AAABfAAAAXwAAAGUAXQBfAAAAXQBuAGoAAABpAAAAbgAAANsAkwCaAKEAqACrAHAAsQC4AL8AxgDNANMAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAQABwADAAQABQAFAAYABgAIAAcABwARABYAEgARABIACAAIAA8ADwAXAA8AGAAPABkAGgAaAB4AFgA0AB4ABQAyAAYAIgAiADMAFwAYADUAGQAaABoAKgA2ACoANAA3ADIARQA7ADwAMwA7ADwARgA1AEcASABMADYAIgBJAEoANwBFAE4AUABiAFEAUgBUAEYARwBVAEgATABWAEkASgBYAFoATgBEAFAAUQBSAFQAOAAvACwAVQApAFYAGwAQAFgAWgBdAF0AXQBdAF0AXQBdAF4AXgBeAF4AXgBeAF4AXwBfAF8AXwBfAF8AXwBgAAkAYABgAGAAYABgAGEAYQBjAAIAYwBjAGMAYwBjAGQAAABkAAAAZABkAGQAZQAAAGUAZQBlAGUAZQBmAGYAAABmAGYAZgBmAGcAAABnAGcAZwBnAGgAAABoAGgAaABoAGgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAFwAAQBdAF0AXgBeAF8AXwBcAFwAXABcAFwAYABcAFwAXABhAFwAXABiAGIAYgBiAGIAYgBiAGMAZABlAGYAZgBcAFwAZwBcAFwAXABgAFwAXABhAFwAYQBcAGgAYQBcAGIAYgBiAGIAYgBiAGIAYgBjAGQAZQBlAFwAZgBcAFwAXABnAGgAYQBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAAABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAAoACwAMAA0ADgAKAA8AEAARABIAEwAKABQAFQAVABUAFgAXABUAGAAVABUAGQAVABUAFQAaABUAFQAKABUAFQAVABYAFwAYABUAFQAZABUAFQAVABoAFQAVABUAFQAbAAwADAAkAB4AHgAgACEAIAAhACQAJQAmAC0AMgAvAC4AKgAlACYAKAApADMAKgA0ACsANQA2ADcAPAAyAEcAPQAiAEUAIgA/AEAARgAzADQASAA1ADYANwAvAEkAKgBHAEoARQBMAFwAPABGAFwAPQBNAEgATgBPAFIASQBBAFAAUQBKAEwAUwBUADEAVQBWAFcATQBOAFgATwBSAFkAUABRAFoAWwBTAEQAVABVAFYAVwBLAEQALABYACwAWQA4ACwAWgBbAB0AHQAdAB0AHQAdAB0AHwAfAB8AHwAfAB8AHwAjACMAIwAjACMAIwAjACcAXAAnACcAJwAnACcAMAAwADkAHAA5ADkAOQA5ADkAOgBcADoAXAA6ADoAOgA7AFwAOwA7ADsAOwA7AD4APgBcAD4APgA+AD4AQgBcAEIAQgBCAEIAQwBcAEMAQwBDAEMAQwAJAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAgArv/RAAoArv+u/wsArv+u/67/rv+u/67/rv+u/wUA0QCu/9EA0QDRANEA0QDRANEA0QCu//v/rv8OAOz/rv+u/67/rv/RANEA0QDRANEADQAlAAwAQgAQAFAAEwBtAHsAFACYAA8ApgDDAK7/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/xcArv93AK7/BwAuAK7/JgCu/xcAEQAjAK7/DQCu/67/rv+u/zoArv+u/zUArv+u/67/KACu/wcArv87AEUArv9IAK7/rv+u/67/rv+u/67//P/oAPb///8aAAAAJwABADIArv+u/wIAJAADAC8Arv+u/67/rv+u//7/lACu/wkAGwCu/7z/rv+u/6//rv+u/67/rv+u/67/rv8AAAAAAABt5uzeBQALAEkAMQFTAH8BMAFpAHgB/wCBAVMCggGDAYQBhQGGAVQChwGIAYkBVgKKAVcCiwGMAY4B3QGPAVkCkAFbApEBkgGTAWAClAFjApYBaQKXAWgCmAGZAZwBbwKdAXICnwF1AqYBgAKnAagBqQGDAqwBrQGuAYgCrwGwAbEBigKyAYsCtwGSArgBuQG8Ab0BxAHGAcQBxQHFAcYBxwHJAccByAHIAckBygHMAcoBywHLAcwB8QHzAfEB8gHyAfMB9AH1AfYBlQH3Ab8BIAKeAYYDrAOIA60DiQOuA4oDrwOMA8wDjgPNA48DzgOZA0UDmQO+H6MDwgP3A/gD+gP7A2Aemx6eHt8AWR9RH1sfUx9dH1UfXx9XH7wfsx/MH8Mf7B/lH/wf8x86AmUsOwI8Aj0CmgE+AmYsQQJCAkMCgAFEAokCRQKMAvQDuAP5A/ID/QN7A/4DfAP/A30DwATPBCYhyQMqIWsAKyHlADIhTiGDIYQhYCxhLGIsawJjLH0dZCx9Am0sUQJuLHECbyxQAnAsUgJyLHMsdSx2LH4sPwJ/LEAC8izzLH2neR2Lp4ynjadlAqqnZgLHECctzRAtLXYDdwOcA7UAkgPQA5gD0QOmA9UDoAPWA5oD8AOhA/EDlQP1A88D1wMAAAAAQQAgGsAAIB8AAQEvMgEBBTkBAQ9KAQEteQEBBXADAQORAyARowMgCQAEUBAQBCAgYAQBIYoEATXBBAEN0AQBPxQFARMxBTAmoAEBBbMBAQPNAQEP3gEBEfgBASciAgER2AMBFwAeAZWgHgFfCB/4CBgf+AYoH/gIOB/4CEgf+AZoH/gIiB/4CJgf+AioH/gIuB/4AroftgLIH6oE2B/4AtofnALoH/gC6h+QAvgfgAL6H4ICRgIBCRAFAQNgIRAQACwwL2csAQWALAFj6ywBA0CmAS2ApgEXIqcBDTKnAT15pwEDfqcBCZCnAQOgpwEJIf8gGgAAAAB7IHZhciBwYXRoID0gUG9pbnRlcl9zdHJpbmdpZnkoJDApOyB2YXIgZGF0YSA9IFBvaW50ZXJfc3RyaW5naWZ5KCQxKTsgRlMuY3JlYXRlUGF0aCgiLyIsIFBBVEguZGlybmFtZShwYXRoKSk7IEZTLndyaXRlRmlsZShQQVRILmpvaW4oIi8iLCBwYXRoKSwgZGF0YSk7IH0AY29yZQB4ZG90dmVyc2lvbgAxLjcAMS40ADEuMgBfbGRyYXdfAF9oZHJhd18AX3RkcmF3XwBfaGxkcmF3XwBfdGxkcmF3XwB4ZG90IHZlcnNpb24gIiVzIiB0b28gbG9uZwAgJWQgACUuMDJmACVzJWQgLQAjJTAyeCUwMnglMDJ4JTAyeABzZXRsaW5ld2lkdGgoACUuM2YAUyAAQyAAMiAARSAAZSAARiAAdCAldSAAVCAAZG90OmRvdABndjpkb3QAY2Fub246ZG90AHBsYWluOmRvdABwbGFpbi1leHQ6ZG90AHhkb3Q6eGRvdAB4ZG90MS4yOnhkb3QAeGRvdDEuNDp4ZG90AEkgACJfc3ViZ3JhcGhfY250IjogJWQAIl9ndmlkIjogJWQAImVkZ2VzIjogWwoAIl9ndmlkIjogJWQsCgAidGFpbCI6ICVkLAoAImhlYWQiOiAlZAAib2JqZWN0cyI6IFsKACJub2RlcyI6IFsKACJuYW1lIjogIiVzIgBcIgBcLwBcYgBcZgBcbgBccgBcdAAic3ViZ3JhcGhzIjogWwoAIiVzIjogACIlcyIAQ291bGQgbm90IHBhcnNlIHhkb3QgIiVzIgoAWwoAIm9wIjogIiVjIiwKACJyZWN0IjogWyUuMDNmLCUuMDNmLCUuMDNmLCUuMDNmXQoAIm9wIjogIkwiLAoAIm9wIjogIlQiLAoAInB0IjogWyUuMDNmLCUuMDNmXSwKACJhbGlnbiI6ICIlYyIsCgAid2lkdGgiOiAlLjAzZiwKACJ0ZXh0IjogIiVzIgoAImdyYWQiOiAibm9uZSIsCgAiY29sb3IiOiAiJXMiCgAiZ3JhZCI6ICJsaW5lYXIiLAoAImdyYWQiOiAicmFkaWFsIiwKACJvcCI6ICJGIiwKACJzaXplIjogJS4wM2YsCgAiZmFjZSI6ICIlcyIKACJvcCI6ICJTIiwKACJzdHlsZSI6ICIlcyIKACJvcCI6ICJ0IiwKACJmb250Y2hhciI6ICVkCgAicDAiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInAxIjogWyUuMDNmLCUuMDNmLCUuMDNmXSwKACJzdG9wcyI6IFsAeyJmcmFjIjogJS4wM2YsICJjb2xvciI6ICIlcyJ9AF0KACJwMCI6IFslLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2ZdLAoAInBvaW50cyI6IFsAWyUuMDNmLCUuMDNmXQBkcmF3XwBsZHJhd18AaGRyYXdfAHRkcmF3XwBobGRyYXdfAHRsZHJhd18AImRpcmVjdGVkIjogJXMsCgAic3RyaWN0IjogJXMARHVwbGljYXRlIGNsdXN0ZXIgbmFtZSAiJXMiCgB4ZG90AGpzb24AanNvbjAAZG90X2pzb24AeGRvdF9qc29uAGpzb246anNvbgBqc29uMDpqc29uAGRvdF9qc29uOmpzb24AeGRvdF9qc29uOmpzb24AbiA+PSA0AGd2cmVuZGVyX2NvcmVfZmlnLmMAZmlnX2JlemllcgBmaWdfcmVzb2x2ZV9jb2xvcgBmaWcAZmlnOmZpZwBtYXAAcmVjdCAlcyAlZCwlZCAlZCwlZAoAY2lyY2xlICVzICVkLCVkLCVkCgBwb2x5ICVzACAlZCwlZABndnJlbmRlcl9jb3JlX21hcC5jAG1hcF9vdXRwdXRfc2hhcGUAcmVjdGFuZ2xlICglZCwlZCkgKCVkLCVkKSAlcyAlcwoAPGFyZWEgc2hhcGU9ImNpcmNsZSIAPGFyZWEgc2hhcGU9InJlY3QiADxhcmVhIHNoYXBlPSJwb2x5IgAgaHJlZj0iACB0aXRsZT0iACBhbHQ9IiIAIGNvb3Jkcz0iACVkLCVkLCVkACVkLCVkLCVkLCVkACVkLCVkACwlZCwlZAAiPgoAPC9tYXA+CgBiYXNlIHJlZmVyZXIKAGRlZmF1bHQgADxtYXAgaWQ9IgAiIG5hbWU9IgBpc21hcDptYXAAY21hcDptYXAAaW1hcDptYXAAY21hcHg6bWFwAGltYXBfbnA6bWFwAGNtYXB4X25wOm1hcAAjICVzCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjNmICVkICUuNGYgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICMlMDJ4JTAyeCUwMngKAGd2cmVuZGVyX2NvcmVfbXAuYwBtcF9yZXNvbHZlX2NvbG9yACVkICVkICVkICVkICVkICVkICUuMWYgJS40ZiAlZCAlLjFmICUuMWYgJWQgJWQgJXNcMDAxCgAjIGVuZCBvZiBGSUcgZmlsZQoAI0ZJRyAzLjIKACMgR2VuZXJhdGVkIGJ5ICVzIHZlcnNpb24gJXMgKCVzKQoAIyBUaXRsZTogJXMKACMgUGFnZXM6ICVkCgBQb3J0cmFpdAoAQ2VudGVyCgBJbmNoZXMKAExldHRlcgoAMTAwLjAwCgBTaW5nbGUKAC0yCgAxMjAwACAyCgBtcABtcDptcAAgXSAgJWQgdHJ1ZSAlcwoAIF0gICVkIGZhbHNlICVzCgAgc2V0bGluZXdpZHRoCgAlcyAAc2V0aHNiACUuNWcgJS41ZyAlLjVnICVzY29sb3IKACUgAG5ld3BhdGggACBtb3ZldG8KACBsaW5ldG8KAHN0cm9rZQoAIGN1cnZldG8KAGNsb3NlcGF0aCBmaWxsCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIGZpbGwKACBlbGxpcHNlX3BhdGggc3Ryb2tlCgAgLyVzIHNldF9mb250CgAgbW92ZXRvIAAgJXMgYWxpZ25lZHRleHQKAFsgL1JlY3QgWyAAIF0KACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAZ3NhdmUKACUlICVzCgAwIDAgMCBlZGdlY29sb3IKAGVuZHBhZ2UKc2hvd3BhZ2UKZ3Jlc3RvcmUKACUlUGFnZVRyYWlsZXIKACUlJSVFbmRQYWdlOiAlZAoAJSUlJVBhZ2U6ICVkICVkCgAlJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoATGFuZHNjYXBlAFBvcnRyYWl0ACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgAlZCAlZCAlZCBiZWdpbnBhZ2UKAGdzYXZlCiVkICVkICVkICVkIGJveHByaW0gY2xpcCBuZXdwYXRoCgAlZyAlZyBzZXRfc2NhbGUgJWQgcm90YXRlICVnICVnIHRyYW5zbGF0ZQoAY2FudmFzIHNpemUgKCVkLCVkKSBleGNlZWRzIFBERiBsaW1pdCAoJWQpCgkoc3VnZ2VzdCBzZXR0aW5nIGEgYm91bmRpbmcgYm94IHNpemUsIHNlZSBkb3QoMSkpCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACVkICVkIHNldGxheWVyCgAlJSUlVGl0bGU6ICVzCgAlJVBhZ2VzOiAoYXRlbmQpCgAlJVBhZ2VzOiAxCgAlJUJvdW5kaW5nQm94OiAoYXRlbmQpCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlJUVuZENvbW1lbnRzCnNhdmUKAHNldHVwTGF0aW4xCgBbIHtDYXRhbG9nfSA8PCAvVVJJIDw8IC9CYXNlICVzID4+ID4+Ci9QVVQgcGRmbWFyawoAJSVCZWdpblByb2xvZwAvRG90RGljdCAyMDAgZGljdCBkZWYARG90RGljdCBiZWdpbgAvc2V0dXBMYXRpbjEgewBtYXJrAC9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmACBFbmNvZGluZ1ZlY3RvciAwAElTT0xhdGluMUVuY29kaW5nIDAgMjU1IGdldGludGVydmFsIHB1dGludGVydmFsAEVuY29kaW5nVmVjdG9yIDQ1IC9oeXBoZW4gcHV0ACUgU2V0IHVwIElTTyBMYXRpbiAxIGNoYXJhY3RlciBlbmNvZGluZwAvc3Rhcm5ldElTTyB7ACAgICAgICAgZHVwIGR1cCBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVnaW4AICAgICAgICB7IDEgaW5kZXggL0ZJRCBuZSB7IGRlZiB9eyBwb3AgcG9wIH0gaWZlbHNlACAgICAgICAgfSBmb3JhbGwAICAgICAgICAvRW5jb2RpbmcgRW5jb2RpbmdWZWN0b3IgZGVmACAgICAgICAgY3VycmVudGRpY3QgZW5kIGRlZmluZWZvbnQAfSBkZWYAL1RpbWVzLVJvbWFuIHN0YXJuZXRJU08gZGVmAC9UaW1lcy1JdGFsaWMgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGQgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGRJdGFsaWMgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLU9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXIgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllci1Cb2xkIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGRPYmxpcXVlIHN0YXJuZXRJU08gZGVmAGNsZWFydG9tYXJrAH0gYmluZCBkZWYAJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAAvY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgAvZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmAC9JbnZTY2FsZUZhY3RvciAxLjAgZGVmAC9zZXRfc2NhbGUgewAgICAgICAgZHVwIDEgZXhjaCBkaXYgL0ludlNjYWxlRmFjdG9yIGV4Y2ggZGVmACAgICAgICBzY2FsZQAlIHN0eWxlcwAvc29saWQgeyBbXSAwIHNldGRhc2ggfSBiaW5kIGRlZgAvZGFzaGVkIHsgWzkgSW52U2NhbGVGYWN0b3IgbXVsIGR1cCBdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kb3R0ZWQgeyBbMSBJbnZTY2FsZUZhY3RvciBtdWwgNiBJbnZTY2FsZUZhY3RvciBtdWxdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9pbnZpcyB7L2ZpbGwge25ld3BhdGh9IGRlZiAvc3Ryb2tlIHtuZXdwYXRofSBkZWYgL3Nob3cge3BvcCBuZXdwYXRofSBkZWZ9IGJpbmQgZGVmAC9ib2xkIHsgMiBzZXRsaW5ld2lkdGggfSBiaW5kIGRlZgAvZmlsbGVkIHsgfSBiaW5kIGRlZgAvdW5maWxsZWQgeyB9IGJpbmQgZGVmAC9yb3VuZGVkIHsgfSBiaW5kIGRlZgAvZGlhZ29uYWxzIHsgfSBiaW5kIGRlZgAvdGFwZXJlZCB7IH0gYmluZCBkZWYAJSBob29rcyBmb3Igc2V0dGluZyBjb2xvciAAL25vZGVjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2VkZ2Vjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2dyYXBoY29sb3IgeyBzZXRoc2Jjb2xvciB9IGJpbmQgZGVmAC9ub3Bjb2xvciB7cG9wIHBvcCBwb3B9IGJpbmQgZGVmAC9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMACS9ucGFnZXMgZXhjaCBkZWYACS9qIGV4Y2ggZGVmAAkvaSBleGNoIGRlZgAJL3N0ciAxMCBzdHJpbmcgZGVmAAlucGFnZXMgMSBndCB7AAkJZ3NhdmUACQkJY29vcmRmb250IHNldGZvbnQACQkJMCAwIG1vdmV0bwAJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93AAkJZ3Jlc3RvcmUACX0gaWYAL3NldF9mb250IHsACWZpbmRmb250IGV4Y2gACXNjYWxlZm9udCBzZXRmb250ACUgZHJhdyB0ZXh0IGZpdHRlZCB0byBpdHMgZXhwZWN0ZWQgd2lkdGgAL2FsaWduZWR0ZXh0IHsJCQklIHdpZHRoIHRleHQACS90ZXh0IGV4Y2ggZGVmAAkvd2lkdGggZXhjaCBkZWYACWdzYXZlAAkJd2lkdGggMCBndCB7AAkJCVtdIDAgc2V0ZGFzaAAJCQl0ZXh0IHN0cmluZ3dpZHRoIHBvcCB3aWR0aCBleGNoIHN1YiB0ZXh0IGxlbmd0aCBkaXYgMCB0ZXh0IGFzaG93AAkJfSBpZgAJZ3Jlc3RvcmUAL2JveHByaW0gewkJCQklIHhjb3JuZXIgeWNvcm5lciB4c2l6ZSB5c2l6ZQAJCTQgMiByb2xsAAkJbW92ZXRvAAkJMiBjb3B5AAkJZXhjaCAwIHJsaW5ldG8ACQkwIGV4Y2ggcmxpbmV0bwAJCXBvcCBuZWcgMCBybGluZXRvAAkJY2xvc2VwYXRoAC9lbGxpcHNlX3BhdGggewAJL3J5IGV4Y2ggZGVmAAkvcnggZXhjaCBkZWYACS95IGV4Y2ggZGVmAAkveCBleGNoIGRlZgAJbWF0cml4IGN1cnJlbnRtYXRyaXgACW5ld3BhdGgACXggeSB0cmFuc2xhdGUACXJ4IHJ5IHNjYWxlAAkwIDAgMSAwIDM2MCBhcmMACXNldG1hdHJpeAAvZW5kcGFnZSB7IHNob3dwYWdlIH0gYmluZCBkZWYAL3Nob3dwYWdlIHsgfSBkZWYAL2xheWVyY29sb3JzZXEACVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QACQlbMCAwIDBdAAkJWy4yIC44IC44XQAJCVsuNCAuOCAuOF0ACQlbLjYgLjggLjhdAAkJWy44IC44IC44XQAJXQBkZWYAL2xheWVybGVuIGxheWVyY29sb3JzZXEgbGVuZ3RoIGRlZgAvc2V0bGF5ZXIgey9tYXhsYXllciBleGNoIGRlZiAvY3VybGF5ZXIgZXhjaCBkZWYACWxheWVyY29sb3JzZXEgY3VybGF5ZXIgMSBzdWIgbGF5ZXJsZW4gbW9kIGdldAAJYWxvYWQgcG9wIHNldGhzYmNvbG9yAAkvbm9kZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZWRnZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZ3JhcGhjb2xvciB7bm9wY29sb3J9IGRlZgAvb25sYXllciB7IGN1cmxheWVyIG5lIHtpbnZpc30gaWYgfSBkZWYAL29ubGF5ZXJzIHsACS9teXVwcGVyIGV4Y2ggZGVmAAkvbXlsb3dlciBleGNoIGRlZgAJY3VybGF5ZXIgbXlsb3dlciBsdAAJY3VybGF5ZXIgbXl1cHBlciBndAAJb3IACXtpbnZpc30gaWYAL2N1cmxheWVyIDAgZGVmACUlRW5kUmVzb3VyY2UAJSVFbmRQcm9sb2cAJSVCZWdpblNldHVwADE0IGRlZmF1bHQtZm9udC1mYW1pbHkgc2V0X2ZvbnQAJSAvYXJyb3dsZW5ndGggMTAgZGVmACUgL2Fycm93d2lkdGggNSBkZWYAJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyAC9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQAlIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwAvbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQAyIGx0IHsAICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQAICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQAfSBpZgAlJUVuZFNldHVwACUlVHJhaWxlcgoAJSUlJVBhZ2VzOiAlZAoAZW5kCnJlc3RvcmUKACUlRU9GCgAlIVBTLUFkb2JlLTMuMAAgRVBTRi0zLjAKACUlJSVDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKAHBzMjpwcwA8IS0tIAA8cG9seWxpbmUAIHBvaW50cz0iACIvPgoAIGZpbGw9IgB1cmwoI2xfJWQpAHVybCgjcl8lZCkAIiBmaWxsLW9wYWNpdHk9IiVmACIgc3Ryb2tlPSIAIiBzdHJva2Utd2lkdGg9IgAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzADUsMgAxLDUAIiBzdHJva2Utb3BhY2l0eT0iJWYAZ3ZyZW5kZXJfY29yZV9zdmcuYwBzdmdfcHJpbnRfY29sb3IAPHBhdGgAIGlkPSIAX3AiIAAgZD0iACVjADxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InJfJWQiIGN4PSI1MCUlIiBjeT0iNTAlJSIgcj0iNzUlJSIgZng9IiVkJSUiIGZ5PSIlZCUlIj4KADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6ADtzdG9wLW9wYWNpdHk6ADEuADsiLz4KADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9yYWRpYWxHcmFkaWVudD4KPC9kZWZzPgoAPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ibF8lZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIAB4MT0iACIgeTE9IgAiIHgyPSIAIiB5Mj0iACIgPgoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgoAPHBvbHlnb24APGVsbGlwc2UAIGN4PSIAIiBjeT0iACIgcng9IgAiIHJ5PSIAPHRleHQAIHRleHQtYW5jaG9yPSJzdGFydCIAIHRleHQtYW5jaG9yPSJlbmQiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgAgeD0iACIgeT0iACBmb250LWZhbWlseT0iJXMALCVzACBmb250LXdlaWdodD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiACBmb250LWZhbWlseT0iJXMiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIHRleHQtZGVjb3JhdGlvbj0iACVzb3ZlcmxpbmUAJXNsaW5lLXRocm91Z2gAIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiACBmb250LXNpemU9IiUuMmYiACBmaWxsPSIlcyIAIGZpbGw9IiMlMDJ4JTAyeCUwMngiAHN2Z190ZXh0c3BhbgA+ADx0ZXh0UGF0aCB4bGluazpocmVmPSIjJXNfcCIgc3RhcnRPZmZzZXQ9IjUwJSUiPgA8dHNwYW4geD0iMCIgZHk9IgAiPgA8L3RzcGFuPjwvdGV4dFBhdGg+ADwvdGV4dD4KADwvZz4KADxnACBpZD0iYV8AIHhsaW5rOmhyZWY9IgAgeGxpbms6dGl0bGU9IgAgdGFyZ2V0PSIAPHRpdGxlPgA8L3RpdGxlPgoAPGcgaWQ9IgBfJXMAIiBjbGFzcz0iJXMAY2xhc3MAIHRyYW5zZm9ybT0ic2NhbGUoACkgcm90YXRlKCVkKSB0cmFuc2xhdGUoACkiPgoAPC9zdmc+CgA8IS0tACBQYWdlczogJWQgLS0+CgA8c3ZnIHdpZHRoPSIlZHB0IiBoZWlnaHQ9IiVkcHQiCgAgdmlld0JveD0iJS4yZiAlLjJmICUuMmYgJS4yZiIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIAIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KAHN0eWxlc2hlZXQAPD94bWwtc3R5bGVzaGVldCBocmVmPSIAIiB0eXBlPSJ0ZXh0L2NzcyI/PgoAPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIgoAICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgoAPCEtLSBHZW5lcmF0ZWQgYnkgAGRhcmtibHVlAGRhcmtjeWFuAGRhcmtncmF5AGRhcmtncmV5AGRhcmttYWdlbnRhAGRhcmtyZWQAbGlnaHRncmVlbgAjIAAgY3JlYXRlIGxpbmUgACAtZmlsbCAAIC1kYXNoIDUAIC1kYXNoIDIAZ3ZyZW5kZXJfY29yZV90ay5jAHRrZ2VuX3ByaW50X3RhZ3MAZ3JhcGggbGFiZWwAIC10YWdzIHslZCVzJXB9AHRrZ2VuX3ByaW50X2NvbG9yACRjACAtd2lkdGggACAtc21vb3RoIGJlemllciAAIGNyZWF0ZSBwb2x5Z29uIAAgLW91dGxpbmUgACBjcmVhdGUgb3ZhbCAAIGNyZWF0ZSB0ZXh0IAAgLXRleHQgewB9ACAtZm9udCB7ACAlZH0AIC1hbmNob3IgdwAgLWFuY2hvciBlACMAIFRpdGxlOiAAIFBhZ2VzOiAlZAoAIyBHZW5lcmF0ZWQgYnkgACkKAHRrAHRrOnRrACAgICAgIDwhLS0gACAtLT4KAEVycm9yIGR1cmluZyBjb252ZXJzaW9uIHRvICJVVEYtOCIuICBRdWl0aW5nLgoAIDx2OnNoYXBlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACB3aWR0aDogJWQ7IGhlaWdodDogJWQiIGZpbGxlZD0iZmFsc2UiPgA8djpwYXRoIHY9IgAgbSAAJS4wZiwlLjBmIAAgbCAAIGUgACIvPgA8L3Y6c2hhcGU+CgA8djpzdHJva2UgY29sb3I9IgAiIHdlaWdodD0iJS4wZnB0ACIgZGFzaHN0eWxlPSJkYXNoACIgZGFzaHN0eWxlPSJkb3QAIiAvPgAjJTAyeCUwMnglMDJ4AGd2cmVuZGVyX2NvcmVfdm1sLmMAdm1sX3ByaW50X2NvbG9yACB3aWR0aDogJWQ7IGhlaWdodDogJWQiACA+ADx2OnBhdGggIHY9IgAvPjwvdjpzaGFwZT4KAG0gACVzJS4wZiwlLjBmIABjIAAgZmlsbGVkPSJ0cnVlIiBmaWxsY29sb3I9IgAiIAAgZmlsbGVkPSJmYWxzZSIgACUuMGYgJS4wZiAAbCAAeCBlICIvPgAgIDx2Om92YWwgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOwAgbGVmdDogJS4yZjsgdG9wOiAlLjJmOwAgd2lkdGg6ICUuMmY7IGhlaWdodDogJS4yZiIAPC92Om92YWw+CgA8djpyZWN0IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACBzdHJva2VkPSJmYWxzZSIgZmlsbGVkPSJmYWxzZSI+CgA8djp0ZXh0Ym94IGluc2V0PSIwLDAsMCwwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHYtdGV4dC13cmFwcGluZzonZmFsc2UnO3BhZGRpbmc6JzAnOwBmb250LWZhbWlseTogJyVzJzsAZm9udC13ZWlnaHQ6ICVzOwBmb250LXN0cmV0Y2g6ICVzOwBmb250LXN0eWxlOiAlczsAIGZvbnQtc2l6ZTogJS4yZnB0OwBjb2xvcjolczsAY29sb3I6IyUwMnglMDJ4JTAyeDsAdm1sX3RleHRzcGFuACI+PGNlbnRlcj4APC9jZW50ZXI+PC92OnRleHRib3g+CgA8L3Y6cmVjdD4KADwvYT4KADxhACBocmVmPSIlcyIAIHRpdGxlPSIlcyIAIHRhcmdldD0iJXMiAD4KADwvdjpncm91cD4KADwvRElWPgoAPERJViBpZD0nX1ZNTDJfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW4iPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPERJViBpZD0nX25vdFZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij4KADwhLS0gdGhpcyBzaG91bGQgb25seSBkaXNwbGF5IG9uIE5PTi1JRSBicm93c2VycyAtLT4KADxIMj5Tb3JyeSwgdGhpcyBkaWFncmFtIHdpbGwgb25seSBkaXNwbGF5IGNvcnJlY3RseSBvbiBJbnRlcm5ldCBFeHBsb3JlciA1IChhbmQgdXApIGJyb3dzZXJzLjwvSDI+CgA8RElWIGlkPSdfbm90Vk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIE5PTi1JRSBodG1sIGNvbnRlbnQgaGVyZSAtLT4KADwvQk9EWT4KPC9IVE1MPgoAPEhFQUQ+ADxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KADxUSVRMRT4APC9USVRMRT4APCEtLSBQYWdlczogJWQgLS0+CgAgICA8U0NSSVBUIExBTkdVQUdFPSdKYXZhc2NyaXB0Jz4KACAgIGZ1bmN0aW9uIGJyb3dzZXJjaGVjaygpCgAgICB7CgAgICAgICB2YXIgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudAoAICAgICAgdmFyIG1zaWUgPSB1YS5pbmRleE9mICggJ01TSUUgJyApCgAgICAgICB2YXIgaWV2ZXJzOwoAICAgICAgdmFyIGl0ZW07CgAgICAgICB2YXIgVk1MeWVzPW5ldyBBcnJheSgnX1ZNTDFfJywnX1ZNTDJfJyk7CgAgICAgICB2YXIgVk1Mbm89bmV3IEFycmF5KCdfbm90Vk1MMV8nLCdfbm90Vk1MMl8nKTsKACAgICAgIGlmICggbXNpZSA+IDAgKXsgICAgICAvLyBJZiBJbnRlcm5ldCBFeHBsb3JlciwgcmV0dXJuIHZlcnNpb24gbnVtYmVyCgAgICAgICAgICBpZXZlcnM9IHBhcnNlSW50ICh1YS5zdWJzdHJpbmcgKG1zaWUrNSwgdWEuaW5kZXhPZiAoJy4nLCBtc2llICkpKQoAICAgICAgfQoAICAgICAgaWYgKGlldmVycz49NSl7CgAgICAgICAgZm9yICh4IGluIFZNTHllcyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1MeWVzW3hdKTsKACAgICAgICAgIGlmIChpdGVtKSB7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7CgAgICAgICAgICB9CgAgICAgICAgfQoAICAgICAgIGZvciAoeCBpbiBWTUxubyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1Mbm9beF0pOwoAICAgICAgICAgICBpdGVtLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7CgAgICAgIH1lbHNlewoAICAgICB9CgAgICB9CgAgICA8L1NDUklQVD4KADwvSEVBRD4APEJPRFkgb25sb2FkPSdicm93c2VyY2hlY2soKTsnPgoAPERJViBpZD0nX1ZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lOyB2aXNpYmlsaXR5OmhpZGRlbgAgd2lkdGg6ICVkcHQ7IGhlaWdodDogJWRwdCI+CgA8U1RZTEU+CgB2XDoqIHsgYmVoYXZpb3I6IHVybCgjZGVmYXVsdCNWTUwpO2Rpc3BsYXk6aW5saW5lLWJsb2NrfQoAPC9TVFlMRT4KADx4bWw6bmFtZXNwYWNlIG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgcHJlZml4PSJ2IiAvPgoAIDx2Omdyb3VwIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0IgAgY29vcmRvcmlnaW49IjAsMCIgY29vcmRzaXplPSIlZCwlZCIgPgA8SFRNTD4KAAo8IS0tIEdlbmVyYXRlZCBieSAAIHZlcnNpb24gACAoACkKLS0+CgBhcXVhAGZ1Y2hzaWEAbGltZQBvbGl2ZQB0ZWFsAHZtbAB2bWw6dm1sAC8vKioqIGNvbW1lbnQ6ICVzCgAvLyoqKiBwb2x5bGluZQoAc2NhbGUgICAgPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgByb3RhdGUgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHRyYW5zbGF0ZTwlOS4zZiwgJTkuM2YsICU5LjNmPgoAc3BoZXJlX3N3ZWVwIHsKICAgICVzCiAgICAlZCwKAGxpbmVhcl9zcGxpbmUAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAlLjNmCgAlcyAgICAlcwAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAJXMlcwAlcyB0cmFuc21pdCAlLjNmAFJlZABHcmVlbgBCbHVlAHJnYjwlOS4zZiwgJTkuM2YsICU5LjNmPiB0cmFuc21pdCAlLjNmAG9vcHMsIGludGVybmFsIGVycm9yOiB1bmhhbmRsZWQgY29sb3IgdHlwZT0lZCAlcwoAZ3ZyZW5kZXJfY29yZV9wb3YuYwBwb3ZfY29sb3JfYXNfc3RyAHBpZ21lbnQgeyBjb2xvciAlcyB9CgBwb3YgcmVuZGVyZXI6ZWwgLSAlcwoALy8qKiogYmV6aWVyCgBiX3NwbGluZQAgICAgICAgIHRvbGVyYW5jZSAwLjAxCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHBvbHlnb24KACAgICB0b2xlcmFuY2UgMC4xCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHBvbHlnb24geyAlZCwKADwlOS4zZiwgJTkuM2YsICU5LjNmPgAlcwogICAgJXMACiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIGVsbGlwc2UKAHRvcnVzIHsgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgBzcGhlcmUgezwlOS4zZiwgJTkuM2YsICU5LjNmPiwgMS4wCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHRleHRzcGFuOiAlcywgZm9udHNpemUgPSAlLjNmLCBmb250bmFtZSA9ICVzCgBzY2FsZSAlLjNmCgB0ZXh0IHsKICAgIHR0ZiAiJXMiLAogICAgIiVzIiwgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAgICAgbm9fc2hhZG93CgAvLyoqKiBlbmRfZWRnZQoALy8qKiogYmVnaW5fZWRnZQoALy8qKiogZW5kX25vZGUKAC8vKioqIGJlZ2luX25vZGU6ICVzCgAvLyoqKiBlbmRfY2x1c3RlcgoALy8qKiogYmVnaW5fY2x1c3RlcgoALy8qKiogZW5kX3BhZ2UKAC8vKioqIGJlZ2luX3BhZ2UKAC8vKioqIGVuZF9sYXllcgoALy8qKiogYmVnaW5fbGF5ZXI6ICVzLCAlZC8lZAoALy8qKiogZW5kX2dyYXBoCgAvLyoqKiBiZWdpbl9ncmFwaCAlcwoAY2FtZXJhIHsgbG9jYXRpb24gPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgbG9va19hdCAgPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgcmlnaHQgeCAqIGltYWdlX3dpZHRoIC8gaW1hZ2VfaGVpZ2h0CiAgICAgICAgIGFuZ2xlICUuM2YKfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICogMC43NQogICAgZm9nX29mZnNldCAwLjEwCiAgICBmb2dfYWx0IDEuNTAKICAgIHR1cmJ1bGVuY2UgMS43NQp9Ci8vZ25kCnBsYW5lIHsgPDAuMDAsIDEuMDAsIDAuMDA+LCAwCiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50eyBjb2xvciByZ2IgPDAuMjUsIDAuNDUsIDAuMDA+IH0KICAgICAgICBub3JtYWwgeyBidW1wcyAwLjc1IHNjYWxlIDAuMDEgfQogICAgICAgIGZpbmlzaCB7IHBob25nIDAuMTAgfQogICAgfQp9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgAjdmVyc2lvbiAzLjY7CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAjZGVmYXVsdCB7IGZpbmlzaCB7IGFtYmllbnQgMC4xIGRpZmZ1c2UgMC45IH0gfQoAI2luY2x1ZGUgImNvbG9ycy5pbmMiCiNpbmNsdWRlICJ0ZXh0dXJlcy5pbmMiCiNpbmNsdWRlICJzaGFwZXMuaW5jIgoAI2RlY2xhcmUgJXMgPSAlczsKAEJsYWNrAFdoaXRlAGJha2Vyc2Nob2MAYnJhc3MAYnJpZ2h0Z29sZABicm9uemUAYnJvbnplMgBjbGVhcgBjb29sY29wcGVyAGNvcHBlcgBkYXJrYnJvd24AZGFya3B1cnBsZQBkYXJrdGFuAGRhcmt3b29kAGRrZ3JlZW5jb3BwZXIAZHVzdHlyb3NlAGZlbGRzcGFyAGZsZXNoAGdyYXkwNQBncmVlbmNvcHBlcgBodW50ZXJzZ3JlZW4AbGlnaHRfcHVycGxlAGxpZ2h0d29vZABtYW5kYXJpbm9yYW5nZQBtZWRpdW1mb3Jlc3RncmVlbgBtZWRpdW1nb2xkZW5yb2QAbWVkaXVtd29vZABtZWRfcHVycGxlAG1pY2EAbmVvbmJsdWUAbmVvbnBpbmsAbmV3bWlkbmlnaHRibHVlAG5ld3RhbgBvbGRnb2xkAHF1YXJ0egByaWNoYmx1ZQBzY2FybGV0AHNlbWlTd2VldENob2MAc2lsdmVyAHNwaWN5cGluawBzdW1tZXJza3kAdmVyeWRhcmticm93bgB2ZXJ5X2xpZ2h0X3B1cnBsZQBwb3YAcG92OnBvdgAlcyAlcwoALlwiIAAgJWQgJWQAICVzCgAgJWQAZmlsbCAAZWxsaXBzZSBhdHRycyVkICVzd2lkICUuNWYgaHQgJS41ZiBhdCAoJS41ZiwlLjVmKTsKAC5mdCAlcwoALnBzICVkKlxuKFNGdS8lLjBmdQoAIiVzIiBhdCAoJS41ZiwlLjVmKTsKACUwM28AJXMlcyBpcyBub3QgYSB0cm9mZiBmb250CgBkb3QgcGljIHBsdWdpbjogAFIAXQouUEUKAC5QUyAlLjVmICUuNWYKACVzIHRvIGNoYW5nZSBkcmF3aW5nIHNpemUsIG11bHRpcGx5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9uIHRoZSAuUFMgbGluZSBhYm92ZSBhbmQgdGhlIG51bWJlciBvbiB0aGUgdHdvIGxpbmVzIGJlbG93IChyb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIpIGJ5IGEgc2NhbGUgZmFjdG9yCgAubnIgU0YgJS4wZgpzY2FsZXRoaWNrbmVzcyA9ICUuMGYKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgAlcyBub24tZmF0YWwgcnVuLXRpbWUgcGljIHZlcnNpb24gZGV0ZXJtaW5hdGlvbiwgdmVyc2lvbiAyCgBib3hyYWQ9Mi4wICVzIHdpbGwgYmUgcmVzZXQgdG8gMC4wIGJ5IGdwaWMgb25seQoAc2NhbGU9MS4wICVzIHJlcXVpcmVkIGZvciBjb21wYXJpc29ucwoAJXMgYm94cmFkIGlzIG5vdyAwLjAgaW4gZ3BpYywgZWxzZSBpdCByZW1haW5zIDIuMAoAJXMgZGFzaHdpZCBpcyAwLjEgaW4gMTB0aCBFZGl0aW9uLCAwLjA1IGluIERXQiAyIGFuZCBpbiBncGljCgAlcyBmaWxsdmFsIGlzIDAuMyBpbiAxMHRoIEVkaXRpb24gKGZpbGwgMCBtZWFucyBibGFjayksIDAuNSBpbiBncGljIChmaWxsIDAgbWVhbnMgd2hpdGUpLCB1bmRlZmluZWQgaW4gRFdCIDIKACVzIGZpbGwgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGdwaWMgY2FuIHVzZSBmaWxsIG9yIGZpbGxlZCwgMTB0aCBFZGl0aW9uIHVzZXMgZmlsbCBvbmx5CgAlcyBEV0IgMiBkb2Vzbid0IHVzZSBmaWxsIGFuZCBkb2Vzbid0IGRlZmluZSBmaWxsdmFsCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBpZiBib3hyYWQgPiAxLjAgJiYgZGFzaHdpZCA8IDAuMDc1IHRoZW4gWAoJZmlsbHZhbCA9IDE7CglkZWZpbmUgZmlsbCBZIFk7CglkZWZpbmUgc29saWQgWSBZOwoJZGVmaW5lIHJlc2V0IFkgc2NhbGU9MS4wIFk7ClgKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAGlmIGZpbGx2YWwgPiAwLjQgdGhlbiBYCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSAxIC0gWTsKCWRlZmluZSBib2xkIFkgdGhpY2tuZXNzIDIgWTsKAAklcyBpZiB5b3UgdXNlIGdwaWMgYW5kIGl0IGJhcmZzIG9uIGVuY291bnRlcmluZyAic29saWQiLAoACSVzCWluc3RhbGwgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGdwaWMgb3Igc3dpdGNoIHRvIERXQiBvciAxMHRoIEVkaXRpb24gcGljOwoACSVzCXNvcnJ5LCB0aGUgZ3JvZmYgZm9sa3MgY2hhbmdlZCBncGljOyBzZW5kIGFueSBjb21wbGFpbnQgdG8gdGhlbTsKAFggZWxzZSBaCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSBZOwoJZGVmaW5lIGJvbGQgWSBZOwoJZGVmaW5lIGZpbGxlZCBZIGZpbGwgWTsKWgoAJXMgYXJyb3doZWFkIGhhcyBubyBtZWFuaW5nIGluIERXQiAyLCBhcnJvd2hlYWQgPSA3IG1ha2VzIGZpbGxlZCBhcnJvd2hlYWRzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgYXJyb3doZWFkIGlzIHVuZGVmaW5lZCBpbiBEV0IgMiwgaW5pdGlhbGx5IDEgaW4gZ3BpYywgMiBpbiAxMHRoIEVkaXRpb24KAGFycm93aGVhZCA9IDcgJXMgbm90IHVzZWQgYnkgZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBib3hyYWQgdmFyaWFibGUgdG8gZHJhdyBib3hlcyB3aXRoIHJvdW5kZWQgY29ybmVyczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGJveHJhZCA9IDAgJXMgbm8gcm91bmRlZCBjb3JuZXJzIGluIGdyYXBodml6CgAlcyBHTlUgcGljIHN1cHBvcnRzIGEgbGluZXRoaWNrIHZhcmlhYmxlIHRvIHNldCBsaW5lIHRoaWNrbmVzczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGxpbmV0aGljayA9IDA7IG9sZGxpbmV0aGljayA9IGxpbmV0aGljawoAJXMgLlBTIHcvbyBhcmdzIGNhdXNlcyBHTlUgcGljIHRvIHNjYWxlIGRyYXdpbmcgdG8gZml0IDguNXgxMSBwYXBlcjsgRFdCIGRvZXMgbm90CgAlcyBtYXhwc2h0IGFuZCBtYXhwc3dpZCBoYXZlIG5vIG1lYW5pbmcgaW4gRFdCIDIuMCwgc2V0IHBhZ2UgYm91bmRhcmllcyBpbiBncGljIGFuZCBpbiAxMHRoIEVkaXRpb24KACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGFyZSBwcmVkZWZpbmVkIHRvIDExLjAgYW5kIDguNSBpbiBncGljCgBtYXhwc2h0ID0gJWYKbWF4cHN3aWQgPSAlZgoARG90OiBbCgBkZWZpbmUgYXR0cnMwICUlICUlOyBkZWZpbmUgdW5maWxsZWQgJSUgJSU7IGRlZmluZSByb3VuZGVkICUlICUlOyBkZWZpbmUgZGlhZ29uYWxzICUlICUlCgAlcyVzIHVuc3VwcG9ydGVkCgByb3RhdGlvbgAlcyByZXN0b3JlIHBvaW50IHNpemUgYW5kIGZvbnQKLnBzIFxuKC5TCi5mdCBcbihERgoAJXMgQ3JlYXRvcjogJXMgdmVyc2lvbiAlcyAoJXMpCgAlcyBUaXRsZTogJXMKACVzIHNhdmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoubnIgLlMgXG4oLnMKLm5yIERGIFxuKC5mCgBwaWMAcGljOnBpYwBwbmc6c3ZnAGdpZjpzdmcAanBlZzpzdmcAanBlOnN2ZwBqcGc6c3ZnAHBuZzpmaWcAZ2lmOmZpZwBqcGVnOmZpZwBqcGU6ZmlnAGpwZzpmaWcAcG5nOnZybWwAZ2lmOnZybWwAanBlZzp2cm1sAGpwZTp2cm1sAGpwZzp2cm1sAGVwczpwcwBwczpwcwAobGliKTpwcwBwbmc6bWFwAGdpZjptYXAAanBlZzptYXAAanBlOm1hcABqcGc6bWFwAHBzOm1hcABlcHM6bWFwAHN2ZzptYXAAcG5nOmRvdABnaWY6ZG90AGpwZWc6ZG90AGpwZTpkb3QAanBnOmRvdABwczpkb3QAZXBzOmRvdABzdmc6ZG90AHBuZzp4ZG90AGdpZjp4ZG90AGpwZWc6eGRvdABqcGU6eGRvdABqcGc6eGRvdABwczp4ZG90AGVwczp4ZG90AHN2Zzp4ZG90AHN2ZzpzdmcAcG5nOnZtbABnaWY6dm1sAGpwZWc6dm1sAGpwZTp2bWwAanBnOnZtbABnaWY6dGsAaW1hZ2UgY3JlYXRlIHBob3RvICJwaG90b18lcyIgLWZpbGUgIiVzIgoAJGMgY3JlYXRlIGltYWdlICUuMmYgJS4yZiAtaW1hZ2UgInBob3RvXyVzIgoAPHY6aW1hZ2Ugc3JjPSIlcyIgc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6JS4yZjsgaGVpZ2h0OiUuMmY7IGxlZnQ6JS4yZiA7IHRvcDolLjJmIgAgLz4KAGd2bG9hZGltYWdlX2NvcmUuYwBjb3JlX2xvYWRpbWFnZV9wc2xpYgBbIAAlZyAlZyAAXSAgJWQgdHJ1ZSAlcwoAXSAgJWQgZmFsc2UgJXMKAGNvcmVfbG9hZGltYWdlX3BzAGdzYXZlICVnICVnIHRyYW5zbGF0ZSBuZXdwYXRoCgB1c2VyX3NoYXBlXyVkCgBncmVzdG9yZQoAY29yZV9sb2FkaW1hZ2VfdnJtbABTaGFwZSB7CgAgIGFwcGVhcmFuY2UgQXBwZWFyYW5jZSB7CgAgICAgbWF0ZXJpYWwgTWF0ZXJpYWwgewoAICAgICAgYW1iaWVudEludGVuc2l0eSAwLjMzCgAgICAgICAgIGRpZmZ1c2VDb2xvciAxIDEgMQoAICAgIH0KACAgICB0ZXh0dXJlIEltYWdlVGV4dHVyZSB7IHVybCAiJXMiIH0KACAgfQoAY29yZV9sb2FkaW1hZ2VfZmlnACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKICVkICVzCgAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKAGNvcmVfbG9hZGltYWdlX3N2ZwA8aW1hZ2UgeGxpbms6aHJlZj0iACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeD0iJWciIHk9IiVnIgAgdHJhbnNmb3JtPSJyb3RhdGUoJWQgJWcgJWcpIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIALz4KAGRvdF9sYXlvdXQAcGhhc2UAZG90IGRvZXMgbm90IHN1cHBvcnQgdGhlIGFzcGVjdCBhdHRyaWJ1dGUgZm9yIGRpc2Nvbm5lY3RlZCBncmFwaHMgb3IgZ3JhcGhzIHdpdGggY2x1c3RlcnMKAGNvbXBvdW5kAHYgPT0gbgBkb3Rpbml0LmMAcmVtb3ZlX2Zyb21fcmFuawBvcmRlcgBlZGdlIGxhYmVscyB3aXRoIHNwbGluZXM9Y3VydmVkIG5vdCBzdXBwb3J0ZWQgaW4gZG90IC0gdXNlIHhsYWJlbHMKAEVEX2xhYmVsKGZlKQBkb3RzcGxpbmVzLmMAX2RvdF9zcGxpbmVzAGZsYXQgZWRnZSBiZXR3ZWVuIGFkamFjZW50IG5vZGVzIG9uZSBvZiB3aGljaCBoYXMgYSByZWNvcmQgc2hhcGUgLSByZXBsYWNlIHJlY29yZHMgd2l0aCBIVE1MLWxpa2UgbGFiZWxzCgAgIEVkZ2UgJXMgJXMgJXMKAHh4eAAxMDAwMAB7JXN9AGF1eGcAbGFiZWxfZmxvYXQAZml4ZWQAKGwgPSBFRF9sYWJlbChmZSkpAHNldEVkZ2VMYWJlbFBvcwBlICE9IE5VTEwAZmFzdGdyLmMAZGVsZXRlX2Zhc3RfZWRnZQBuICE9IE5EX25leHQobikAZmFzdF9ub2RlAHUgIT0gdgBmYXN0X25vZGVhcHAATkRfbmV4dCh2KSA9PSBOVUxMAGZpbmRfZmFzdF9ub2RlKGcsIG4pAGRlbGV0ZV9mYXN0X25vZGUAZGVsZXRlX2ZsYXRfZWRnZQBtZXJnZV9vbmV3YXkgZ2xpdGNoCgBtZXJnZV9vbmV3YXkAc2FmZV9kZWxldGVfZmFzdF9lZGdlAGxnAGNvbXAAY250ID09IHN6AG1pbmNyb3NzLmMAZml4TGFiZWxPcmRlcgByZW1pbmNyb3NzAG1pbmNyb3NzICVzOiAlZCBjcm9zc2luZ3MsICUuMmYgc2Vjcy4KAHYAbmVpZ2hib3IAKHJ2ID09IDApIHx8IChORF9vcmRlcihydiktTkRfb3JkZXIodikpKmRpciA+IDAAY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLHYsZSkgPT0gRkFMU0UAZmxhdF9yZW9yZGVyAE5EX3JhbmsodikgPT0gcgBwb3N0b3JkZXIAZmxhdGluZGV4KGFnaGVhZChlKSkgPCBNLT5ucm93cwBmbGF0X3NlYXJjaABmbGF0aW5kZXgoYWd0YWlsKGUpKSA8IE0tPm5jb2xzAG91dABvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZCBmb3Igbm9kZSAnJXMnLgoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWQgYmVzdF9jcm9zcyAlZAoATkRfb3JkZXIodikgPCBORF9vcmRlcih3KQBiYWxhbmNlAHRyYW5zcG9zZV9zdGVwAHN1cnByaXNlCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6ICVzICVzIHJhbmsgJWQgaSA9ICVkIGFuID0gMAoAR0RfcmFuayhnKVtyXS5uIDw9IEdEX3JhbmsoZylbcl0uYW4AaW5zdGFsbF9pbl9yYW5rAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IHJhbmsgJWQgbm90IGluIHJhbmsgcmFuZ2UgWyVkLCVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBHRF9yYW5rKGcpWyVkXS52ICsgTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKGcpWyVkXS5hdiArIEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAF9uZXdfcmFuawBtY2xpbWl0AHJhbmsoZywgMiwgbnNpdGVyMihnKSkgPT0gMABwb3NpdGlvbi5jAGRvdF9wb3NpdGlvbgBBUj0lMC40bGYJIEFyZWE9ICUwLjRsZgkARHVtbXk9JWQKAEdvaW5nIHRvIGFwcGx5IGFub3RoZXIgZXhwYW5zaW9uLgoAbmV4dCNpdGVyPSVkCgBocABjb25uZWN0R3JhcGgARWRnZSBsZW5ndGggJWYgbGFyZ2VyIHRoYW4gbWF4aW11bSAldSBhbGxvd2VkLgpDaGVjayBmb3Igb3ZlcndpZGUgbm9kZShzKS4KAG5zbGltaXQAY29udGFpbl9ub2RlcyBjbHVzdCAlcyByYW5rICVkIG1pc3Npbmcgbm9kZQoAbnNsaW1pdDEAbmV3cmFuawBNYXhyYW5rID0gJWQsIG1pbnJhbmsgPSAlZAoAbGVhZGVyICE9IE5VTEwAcmFuay5jAGNsdXN0ZXJfbGVhZGVyAChORF9VRl9zaXplKG4pIDw9IDEpIHx8IChuID09IGxlYWRlcikAYWdoZWFkKGUpID09IFVGX2ZpbmQoYWdoZWFkKGUpKQBtaW5tYXhfZWRnZXMAYWd0YWlsKGUpID09IFVGX2ZpbmQoYWd0YWlsKGUpKQByYW5rAHNhbWUAbWluAHNvdXJjZQBtYXgAc2luawBsZXZlbCBhc3NpZ25tZW50IGNvbnN0cmFpbnRzAGxldmVsIGdyYXBoIHJlYwB/cm9vdAB/dG9wAH9ib3QAY29tcGFjdABfd2Vha18lZAByYW5raW5nOiBmYWlsdXJlIHRvIGNyZWF0ZSBzdHJvbmcgY29uc3RyYWludCBlZGdlIGJldHdlZW4gbm9kZXMgJXMgYW5kICVzCgAlcyBoYXMgdW5yZWNvZ25pemVkIHJhbms9JXMAbGV2ZWwgZWRnZSByZWMAbGV2ZWwgbm9kZSByZWMAc2FtZWhlYWQAc2FtZXRhaWwAdG9vIG1hbnkgKD4gJWQpIHNhbWV7aGVhZCx0YWlsfSBncm91cHMgZm9yIG5vZGUgJXMKAGNvbWJpQVIgPSAlbGYKACVsZiwlZAB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAEVEX3RvX3ZpcnQoZSkgPT0gTlVMTABjbGFzczIuYwBtZXJnZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpID09IE5VTEwAbWFrZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATkRfcmFuayhmcm9tKSA8IE5EX3JhbmsodG8pAGNsdXN0ZXIuYwBtYXBfcGF0aAAlcyB3YXMgYWxyZWFkeSBpbiBhIHJhbmtzZXQsIGRlbGV0ZWQgZnJvbSBjbHVzdGVyICVzCgBsaGVhZABsdGFpbAAlcyAtPiAlczogc3BsaW5lIHNpemUgPiAxIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBoZWFkIG5vdCBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgAlcyAtPiAlczogdGFpbCBpcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBiZXotPnNmbGFnAGNvbXBvdW5kLmMAbWFrZUNvbXBvdW5kRWRnZQBiZXotPmVmbGFnACVzIC0+ICVzOiB0YWlsIG5vdCBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgAlcyAtPiAlczogaGVhZCBpcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBzZWdtZW50IFslcywlc10gZG9lcyBub3QgaW50ZXJzZWN0IGJveCBsbD0lcyx1cj0lcwoAYm94SW50ZXJzZWN0ZgAoJS41ZywlLjVnKQBjbHVzdGVyIG5hbWVkICVzIG5vdCBmb3VuZAoAY29uY2VudHJhdGU9dHJ1ZSBtYXkgbm90IHdvcmsgY29ycmVjdGx5LgoAcmVidWlsdGRfdmxpc3RzOiByYW5rIGxlYWQgJXMgbm90IGluIG9yZGVyICVkIG9mIHJhbmsgJWQKAGRlZ2VuZXJhdGUgY29uY2VudHJhdGVkIHJhbmsgJXMsJWQKAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAY29uYy5jAG1lcmdldmlydHVhbABkb3Q6IE91dCBvZiBtZW1vcnkKAE5EX291dCh2KS5zaXplID09IDIAZmxhdC5jAHNldGJvdW5kcwBHRF9taW5yYW5rKGcpID09IDAAYWJvbWluYXRpb24AbmVhdG9fbGF5b3V0AG5lYXRvAGZkcAB0d29waQBjaXJjbwBwYXRjaHdvcmsAb3NhZ2UAbm9wAG5vcDEAbm9wMgAlbGYsJWxmLCVsZiVjAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoAbm90cmFuc2xhdGUAbm9kZSAlcyBpbiBncmFwaCAlcyBoYXMgbm8gcG9zaXRpb24KAHMsJWxmLCVsZiVuACBlLCVsZiwlbGYlbgBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykgZG9lc24ndCBoYXZlIDNuKzEgcG9pbnRzCgAlbGYsJWxmJW4Ac3ludGF4IGVycm9yIGluIHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKQoAJWxmLCVsZiwlbGYsJWxmAHN0YXJ0AHNlbGYAcmFuZG9tAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBfbmVhdG9fY2MAZ3JhcGggJXMgaXMgZGlzY29ubmVjdGVkLiBIZW5jZSwgdGhlIGNpcmN1aXQgbW9kZWwKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAHRoZSBncmFwaCBpbnRvIGNvbm5lY3RlZCBjb21wb25lbnRzLgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoATkRfaWQobnApID09IGkAbmVhdG9pbml0LmMAbWFrZUdyYXBoRGF0YQBmIDwgZ3JhcGhbal0ubmVkZ2VzAGRmc0N5Y2xlAG1vZGVsICVkIHNtYXJ0X2luaXQgJWQgc3RyZXNzd3QgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAGNvbnZlcnQgZ3JhcGg6IABtYWpvcml6YXRpb24KACVkIG5vZGVzICUuMmYgc2VjCgBsZXZlbHNnYXAAbGF5b3V0IGFib3J0ZWQKAHN0cmVzc3d0ACVzIGF0dHJpYnV0ZSB2YWx1ZSBtdXN0IGJlIDEgb3IgMiAtIGlnbm9yaW5nCgBtb2RlbABjaXJjdWl0AHN1YnNldABzaG9ydHBhdGgAbWRzAGVkZ2VzIGluIGdyYXBoICVzIGhhdmUgbm8gbGVuIGF0dHJpYnV0ZS4gSGVuY2UsIHRoZSBtZHMgbW9kZWwKAGlzIGluYXBwcm9wcmlhdGUuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVua25vd24gdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZWwiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbW9kZQBLSwBtYWpvcgBoaWVyAElsbGVnYWwgdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZSIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBkaW1lbgBtYWtlU3BsaW5lOiBmYWlsZWQgdG8gbWFrZSBzcGxpbmUgZWRnZSAoJXMsJXMpCgBzcGxpbmUgJXMgJXMKAGIgPT0gbgBuZWF0b3NwbGluZXMuYwBtYWtlX2JhcnJpZXJzAHRoZSBib3VuZGluZyBib3hlcyBvZiBzb21lIG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHNvbWUgbm9kZXMgd2l0aCBtYXJnaW4gKCUuMDJmLCUuMDJmKSB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBwb2x5bGluZXMAbGluZSBzZWdtZW50cwBvcnRob2dvbmFsIGxpbmVzAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBwb2x5bGluZSAlcyAlcwoAbWRzTW9kZWw6IGRlbHRhID0gJWYKAFNldHRpbmcgdXAgc3RyZXNzIGZ1bmN0aW9uAFNvbHZpbmcgbW9kZWw6IAAKZmluYWwgZSA9ICVmICVkIGl0ZXJhdGlvbnMgJS4yZiBzZWMKAERhbXBpbmcAZGVmYXVsdGRpc3QAIGluICVzIC0gc2V0dGluZyB0byAlLjAyZgoAYmFkIGVkZ2UgbGVuICIlcyIAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwoAc3RhcnQ9JXMgbm90IHN1cHBvcnRlZCB3aXRoIG1vZGU9c2VsZiAtIGlnbm9yZWQKAFNldHRpbmcgdXAgc3ByaW5nIG1vZGVsOiAAJS4yZiBzZWMKAApmaW5hbCBlID0gJWYAIQAgJWQlcyBpdGVyYXRpb25zICUuMmYgc2VjCgBNYXguIGl0ZXJhdGlvbnMgKCVkKSByZWFjaGVkIG9uIGdyYXBoICVzCgAlcyAlLjNmCgAlLjNmIABORF9oZWFwaW5kZXgodikgPCAwAHN0dWZmLmMAbmVhdG9fZW5xdWV1ZQBDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRoczogAHNwZWNpZmllZCByb290IG5vZGUgIiVzIiB3YXMgbm90IGZvdW5kLgBVc2luZyBkZWZhdWx0IGNhbGN1bGF0aW9uIGZvciByb290IG5vZGUKAHJlcG9zaXRpb24gJXMKACVzIDogJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACAgAEdyYXBoICVzIGhhcyBhcnJheSBwYWNraW5nIHdpdGggdXNlciB2YWx1ZXMgYnV0IG5vICJzb3J0diIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZC4AbGVuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGRpbQBsYXlvdXQgJXMKAGVuZCAlcwoAaWR4ID09IHN6AGxheW91dC5jAGV4cGFuZENsdXN0ZXIAaSA9PSBkZWcAZ2V0RWRnZUxpc3QAX2RnXyVkAGRlcml2ZSBncmFwaCAlcyBvZiAlcwoAbm9kZSAiJXMiIGlzIGNvbnRhaW5lZCBpbiB0d28gbm9uLWNvbXBhcmFibGUgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAX3BvcnRfJXNfJXNfJXNfJWxkAF9wb3J0XyVzXyglZClfKCVkKV8lbGQAJWxmLCVsZiwlbGYsJWxmJWMAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAHNwbGluZXMgYW5kIGNsdXN0ZXIgZWRnZXMgbm90IHN1cHBvcnRlZCAtIHVzaW5nIGxpbmUgc2VnbWVudHMKAG1heGl0ZXIASwBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Abm9ybWFsaXplAG92ZXJsYXAAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5yZWNvZ25pemVkIG92ZXJsYXAgdmFsdWUgIiVzIiAtIHVzaW5nIGZhbHNlCgBWb3Jvbm9pAG92ZXJsYXA6ICVzIHZhbHVlICVkIHNjYWxpbmcgJS4wNGYKAG92ZXJsYXBfc2NhbGluZwB2b3Jvbm9pAHNjYWxpbmcAdnBzYwBpcHNlcABvc2NhbGUAb2xkIHNjYWxpbmcAc2NhbGV4eQB4IGFuZCB5IHNjYWxpbmcAb3J0aG8Ab3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob195eABvcnRob3h5AHh5IG9ydGhvZ29uYWwgY29uc3RyYWludHMAb3J0aG95eAB5eCBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRobwBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG9feXgAcG9ydGhveHkAeHkgcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhveXgAeXggcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcHJpc20AQWRqdXN0aW5nICVzIHVzaW5nICVzCgBVbmhhbmRsZWQgYWRqdXN0IG9wdGlvbiAlcwoATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAlZAoATnVtYmVyIG9mIGluY3JlYXNlcyA9ICVkCgBvdmVybGFwIFslZF0gOiAlZAoAdm9yb19tYXJnaW4Ac2VwAGVzZXAATm9kZSBzZXBhcmF0aW9uOiBhZGQ9JWQgKCVmLCVmKQoAJWYsJWYAc2NhbGUgPSAoJS4wM2YsJS4wM2YpCgBFZGdlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgBDYWxjdWxhdGluZyBjaXJjdWl0IG1vZGVsAGNvbmp1Z2F0ZV9ncmFkaWVudDogdW5leHBlY3RlZCBsZW5ndGggMCB2ZWN0b3IKAENhbGN1bGF0aW5nIHN1YnNldCBtb2RlbABncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAaXMgdW5kZWZpbmVkLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBDYWxjdWxhdGluZyBNRFMgbW9kZWwAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAOiAlLjJmIHNlYwoAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwA6ICUuMmYgc2VjAGNnAGRlbHRhIDw9IDB4RkZGRgBjb25zdHJhaW50LmMAbWtOQ29uc3RyYWludEcAdmcAY29tcHJlc3MgJWcgCgBzY2FsZSBieSAlZywlZyAKAGJlc3Rjb3N0IDwgSFVHRV9WQUwAY29tcHV0ZVNjYWxlWFkAdHJ5aW5nIHRvIGRlbGV0ZSBhIG5vbi1saW5lCgAKaW50ZXJzZWN0aW9uIGF0ICUuM2YgJS4zZgoAc2VnIyVkIDogKCUuM2YsICUuM2YpICglLjNmLCAlLjNmKQoAbWFrZUFkZFBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAbWFrZVBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAeCE9TlVMTABzbWFydF9pbmlfeC5jAElNRFNfZ2l2ZW5fZGltAGlsbC1jb25kaXRpb25lZAByb290ID0gJXMgbWF4IHN0ZXBzIHRvIHJvb3QgPSAlZAoAdHdvcGk6IHVzZSBvZiB3ZWlnaHQ9MCBjcmVhdGVzIGRpc2Nvbm5lY3RlZCBjb21wb25lbnQuCgBSYW5rIHNlcGFyYXRpb24gPSAAJS4wM2xmIABhcmVhAGluc2V0ACVzIGNvb3JkICUuNWcgJS41ZyBodCAlZiB3aWR0aCAlZgoAJS4wM2YAcmVjICVmICVmICVmICVmCgAlZiAtICVmICVmICVmICVmID0gJWYgKCVmICVmICVmICVmKQoAdHJ5aW5nIHRvIGFkZCB0byByZWN0IHslZiArLy0gJWYsICVmICsvLSAlZn0KAHRvdGFsIGFkZGVkIHNvIGZhciA9ICVkCgBhZGRpbmcgJWQgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGNvbXBvdW5kRWRnZXM6IGNvdWxkIG5vdCBjb25zdHJ1Y3Qgb2JzdGFjbGVzIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAGNvbXBvdW5kRWRnZXM6IG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHBhY2sgdmFsdWUgJWQgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAc2VwIHZhbHVlICglLjAzZiwlLjAzZikgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAY2Mlc18lZABjYyVzKyVkAGNfY250ID09IDAAY29tcC5jAGZpbmRDQ29tcABncmlkKCVkLCVkKTogJXMKAG9uZWJsb2NrAG1pbmRpc3QAYXJ0aWN1bGF0aW9uX3BvcwByb290AHJvb3QgPSAlcwoAX2Jsb2NrXyVkAHMtPnN6ID4gMABibG9ja3RyZWUuYwBwb3AAYWN0dWFsAG5vZGVsaXN0LmMAaW5zZXJ0Tm9kZWxpc3QAX3NwYW5fJWQAX2Nsb25lXyVkAGlwAGRlZ2xpc3QuYwByZW1vdmVEZWdsaXN0AEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnX2NyZWF0ZV9idWZmZXIoKQBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnZW5zdXJlX2J1ZmZlcl9zdGFjaygpADogACBpbiBsaW5lICVkACBuZWFyICcAIHNjYW5uaW5nIGEgcXVvdGVkIHN0cmluZyAobWlzc2luZyBlbmRxdW90ZT8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOiIAIHNjYW5uaW5nIGEgSFRNTCBzdHJpbmcgKG1pc3NpbmcgJz4nPyBiYWQgbmVzdGluZz8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOjwAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93ACIiAHN0cmljdABsaW5lbGVuZ3RoADsKACBba2V5PQBdACBbACwKAD0AXyVsZF9TVVNQRUNUAGRpAHN0cmljdCAAewoAXTsKABLu7hQJA+7+7u7uAe7u7gHu7gr+7hMZFe4TAe7u7u4LEe7u7u7u7u7u7gHu7hYJAQEdDxfu7hoXG+7uHO7u7u4BGfvu7u4B7hDu7h7u7u7uAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcRAgICAgICAgICAgICAhIQAhMCAhYCAgICAgICAgICAgICAgICAgICAgICAgICAhQCFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDgIPAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgECAwQFBgcICQoLDA0LAwQFDwcDDA0GDA0ODA0aFRYAAQADBw4GDwgMDRITKhARCRAvMBEyFxMNFBIuEhRBEzITLEAqQhksQkYiDA0OIw8JEBEKEBHJEBEtRUb8AQb2Dwf2JAIQES8wNk1OKCY7PCo2MTk9Py86QNhEMD4lN0M1Sys4SUwAAwkAAAABDgILDAgjJCU2Oz0ADRASGxYcEicyIhczHjwGBzUFDxEUGCkAEykAAAAAADcVKB0eACEmNB8wPhksABsAIBoqACs6Li8AMTg5LQACAgEAAwMBAAEAAQEBAAIBAQACAgMBAQAABQABAwEDBQMBAQEBAgABAAQCAAIBAQMCAQADAgEAAQEAAQEBAwAYGRkZGhscHB0dHh4fHyAgISEiIiMkJCYnJSUoKCkpKSoqKysrLCwtLS4vLzAxMTIzNDY1Nzc3ODg4OTk6Ou7u/+7u7u7u7h8g7gDv7u7uDO7u7ggN7u7u+O7u7u7u7vXu/wMIBCEFCxITJxQVFikyQRcYGRosMzRCR0gbShwdLh5PHyBrZXkAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAJXM6JXMAQ291bGQgbm90IG9wZW4gIiVzIiBmb3Igd3JpdGluZyA6ICVzCgBObyBsaWJ6IHN1cHBvcnQuCgAuJWQAbm9uYW1lLmd2AGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgBObyBsaWJ6IHN1cHBvcnQKAGd2cHJpbnRmOiAlcwoALTk5OTk5OTk5OTk5OTk5OS45OQBncmFwaHZpegAyLjQwLjEAMjAxNjEyMjUuMDMwNAByZW5kZXIAbGF5b3V0AGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwBMYXlvdXQgdHlwZTogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoAJWQgJWQgJWQgJWQATGF5b3V0IHdhcyBub3QgZG9uZQoAZmFpbHVyZSBtYWxsb2MnaW5nIGZvciByZXN1bHQgc3RyaW5nAGdjOiBPdXQgb2YgbWVtb3J5CgBfY2NfAG9yaWcAb3AAY2NvbXBzLmMAbWFwQ2x1c3QAY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AKCU0bGQpICU3bGQgbm9kZXMgJTdsZCBlZGdlcwoAICAgICAgICU3ZCBub2RlcyAlN2QgZWRnZXMgJTdsZCBjb21wb25lbnRzICVzCgBkZwBFcnJvcjogbm9kZSAiJXMiIGJlbG9uZ3MgdG8gdHdvIG5vbi1uZXN0ZWQgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAc29ydHYAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBhcnJheSBwYWNraW5nOiAlcyAlZCByb3dzICVkIGNvbHVtbnMKAGJiWyVzXSAlLjVnICUuNWcgJS41ZyAlLjVnCgBzdGVwIHNpemUgPSAlZAoAcG9zWyVkXSAlZCAlZAoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABsbnJjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTABlZGdldGFyZ2V0AGxhYmVsdGFyZ2V0AHRhaWx0YXJnZXQAaGVhZHRhcmdldABlZGdldG9vbHRpcABsYWJlbHRvb2x0aXAAdGFpbHRvb2x0aXAAaGVhZHRvb2x0aXAAAW5lc3Rpbmcgbm90IGFsbG93ZWQgaW4gc3R5bGU6ICVzCgB1bm1hdGNoZWQgJyknIGluIHN0eWxlOiAlcwoAdHJ1bmNhdGluZyBzdHlsZSAnJXMnCgB1bm1hdGNoZWQgJygnIGluIHN0eWxlOiAlcwoAYWxsAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBmaWxsY29sb3IAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24Abm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAVW5zdXBwb3J0ZWQgY2hhcnNldCB2YWx1ZSAlZAoAVVRGLTgAQklHLTUAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAcG9seWdvbgBvdmFsAGNpcmNsZQBwb2ludABlZ2cAdHJpYW5nbGUAcGxhaW50ZXh0AHBsYWluAGRpYW1vbmQAdHJhcGV6aXVtAHBhcmFsbGVsb2dyYW0AaG91c2UAcGVudGFnb24AaGV4YWdvbgBzZXB0YWdvbgBvY3RhZ29uAG5vdGUAdGFiAGZvbGRlcgBib3gzZABjb21wb25lbnQAY3lsaW5kZXIAcmVjdAByZWN0YW5nbGUAc3F1YXJlAGRvdWJsZWNpcmNsZQBkb3VibGVvY3RhZ29uAHRyaXBsZW9jdGFnb24AaW52dHJpYW5nbGUAaW52dHJhcGV6aXVtAGludmhvdXNlAHVuZGVybGluZQBNZGlhbW9uZABNc3F1YXJlAE1jaXJjbGUAcHJvbW90ZXIAY2RzAHRlcm1pbmF0b3IAdXRyAGluc3VsYXRvcgByaWJvc2l0ZQBybmFzdGFiAHByb3RlYXNlc2l0ZQBwcm90ZWluc3RhYgBwcmltZXJzaXRlAHJlc3RyaWN0aW9uc2l0ZQBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBhc3NlbWJseQBzaWduYXR1cmUAcnByb21vdGVyAGxhcnJvdwByYXJyb3cAbHByb21vdGVyAHJlY29yZABNcmVjb3JkAHN0YXIAIzgwODA4MAAjZmNmY2ZjACMzMDMwMzAAI2U4ZThlOAAjZTBlMGUwACNmMGYwZjAAIzEwMTAxMAAjZjhmOGY4AGluIG5vZGUgJXMKAHJvdW5kZWQAZGlhZ29uYWxzAHJhZGlhbABzdHJpcGVkAHdlZGdlZABfAG5vZGUgJXMsIHBvcnQgJXMsIHVucmVjb2duaXplZCBjb21wYXNzIHBvaW50ICclcycgLSBpZ25vcmVkCgBub2RlICVzLCBwb3J0ICVzIHVucmVjb2duaXplZAoAJS41ZyAlLjVnIHRyYW5zbGF0ZSBuZXdwYXRoIHVzZXJfc2hhcGVfJWQKAGludmlzAABmaWxsZWQAAHMAZQB3AHNwbGluZXMuYwBiZWdpbnBhdGgAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAZW5kcGF0aABtYWtlU2VsZkVkZ2UAZ2V0c3BsaW5lcG9pbnRzOiBubyBzcGxpbmUgcG9pbnRzIGF2YWlsYWJsZSBmb3IgZWRnZSAoJXMsJXMpCgBwb2x5bGluZU1pZHBvaW50AHNwYW4tPmZvbnQAdGV4dHNwYW4uYwB0ZXh0c3Bhbl9zaXplAGZvbnQtPm5hbWUAZm9udG5hbWU6ICIlcyIgcmVzb2x2ZWQgdG86ICVzCgBmb250bmFtZTogdW5hYmxlIHRvIHJlc29sdmUgIiVzIgoAY291cgBhcmlhbABoZWx2ZXRpY2EAW2ludGVybmFsIHRpbWVzXQBbaW50ZXJuYWwgY291cmllcl0AW2ludGVybmFsIGFyaWFsXQBBdmFudEdhcmRlLUJvb2sAVVJXIEdvdGhpYyBMAGJvb2sAc2Fucy1TZXJpZgBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAG9ibGlxdWUAaXRhbGljAEF2YW50R2FyZGUtRGVtaQBkZW1pAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUAQm9va21hbi1EZW1pAFVSVyBCb29rbWFuIEwAc2VyaWYAQm9va21hbi1EZW1pSXRhbGljAEJvb2ttYW4tTGlnaHQAbGlnaHQAQm9va21hbi1MaWdodEl0YWxpYwBDb3VyaWVyAG1vbm9zcGFjZQBDb3VyaWVyLUJvbGQAQ291cmllci1Cb2xkT2JsaXF1ZQBDb3VyaWVyLU9ibGlxdWUASGVsdmV0aWNhAEhlbHZldGljYS1Cb2xkAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93AGNvbmRlbnNlZABIZWx2ZXRpY2EtTmFycm93LUJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUASGVsdmV0aWNhLU9ibGlxdWUATmV3Q2VudHVyeVNjaGxiay1Cb2xkAENlbnR1cnkgU2Nob29sYm9vayBMAE5ld0NlbnR1cnlTY2hsYmstQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLVJvbWFuAHJvbWFuAFBhbGF0aW5vLUJvbGQAUGFsYXRpbm8gTGlub3R5cGUAUGFsYXRpbm8tQm9sZEl0YWxpYwBQYWxhdGluby1JdGFsaWMAUGFsYXRpbm8tUm9tYW4AU3ltYm9sAGZhbnRhc3kAVGltZXMtQm9sZABUaW1lcwBUaW1lcy1Cb2xkSXRhbGljAFRpbWVzLUl0YWxpYwBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljAFVSVyBDaGFuY2VyeSBMAG1lZGl1bQBaYXBmRGluZ2JhdHMARGluZ2JhdHMAaW5wdXRzY2FsZQBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAGNsdXN0ZXIgY3ljbGUgJXMgLS0gJXMgbm90IHN1cHBvcnRlZAoAdGFpbCBjbHVzdGVyICVzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBub2RlICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAF9fAGxhYmVsAHNoYXBlAGJveABUd28gY2x1c3RlcnMgbmFtZWQgJXMgLSB0aGUgc2Vjb25kIHdpbGwgYmUgaWdub3JlZAoAbWFwTgBBRWxpZwBBYWN1dGUAQWNpcmMAQWdyYXZlAEFscGhhAEFyaW5nAEF0aWxkZQBBdW1sAEJldGEAQ2NlZGlsAENoaQBEYWdnZXIARGVsdGEARVRIAEVhY3V0ZQBFY2lyYwBFZ3JhdmUARXBzaWxvbgBFdGEARXVtbABHYW1tYQBJYWN1dGUASWNpcmMASWdyYXZlAElvdGEASXVtbABLYXBwYQBMYW1iZGEATXUATnRpbGRlAE51AE9FbGlnAE9hY3V0ZQBPY2lyYwBPZ3JhdmUAT21lZ2EAT21pY3JvbgBPc2xhc2gAT3RpbGRlAE91bWwAUGhpAFBpAFByaW1lAFBzaQBSaG8AU2Nhcm9uAFNpZ21hAFRIT1JOAFRhdQBUaGV0YQBVYWN1dGUAVWNpcmMAVWdyYXZlAFVwc2lsb24AVXVtbABYaQBZYWN1dGUAWXVtbABaZXRhAGFhY3V0ZQBhY2lyYwBhY3V0ZQBhZWxpZwBhZ3JhdmUAYWxlZnN5bQBhbHBoYQBhbXAAYW5kAGFuZwBhcmluZwBhc3ltcABhdGlsZGUAYXVtbABiZHF1bwBiZXRhAGJydmJhcgBidWxsAGNhcABjY2VkaWwAY2VkaWwAY2VudABjaGkAY2lyYwBjbHVicwBjb25nAGNvcHkAY3JhcnIAY3VwAGN1cnJlbgBkQXJyAGRhZ2dlcgBkYXJyAGRlZwBkZWx0YQBkaWFtcwBkaXZpZGUAZWFjdXRlAGVjaXJjAGVncmF2ZQBlbXB0eQBlbXNwAGVuc3AAZXBzaWxvbgBlcXVpdgBldGEAZXRoAGV1bWwAZXVybwBleGlzdABmbm9mAGZvcmFsbABmcmFjMTIAZnJhYzE0AGZyYWMzNABmcmFzbABnYW1tYQBnZQBndABoQXJyAGhhcnIAaGVhcnRzAGhlbGxpcABpYWN1dGUAaWNpcmMAaWV4Y2wAaWdyYXZlAGltYWdlAGluZmluAGludABpb3RhAGlxdWVzdABpc2luAGl1bWwAa2FwcGEAbEFycgBsYW1iZGEAbGFuZwBsYXF1bwBsYXJyAGxjZWlsAGxkcXVvAGxlAGxmbG9vcgBsb3dhc3QAbG96AGxybQBsc2FxdW8AbHNxdW8AbHQAbWFjcgBtZGFzaABtaWNybwBtaWRkb3QAbXUAbmFibGEAbmJzcABuZGFzaABuZQBuaQBub3QAbm90aW4AbnN1YgBudGlsZGUAbnUAb2FjdXRlAG9jaXJjAG9lbGlnAG9ncmF2ZQBvbGluZQBvbWVnYQBvbWljcm9uAG9wbHVzAG9yAG9yZGYAb3JkbQBvc2xhc2gAb3RpbGRlAG90aW1lcwBvdW1sAHBhcmEAcGFydABwZXJtaWwAcGVycABwaGkAcGkAcGl2AHBsdXNtbgBwb3VuZABwcmltZQBwcm9kAHByb3AAcHNpAHF1b3QAckFycgByYWRpYwByYW5nAHJhcXVvAHJhcnIAcmNlaWwAcmRxdW8AcmVhbAByZWcAcmZsb29yAHJobwBybG0AcnNhcXVvAHJzcXVvAHNicXVvAHNjYXJvbgBzZG90AHNlY3QAc2h5AHNpZ21hAHNpZ21hZgBzaW0Ac3BhZGVzAHN1YgBzdWJlAHN1bQBzdXAAc3VwMQBzdXAyAHN1cDMAc3VwZQBzemxpZwB0YXUAdGhlcmU0AHRoZXRhAHRoZXRhc3ltAHRoaW5zcAB0aG9ybgB0aWxkZQB0aW1lcwB0cmFkZQB1QXJyAHVhY3V0ZQB1YXJyAHVjaXJjAHVncmF2ZQB1bWwAdXBzaWgAdXBzaWxvbgB1dW1sAHdlaWVycAB4aQB5YWN1dGUAeWVuAHl1bWwAemV0YQB6d2oAenduagBVVEY4IGNvZGVzID4gNCBieXRlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKGdyYXBoICVzKSAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoASW52YWxpZCAlZC1ieXRlIFVURjggZm91bmQgaW4gaW5wdXQgb2YgZ3JhcGggJXMgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAGJ6LnNpemUAb3ZlcmxhcF9iZXppZXIAdXJ2ZWQAb21wb3VuZABhbHNlAGluZQBvbmUAbwBydGhvAG9seWxpbmUAcGxpbmUAcnVlAGVzAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAc3BsaW5lcwBvZGIAT3J0aG9nb25hbCBlZGdlcyBkbyBub3QgY3VycmVudGx5IGhhbmRsZSBlZGdlIGxhYmVscy4gVHJ5IHVzaW5nIHhsYWJlbHMuCgBvcnRobyAlcyAlcwoAY2hhbmkAb3J0aG8uYwBjaGFuU2VhcmNoAGNwACUlIVBTLUFkb2JlLTIuMAolJSUlQm91bmRpbmdCb3g6IChhdGVuZCkKL3BvaW50IHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgbmV3cGF0aAogIFggWSAzIDAgMzYwIGFyYyBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgovbm9kZSB7CiAvdSBleGNoIGRlZgogL3IgZXhjaCBkZWYKIC9kIGV4Y2ggZGVmCiAvbCBleGNoIGRlZgogbmV3cGF0aCBsIGQgbW92ZXRvCiByIGQgbGluZXRvIHIgdSBsaW5ldG8gbCB1IGxpbmV0bwogY2xvc2VwYXRoIGZpbGwKfSBkZWYKCgAlZCAlZCB0cmFuc2xhdGUKADAuOCAwLjggMC44IHNldHJnYmNvbG9yCgBzaG93cGFnZQolJSUlVHJhaWxlcgolJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBuZXdwYXRoICVkICVkIG1vdmV0bwoAJWQgJWQgbGluZXRvCgAlZCAlZCBsaW5ldG8gc3Ryb2tlCgBjaGFubmVsICVkICglZiwlZikKACAtPgoAICAgICAAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAQl9SSUdIVABCX0RPV04AQl9MRUZUAEJfVVAAQl9OT0RFAHNlZwBuZXh0X3NlZwBkZWNpZGVfcG9pbnQAaW5jb21wYXJhYmxlIHNlZ21lbnRzICEhIC0tIEFib3J0aW5nCgBzMS0+Y29tbV9jb29yZD09czItPmNvbW1fY29vcmQAaXNfcGFyYWxsZWwAZ3JhcGggRyB7CgAgbm9kZVtzaGFwZT1wb2ludF0KACAgJWQgW3Bvcz0iJWQsJWQiXQoAICAlZCAtLSAlZFtsZW49IiVmIl0KAH0KAGNvbG9yICVzACVzIGlzIG5vdCBhIGtub3duIGNvbG9yLgoAZXJyb3IgaW4gY29seGxhdGUoKQoAc29saWQAaW52aXNpYmxlAGJvbGQAc2V0bGluZXdpZHRoAGZpbGxlZAB1bmZpbGxlZAB0YXBlcmVkAGd2cmVuZGVyX3NldF9zdHlsZTogdW5zdXBwb3J0ZWQgc3R5bGUgJXMgLSBpZ25vcmluZwoAZ3ZyZW5kZXIuYwBndnJlbmRlcl91c2Vyc2hhcGUAbmFtZQBuYW1lWzBdAGJvdGgAam9iAGd2bG9hZGltYWdlLmMAZ3Zsb2FkaW1hZ2UAdXMAdXMtPm5hbWUAdXMtPm5hbWVbMF0ATm8gbG9hZGltYWdlIHBsdWdpbiBmb3IgIiVzIgoAUQBMZWZ0AEtQX0xlZnQAUmlnaHQAS1BfUmlnaHQAVXAAS1BfVXAARG93bgBLUF9Eb3duAHBsdXMAS1BfQWRkAG1pbnVzAEtQX1N1YnRyYWN0AEYAZWRnZQB0YWlscG9ydABoZWFkcG9ydABrZXkAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADIAMwA0ADUANgA3ADgAOQAxMAAxMQAxMgAxMwAxNAAxNQAxNgAxNwAxOAAxOQAyMABBZ25vZGVpbmZvX3QAQWdlZGdlaW5mb190AHJvd2cAY29sZwBBZ3JhcGhpbmZvX3QAZGVseCA+PSAwAHBvc19odG1sX3RibABkZWx5ID49IDAAdGFibGUgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAGNlbGwgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIGNlbGwgc2l6ZSB3aXRoIHVuc3BlY2lmaWVkIHdpZHRoIG9yIGhlaWdodAoATm8gb3IgaW1wcm9wZXIgaW1hZ2UgZmlsZT0iJXMiCgBwZW5jb2xvcgAtPgBmUFEuYwBQUWNoZWNrAEhlYXAgb3ZlcmZsb3cKACUhUFMtQWRvYmUtMi4wCi9ub2RlIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgBzaG93cGFnZQoAZmFpbGVkIGF0IG5vZGUgJWRbMF0KAG5wLT5jZWxsc1swXQBtYXplLmMAY2hrU2dyYXBoAGZhaWxlZCBhdCBub2RlICVkWzFdCgBucC0+Y2VsbHNbMV0AZGl0ZW1zAGZpbmRTVmVydAAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlZiAlZiB0cmFuc2xhdGUKADAgMCAxIHNldHJnYmNvbG9yCgAlZiAlZiAlZiAlZiBub2RlCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgY2VsbAoAMSAwIDAgc2V0cmdiY29sb3IKAHVuZXhwZWN0ZWQgY2FzZSBpbiBsb2NhdGVfZW5kcG9pbnQKADAAdHJhcGV6b2lkLmMAbG9jYXRlX2VuZHBvaW50AGFkZF9zZWdtZW50OiBlcnJvcgoAbmV3bm9kZTogUXVlcnktdGFibGUgb3ZlcmZsb3cKAG5ld25vZGUAbmV3dHJhcDogVHJhcGV6b2lkLXRhYmxlIG92ZXJmbG93ICVkCgBuZXd0cmFwAGluZGV4LmMAUlRyZWVTZWFyY2gAbi0+bGV2ZWwgPj0gMABSVHJlZUluc2VydABsZXZlbCA+PSAwICYmIGxldmVsIDw9ICgqbiktPmxldmVsAHItPmJvdW5kYXJ5W2ldIDw9IHItPmJvdW5kYXJ5W05VTURJTVMgKyBpXQByICYmIG4gJiYgbmV3AFJUcmVlSW5zZXJ0MgBsZXZlbCA+PSAwICYmIGxldmVsIDw9IG4tPmxldmVsAEZBTFNFAG5vZGUuYwBOb2RlQ292ZXIAciAmJiBuAFBpY2tCcmFuY2gAQWRkQnJhbmNoAGkgPCBOT0RFQ0FSRABuZXcAbiAmJiBpID49IDAgJiYgaSA8IE5PREVDQVJEAERpc2NvbkJyYW5jaAByAHJlY3RhbmdsZS5jAFJlY3RBcmVhAHIgJiYgcnIAQ29tYmluZVJlY3QAciAmJiBzAE92ZXJsYXAAbgBzcGxpdC5xLmMAU3BsaXROb2RlAGIAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAExvYWROb2RlcwBxAHAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMF0gKyBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPT0gTk9ERUNBUkQgKyAxAE1ldGhvZFplcm8AcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IHJ0cC0+TWluRmlsbCAmJiBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPj0gcnRwLT5NaW5GaWxsACFydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0udGFrZW5baV0AQ2xhc3NpZnkAR2V0QnJhbmNoZXMAbi0+YnJhbmNoW2ldLmNoaWxkAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAgICAgICEAxZAQAfUAgDBxITFFcWFwgLaQwfCgUMDikRKw8tEC8wIDIGNDUbHB0eCwwhIiMkJSYnKAwYGRcEChscGiAqCiEiIyQlJicoDAoOUwosWDFYWFhYWFgMGxwPLlgzISIjJCUmJygbHP9T//8hIiMkJSYnKAz//wX///8JFP//////DBsc/xAVFiEiIyQlJicoGxz/////ISIjJCUmJygM/xITFBEWF////////wwbHP///xIhIiMkJSYnKBsc/////yEiIyQlJicoDP///////xP///////8MGxz/////ISIjJCUmJygbHP////8hIiMkJSYnKBITFBUWFxgZ////////////IyQlJicbEhMUFhciNmgBHzhWISACGxsbXhsbNzlwNtLCTwQ8IkciPyJEIiJYImUiIgUGX2A5BAcICQoLDA0OBGZnXWptBQZvWDtxBwgJCgsMDQ4Ecjxbcz5hRhsSExQWFwQFBj9BYkkHCAkKCwwNDgUGAFwAAAcICQoLDA0OBAAATwAAAFNCAAAAAAAEBQYARFRVBwgJCgsMDQ4FBgAAAAAHCAkKCwwNDgQAKiwuRzEzAAAAAAAABAUGAAAASgcICQoLDA0OBQYAAAAABwgJCgsMDQ4EAAAAAAAATAAAAAAAAAQFBgAAAAAHCAkKCwwNDgUGAAAAAAcICQoLDA0OKSstLzAyNDUAAAAAAAAAAAApKy0wMgAELwAkIwASFBYaHB4gGAAFBy8vLwAvLwAACQgoAAABIgIGAAAAAAAIAAAAAAAAAAAAAAAAACUDJhMKKRULKhcOLRkRGwwrHQ0sHw8hEAAzADAAL0MAMQAvADUuJ0IyQQA6OAA8NEUANgBAAAA/AEQ3Ozk9AAIDAwEBAgEBAQMDAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQIBAQIABgEDAwMDAwEAAQIDAAQBAgMABAAEAAQAAwIBAgECAVN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGJlZm9yZSA8VEFCTEU+AFN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGFmdGVyIDwvVEFCTEU+AAApKioqKywsLS0tLS0tLS0tLS4vMDEyMzQ1Njc4OTo7PD0+Pj8/QUBCQkJCQkJDQ0REREZFR0dHSUhKSEtITEhNTU5OT0//Aw8QESM6JD0lQBVDJkUnSBhLGU0aKBxOHR5QUVJZWmxrbmNkV2ltZW1vcnkgZXhoYXVzdGVkACVzIGluIGxpbmUgJWQgCgAuLi4gJXMgLi4uCgBUQUJMRQBUUgBUSABURABIVE1MAEZPTlQAQgBVAE8ASQBTVVAAU1VCAFMAQlIASFIAVlIASU1HAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlZCAKADxJTUc+AElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAc2NhbGUAc3JjADxCUj4AYWxpZ24ASUdIVABFRlQARU5URVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gLSBpZ25vcmVkCgA8Rk9OVD4AY29sb3IAZmFjZQBwb2ludC1zaXplAFBPSU5ULVNJWkUASW1wcm9wZXIgJXMgdmFsdWUgJXMgLSBpZ25vcmVkACVzIHZhbHVlICVzID4gJWQgLSB0b28gbGFyZ2UgLSBpZ25vcmVkACVzIHZhbHVlICVzIDwgJWQgLSB0b28gc21hbGwgLSBpZ25vcmVkADxURD4AYmFsaWduAGJnY29sb3IAYm9yZGVyAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAGNvbHNwYW4AZml4ZWRzaXplAGdyYWRpZW50YW5nbGUAaGVpZ2h0AGhyZWYAaWQAcG9ydAByb3dzcGFuAHNpZGVzAHN0eWxlAHRhcmdldAB0aXRsZQB0b29sdGlwAHZhbGlnbgB3aWR0aABXSURUSABPVFRPTQBPUABJRERMRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgAgLABPVU5ERUQAQURJQUwASWxsZWdhbCB2YWx1ZSAlcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBTT0xJRABJTlZJU0lCTEUASU5WSVMARE9UVEVEAERBU0hFRABVbnJlY29nbml6ZWQgY2hhcmFjdGVyICclYycgKCVkKSBpbiBzaWRlcyBhdHRyaWJ1dGUKAFJPV1NQQU4AUk9XU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAEhFSUdIVABHUkFESUVOVEFOR0xFAFJVRQBBTFNFAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAENPTFNQQU4AQ09MU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAENFTExTUEFDSU5HAENFTExQQURESU5HAEJPUkRFUgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBFWFQASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gaW4gVEQgLSBpZ25vcmVkCgA8VEFCTEU+AGNlbGxib3JkZXIAY29sdW1ucwByb3dzAFVua25vd24gdmFsdWUgJXMgZm9yIFJPV1MgLSBpZ25vcmVkCgBVbmtub3duIHZhbHVlICVzIGZvciBDT0xVTU5TIC0gaWdub3JlZAoAQ0VMTFNCT1JERVIAPEhUTUw+ADwvSFRNTD4ALS0ATGFiZWwgY2xvc2VkIGJlZm9yZSBlbmQgb2YgSFRNTCBlbGVtZW50CgBVbmNsb3NlZCBjb21tZW50CgBqID09IDAAY3Z0LmMAUG9ic3BhdGgAcm91dGUuYwBsaWJwYXRoLyVzOiVkOiAlcwoAc2hvcnRlc3QuYwBzb3VyY2UgcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBkZXN0aW5hdGlvbiBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAY2Fubm90IG1hbGxvYyBvcHMAY2Fubm90IHJlYWxsb2Mgb3BzAHRyaWFuZ3VsYXRpb24gZmFpbGVkAGNhbm5vdCBtYWxsb2MgdHJpcwBjYW5ub3QgcmVhbGxvYyB0cmlzAGNhbm5vdCBtYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBkcS5wbmxzAGNhbm5vdCBtYWxsb2MgcG5scwBjYW5ub3QgbWFsbG9jIHBubHBzAGNhbm5vdCByZWFsbG9jIHBubHMAY2Fubm90IHJlYWxsb2MgcG5scHMAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUWQBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5PVEFUSU9OKAAoAHwAaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAGh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvAHhtbD1odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UAL2Rldi91cmFuZG9tAGZhbGxiYWNrKDQpAGdldHRpbWVvZmRheV9yZXMgPT0gMAB4bWxwYXJzZS5jAGdhdGhlcl90aW1lX2VudHJvcHkARVhQQVRfRU5UUk9QWV9ERUJVRwAxAEVudHJvcHk6ICVzIC0tPiAweCUwKmx4ICglbHUgYnl0ZXMpCgBpbnZhbGlkIGFyZ3VtZW50AHByZWZpeCBtdXN0IG5vdCBiZSBib3VuZCB0byBvbmUgb2YgdGhlIHJlc2VydmVkIG5hbWVzcGFjZSBuYW1lcwByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAY2Fubm90IHN1c3BlbmQgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eQBwYXJzaW5nIGZpbmlzaGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAGlsbGVnYWwgY2hhcmFjdGVyKHMpIGluIHB1YmxpYyBpZAB0ZXh0IGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABYTUwgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAGluY29tcGxldGUgbWFya3VwIGluIHBhcmFtZXRlciBlbnRpdHkAbXVzdCBub3QgdW5kZWNsYXJlIHByZWZpeAB1bmJvdW5kIHByZWZpeABjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgByZXF1ZXN0ZWQgZmVhdHVyZSByZXF1aXJlcyBYTUxfRFREIHN1cHBvcnQgaW4gRXhwYXQAZW50aXR5IGRlY2xhcmVkIGluIHBhcmFtZXRlciBlbnRpdHkAdW5leHBlY3RlZCBwYXJzZXIgc3RhdGUgLSBwbGVhc2Ugc2VuZCBhIGJ1ZyByZXBvcnQAZG9jdW1lbnQgaXMgbm90IHN0YW5kYWxvbmUAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHVuY2xvc2VkIENEQVRBIHNlY3Rpb24AZW5jb2Rpbmcgc3BlY2lmaWVkIGluIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNvcnJlY3QAdW5rbm93biBlbmNvZGluZwBYTUwgb3IgdGV4dCBkZWNsYXJhdGlvbiBub3QgYXQgc3RhcnQgb2YgZW50aXR5AHJlZmVyZW5jZSB0byBleHRlcm5hbCBlbnRpdHkgaW4gYXR0cmlidXRlAHJlZmVyZW5jZSB0byBiaW5hcnkgZW50aXR5AHJlZmVyZW5jZSB0byBpbnZhbGlkIGNoYXJhY3RlciBudW1iZXIAYXN5bmNocm9ub3VzIGVudGl0eQByZWN1cnNpdmUgZW50aXR5IHJlZmVyZW5jZQB1bmRlZmluZWQgZW50aXR5AGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGR1cGxpY2F0ZSBhdHRyaWJ1dGUAbWlzbWF0Y2hlZCB0YWcAcGFydGlhbCBjaGFyYWN0ZXIAdW5jbG9zZWQgdG9rZW4Abm90IHdlbGwtZm9ybWVkIChpbnZhbGlkIHRva2VuKQBubyBlbGVtZW50IGZvdW5kAHN5bnRheCBlcnJvcgBvdXQgb2YgbWVtb3J5AAIDBAUGBwgAAAkKCwwNDg8QEQAAAAAAAAAAAAAAABITABQAAAAAAAAAAAAAAAAAABUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARcAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAxobHB0eAAAfICEiIyQlEBEAAAAAAAAAAAAAAAASEyYUAAAAAAAAAAAAAAAAAAAnFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0RBVEFbVVMtQVNDSUkAVVRGLTE2AFVURi0xNkJFAFVURi0xNkxFAHZlcnNpb24AZW5jb2RpbmcAc3RhbmRhbG9uZQBET0NUWVBFAFNZU1RFTQBQVUJMSUMARU5USVRZAEFUVExJU1QARUxFTUVOVABOT1RBVElPTgBJTkNMVURFAElHTk9SRQBFTVBUWQBBTlkAUENEQVRBAElNUExJRUQAUkVRVUlSRUQARklYRUQAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUSUVTAE5NVE9LRU4ATk1UT0tFTlMATkRBVEEAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAASEBMUFRYXGBkaGxwdHh8gIRAQIiMQJCUmJygpKisQLC0uES8wERExERERMjM0NTY3ODkREBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDsQPD0+P0BBEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEMQEEQQRUZHEEgQSRAQEBBKS0xNEBBOEE9QEBAQEFEQEBAQEBAQEBAQEBAQUhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFRVVlcQEFhZEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFoQW1xdXl9gYWIQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAA/v8A/AEAAPgBAAB4AAAAAP/73/sAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/P/gr//////////////f//////8gQLAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAA/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAhv7///8AQEkAAAAAABgA3/8AyAAAAAAAAAABADwAAAAAAAAAAAAAAAAQ4AEeAGD/vwAAAAAAAP8HAAAAAAAAAAAAAAAAAAAAAAAAAPjPAwAAAAMAIP9/AAAATgAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAABAAIB4AMAABAAAAAAAAAAAQACAAAAAA/A8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAABAAIAAAAAADAAAAAAAAAAAQACAAAAAA/QAAAAAAAAAAAAAgAAAAAP8HAAAAAAAAAAAAIAAAAAAA/wAAAAAAAAAQACAAAAAAAAAAAAAAAAAAAAAgAAAAAD8CAAAAAAAAAAAABAAAAAAQAAAAAAAAgACAwN8ADAAAAAAAAAAAAAAAAAAfAAAAAAAA/v///wD8//8AAAAAAAAAAPwAAAAAAADA/9//BwAAAAAAAAAAAACABgD8AAAYPgAAgL8AzAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAYP///x8AAP8DAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAQAAGAAAAAAAAAAAADgAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAwAAD+fy8AAP8D/38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjEAAAAAAAAAAAAAAAAAAAAAAADE/////wAAAMAAAAAAAAAAAAEA4J8AAAAAfz8AAAAAAAAAAAAAAAAAAAAAEAAQAAD8////HwAAAAAADAAAAAAAAEAADPAAAAAAAADA+AAAAAAAAADAAAAAAAAAAAD/AP///yEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9/AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA+AA4ADgAGCA+P////z//////38f/PF//38AAP///wMAAP////8BAHsD0MGvQgAMH7z//wAAAAAAAv//////////////////////////////////////////////////////////DwD/////fwAAAP8HAAD/////////////PwAAAAAAAPz///7/////////////////////////////////////////////////////H/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IcD/gAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAA//////9//w8AAAAAAAAAAP////v/////////////DwD//////////////////////////////////z8AAAD/Dx7///8B/MHgAAAAAAAAAAAAAAAeAQAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAA/////w8AAAD///9/////////////////////////////////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAA////////fwAAAAAAAMAA4AAAAAAAAAAAAAAAgA9wAAAAAAAAAAAAAAAAAAD/AP//fwADAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAARAgAAAAP/wMAAAAAAADwAAAAAAAAAAAAEMAAAP//AwcAAAAAAPgAAAAACIAAAAAAAAAAAAAACAD/PwDAAAAAAAAAAAAAAAAAAAAA8AAAgAsAAAAAAAAAgAIAAMAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP///wN/AP/////3/38PAAAAAAAAAAAAAAAAAAAAAACA/v8A/AEAAPgBAAD4PwAAAAAAAAAAAAAAAAAAAH9/ADCH//////+P/wAAAAAAAOD//wf/DwAAAAAAAP//////PwAAAAAPAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/wD/AQAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD/8/z8AAAADAAAAAAAA/gMAAAAAAAAAAAAAAAAAGAAPAAAAAAAAAAAAAAAAAAAA4QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABwAAAAAAAAAAAAAAAAD///////////////////////////////////////8/AP////9//v///////////////////////////z8AAAAA//////////8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////fwD//wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAAAIAAAgAAAAIAAAgAAAAIAAAAACAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP//////D////////////////w8A/3/+f/7//v8AAAAA/wf///9//////////w///////wcAAAAAAAAAAMD///8HAP//////B/8BAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAL///////////x///w8A/////98HAAD//wEA/////////3/9/////////////////////////////x7/////////Pw8A////AAAAAAAAAAAAAAAAAAAAAAAA+P//////////4f8AAAAAAAD//////////z8AAAAAAAAA//////////////////8PAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISRAQEEpLTE1OEBAQT1AQEBAQURAQEBAQEBAQEBEREVJTEBAQEBAQEBAQEBARERERVBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERVRAQEBBWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFcQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFhZWlsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQXBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN88QNf///v///////////+///////////////////////8D/P////////////////////////8A/v///38C/v////8AAAAAAP+/tgD///8HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8BAAAAAAAAAAD9HwAAAAAAAPAD/3//////////7//f4f/P//7+7p/5///9xeOfWYCwz/8DAO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAA7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADu3/3///3v498dYAPP/wAA7N/9///97+PfHWBAz/8GAOzf/f/////n312AAM//APzs/3/8///7L3+AX/8AAAwA/v////9//wc/IP8DAAAAAJYl8P6u7P87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP//+fB//9/QP8z/////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////4cAAAAA//8AAP////////////8fAP7//////////////////////////////////////////////////////////5////7//wf////////////HAQD/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wD//////wf//////////z8A////H/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////PwD/4///////PwAAAAAAAAAAAAAAAADebwD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg/////z/+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA/////////////////////////////////x8AAAAAAAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I////+A/////////////wAAAACA//z///////////////95DwD/BwAAAAAAAAAAAP+79////wAAAP///////w8A//////////8PAP8DAAD8CP//////B/////8HAP///x/////////3/wCA/wMAAAAA////////fwD/P/8D//9/BP////////9/BQAAOP//PAB+fn4Af38AAAAAAAAAAAAAAAAAAAAAAAD//////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP///38AAP///wcAAAAAAAD///8//////w//PgAAAAAA/////////////////////////z//AwAAAAAAAAAAAAA//f////+/kf//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//DwAAAAAA////HwAAAAAAAAAAAAAAAAAAAAD///////8/AP//PwD//wcAAAAAAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8/AAAAwP8AAPz///////8BAAD///8B/wP////////H/wAAAAAAAAAA//////////8eAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8/AP8DAAAAAAAA/////////////////38AAAAAAAAAAAAAAAAAAAAAAAD///////////////8HAAAAAAAAAAAAAAAAAAAAAAAAAP//////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////x8A//////9/AAD4/wAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98/////////v////lv73CoTqlqqW9/de//v/D+77/w8AAAAAAAAAAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AYWxudW0AYWxwaGEAYmxhbmsAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QAc3BhY2UAdXBwZXIAeGRpZ2l0AEMuVVRGLTgAAAAAAAAAAABDAC9wcm9jL3NlbGYvZmQvAHJ3YQBpbmZpbml0eQBuYW4ACQAKAA0ADAAHABsAW1s6YWxudW06XV9dAFteWzphbG51bTpdX10AW1s6c3BhY2U6XV0AW15bOnNwYWNlOl1dAFtbOmRpZ2l0Ol1dAFteWzpkaWdpdDpdXQAvdG1wL3RtcGZpbGVfWFhYWFhYAHcr";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}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};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}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"};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.length: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 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/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),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&292)>>2}}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)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}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.flagsForNode(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;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;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(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;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 usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>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 ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___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=_memalign(PAGE_SIZE,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 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}}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 ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___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}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f32=Math_sqrt;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort("trap!")}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;if(!i)qa(108233,108204,54,108218);if(!(a[i>>0]|0))qa(108242,108204,55,108218);b0(h,c[d+28>>2]|0)|0;i=h+(W_(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;p1(h,g)|0;if((hP(b,h)|0)==999){c[j>>2]=h;Pw(0,108254,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|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];xb[m&31](b,d,k,f)}l=n;return}function hP(a,b){a=a|0;b=b|0;b=wC(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function iP(a){a=a|0;return 1}function jP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function kP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function lP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function mP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function nP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function oP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function pP(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function qP(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;GP(b,d)}dF(b,d);a[b+540>>0]=1;return}function rP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{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];zP(b,f);FP(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{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];zP(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|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];l=k;return}function sP(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function tP(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 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];zP(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}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]}l=k;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;return}function vP(a){a=a|0;return}function wP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=L1(d,135739)|0;if(d|0){i=TB(d,0)|0;s1(d)|0;f=5}}else{i=TB(c[15621]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){tb[h&127](d);d=c[g>>2]|0}gH(d);$x(c[g>>2]|0)|0}Fz(i,0,134401,280,1);Fz(i,1,134365,304,1);Fz(i,2,134378,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((_C(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function xP(a,b){a=a|0;b=b|0;a=c[a>>2]|0;_C(a,c[a+168>>2]|0,b)|0;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}aD(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function zP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|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];AP(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>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[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=BP(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){CP(b);c[e>>2]=d;DP(b);a[b+537>>0]=1}l=f;return}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function BP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=Sy(a)|0;a:while(1){if(!e){e=9;break}d=Ex(a,e)|0;while(1){if(!d)break;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((WM(d,f)|0)<<24>>24){e=6;break a}d=Gx(a,d)|0}e=Ty(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=Uy(a)|0;while(1){if(!d)break;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((TM(d,f)|0)<<24>>24){e=12;break}d=Vy(a,d)|0}if((e|0)==12)break;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];d=EP(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function CP(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function DP(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){D_(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=nx(d,0,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=nx(ez(d)|0,1,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=nx(ez(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}default:break a}while(0);return}function EP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>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];f=EP(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function FP(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){D_(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(pz(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;GP(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;HP(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;IP(b,d);break b}default:break b}while(0);return}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((fz(b)|0)==(b|0))if(!(ey(b)|0)){rC(d,0,108412);break}else{rC(d,0,108404);break}else rC(d,0,108418);while(0);rC(d,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=sx(b,0,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e+1|0,yx(b,d)|0);rC(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=nx(b,0,137973,0)|0;if(!d){d=nx(b,0,108395,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;rC(f,0,108399);rC(f,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;g=fz(ez(b)|0)|0;e=2;d=0;while(1){d=sx(g,1,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e|1,yx(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=nx(ez(b)|0,1,137973,0)|0;if(!d){d=nx(ez(b)|0,1,108395,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function IP(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;h=a+592|0;rC(h,0,108368);k=b+48|0;rC(h,1,ry(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(ey(ez(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;rC(h,3,k?134656:138665);k=b+-48|0;rC(h,4,ry(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=fz(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=sx(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(b$(f,108373)|0)){l=5;break}if(!(b$(f,108382)|0)){l=7;break}if(b$(f,108391)|0)break;rC(h,6,yx(b,d)|0)}if((l|0)==5){l=0;rC(h,2,yx(b,d)|0)}else if((l|0)==7){l=0;rC(h,5,yx(b,d)|0)}rC(i,g,c[e>>2]|0);rC(i,g+1|0,yx(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,137973,0)|0;if(!d){d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,108395,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function JP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=KP(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;uC(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vH(12)|0;if(!b)b=0;else b=n1(b)|0;c[e+4>>2]=b;c[e+8>>2]=n1(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function LP(b,c){b=b|0;c=c|0;MP(b);a[b+44>>0]=0;NP(b)|0;AL(b)|0;return}function MP(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?P0(e,108427)|0:0)JP(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function NP(a){a=a|0;var b=0;b=wC(a,2,108440)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=lb[e&127](b,d)|0;else a=0;return a|0}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function QP(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (RP(~~(d>b?d:b)>>>0)|0)+1|0}function RP(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function SP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=TP(b,d,e,f,g)|0;e=UP(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){VP(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}WP(p)}l=r;return e|0}function TP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=uH(28)|0;j=Cw(25808,c[4558]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=CS()|0;c[g+24>>2]=j;if(!j){E1(108658,14,1,c[15686]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{E1(108658,14,1,c[15686]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)yw(a)|0;a=c[g+24>>2]|0;if(a|0)ES(a)|0;D_(g);g=0}return g|0}function UP(a){a=a|0;var b=0;b=dQ(a)|0;if((b|0)>=0){eQ(a);fQ(a);b=yw(c[a+20>>2]|0)|0}return b|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.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.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)qa(108451,108461,445,108471);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];XP(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|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];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+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]}else{h[F>>3]=+h[E>>3];XP(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];XP(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|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];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|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];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];m=g;f=j;e=i}h[F>>3]=+h[E>>3];XP(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+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(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>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];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}XP(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];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];if(!n)break c;if(k>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];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;XP(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>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];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;XP(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];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];if(!n)break g;if(k>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];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;XP(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>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];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+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]}while(0);l=M;return}function WP(a){a=a|0;ES(c[a+24>>2]|0)|0;D_(a);return}function XP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)qa(108451,108461,382,108480);o=g+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];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((YP(e,k)|0)!=0&1)|0}while(0);m=m+1|0}ZP(e,q);m=c[d+24>>2]|0;m=GS(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;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]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){_P(j,s);n=+$P(q,s);if(n>0.0){g=g+1|0;i=+aQ(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(ZP(j,s),r=+$P(q,s),r>0.0):0){g=g+1|0;i=+bQ(e,j,q,r,f)+i}}k=c[k>>2]|0}BS(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;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]}l=t;return}function YP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}qa(108517,108461,219,108554);return 0}function ZP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function _P(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function $P(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function aQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function bQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))qa(108496,108461,276,108506);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(ij?2:1;break}e=kg){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function dQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=QP(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=uH(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;gQ(f,o);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];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=hQ(d,g)|0;n=c[j>>2]|0;if(!(nb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function eQ(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;HS(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}return}function fQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Ew(c[e>>2]|0)|0;d=0;while(1){if(!(Ew(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}nb[c[g>>2]&63](g,a,4096)|0;D_(a);d=d+1|0}if((h|0)==8)qa(108567,108461,616,108570);if((f|0)==(d|0))return;else qa(108582,108461,623,108570)}function gQ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)qa(108594,108461,264,108621);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)qa(108631,108461,266,108621);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function iQ(b){b=b|0;var d=0,e=0,f=0,g=0;d=W_(b)|0;if(d>>>0>=(c[46595]|0)>>>0){d=d+11|0;c[46595]=d;d=xH(c[46596]|0,d)|0;c[46596]=d;if(!d)d=0;else e=4}else{d=c[46596]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(Q$(f)|0)e=(P$(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function jQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((N1(r,108673,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;kQ(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=W_(r)|0;if(b>>>0>=(c[46597]|0)>>>0){b=b+11|0;c[46597]=b;b=xH(c[46598]|0,b)|0;c[46598]=b;if(!b){b=-1;break}}else b=c[46598]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((N1(b,108687,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{mQ(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{mQ(k,j,g,C,D,E);lQ(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{mQ(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{mQ(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=nQ(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[46599]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(b$(u,i)|0)==0:0)){b=e2(v,25844,2491,12,101)|0;c[46599]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function kQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=bc?b:c;m=ma?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function lQ(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b>3]=c;b=+h[f>>3];c=b>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function mQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function nQ(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(z$(e,134184,4)|0)==0)):0)?!(d<<24>>24==108|(z$(e,134189,4)|0)==0):0)?(z$(e,134194,8)|0)!=0:0){do if(d<<24>>24==47){d=A$(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(V$(134203,e,4)|0)==0;b=e?d+1|0:b;break}d=c[46600]|0;if((d|0?a[d>>0]|0:0)?V$(134203,d,3)|0:0){b=pQ(d,b+2|0)|0;break}b=b+2|0}}else{d=c[46600]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(V$(134203,d,3)|0)!=0:0)b=pQ(d,b)|0}while(0);b=iQ(b)|0}return b|0}function oQ(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function pQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=W_(a)|0;g=(W_(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[46601]|0)>>>0)d=c[46602]|0;else{c[46601]=d;d=xH(c[46602]|0,d)|0;c[46602]=d}c[e>>2]=a;c[e+4>>2]=b;Y0(d,134208,e)|0;l=f;return c[46602]|0}function qQ(a){a=a|0;c[46600]=a;return}function rQ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;sQ(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=tQ(g)|0;l=f;return a|0}function sQ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;zQ(a);AQ(a);BQ(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function tQ(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=uH(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+uQ(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);vQ(q,c,n);wQ(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;xQ(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}yQ(q);return q|0}function uQ(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10392:10648;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function vQ(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[46603]=100;e=uH(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function wQ(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;xQ(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function xQ(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[46603]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[46603]=k<<1;j=F_(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function yQ(a){a=a|0;var b=0;b=c[a>>2]|0;wQ(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=F_(c[a>>2]|0,c[a+4>>2]<<4)|0;c[46603]=0;return}function zQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function AQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function BQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function CQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;DQ(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+EQ(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+EQ(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=xx(c[(c[j>>2]|0)+8>>2]|0,134215)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=134226;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;YO(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)UO(b,134232);else UO(b,f);GQ(b,e,m);if(a[j>>0]|0)D_(c[i>>2]|0)}else FQ(b,c[d>>2]|0,m);HQ(b);l=n;return}function DQ(a){a=a|0;var d=0,e=0,f=0;d=NE(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function EQ(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function FQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|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[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];TQ(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function GQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|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[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)IQ(g,j,183464);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0: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];s=JQ(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=KQ(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){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];$O(e,t,j)}else{o=d[f+33>>0]|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];EJ(e,LQ(p,t,o)|0,4,4,j)}D_(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;MQ(e,j,g);i=i+4|0}i=c[r>>2]|0;fP(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}NQ(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|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];OQ(e,f,t)}}if(s|0)PQ(e,w);if((x?c[e+152>>2]&4|0: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],JQ(e,g,f,t,w)|0):0)PQ(e,w);if(c[u>>2]|0)QQ(g,183464);l=y;return}function HQ(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;OE(a);return}function IQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function JQ(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{Tw(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=n1(QE(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}Ww(t,h)|0;i=c[46604]|0;c[46604]=i+1;c[k>>2]=i;Y0(j,134309,k)|0;Ww(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){Uw(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=PE(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)Xw(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];XE(d,n);PO(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function KQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((uG(b,f,i)|0)<<24>>24)){WO(a,b);b=1}else{WO(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)XO(a,134232,d,h);else XO(a,b,d,h);b=e>>>1&1|2}UO(a,134297);l=j;return b|0}function LQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=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];e=a+32|0;b=b+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((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function MQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|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[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=JQ(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=KQ(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];$O(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];EJ(e,LQ(p,r,n)|0,4,4,i)}D_(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];OQ(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{GQ(e,c[i>>2]|0,g);break a}case 3:{SQ(e,c[i>>2]|0,g);break a}default:{FQ(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)PQ(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],JQ(e,g,f,r,s)|0):0)PQ(e,s);l=v;return}function NQ(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?134232:j;WO(f,q);UO(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);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];RQ(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);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];RQ(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function OQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;UO(e,(m|0)==0?134232:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))YO(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=134238;k=4}}else{i=134245;k=4}if((k|0)==4)c[j>>2]=i;YO(e,j)}k=f+33|0;fP(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];$O(e,o,0);break}j=n+16|0;m=d[k>>0]|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[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];LQ(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{bP(e,j,2);break a}case 3:{bP(e,n+32|0,2);break a}case 1:{bP(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);break a}case 11:{bP(e,j,3);break a}case 5:{bP(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,3);break a}case 13:{bP(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|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];bP(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,4);break a}case 9:{bP(e,j,2);bP(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);bP(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|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[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];EJ(e,LQ(n,o,m)|0,4,4,0)}while(0);l=p;return}function PQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{QO(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){D_(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function QQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function RQ(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];$O(a,g,1);l=f;return}function SQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)qa(134252,134260,623,134272);if(!(a[e>>0]|0))qa(134286,134260,624,134272);else{dP(b,e,g,4,1,f);l=i;return}}function TQ(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|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.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];RO(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;UO(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;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];TO(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}SO(d);l=R;return}function UQ(a){a=a|0;D_(c[a>>2]|0);D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(c[a+16>>2]|0);D_(c[a+12>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);return}function VQ(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;D_(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)tb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)D_(d);D_(a)}return}function WQ(a){a=a|0;D_(c[a+32>>2]|0);D_(a);return}function XQ(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{YQ(c[b>>2]|0);break}case 3:{WQ(c[b>>2]|0);break}default:VQ(c[b>>2]|0)}if(d|0)D_(b);return}function YQ(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)yw(c[e>>2]|0)|0;else{b=c[e>>2]|0;D_(c[a+92>>2]|0);D_(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;ZQ(d);b=b+4|0}D_(c[e>>2]|0)}UQ(a);D_(a);return}function ZQ(a){a=a|0;XQ(a+88|0,0);UQ(a);D_(a);return}function _Q(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=$Q(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function $Q(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(O$(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=aR(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function aR(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(O$(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=$Q(c[b+88>>2]|0,d)|0;else b=0;return b|0}function bR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function cR(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=uH((c[d+100>>2]<<2)+4|0)|0;n=uH((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function dR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55736+(a<<2)>>2]|0;else{c[b>>2]=a;Y0(191879,134313,b)|0;a=191879}l=d;return a|0}function eR(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=az(d,dR(f)|0,1)|0;Az(i,134365,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=uH((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=uH((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=az(b,dR(f)|0,1)|0;Az(i,134365,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=uH((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=uH((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=az(d,dR(e[o>>1]|0)|0,0)|0;o=az(d,dR((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=az(b,dR(e[o>>1]|0)|0,0)|0;o=az(b,dR((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(b,n,o,~~+h[g+72>>3]);f=f+4|0}gR(d);gR(b);return}function fR(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=Rx(a,d,f,0,0)|0;if(!h){i=Rx(a,d,f,0,1)|0;Az(i,134378,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=vH((c[a+184>>2]<<2)+8|0)|0;else a=xH(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=vH((c[a+176>>2]<<2)+8|0)|0;else a=xH(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function gR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(Rx(a,d,h,0,0)|0){d=h;continue}g=Rx(a,d,h,0,1)|0;Az(g,134378,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=vH((c[d+184>>2]<<2)+8|0)|0;else d=xH(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=vH((c[d+176>>2]<<2)+8|0)|0;else d=xH(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function hR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function iR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4621];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=uH((e<<2)+4|0)|0;c[b+96>>2]=uH((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=Xx(134391,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=Xx(134396,g,0)|0;Az(f,134401,280,1)|0;Az(g,134401,280,1)|0;eR(b,f,g);fI(f,2,2147483647)|0;fI(g,2,2147483647)|0;hR(b,f,g);jR(f,g)}else cR(b);l=h;return}function jR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}d=d+164|0}$x(a)|0;$x(b)|0;return}function kR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(pz(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=ez(b)|0;break}case 2:{e=ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=uT(c[d>>2]|0,o,k)|0;if(!f){Tw(n,128,g);a[d+82>>0]=0;e=n1(lR(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=RM(e)|0;else e=OM(e,c[i>>2]|0)|0;D_(c[d>>2]|0);c[d>>2]=e;iH(c[(c[m+16>>2]|0)+144>>2]|0,d);Xw(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?mR(b)|0:0){i=n1(mR(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=nR(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;oR(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];pR(m,n,15)}else{qR(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;oR(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){D_(c[d>>2]|0);c[d>>2]=n1(138529)|0}e=c[o>>2]|0}l=p;return e|0}function lR(b,d){b=b|0;d=d|0;var e=0;a:do switch(pz(b)|0){case 0:{Ww(d,ry(b)|0)|0;break}case 1:{Ww(d,ry(b)|0)|0;break}case 2:{Ww(d,ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;Ww(d,ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(ey(ez(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){Ww(d,138665)|0;break a}else{Ww(d,134656)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function mR(b){b=b|0;var c=0,d=0;c=xx(b,134647)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=xx(b,137741)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function nR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)IQ(j,k,183496);c[g+80>>2]=i;k=uR(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;iR(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}Pw(0,134447,t)|0;k=1;i=0;f=0;break}Pw(0,134481,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)QQ(j,183496);l=w;return k|0}function oR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function pR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=n1(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)qa(134414,134260,1761,134424);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)qa(134437,134260,1764,134424);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];rR(o,G,j&g);i=i+4|0}a[e+35>>0]=g;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];l=I;return}function qR(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.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.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(b$(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=pH(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=nb[c[i>>2]&63](i,I,1)|0;wL(J,d,H);Q=+h[J>>3];o=+h[v>>3];D_(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function rR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=n1(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|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];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];pR(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(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];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];sR(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;tR(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function sR(a,b){a=a|0;b=b|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];return}function tR(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function uR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=vI()|0;v=yR()|0;i=0;h=0;k=Aw(t)|0;while(1){if(!k)break;j=Aw(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)CR(v,h);k=c[k>>2]|0}h=uH((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Aw(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Aw(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=vR(d,n,f,g)|0|k;l=wR(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(DR(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;yw(t)|0;yw(v)|0;yI(u);return k|0}function vR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=nR(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=xR(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{qR(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}Pw(0,134532,s)|0;n=1;m=0.0;k=0.0;break}Pw(0,134565,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function wR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(DI(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;BI(a,f,g);g=g+1|0}f=f+1|0}return c|0}function xR(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;CC(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];Pw(1,134615,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function yR(){return Cw(55820,c[4555]|0)|0}function zR(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(12)|0;c[d>>2]=c[b>>2];return d|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function BR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function CR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function DR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(nb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function ER(a){a=a|0;var b=0;if(!(c[46605]|0)){b=uH((a<<2)+4|0)|0;c[46605]=b;c[b>>2]=186424;c[46616]=a}c[46617]=0;return}function FR(){D_(c[46605]|0);c[46605]=0;c[46617]=0;return}function GR(){c[46617]=0;return}function HR(){var a=0,b=0,d=0;b=c[46617]|0;d=c[46605]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)qa(135312,134659,59,134665);else if((a|0)==5)return}function IR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[46605]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function JR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[46617]|0;if((b|0)==(c[46616]|0)){Pw(1,134673,d)|0;a=1}else{b=b+1|0;c[46617]=b;c[(c[46605]|0)+(b<<2)>>2]=a;IR(b);HR();a=0}l=d;return a|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[46605]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[46617]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function LR(){var a=0,b=0,d=0,e=0;b=c[46617]|0;if(!b)a=0;else{e=c[46605]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[46617]=b;if(b|0)KR(1);HR()}return a|0}function MR(a,b){a=a|0;b=b|0;c[a>>2]=b;IR(c[a+4>>2]|0);HR();return}function NR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}OR(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){OR(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function PR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=uH(28)|0;b=ay(a)|0;s=w+4|0;c[s>>2]=b;b=uH(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=Sy(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n>3];h[v>>3]=B;A=+h[(o>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=Ty(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;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];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=ZR(D,f,t,u)|0;if(c[46553]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;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];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];QR(r,C,u,f,D)}e=w+8|0;c[e>>2]=uH((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|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];b=b+1|0}D_(f);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];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=RR(w,u)|0;l=x;return w|0}function QR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15686]|0;D1(134688,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);g1(i,135118,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;g1(i,135166,r)|0;D1(135183,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;g1(i,135202,j)|0;d=d+1|0}D1(135220,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;g1(i,135239,o)|0;d=d+1|0}D1(135257,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;g1(i,135239,p)|0;D1(135004,i)|0;l=q;return}function RR(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=nO(w<<2|2)|0;z=Cw(55856,c[4555]|0)|0;v=Cw(55892,c[4555]|0)|0;w=uH(w<<7)|0;f=uH(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){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];s=SR(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){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];s=SR(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=uH(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|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];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}f=g+(n*72|0)+64|0;d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;TR((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;mO(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;UR((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}yw(z)|0;yw(v)|0;D_(w);VR(y);kO(y);l=A;return y|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,i=0;h=nb[c[d>>2]&63](d,e,512)|0;do if(!h){b=oO(b)|0;if(!f)qa(135101,135049,291,135108);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|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[i>>2]=b;a[b+36>>0]=g;nb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function TR(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=pO(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=pO(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=pO(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=pO(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=pO(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=pO(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function VR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15686]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,g1(g,135014,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,g1(g,135066,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)qa(135036,135049,311,135056);else if((b|0)==8)qa(135088,135049,313,135056);else if((b|0)==10){l=j;return}}function WR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e>3];e=+h[c>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function XR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function YR(a){a=a|0;var b=0,d=0;d=a+8|0;D_(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;D_(c[(c[b>>2]|0)+36>>2]|0);D_(c[d>>2]|0);D_(c[b>>2]|0);rO(c[a+16>>2]|0);yw(c[a+20>>2]|0)|0;yw(c[a+24>>2]|0)|0;D_(a);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,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=vH(i*56|0)|0;i=uH(i<<2)|0;g=f*5|1;j=vH(g*72|0)|0;m=g<<5;k=uH(m)|0;m=uH(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,0);i2(173);$R(f,i);jS(f,o,i,g,j)|0;n=aS(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,1);$R(f,i);jS(f,o,i,g,j)|0;f=aS(f,o,j,1,m)|0;g=uH(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((bS(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=xH(g,a<<5)|0;D_(o);D_(i);D_(j);D_(k);D_(m);c[d>>2]=a;l=p;return q|0}function _R(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;j=l;l=l+96|0;h=j+64|0;i=j;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];hS(h,f,1,i);d=iS(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[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];hS(h,f,0,i);d=iS(e,d,i)|0;g=g+1|0}l=j;return}function $R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+k2()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function aS(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;g=a*5|0;j=g+1|0;l=uH(j<<2)|0;c[46618]=uH(j<<4)|0;c[46619]=uH((a*56|0)+56|0)|0;j=uH(a<<2)|0;c[46620]=j;k=0;while(1){if((k|0)>(g|0))break;if(cS(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[46618]|0;i=c[46619]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|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];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[46621]=a;c[46622]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=dS(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=dS(l,f,0,b,d,0,k,g,e,1)|0;D_(l);D_(c[46618]|0);D_(c[46619]|0);D_(c[46620]|0);return g|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function cS(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function dS(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=eS(g,n,J)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,J,n)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=eS(g,j,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,m,j)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function eS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[46622]|0)+1|0;c[46622]=e;m=c[46619]|0;fS(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[46621]|0;g=n+1|0;n=n+2|0;c[46621]=n;q=c[46618]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[46620]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function fS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[46619]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+gS(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+gS(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function gS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function hS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.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];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function iS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<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];G3(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function jS(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;c[46623]=e<<1;c[46624]=e;k=uH(e*80|0)|0;c[46625]=1;c[46626]=1;H3(f|0,0,e*72|0)|0;g=kS(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=lS(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=mS(a,i+-1|0)|0;h=mS(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}nS(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;oS(e,b,f,k);e=e+1|0}i=i+1|0}e=mS(a,j)|0;while(1){if((e|0)>=(a|0))break;nS(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}D_(k);return c[46625]|0}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=tS()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;xS(s,k,l);n=tS()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=tS()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;yS(r,k,l);c[e+(j*40|0)+28>>2]=f;l=tS()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=tS()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=tS()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=tS()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=sS(d)|0;i=sS(d)|0;m=sS(d)|0;o=sS(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|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];G3(q|0,s|0,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];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|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];G3(q|0,r|0,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[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function lS(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+g$(b);a=a+1|0}return a+-1|0}function mS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+g$(c);a=a+1|0}return ~~+N(+(d/c))|0}function nS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=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;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i>3]>+h[S>>3]:0){G=4;break}G=(rS(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=pS(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[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[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(rS(a,b,2)|0)){n=1;G=7}else{f=pS(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=pS(S,U,f,b,e)|0;f=sS(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=tS()|0;G=tS()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|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];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(rS(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(rS(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=pS(U,S,c[S+40>>2]|0,b,e)|0;n=sS(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=tS()|0;F=tS()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=pS(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(uS(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=tS()|0;p=tS()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=sS(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(vS(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}E1(135342,19,1,c[15686]|0)|0}else{g=0;f=0}while(0);wS(a,F,o,1,d,e);wS(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function oS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((pS(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((pS(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function pS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(qS(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(qS(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){E1(135276,35,1,c[15686]|0)|0;qa(135312,135314,349,135326)}return 0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function rS(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function sS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46625]|0;if((b|0)<(c[46624]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[46625]=b+1;l=e;return b|0}else{e=c[15686]|0;c[d>>2]=b;g1(e,135401,d)|0;qa(135312,135314,88,135439)}return 0}function tS(){var a=0;a=c[46626]|0;if((a|0)<(c[46623]|0)){c[46626]=a+1;return a|0}else{E1(135362,30,1,c[15686]|0)|0;qa(135312,135314,72,135393)}return 0}function uS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c>3]>=+h[b>>3]&1;else a=1;return a|0}function vS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(cd+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function wS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(uS(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function xS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){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];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){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];break}else{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];break}}else{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(0);return}function yS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>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];break}if(+h[b>>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];break}else{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];break}}else{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(0);return}function zS(a){a=a|0;var b=0;b=uH(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function AS(a,b){a=a|0;b=b|0;if(b){b=zS(b)|0;c[b>>2]=a;a=b}return a|0}function BS(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;D_(b)}while((a|0)!=0);return}function CS(){var a=0;a=uH(1992)|0;if(a|0)c[a>>2]=DS(a)|0;return a|0}function DS(a){a=a|0;var b=0;b=JS(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function ES(a){a=a|0;FS(a,c[a>>2]|0);D_(c[a>>2]|0);D_(a);return 0}function FS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(FS(a,f),D_(c[e>>2]|0),PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function GS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)qa(135797,135447,194,135455);e=c[b+4>>2]|0;if((e|0)<=-1)qa(135467,135447,195,135455);if(!d)qa(135739,135447,196,135455);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(US(d,b+8+(i*20|0)|0)|0)!=0:0){g=GS(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(US(d,f)|0)!=0:0)e=AS(e,f)|0;g=g+1|0}}while(0);return e|0}function HS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))qa(135653,135447,247,135481);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)qa(135528,135447,250,135481);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(IS(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=JS(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;MS(n,q);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];q=m+16|0;c[q>>2]=c[e>>2];OS(a,m,g,0)|0;MS(o,c[k>>2]|0);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];c[q>>2]=c[k>>2];OS(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}qa(135493,135447,248,135481);return 0}function IS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))qa(135571,135447,311,135585);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=NS(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(IS(a,b,d,c[h>>2]|0,n,g)|0)){TS(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{MS(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;MS(k,j);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];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}}else if((h|0)==(g|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[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}else qa(135630,135447,341,135585);while(0);l=q;return j|0}qa(135598,135447,312,135585);return 0}function JS(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=C_(1288)|0;KS(a);return a|0}function KS(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;LS(a+8+(b*20|0)|0);b=b+1|0}return}function LS(a){a=a|0;QS(a);c[a+16>>2]=0;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)qa(135797,135636,99,135643);QS(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){TS(h,g,e);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];d=0;break}else{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];d=0;break}}while(0);f=f+1|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];l=i;return}function NS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))qa(135653,135636,125,135660);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=SS(n)|0;TS(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(SS(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function OS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)qa(135819,135636,167,135671);if(!d)qa(135797,135636,168,135671);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|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];f=0;g=d;break}else if((e|0)==10)qa(135681,135636,178,135671)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)qa(135694,135636,187,135671);else{VS(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function PS(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))qa(135698,135636,201,135726);if(!(c[a+8+(b*20|0)+16>>2]|0))qa(136220,135636,202,135726);else{LS(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function QS(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|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];l=e;return}function SS(a){a=a|0;var b=0,d=0,e=0;if(!a)qa(135739,135741,128,135753);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))qa(135762,135741,195,135770);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+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];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|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]}while(0);l=g;return}function US(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else qa(135782,135741,216,135789);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function VS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)qa(135797,135799,40,135809);if(!d)qa(135819,135799,41,135809);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;WS(a,b,d);d=a+1324|0;XS(a);f=SS(a+1852|0)|0;f=(SS(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=JS(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;YS(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else qa(135821,135799,86,135809)}function WS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)qa(135797,135799,106,136208);if(!d)qa(135819,135799,107,136208);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)qa(136220,135799,111,136208);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;TS(g,d,a+4+(e*20|0)|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];e=e+1|0}c[a+1320>>2]=SS(d)|0;KS(b);l=h;return}function XS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;ZS(a);_S(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;TS(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=SS(i)|0;d=c[o>>2]|0;TS(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=SS(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}$S(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))$S(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)qa(135964,135799,210,136050);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))qa(136061,135799,212,136050);else{l=u;return}}function YS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)qa(135797,135799,297,135861);if(!d)qa(135871,135799,298,135861);if(!e)qa(135873,135799,299,135861);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{OS(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{OS(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)qa(135875,135799,303,135861);else if((e|0)==14)return}function ZS(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;RS(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];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+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function _S(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=SS(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}TS(n,j,a+4+(f*20|0)|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];p=SS(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}$S(a,d,0);$S(a,b,1);l=o;return}function $S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)qa(136164,135799,257,136199);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>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]}else{TS(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=SS(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function aT(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46627]=0;c[46628]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[65430+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[46628]|0;if((h|0)==-2){h=pU()|0;c[46628]=h}if((h|0)>=1)if(h>>>0<296)i=d[136239+h>>0]|0;else i=2;else{c[46628]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[136535+h>>0]|0):0){p=a[136807+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46628]=-2;g=g+4|0;c[g>>2]=c[46629];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[137079+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46628]|0;b:do switch(q|0){case 0:{c[46627]=(c[46627]|0)+1;vT(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[46628]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[65430+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=c[46629];e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[137195+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[46630]=bT(c[g+-4>>2]|0,2)|0;break}case 3:{c[46630]=bT(c[g+-4>>2]|0,1)|0;break}case 5:{e=dT()|0;break}case 8:{eT(c[46631]|0);break}case 9:{fT(c[g>>2]|0);break}case 18:{gT(c[g>>2]|0);break}case 19:{hT();break}case 20:{gT(c[g>>2]|0);break}case 21:{hT();break}case 22:{gT(c[g>>2]|0);break}case 23:{hT();break}case 24:{gT(c[g>>2]|0);break}case 25:{hT();break}case 26:{gT(c[g>>2]|0);break}case 27:{hT();break}case 28:{gT(c[g>>2]|0);break}case 29:{hT();break}case 30:{gT(c[g>>2]|0);break}case 31:{hT();break}case 32:{gT(c[g>>2]|0);break}case 33:{hT();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[46632];e=Cw(55928,c[4554]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[46632]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[46633]>>2];e=c[g>>2]|0;break}case 39:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=56;break a}e=c[46632]|0;c[46632]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{jT();break}case 52:{e=kT()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{lT(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{lT(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{lT(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{lT(c[g>>2]|0,dT()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[137367+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[65662+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[136535+h>>0]|0)==(p|0):0){e=a[136807+h>>0]|0;j=q;h=i;break}e=a[137437+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){cT();e=1;s=96}else if((s|0)==51){vT(137265);cT();e=1;s=96}else if((s|0)==56){vT(137316);cT();e=1;s=96}else if((s|0)==95){vT(137476);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))D_(f);l=t;return e|0}function bT(b,d){b=b|0;d=d|0;var e=0;e=uH(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function cT(){var a=0,b=0;a=c[46632]|0;b=c[46630]|0;if(b|0){XQ(b,1);c[46630]=0}c[13995]=67;while(1){if(!a)break;b=c[a+80>>2]|0;pT(a);a=b}c[13995]=56;c[14004]=68;b=c[46635]|0;nb[c[b>>2]&63](b,0,64)|0;c[14004]=56;c[14013]=69;b=c[46636]|0;nb[c[b>>2]&63](b,0,64)|0;c[14013]=56;sT();return}function dT(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[46636]|0;f=uH(40)|0;if(Ew(c[46635]|0)|0)fT(0);a=Ew(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=uH(a*24|0)|0;a=0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);nb[c[a>>2]&63](e,0,64)|0;return f|0}function eT(b){b=b|0;var d=0,e=0,f=0;e=uH(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=n1(b)|0;c[e+12>>2]=c[c[46633]>>2];f=c[46635]|0;nb[c[f>>2]&63](f,e,1)|0;return}function fT(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=uH(32)|0;j=c[46635]|0;e=Ew(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=uH(56)|0;b[i+12>>1]=1;h=n1(191979)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[46633]>>2]}else{b[i+12>>1]=e;c[k>>2]=uH(e*56|0)|0;d=0;e=Aw(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);nb[c[j>>2]&63](j,0,64)|0;k=c[46636]|0;nb[c[k>>2]&63](k,i,1)|0;return}function gT(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=uH(8)|0;f=c[c[46633]>>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];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(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[46634]|0)+144>>2]|0;c[i>>2]=nb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[46633];c[46633]=i;l=j;return}function hT(){var a=0,b=0;b=c[46633]|0;a=c[b+4>>2]|0;D_(b);c[46633]=a;return}function iT(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function jT(){var b=0,d=0,e=0;e=Cw(55964,c[4554]|0)|0;b=c[46632]|0;d=uH(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function kT(){var a=0;a=c[(c[46632]|0)+84>>2]|0;return nb[c[a>>2]&63](a,0,256)|0}function lT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=uH(16)|0;f=c[46632]|0;h=c[f+84>>2]|0;h=c[(nb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;nb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function mT(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function nT(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+8>>2]|0)|0;D_(b);return}function oT(a,b,d){a=a|0;b=b|0;d=d|0;tT(c[b+8>>2]|0);D_(b);return}function pT(a){a=a|0;yw(c[a+84>>2]|0)|0;UQ(a);D_(a);return}function qT(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function rT(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;D_(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}D_(c[h>>2]|0)}D_(d);return}function sT(){var a=0,b=0;a=c[46633]|0;while(1){b=c[a+4>>2]|0;if(!b)break;D_(a);a=b}return}function tT(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{pT(c[d>>2]|0);break}case 2:{VQ(c[d>>2]|0);break}default:{}}UQ(b);D_(b);return}function uT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[46633]=g;c[46632]=0;c[46630]=0;c[46634]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[46635]=Cw(56e3,c[4554]|0)|0;c[46636]=Cw(56036,c[4554]|0)|0;Tw(e,128,f+24|0);c[46631]=e;if(!(yT(a,e,d)|0)){aT()|0;c[b>>2]=oU()|0;a=c[46630]|0}else{c[b>>2]=2;a=0}yw(c[46635]|0)|0;yw(c[46636]|0)|0;c[46635]=0;c[46636]=0;c[46633]=0;Xw(e);l=f;return a|0}function vT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[186581]|0)){a[186581]=1;f=wT()|0;c[d>>2]=b;c[d+4>>2]=f;Pw(1,137493,d)|0;xT()}l=e;return}function wT(){return dX(c[46637]|0)|0}function xT(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[46640]|0;c[b+4>>2]=c[b>>2];d=c[46649]|0;if((d|0)>0){Vw(b,c[46647]|0,d)|0;b=c[46640]|0}Vw(b,c[46646]|0,c[46648]|0)|0;d=c[46640]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[46640]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[46640]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;Pw(3,137509,e)|0;l=f;return}function yT(b,e,f){b=b|0;e=e|0;f=f|0;c[46640]=e;Tw(186564,128,0);c[46638]=b;a[186583]=0;a[186580]=0;a[186581]=0;c[46648]=0;c[46649]=0;a[186582]=1;f=f+52|0;e=DV(hH(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[46637]=e;SW(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);TW(c[46637]|0,70,27);UW(c[46637]|0,71);return 0}function zT(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(O$(d,137521)|0)){c[46629]=DT(e)|0;a[186582]=0;c[46639]=286}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){a[186582]=1;c[46629]=ET(e)|0;c[46639]=287;break}if(!(O$(d,137541)|0)){c[46629]=FT(b,e,0)|0;c[46639]=288;break}if(!(O$(d,137546)|0)){c[46629]=FT(b,0,1)|0;c[46639]=290;break}if(!(O$(d,137562)|0)){c[46629]=FT(b,0,32)|0;c[46639]=295;break}if(!(O$(d,137548)|0)){c[46629]=FT(b,0,4)|0;c[46639]=291;break}if(!(O$(d,137550)|0)){c[46629]=FT(b,0,64)|0;c[46639]=292;break}if(!(O$(d,137552)|0)){c[46629]=FT(b,0,2)|0;c[46639]=289;break}if(!(O$(d,137554)|0)){c[46629]=FT(b,0,8)|0;c[46639]=293;break}if(!(O$(d,137558)|0)){c[46629]=FT(b,0,16)|0;c[46639]=294;break}if(!(O$(d,137564)|0)){GT(e);c[46639]=283;break}if(!(O$(d,137567)|0)){c[46639]=277;break}if(!(O$(d,137570)|0)){c[46639]=280;break}if(!(O$(d,137573)|0)){c[46629]=HT(e)|0;c[46639]=285;break}if(!(O$(d,137536)|0)){c[46639]=262;break}else{CT(d);break}}a[186582]=0;c[46639]=260}while(0);return}function AT(b,d){b=b|0;d=d|0;do if(!(O$(d,137521)|0)){c[46639]=264;a[186582]=1}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){c[46639]=265;a[186582]=0;break}if(!(O$(d,137536)|0)){c[46639]=263;break}if(!(O$(d,137541)|0)){c[46639]=266;break}if(!(O$(d,137546)|0)){c[46639]=270;break}if(!(O$(d,137548)|0)){c[46639]=271;break}if(!(O$(d,137550)|0)){c[46639]=272;break}if(!(O$(d,137552)|0)){c[46639]=269;break}if(!(O$(d,137554)|0)){c[46639]=273;break}if(!(O$(d,137558)|0)){c[46639]=274;break}if(!(O$(d,137562)|0)){c[46639]=275;break}if(!(O$(d,137564)|0)){c[46639]=(c[46639]|0)==283?282:258;break}if(!(O$(d,137567)|0)){c[46639]=(c[46639]|0)==277?276:278;break}if(!(O$(d,137570)|0)){c[46639]=(c[46639]|0)==280?279:281;break}if(!(O$(d,137573)|0)){c[46639]=(c[46639]|0)==285?284:259;break}else{CT(d);break}}c[46639]=261}while(0);return}function BT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[186582]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[46640]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;f=c[46640]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[46639]=267}return}function CT(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[46639]=268;a[186581]=1;f=wT()|0;c[e>>2]=b;c[e+4>>2]=f;Pw(1,137577,e)|0;l=d;return}function DT(b){b=b|0;var d=0;d=uH(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;IT(d,56296,22,b,138529);return d|0}function ET(a){a=a|0;var c=0;c=uH(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;IT(c,56120,22,a,137883);return c|0}function FT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)IT(e,56096,3,b,137734);d=c[a+144>>2]|0;e=nb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function GT(a){a=a|0;c[46629]=0;IT(186516,56088,1,a,137670);return}function HT(a){a=a|0;var b=0;b=uH(40)|0;IT(b,56072,2,a,137616);return b|0}function IT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e2(m,e,f,8,102)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;Pw(0,137622,n)|0;i=1}else{i=lb[c[j+4>>2]&127](b,i)|0;i=(i|(d[186580]|0))&255}a[186580]=i;g=g+8|0}l=o;return}function JT(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function KT(a,b){a=a|0;b=b|0;c[a+36>>2]=n1(b)|0;return 0}function LT(a,b){a=a|0;b=b|0;c[a+32>>2]=n1(b)|0;return 0}function MT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=(I0(a[d>>0]|0)|0)<<24>>24;switch(f|0){case 82:{e=d+1|0;if(!(O$(e,137681)|0)){c[b>>2]=114;e=0}else h=5;break}case 76:{h=6;break}default:{e=d+1|0;h=5}}do if((h|0)==5)if(!(O$(e,137686)|0))h=6;else{if((f|0)!=67?(O$(e,137690)|0)==0:0){c[g>>2]=d;Pw(0,137696,g)|0;e=1;break}c[b>>2]=110;e=0}while(0);if((h|0)==6){c[b>>2]=108;e=0}l=i;return e|0}function NT(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function OT(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function PT(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,137763,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|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,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=i1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;Pw(0,137805,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;Pw(0,137844,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;Pw(0,137774,h)|0;a=1}while(0);l=k;return a|0}function RT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=9;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=9;break}case 84:{if(!(O$(e+1|0,138481)|0)){d=d+36|0;b[d>>1]=b[d>>1]|6;d=0}else g=9;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=9;break}default:g=9}if((g|0)==9){c[f>>2]=e;Pw(0,138485,f)|0;d=1}l=h;return d|0}function ST(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|512;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|256;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138436,f)|0;d=1}l=h;return d|0}function TT(a,b){a=a|0;b=b|0;c[a+20>>2]=n1(b)|0;return 0}function UT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138429,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function VT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138417,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function WT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138405,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function XT(a,b){a=a|0;b=b|0;c[a+24>>2]=n1(b)|0;return 0}function YT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138360,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138368,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function ZT(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(O$(e+1|0,138309)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else g=5;break}case 70:{if(!(O$(e+1|0,138313)|0))a=0;else g=5;break}default:g=5}if((g|0)==5){c[f>>2]=e;Pw(0,138318,f)|0;a=1}l=h;return a|0}function _T(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,138295,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function $T(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138288,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function aU(a,b){a=a|0;b=b|0;c[a>>2]=n1(b)|0;return 0}function bU(a,b){a=a|0;b=b|0;c[a+16>>2]=n1(b)|0;return 0}function cU(a,b){a=a|0;b=b|0;c[a+4>>2]=n1(b)|0;return 0}function dU(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138243,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138251,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function eU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(P$(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;Pw(0,138190,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=h|f}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function fU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=n1(e)|0;g=d+42|0;f=0;e=h;while(1){d=k1(e,138100)|0;if(!d)break;if(((I0(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(O$(e,138103)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(O$(e,138110)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;Pw(0,138116,i)|0;f=1;e=0;continue}}if(!(O$(d,138154)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(O$(d,138160)|0?O$(d,138170)|0:0){if(!(O$(d,138176)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(O$(d,138183)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;Pw(0,138116,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}D_(h);l=k;return f|0}function gU(a,b){a=a|0;b=b|0;c[a+8>>2]=n1(b)|0;return 0}function hU(a,b){a=a|0;b=b|0;c[a+12>>2]=n1(b)|0;return 0}function iU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(O$(e+1|0,138046)|0)){d=d+36|0;b[d>>1]=b[d>>1]|16;d=0}else g=7;break}case 84:{if(!(O$(e+1|0,138052)|0)){d=d+36|0;b[d>>1]=b[d>>1]|8;d=0}else g=7;break}case 77:{if(!(O$(e+1|0,138055)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138061,f)|0;d=1}l=h;return d|0}function jU(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138040,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function kU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,137696,f)|0;d=1}l=h;return d|0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138638,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;Pw(0,138598,e)|0;b=1}l=f;return b|0}function nU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;Pw(0,138561,e)|0;b=1}l=f;return b|0}function oU(){var b=0;b=(a[186581]|a[186580])<<24>>24;JV(c[46637]|0);Xw(186564);return b|0}function pU(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[46639]=0;d=0;a:do{b:do switch(a[186583]|0){case 2:{b=-1;break a}case 0:{a[186583]=1;h=6;b=138650;d=0;break}default:{b=c[46638]|0;if(!(a[b>>0]|0)){a[186583]=2;h=7;b=138657;break b}else{d=qU(b)|0;h=d-b|0;break b}}}while(0);c[46647]=c[46646];c[46649]=c[46648];c[46646]=b;c[46648]=h;e=c[46642]|0;f=e-(c[46641]|0)|0;g=c[46637]|0;if(!f)b=VW(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[46643]|0)>>>0)b=e;else{Uw(186564,1)|0;b=c[46642]|0}a[b>>0]=0;b=c[46641]|0;c[46642]=b;b=VW(g,b,f,0)|0}if(!((b|0)!=0|(a[186581]|0)!=0)){g=eX(cX(c[46637]|0)|0)|0;h=wT()|0;c[i>>2]=g;c[i+4>>2]=h;Pw(1,137493,i)|0;xT();a[186581]=1;c[46639]=268}if(d|0)c[46638]=d;b=c[46639]|0}while((b|0)==0);l=j;return b|0}function qU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b+1|0;e=a[b>>0]|0;a:do if(e<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(z$(b+2|0,138665,2)|0)){e=rU(b+4|0)|0;d=e;e=a[e>>0]|0;g=8}else{e=d;g=5}else g=6;b:while(1)if((g|0)==5){d=e;e=a[e>>0]|0;g=6;continue}else if((g|0)==6){switch(e<<24>>24){case 62:case 0:{g=8;continue b}default:{}}e=d+1|0;g=5;continue}else if((g|0)==8)if(e<<24>>24==62){g=10;break}else{g=9;break}if((g|0)==9){Pw(0,138668,f)|0;a[186580]=1;break}else if((g|0)==10){d=d+1|0;break}}else{d=b;b=e;while(1){switch(b<<24>>24){case 60:case 0:break a;case 38:{e=d+1|0;if((a[e>>0]|0)==35)g=15;else e=MM(e,186564)|0;break}default:g=15}if((g|0)==15){g=0;e=c[46642]|0;if(e>>>0>=(c[46643]|0)>>>0){Uw(186564,1)|0;e=c[46642]|0}c[46642]=e+1;a[e>>0]=b;e=d+1|0}d=e;b=a[e>>0]|0}}while(0);l=h;return d|0}function rU(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(z$(c,138665,2)|0)==0:0)break;Pw(0,138709,i)|0;a[186580]=1}while(0);l=j;return d|0}function sU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=C_(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=tU(f<<4)|0;p=d+12|0;c[p>>2]=tU((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=tU(e)|0;e=tU(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|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];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}tV(d)}return d|0}function tU(a){a=a|0;if(!a)a=0;else a=C_(a)|0;return a|0}function uU(a){a=a|0;var b=0,d=0;D_(c[a+8>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){D_(c[b>>2]|0);D_(c[d>>2]|0)}D_(a);return}function vU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;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];n=AV(a,d,m)|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];o=AV(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];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];m=jV(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=C_(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[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];if(f|0)qa(138727,138734,148,138740);if(n|0)D_(n);if(o|0)D_(o);c[g+4>>2]=k;c[g>>2]=i;D_(m);l=p;return 1}function wU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|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[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[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];if((pV(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function xU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=C_(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=D3(186600,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=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];ja(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};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];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ja(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[46689]=0;o=0;ia(112,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[46690]|0;d=c[46689]|0;c[46689]=d+1;d=g+(d<<4)|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];o=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[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=fa(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,s|0,j|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[46689];c[f>>2]=c[46690];d=0}D_(s|0);l=u;return d|0}function yU(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};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 zU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46693]|0)<(a|0)){b=c[46690]|0;if(!b){e=C_(a<<4)|0;c[46690]=e;if(!e){e=c[15686]|0;c[d>>2]=138749;c[d+4>>2]=531;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186600,1)}}else{d=F_(b,a<<4)|0;c[46690]=d;if(!d){d=c[15686]|0;c[e>>2]=138749;c[e+4>>2]=537;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186600,1)}}c[46693]=a}l=f;return}function AU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[46692]|0;do if((c[46691]|0)<(e|0)){if(!i){i=C_(e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}else{i=F_(i,e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}c[46691]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+BU(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+CU(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];DU(x,J,v);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];S=i+(k*40|0)+24|0;v=+EU(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];DU(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];FU(d,e,i,I,J,G,A,H,C);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[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];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[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(GU(a,b,q,w,I,J,d,e)|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];DU(z,J,.3333333333333333);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[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];HU(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];DU(D,J,.3333333333333333);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[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];IU(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[46692]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+JU(T);V=+CU(T);W=+EU(T);T=+KU(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+BU(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];IU(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];yU(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];IU(O,I,J);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];yU(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];HU(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];yU(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];AU(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];AU(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function BU(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function CU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function DU(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;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 EU(a){a=+a;return +(a*a*3.0*(1.0-a))}function FU(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|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[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];H=+QU(v,B)+x;J=d+(q*40|0)+24|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[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+QU(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+QU(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+RU(+h[M>>3]);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];DU(s,B,I);I=+SU(+h[M>>3]);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];DU(t,B,I);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[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];HU(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>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];IU(u,v,B);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[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];I=+QU(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[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];q=q+1|0;w=I;x=H;y=o;z=+QU(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){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[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];m=+BU(v,B)*.3333333333333333;n=m};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[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];DU(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];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[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];DU(D,B,n);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];l=G;return}function GU(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+LU(B,4),D<+LU(i,j)+-.001):0){d=0;break}if(MU(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function HU(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 IU(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 JU(a){a=+a;a=1.0-a;return +(a*a*a)}function KU(a){a=+a;return +(a*a*a)}function LU(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function MU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|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];n=NU(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function NU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;OU(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=kV(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{OU(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=kV(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0;break}OU(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=kV(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;PU(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;PU(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])PU(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function OU(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function PU(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function QU(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function RU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function SU(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function TU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=C_(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=D3(186776,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;ia(113,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[46733]=0;c[46734]=0;o=0;ia(114,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[46736]|0)/2|0;c[46737]=m;c[46738]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|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];v=g+(((f|0)==0?m:f)+-1<<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];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;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];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=ca(33,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[46740]|0;e=c[46741]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[46733]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[46733]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[46740]|0;e=c[46741]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[46733]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[46733]=g+1;g=f}}while(0);o=0;ja(29,e|0,c[46733]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[46734]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ja(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[46734]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=aa(103,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[15686]|0;o=0;c[C>>2]=138776;c[C+4>>2]=192;c[C+8>>2]=138787;ca(29,e|0,138757,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=aa(103,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15686]|0;o=0;c[D>>2]=138776;c[D+4>>2]=200;c[D+8>>2]=138820;ca(29,e|0,138757,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=aa(104,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[15686]|0;o=0;c[E>>2]=138776;c[E+4>>2]=207;c[E+8>>2]=138858;ca(29,e|0,138757,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ja(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[46739]=c[46737];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[46743]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[46735]|0;k=c[e+(c[46738]<<2)>>2]|0;o=0;e=ca(33,u|0,c[c[e+(c[46737]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=ca(33,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[46735]|0;if((c[m+(c[46737]<<2)>>2]|0)!=(n|0)?(c[m+(c[46738]<<2)>>2]|0)!=(n|0):0){o=0;j=$(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[46739]|0)){e=0;break}c[46739]=j;e=0;break}o=0;k=$(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[46739]|0)){e=0;break}c[46739]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[46743]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;ia(115,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[46742]|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];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[46742]|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];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[46742]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>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];f=c[f+4>>2]|0}c[d>>2]=g;e=0}D_(G|0);l=H;return e|0}function UU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[46746]|0)<(a|0)){b=c[46740]|0;if(!b){g=C_(a<<3)|0;c[46740]=g;if(!g){g=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=523;c[d+8>>2]=139026;g1(g,138757,d)|0;bb(186776,1)}g=C_(a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[f>>2]=138776;c[f+4>>2]=527;c[f+8>>2]=139045;g1(g,138757,f)|0;bb(186776,1)}}else{f=F_(b,a<<3)|0;c[46740]=f;if(!f){f=c[15686]|0;c[g>>2]=138776;c[g+4>>2]=533;c[g+8>>2]=139065;g1(f,138757,g)|0;bb(186776,1)}g=F_(c[46741]|0,a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=539;c[e+8>>2]=139085;g1(g,138757,e)|0;bb(186776,1)}}c[46746]=a}l=h;return}function VU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46736]|0)<(a|0)){b=c[46735]|0;if(!b){e=C_(a<<2)|0;c[46735]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=573;c[d+8>>2]=138981;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<2)|0;c[46735]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=580;c[e+8>>2]=139003;g1(d,138757,e)|0;bb(186776,1)}}c[46736]=a}l=f;return}function WU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function XU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(dV(e,g,a,b)|0))e=f;else break}eV(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15686]|0;c[h>>2]=138776;c[h+4>>2]=324;c[h+8>>2]=138921;g1(a,138757,h)|0}else if((b|0)==9)eV(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function YU(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;i=c[46743]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function ZU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[46743]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((WU(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function _U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46743]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(_U((e-d|0)/52|0,b)|0){d=1;break a}d=c[46743]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function $U(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46744]|0)<(a|0)){b=c[46742]|0;if(!b){e=C_(a<<4)|0;c[46742]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=593;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<4)|0;c[46742]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=599;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186776,1)}}c[46744]=a}l=f;return}function aV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46738]|0;e=c[46737]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[46735]|0)+(e<<2)>>2];a=186948;d=-1}else{a=186948;d=-1}else if(f){c[b+4>>2]=c[(c[46735]|0)+(d<<2)>>2];a=186952;d=1}else{a=186952;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[46735]|0)+(f<<2)>>2]=b;return}function bV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46739]|0;g=c[46735]|0;b=c[46737]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[46738]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function cV(a,b){a=a|0;b=b|0;c[((a|0)==1?186952:186948)>>2]=b;return}function dV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(WU(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((WU(i,j,f)|0)==1){f=WU(j,i,g)|0;g=1;h=5}else f=0;else{f=WU(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(gV(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function eV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[46734]|0;f=c[46745]|0;if((e|0)<(f|0))h=e;else{fV(f+20|0);h=c[46734]|0}g=c[46743]|0;c[46734]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function fV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46745]|0)<(a|0)){b=c[46743]|0;if(!b){e=C_(a*52|0)|0;c[46743]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=552;c[d+8>>2]=138942;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a*52|0)|0;c[46743]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=558;c[e+8>>2]=138961;g1(d,138757,e)|0;bb(186776,1)}}c[46745]=a}l=f;return}function gV(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;f=WU(a,b,c)|0;if((((f|0)!=3?(g=WU(a,b,d)|0,(g|0)!=3):0)?(h=WU(c,d,a)|0,(h|0)!=3):0)?(e=WU(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((hV(a,b,c)|0)==0?(hV(a,b,d)|0)==0:0)?(hV(c,d,a)|0)==0:0)return (hV(c,d,b)|0)!=0|0;return 1}function hV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((WU(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function iV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=C_(d<<2)|0;n=C_((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}D_(n);return m|0}function jV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|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[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];if(!(CV(m,b,k,f,h)|0)){a=c[h+24>>2]|0;c[a+(i<<2)>>2]=g;m=i+1|0;c[a+(m<<2)>>2]=d;a=iV(m,i,i+2|0,a)|0}else{a=C_((i<<2)+8|0)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function kV(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=lV(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+n$(i);d=+n$(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+n$(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function lV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=mV(a,b)|0;while(0);return a|0}function mV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function nV(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function oV(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;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[46748]|0;if((i|0)>(c[46747]|0)){if(!d)d=C_(i<<4)|0;else d=F_(d,i<<4)|0;c[46748]=d;c[46747]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];G3(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<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];G3(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|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];G3(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function pV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f>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[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[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=pV(g,h,i)|0;if((j|0)==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[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[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],(qV(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){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[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[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];f=pV(g,h,i)|0;if((f|0)==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[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[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],qV(g,h,i)|0):0){f=1;break};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[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[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];a=pV(g,h,i)|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[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];k=(O(f,j)|0)<0;f=(O(pV(g,h,i)|0,a)|0)>>>31;f=k?f:0}while(0);l=m;return f|0}function sV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function tV(a){a=a|0;c[a+24>>2]=uV(c[a+4>>2]|0)|0;vV(a);return}function uV(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=C_(e<<2)|0;b=E_(O(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function vV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<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[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];r=+wV(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((xV(b,a,m,n,o)|0?xV(a,b,m,n,o)|0:0)?(k=m+(a<<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[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],yV(g,i,j,j,j,m,n)|0):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[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+wV(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function wV(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;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];d=+C(+(+sV(g,f)));l=e;return +d}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,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<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[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[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];f=zV(k,j,i,h)|0;l=g;return f|0}function yV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|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[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[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];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(rV(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|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[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[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[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(rV(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;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];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];f=pV(j,i,h)|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[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[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];e=pV(j,i,h)|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[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[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=(pV(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function AV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+80|0;j=s+64|0;i=s+48|0;g=s+32|0;k=s+16|0;o=s;p=c[a+4>>2]|0;q=c[a+8>>2]|0;r=c[a+16>>2]|0;m=c[a+20>>2]|0;n=C_((p<<3)+16|0)|0;if((b|0)==-2222){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];b=BV(a,j)|0}if((b|0)>-1){a=c[a+12>>2]|0;f=c[a+(b+1<<2)>>2]|0;a=c[a+(b<<2)>>2]|0}else{f=p;a=p}b=0;while(1){if((b|0)>=(a|0)){b=a;break}u=q+(b<<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];u=q+(c[m+(b<<2)>>2]<<4)|0;t=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[k+12>>2]=c[u+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[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],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[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];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}while(1){if((b|0)>=(f|0)){b=f;break}h[n+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(p|0))break;t=q+(b<<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];t=q+(c[m+(b<<2)>>2]<<4)|0;u=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[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],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[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];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}h[n+(p<<3)>>3]=0.0;h[n+(p+1<<3)>>3]=0.0;l=s;return n|0}function BV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m+8|0;e=m;h=m+24|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>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];if(!(wU(e,f)|0))d=g;else break}l=m;return d|0}function CV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;m=t+32|0;p=t+16|0;o=t;r=c[f+4>>2]|0;s=c[f+8>>2]|0;q=c[f+16>>2]|0;g=(e|0)<0;do if((b|0)<0)if(g){g=0;i=0;f=0;h=0}else{b=c[f+12>>2]|0;f=0;h=0;i=e;j=b;b=b+(e<<2)|0;k=9}else{if(g){k=c[f+12>>2]|0;f=0;h=0;i=b;j=k;b=k+(b<<2)|0;k=9;break}g=c[f+12>>2]|0;if((b|0)>(e|0)){f=c[g+(e+1<<2)>>2]|0;h=c[g+(e<<2)>>2]|0;i=b;j=g;b=g+(b<<2)|0;k=9;break}else{f=c[g+(b+1<<2)>>2]|0;h=c[g+(b<<2)>>2]|0;i=e;j=g;b=g+(e<<2)|0;k=9;break}}while(0);if((k|0)==9){g=c[j+(i+1<<2)>>2]|0;i=c[b>>2]|0}b=0;while(1){if((b|0)>=(h|0)){k=13;break}j=s+(b<<4)|0;e=s+(c[q+(b<<2)>>2]<<4)|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[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[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+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];if(!(rV(o,p,m,n)|0))b=b+1|0;else{g=0;break}}a:do if((k|0)==13){while(1){if((f|0)>=(i|0))break;e=s+(f<<4)|0;k=s+(c[q+(f<<2)>>2]<<4)|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[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[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];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0)){f=f+1|0;k=13}else{g=0;break a}}while(1){if((g|0)>=(r|0)){g=1;break a}e=s+(g<<4)|0;k=s+(c[q+(g<<2)>>2]<<4)|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[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[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];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0))g=g+1|0;else{g=0;break}}}while(0);l=t;return g|0}function DV(a){a=a|0;return EV(a,0,0)|0}function EV(a,b,c){a=a|0;b=b|0;c=c|0;return FV(a,b,c,0)|0}function FV(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;if(!d){g=C_(496)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=105;c[g+20>>2]=103;d=35;h=6}}else{g=kb[c[d>>2]&63](496)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+376>>2]=16;j=g+12|0;i=kb[d&63](256)|0;d=g+388|0;c[d>>2]=i;if(!i){tb[c[g+20>>2]&127](g);g=0;break}h=kb[c[j>>2]&63](1024)|0;i=g+44|0;c[i>>2]=h;if(!h){e=g+20|0;tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}c[g+48>>2]=h+1024;if(!f){f=GV(j)|0;c[g+352>>2]=f;if(!f){e=g+20|0;tb[c[e>>2]&127](c[i>>2]|0);tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}}else c[g+352>>2]=f;c[g+372>>2]=0;c[g+364>>2]=0;c[g+300>>2]=0;c[g+464>>2]=0;c[g+460>>2]=0;c[g+124>>2]=0;c[g+244>>2]=0;d=g+468|0;a[d>>0]=33;h=g+232|0;a[h>>0]=0;a[g+233>>0]=0;c[g+392>>2]=0;c[g+396>>2]=0;a[g+400>>0]=0;f=g+228|0;c[f>>2]=0;HV(g+412|0,j);HV(g+436|0,j);IV(g,b);if(b|0?(c[f>>2]|0)==0:0){JV(g);g=0;break}if(!e){c[g+224>>2]=TX()|0;break}else{a[h>>0]=1;c[g+224>>2]=xZ()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function GV(b){b=b|0;var d=0;d=kb[c[b>>2]&63](188)|0;if(d|0){HV(d+80|0,b);HV(d+104|0,b);QW(d,b);QW(d+20|0,b);QW(d+40|0,b);QW(d+60|0,b);a[d+131>>0]=0;QW(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|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;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function HV(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function IV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+276>>2]=56;EZ(d+252|0);if(e|0)c[d+228>>2]=RV(e,d+12|0)|0;c[d+356>>2]=0;HY(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+312|0;g=d+404|0;c[g>>2]=0;c[g+4>>2]=0;g=d+280|0;f=d+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+308>>2]=0;c[d+360>>2]=0;c[d+368>>2]=0;c[d+380>>2]=0;c[d+236>>2]=0;c[d+248>>2]=0;c[d+240>>2]=0;c[d+472>>2]=0;c[d+476>>2]=0;a[d+484>>0]=0;a[d+485>>0]=0;c[d+488>>2]=0;c[d+492>>2]=0;return}function JV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+364|0;g=b+20|0;d=c[b+360>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;tb[c[g>>2]&127](c[d+36>>2]|0);KV(c[d+44>>2]|0,b);tb[c[g>>2]&127](d);d=h}e=b+300|0;d=c[b+296>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;tb[c[g>>2]&127](d);d=h}KV(c[b+372>>2]|0,b);KV(c[b+368>>2]|0,b);LV(b+412|0);LV(b+436|0);d=b+12|0;tb[c[g>>2]&127](c[b+228>>2]|0);if((a[b+484>>0]|0)==0?(f=c[b+352>>2]|0,f|0):0)MV(f,(c[b+472>>2]|0)==0&1,d);tb[c[g>>2]&127](c[b+388>>2]|0);tb[c[g>>2]&127](c[b+460>>2]|0);tb[c[g>>2]&127](c[b+8>>2]|0);tb[c[g>>2]&127](c[b+44>>2]|0);tb[c[g>>2]&127](c[b+392>>2]|0);tb[c[g>>2]&127](c[b+236>>2]|0);d=c[b+248>>2]|0;if(d|0)tb[d&127](c[b+240>>2]|0);tb[c[g>>2]&127](b)}return}function KV(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;tb[c[b>>2]&127](c[a+16>>2]|0);tb[c[b>>2]&127](a);a=d}return}function LV(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;NV(f,g);d=d+8|0;while(1){e=OV(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;tb[c[d>>2]&127](c[e+20>>2]|0)}PV(a);PV(a+132|0);PV(g);PV(a+40|0);PV(a+60|0);LV(a+80|0);LV(a+104|0);if(b<<24>>24){tb[c[d>>2]&127](c[a+184>>2]|0);tb[c[d>>2]&127](c[a+164>>2]|0)}tb[c[d>>2]&127](a);l=h;return}function NV(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function OV(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function PV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;tb[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}tb[f&127](g);return}function QV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=SV(a)|0;if(!f){c[a+276>>2]=57;f=TV(a,b,d,e)|0}return f|0}function RV(b,d){b=b|0;d=d|0;var e=0,f=0;e=0;do{f=e;e=e+1|0}while((a[b+f>>0]|0)!=0);d=kb[c[d>>2]&63](e)|0;if(!d)d=0;else F3(d|0,b|0,e|0)|0;return d|0}function SV(b){b=b|0;var d=0;d=b+228|0;if(!(nb[(a[b+232>>0]<<24>>24?35:34)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=PW(b,c[d>>2]|0)|0;else b=0;return b|0}function TV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=ob[c[i>>2]&127](i,d,e,h)|0;f=UV(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;l=g;return f|0}function UV(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=l;l=l+16|0;Da=Ga;c[Da>>2]=i;r=c[b+352>>2]|0;s=b+144|0;if((c[s>>2]|0)==(e|0)){p=b+284|0;q=b+288|0;na=b+296|0}else{na=b+296|0;q=c[na>>2]|0;p=q;q=q+4|0}t=k<<24>>24!=0;pa=b+252|0;u=b+80|0;v=b+476|0;w=b+84|0;x=b+320|0;y=b+412|0;z=b+316|0;A=b+424|0;B=b+428|0;C=b+324|0;ra=b+4|0;D=b+485|0;E=r+132|0;F=b+312|0;ta=r+129|0;G=r+128|0;H=r+80|0;I=r+92|0;J=r+96|0;K=b+136|0;L=b+88|0;M=b+488|0;va=b+112|0;wa=r+131|0;xa=b+116|0;ya=r+130|0;za=b+108|0;Aa=b+356|0;N=b+340|0;O=b+132|0;P=b+344|0;Q=b+348|0;R=b+328|0;S=b+349|0;T=b+420|0;U=r+120|0;V=r+116|0;W=b+92|0;X=b+472|0;Y=b+336|0;Z=b+332|0;_=b+96|0;$=b+256|0;aa=b+464|0;ba=b+460|0;ca=r+160|0;da=r+184|0;ea=r+180|0;fa=r+164|0;ga=b+128|0;ha=b+12|0;ia=b+16|0;ja=b+268|0;ka=b+120|0;la=r+176|0;ma=r+168|0;o=e;n=f;e=h;a:while(1){c[p>>2]=n;f=c[Da>>2]|0;c[q>>2]=f;i=f;b:do if((e|0)<1){if(t&(e|0)!=0){m=7;break a}switch(e|0){case -1:{i=5;m=280;break a}case 0:{m=9;break a}case -2:{i=6;break a}case -4:{m=10;break a}case -15:{e=15;break b}default:{}}c[Da>>2]=g;e=0-e|0;i=g}while(0);h=pb[c[pa>>2]&127](pa,e,n,i,o)|0;c:do switch(h|0){case 2:{m=58;break a}case -1:{m=184;break a}case 1:{i=VV(b,0,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 4:{if(!(c[w>>2]|0))i=1;else{m=WV(y,o,n,c[Da>>2]|0)|0;c[z>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];c[C>>2]=0;i=0}c[x>>2]=0;m=274;break}case 7:{i=c[w>>2]|0;if(!i)m=275;else{yb[i&15](c[ra>>2]|0,c[z>>2]|0,c[x>>2]|0,c[C>>2]|0,1);c[z>>2]=0;XV(y);i=o}break}case 57:{i=VV(b,1,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 6:{a[D>>0]=0;m=YV(b,E,75291,36)|0;c[F>>2]=m;if(!m){i=1;m=280;break a}a[ta>>0]=1;if(!(c[w>>2]|0))m=33;else{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[B>>2]=c[A>>2];c[C>>2]=i;i=0;m=34}break}case 14:{m=33;break}case 8:{i=c[z>>2]|0;if(!i)i=1;else{yb[c[w>>2]&15](c[ra>>2]|0,i,c[x>>2]|0,c[C>>2]|0,0);XV(y);i=0}if(!((c[x>>2]|0)==0?!(a[D>>0]|0):0)){f=a[ta>>0]|0;a[ta>>0]=1;do if(c[M>>2]|0?c[va>>2]|0:0){h=YV(b,E,75291,36)|0;if(!h){i=1;m=280;break a}if(!(a[D>>0]|0))e=h+20|0;else{e=h+20|0;c[e>>2]=c[Aa>>2]}a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[e>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;m=280;break a}if(!(a[wa>>0]|0)){if(c[x>>2]|0)break;a[ta>>0]=f;break}if(((a[ya>>0]|0)==0?(oa=c[za>>2]|0,oa|0):0)?(kb[oa&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}}while(0);a[D>>0]=0}e=c[L>>2]|0;if(!e)m=274;else{tb[e&127](c[ra>>2]|0);i=o}break}case 34:{m=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=m;if(!m){i=1;m=280;break a}else m=80;break}case 22:{m=aW(b,o,n,c[Da>>2]|0)|0;c[P>>2]=m;if(!m){i=1;m=280;break a}a[Q>>0]=0;c[R>>2]=0;a[S>>0]=0;m=80;break}case 23:{a[Q>>0]=1;c[R>>2]=139106;m=80;break}case 24:{a[S>>0]=1;c[R>>2]=139112;m=80;break}case 25:{c[R>>2]=139115;m=80;break}case 26:{c[R>>2]=139121;m=80;break}case 27:{c[R>>2]=139128;m=80;break}case 28:{c[R>>2]=139135;m=80;break}case 29:{c[R>>2]=139144;m=80;break}case 30:{c[R>>2]=139152;m=80;break}case 32:case 31:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0){if(!(bW(y,(c[R>>2]|0)==0?((h|0)==32?139161:139171):139173)|0)){i=1;m=280;break a}if(!(cW(y,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}c[R>>2]=c[B>>2];i=o}else m=275;break}case 36:case 35:{if(a[G>>0]|0){if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,a[S>>0]|0,0,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(qa=c[R>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{m=93;break}case 78:{if((a[qa+1>>0]|0)==79)m=93;break}default:{}}if((m|0)==93){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,0,(h|0)==36&1);XV(y);i=o}else m=275}else m=275;break}case 38:case 37:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=fW(b,o,a[Q>>0]|0,n+i|0,(c[Da>>2]|0)+(0-i)|0,H)|0;if(i|0){m=280;break a}e=c[J>>2]|0;c[J>>2]=c[I>>2];if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,0,e,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(sa=c[R>>2]|0,(sa|0)!=0):0){switch(a[sa>>0]|0){case 40:{m=108;break}case 78:{if((a[sa+1>>0]|0)==79)m=108;break}default:{}}if((m|0)==108){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,e,(h|0)==38&1);XV(y);i=o}else m=275}else m=275;break}case 12:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=gW(b,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;e=c[F>>2]|0;f=c[U>>2]|0;if(e){c[e+4>>2]=f;c[(c[F>>2]|0)+8>>2]=(c[V>>2]|0)-(c[U>>2]|0);c[U>>2]=c[V>>2];if(!(c[K>>2]|0))e=1;else{c[q>>2]=n;e=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Aa>>2]|0,0,0,0);e=0}}else{c[V>>2]=f;e=1}if(!i){i=e;m=274}else{m=280;break a}}else m=275;break}case 5:{a[D>>0]=0;a[ta>>0]=1;if(!(c[w>>2]|0)){c[x>>2]=75291;i=1}else{m=c[o+64>>2]|0;m=WV(y,o,n+m|0,(c[Da>>2]|0)+(0-m)|0)|0;c[x>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];i=0}if((((a[ya>>0]|0)==0?(c[M>>2]|0)==0:0)?(ua=c[za>>2]|0,ua|0):0)?(kb[ua&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}if(!(c[F>>2]|0)){e=YV(b,E,75291,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}c[e+24>>2]=0;m=133}else m=133;break}case 13:{i=1;m=133;break}case 15:{if(((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0)?(c[K>>2]|0)!=0:0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=o}else m=275;break}case 16:{if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){h=WV(H,o,n,c[Da>>2]|0)|0;c[(c[F>>2]|0)+28>>2]=h;if(!(c[(c[F>>2]|0)+28>>2]|0)){i=1;m=280;break a}c[J>>2]=c[I>>2];if(c[W>>2]|0){c[q>>2]=n;i=c[F>>2]|0;zb[c[W>>2]&15](c[ra>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o;break c}if(c[K>>2]|0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o}else m=275}else m=275;break}case 9:{if(nb[c[o+44>>2]&63](o,n,c[Da>>2]|0)|0){c[F>>2]=0;m=275;break c}if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,r,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=0;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 10:{if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,E,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=1;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 18:{c[Y>>2]=0;c[Z>>2]=0;if(!(c[_>>2]|0))m=275;else{n=WV(y,o,n,c[Da>>2]|0)|0;c[Z>>2]=n;if(!n){i=1;m=280;break a}c[B>>2]=c[A>>2];i=o}break}case 21:{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}if(!(c[Z>>2]|0))m=275;else{i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[Y>>2]=i;c[B>>2]=c[A>>2];i=o}break}case 19:{if((c[Z>>2]|0)!=0?(c[_>>2]|0)!=0:0){i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,i,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 20:{if((c[Y>>2]|0)!=0?(c[_>>2]|0)!=0:0){c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,0,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 58:{if(c[u>>2]|0)hW(b,o,n,c[Da>>2]|0);i=iW(b,o,Da,g,j,k)|0;if(i|0){m=280;break a}if(!(c[Da>>2]|0)){m=189;break a}else i=o;break}case 44:{i=c[aa>>2]|0;do if((c[$>>2]|0)>>>0>=i>>>0){if(!i){h=c[ha>>2]|0;c[aa>>2]=32;h=kb[h&63](32)|0;c[ba>>2]=h;if(!h){m=198;break a}else break}f=c[ia>>2]|0;h=c[ba>>2]|0;i=i<<1;c[aa>>2]=i;i=lb[f&127](h,i)|0;if(!i){m=193;break a}c[ba>>2]=i;i=c[da>>2]|0;if(i|0){i=lb[c[ia>>2]&127](i,c[aa>>2]<<2)|0;if(!i){i=1;m=280;break a}c[da>>2]=i}}while(0);a[(c[ba>>2]|0)+(c[$>>2]|0)>>0]=0;if(a[ca>>0]|0){i=kW(b)|0;if((i|0)<0){i=1;m=280;break a}c[(c[da>>2]|0)+(c[ea>>2]<<2)>>2]=i;c[ea>>2]=(c[ea>>2]|0)+1;c[(c[fa>>2]|0)+(i*28|0)>>2]=6;if(c[ga>>2]|0)i=o;else m=275}else m=275;break}case 50:{i=(c[ba>>2]|0)+(c[$>>2]|0)|0;if((a[i>>0]|0)==124){i=2;m=280;break a}a[i>>0]=44;if((a[ca>>0]|0)!=0?(c[ga>>2]|0)!=0:0)i=o;else m=275;break}case 49:{f=c[ba>>2]|0;e=c[$>>2]|0;i=a[f+e>>0]|0;if(i<<24>>24==44){i=2;m=280;break a}if(i<<24>>24==0&(a[ca>>0]|0)!=0?(Ba=(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[Ba>>2]|0)!=3):0){c[Ba>>2]=5;i=(c[ga>>2]|0)==0&1;f=c[ba>>2]|0;e=c[$>>2]|0}else i=1;a[f+e>>0]=124;m=274;break}case 59:case 60:{a[ta>>0]=1;if(c[M>>2]|0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break a}f=YV(b,E,e,0)|0;c[I>>2]=c[J>>2];do if(c[ja>>2]|0){if(!(a[ya>>0]|0)){if(a[ta>>0]|0){m=219;break}}else if(c[na>>2]|0){m=219;break}if(!f){i=11;m=280;break a}if(!(a[f+34>>0]|0)){i=24;m=280;break a}}else m=219;while(0);if((m|0)==219?(m=0,(f|0)==0):0){a[G>>0]=a[ya>>0]|0;if((h|0)!=60){m=275;break c}i=c[ka>>2]|0;if(!i){m=275;break c}vb[i&127](c[ra>>2]|0,e,1);i=o;break c}i=f+32|0;if(a[i>>0]|0){i=12;m=280;break a}if(c[f+4>>2]|0){i=lW(b,f,(h|0)==60&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;m=274;break c}else{m=280;break a}}if(!(c[va>>2]|0)){a[G>>0]=a[ya>>0]|0;m=275;break c}a[wa>>0]=0;a[i>>0]=1;h=(pb[c[va>>2]&127](c[xa>>2]|0,0,c[f+20>>2]|0,c[f+16>>2]|0,c[f+24>>2]|0)|0)==0;a[i>>0]=0;if(h){i=21;m=280;break a}e=a[ya>>0]|0;if(!(a[wa>>0]|0)){a[G>>0]=e;i=o;break c}else i=0}else{e=a[ya>>0]|0;a[G>>0]=e;i=1}if((e<<24>>24==0?(Ca=c[za>>2]|0,(Ca|0)!=0):0)?(kb[Ca&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}else m=274;break}case 40:{if(!(c[ga>>2]|0))m=275;else{n=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=n;if(!n){i=1;m=280;break a}c[ea>>2]=0;c[la>>2]=0;a[ca>>0]=1;i=o}break}case 42:case 41:{if(!(a[ca>>0]|0))m=275;else{if(!(c[ga>>2]|0))i=1;else{i=kb[c[ha>>2]&63](20)|0;if(!i){i=1;m=280;break a}m=i+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[i>>2]=(h|0)==41?2:1;c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,i);i=0}a[ca>>0]=0;m=274}break}case 43:{if((a[ca>>0]|0)!=0?(c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[ga>>2]|0)!=0):0)i=o;else m=275;break}case 51:{e=0;m=247;break}case 53:{e=1;m=247;break}case 52:{e=2;m=247;break}case 54:{e=3;m=247;break}case 45:{f=0;m=258;break}case 47:{f=1;m=258;break}case 46:{f=2;m=258;break}case 48:{f=3;m=258;break}case 55:{if(!(nW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 56:{if(!(oW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 0:{if((e|0)==14)i=o;else m=275;break}case 3:{if(!(c[w>>2]|0))m=275;else i=o;break}case 11:{if((a[G>>0]|0)!=0?(c[K>>2]|0)!=0:0)i=o;else m=275;break}case 17:{if(!(c[_>>2]|0))m=275;else i=o;break}case 33:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275;break}case 39:{if(!(c[ga>>2]|0))m=275;else i=o;break}default:m=275}while(0);if((m|0)==33)if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break}else{i=1;m=34}else if((m|0)==80){m=0;if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275}else if((m|0)==133){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;c[(c[F>>2]|0)+16>>2]=e;e=c[F>>2]|0;if(!(c[e+16>>2]|0)){i=1;m=280;break}c[e+20>>2]=c[Aa>>2];c[J>>2]=c[I>>2];if((h|0)==13&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}else if((m|0)==247){m=0;if(a[ca>>0]|0){i=c[Da>>2]|0;if(e)i=i+(0-(c[o+64>>2]|0))|0;f=kW(b)|0;if((f|0)<0){i=1;m=280;break}c[(c[fa>>2]|0)+(f*28|0)>>2]=4;c[(c[fa>>2]|0)+(f*28|0)+4>>2]=e;i=$V(b,o,n,i)|0;if(!i){i=1;m=280;break}e=c[i>>2]|0;c[(c[fa>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{h=i;i=i+1|0}while((a[e+h>>0]|0)!=0);c[ma>>2]=(c[ma>>2]|0)+i;if(c[ga>>2]|0)i=o;else m=275}else m=275}else if((m|0)==258)if(a[ca>>0]|0){e=(c[ga>>2]|0)==0;i=e&1;m=(c[ea>>2]|0)+-1|0;c[ea>>2]=m;c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+(m<<2)>>2]|0)*28|0)+4>>2]=f;if(!(c[ea>>2]|0)){if(!e){e=mW(b)|0;if(!e){i=1;m=280;break}c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,e)}a[ca>>0]=0;c[ma>>2]=0;m=274}else m=274}else m=275;if((m|0)==34){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break}ZV(e);c[(c[F>>2]|0)+24>>2]=e;c[J>>2]=c[I>>2];if((h|0)==14&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}if((m|0)==274){m=0;if(!(i<<24>>24))i=o;else m=275}if((m|0)==275){m=0;if(!(c[u>>2]|0))i=o;else{hW(b,o,n,c[Da>>2]|0);i=o}}switch(c[v>>2]|0){case 3:{m=278;break a}case 2:{i=35;m=280;break a}default:{}}e=c[Da>>2]|0;o=i;n=e;e=ob[c[i>>2]&127](i,e,g,Da)|0}d:switch(m|0){case 7:{c[j>>2]=n;i=0;break}case 9:{c[p>>2]=f;i=4;break}case 10:{i=(o|0)==(c[s>>2]|0);if(!i?(a[(c[na>>2]|0)+20>>0]|0)==0:0){c[j>>2]=n;i=0;break}if((a[b+484>>0]|0)!=0|i^1)if((pb[c[pa>>2]&127](pa,-4,g,g,o)|0)==-1)i=29;else{c[j>>2]=n;i=0}else i=3;break}case 58:{do if((a[D>>0]|0?(Ea=a[ta>>0]|0,a[ta>>0]=1,c[M>>2]|0):0)?c[va>>2]|0:0){i=YV(b,E,75291,36)|0;if(!i){i=1;break d}Da=i+20|0;c[Da>>2]=c[Aa>>2];a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[Da>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[wa>>0]|0)){a[ta>>0]=Ea;break}if(((a[ya>>0]|0)==0?(Fa=c[za>>2]|0,Fa|0):0)?(kb[Fa&63](c[ra>>2]|0)|0)==0:0){i=22;break d}}while(0);c[b+276>>2]=58;i=_V(b,n,g,j)|0;break}case 184:{i=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{c[b+276>>2]=59;i=0;break}case 193:{c[aa>>2]=(c[aa>>2]|0)>>>1;i=1;break}case 198:{c[aa>>2]=0;i=1;break}case 278:{c[j>>2]=c[Da>>2];i=0;break}case 280:break}l=Ga;return i|0}function VV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+16|0;m=q+12|0;i=q+8|0;j=q+4|0;k=q;c[p>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;o=b+284|0;g=(d|0)!=0;a:do if(rb[(a[b+232>>0]<<24>>24?2:1)&3](d,c[n>>2]|0,e,f,o,i,j,p,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+352>>2]|0)+130>>0]=1,h=b+488|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{hW(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[p>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=WV(b+436|0,f,d,d+(lb[c[f+28>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+452>>2]=c[b+448>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=WV(b+436|0,i,g,(c[j>>2]|0)+(0-(c[i+64>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}do if(!(c[b+228>>2]|0)){g=c[m>>2]|0;h=g;if(g|0){k=c[g+64>>2]|0;m=c[n>>2]|0;if((k|0)==(c[m+64>>2]|0)?(k|0)!=2|(g|0)==(m|0):0){c[n>>2]=h;break}c[o>>2]=c[p>>2];d=19;break a}g=c[p>>2]|0;if(g|0){h=b+436|0;if(!d){d=c[n>>2]|0;d=WV(h,d,g,g+(lb[c[d+28>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=PW(b,d)|0;XV(h);if((d|0)!=18)break a;c[o>>2]=c[p>>2];d=18;break a}}while(0);if((d|0)!=0|(e|0)!=0){XV(b+436|0);d=0}else d=0}else d=g?31:30;while(0);l=q;return d|0}function WV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(cW(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function XV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;a:do if(!b){c[e>>2]=c[a>>2];b=a}else{d=c[a>>2]|0;while(1){if(!d){b=a;break a}g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}}while(0);c[b>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function YV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=e+8|0;a:do if(!(c[w>>2]|0))if(g){a[e+4>>0]=6;c[w>>2]=64;h=e+16|0;i=kb[c[c[h>>2]>>2]&63](256)|0;c[e>>2]=i;if(!i){c[w>>2]=0;h=0;break}else{H3(i|0,0,256)|0;j=NW(b,f)|0;j=(c[w>>2]|0)+-1&j;i=e;o=27;break}}else h=0;else{v=NW(b,f)|0;k=c[w>>2]|0;j=k+-1|0;l=c[e>>2]|0;m=v&0-k;u=e+4|0;n=j>>>2;i=0;j=j&v;while(1){h=c[l+(j<<2)>>2]|0;if(!h)break;if((OW(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(i<<24>>24))h=(m>>>((d[u>>0]|0)+-1|0)&n|1)&255;else h=i;t=h&255;i=h;j=j-t+(j>>>0>>0?k:0)|0}if(g){i=a[u>>0]|0;h=i&255;if(!((c[e+12>>2]|0)>>>(h+-1|0))){h=e+16|0;i=e;o=27;break}q=h+1&255;j=i+1&255;s=1<>2]>>2]&63](i)|0;if(t){H3(t|0,0,i|0)|0;p=0-s|0;n=j+-1|0;o=r>>>2;m=0;while(1){if(m>>>0>=(c[w>>2]|0)>>>0)break;i=c[(c[e>>2]|0)+(m<<2)>>2]|0;if(i|0){i=NW(b,c[i>>2]|0)|0;k=((i&p)>>>n&o|1)&255;i=i&r;j=0;while(1){l=t+(i<<2)|0;if(!(c[l>>2]|0))break;l=j<<24>>24==0?k:j;x=l&255;i=i+(i>>>0>>0?s:0)-x|0;j=l}c[l>>2]=c[(c[e>>2]|0)+(m<<2)>>2]}m=m+1|0}tb[c[(c[h>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=t;a[u>>0]=q;c[w>>2]=s;k=((v&p)>>>n&o|1)&255;i=r&v;j=0;while(1){if(!(c[t+(i<<2)>>2]|0)){j=i;i=e;o=27;break a}x=j<<24>>24==0?k:j;w=x&255;i=i+(i>>>0>>0?s:0)-w|0;j=x}}else h=0}else h=0}while(0);if((o|0)==27){h=kb[c[c[h>>2]>>2]&63](g)|0;c[(c[i>>2]|0)+(j<<2)>>2]=h;h=c[(c[i>>2]|0)+(j<<2)>>2]|0;if(!h)h=0;else{H3(h|0,0,g|0)|0;c[c[(c[i>>2]|0)+(j<<2)>>2]>>2]=f;h=e+12|0;c[h>>2]=(c[h>>2]|0)+1;h=c[(c[i>>2]|0)+(j<<2)>>2]|0}}return h|0}function ZV(b){b=b|0;var c=0,d=0,e=0;e=b;c=b;while(1){d=a[e>>0]|0;if(!(d<<24>>24))break;switch(d<<24>>24|0){case 10:case 13:case 32:{if((c|0)!=(b|0)){if((a[c+-1>>0]|0)!=32){a[c>>0]=32;c=c+1|0}}else c=b;break}default:{a[c>>0]=d;c=c+1|0}}e=e+1|0}if((c|0)!=(b|0)){b=c+-1|0;b=(a[b>>0]|0)==32?b:c}a[b>>0]=0;return}function _V(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,0,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function $V(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+352>>2]|0;b=WV(g+80|0,b,d,e)|0;do if((b|0)!=0?(f=YV(a,g+20|0,b,24)|0,(f|0)!=0):0)if((c[f>>2]|0)==(b|0)){c[g+96>>2]=c[g+92>>2];if(!(CW(a,f)|0)){f=0;break}}else c[g+92>>2]=c[g+96>>2];else f=0;while(0);return f|0}function aW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+352>>2]|0;k=m+80|0;n=m+92|0;h=c[n>>2]|0;l=m+88|0;if((h|0)==(c[l>>2]|0))if(!((eW(k)|0)<<24>>24))g=0;else{h=c[n>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[n>>2]=h+1;a[h>>0]=0;d=WV(k,d,e,f)|0;if((d|0)!=0?(j=d+1|0,g=YV(b,m+40|0,j,12)|0,(g|0)!=0):0){if((c[g>>2]|0)!=(j|0)){c[n>>2]=c[m+96>>2];break}h=c[n>>2]|0;i=m+96|0;c[i>>2]=h;if(a[b+232>>0]|0){e=a[j>>0]|0;b:do if(e<<24>>24==120)if((((a[d+2>>0]|0)==109?(a[d+3>>0]|0)==108:0)?(a[d+4>>0]|0)==110:0)?(a[d+5>>0]|0)==115:0){switch(a[d+6>>0]|0){case 0:{h=m+152|0;break}case 58:{h=YV(b,m+60|0,d+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else{f=0;d=e}while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[j+d>>0]|0}while(1){d=(h|0)==(c[l>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((eW(k)|0)<<24>>24)){g=0;break a}h=c[n>>2]|0}d=a[j+e>>0]|0;c[n>>2]=h+1;a[h>>0]=d;e=e+1|0;h=c[n>>2]|0}if(d){if(!((eW(k)|0)<<24>>24)){g=0;break}h=c[n>>2]|0}c[n>>2]=h+1;a[h>>0]=0;h=YV(b,m+60|0,c[i>>2]|0,8)|0;c[g+4>>2]=h;if(h){d=c[i>>2]|0;if((c[h>>2]|0)==(d|0)){c[i>>2]=c[n>>2];break}else{c[n>>2]=d;break}}else g=0}}else g=0}while(0);return g|0}function bW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function cW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(eW(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+56|0;f=a+8|0;while(1){if((pb[c[d>>2]&127](b,h,e,g,c[f>>2]|0)|0)>>>0<2)break;if(!((eW(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function dW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f<<24>>24==0;n=b+12|0;m=c[n>>2]|0;a:do if(!(i&(g|0)==0)){j=b+20|0;f=0;while(1){if((f|0)>=(m|0))break;if((c[(c[j>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((!i?(k=b+8|0,(c[k>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[k>>2]=d;l=9}else l=9}else l=9;while(0);b:do if((l|0)==9){j=b+16|0;do if((m|0)==(c[j>>2]|0))if(!m){c[j>>2]=8;f=kb[c[h+12>>2]&63](96)|0;c[b+20>>2]=f;if(f|0)break;c[j>>2]=0;f=0;break b}else{i=b+20|0;f=lb[c[h+16>>2]&127](c[i>>2]|0,m*24|0)|0;if(!f){f=0;break b}c[j>>2]=m<<1;c[i>>2]=f;break}else f=c[b+20>>2]|0;while(0);h=c[n>>2]|0;c[f+(h*12|0)>>2]=d;c[f+(h*12|0)+8>>2]=g;a[f+(h*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=(c[n>>2]|0)+1;f=1}while(0);return f|0}function eW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+4|0;e=c[b>>2]|0;do if(e){f=a+16|0;g=c[f>>2]|0;if(!g){c[a>>2]=e;c[b>>2]=c[e>>2];c[e>>2]=0;l=c[a>>2]|0;b=l+8|0;c[f>>2]=b;c[a+8>>2]=(c[l+4>>2]|0)+(l+8);c[a+12>>2]=b;b=1;break}d=a+8|0;if(((c[d>>2]|0)-g|0)<(c[e+4>>2]|0)){k=c[e>>2]|0;c[e>>2]=c[a>>2];l=c[b>>2]|0;c[a>>2]=l;c[b>>2]=k;b=c[f>>2]|0;F3(l+8|0,b|0,(c[d>>2]|0)-b|0)|0;b=c[a>>2]|0;l=a+12|0;c[l>>2]=(c[l>>2]|0)-(c[f>>2]|0)+(b+8);c[f>>2]=b+8;c[d>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=6}else h=6;while(0);a:do if((h|0)==6){e=c[a>>2]|0;k=a+16|0;do if(!e){i=k;b=c[k>>2]|0}else{j=c[k>>2]|0;b=j;if((j|0)!=(e+8|0)){i=k;break}f=a+8|0;g=(c[f>>2]|0)-b<<1;h=a+12|0;d=(c[h>>2]|0)-b|0;if((g|0)<0){b=0;break a}b=MW(g)|0;if(!b){b=0;break a}b=lb[c[(c[a+20>>2]|0)+4>>2]&127](e,b)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=g;b=c[a>>2]|0;c[h>>2]=b+8+d;c[k>>2]=b+8;c[f>>2]=b+8+g;b=1;break a}while(0);j=a+8|0;b=(c[j>>2]|0)-b|0;if((b|0)>=0){if((b|0)>=1024){b=b<<1;if((b|0)<0){b=0;break}}else b=1024;d=MW(b)|0;if((d|0)!=0?(l=kb[c[c[a+20>>2]>>2]&63](d)|0,(l|0)!=0):0){c[l+4>>2]=b;c[l>>2]=c[a>>2];c[a>>2]=l;h=a+12|0;a=c[h>>2]|0;e=c[k>>2]|0;d=a;f=e;if((a|0)==(e|0)){g=l+8|0;e=f}else{g=l+8|0;F3(g|0,e|0,d-f|0)|0;e=c[i>>2]|0;d=c[h>>2]|0}c[h>>2]=l+8+(d-e);c[k>>2]=g;c[j>>2]=l+8+b;b=1}else b=0}else b=0}while(0);return b|0}function fW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=LW(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(c[h+16>>2]|0)!=(b|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((eW(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function gW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+352>>2]|0;D=g+104|0;F=b+272|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(eW(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+484|0;p=b+144|0;q=b+412|0;r=d+64|0;s=g+132|0;t=b+428|0;u=b+424|0;v=b+224|0;w=b+112|0;m=g+130|0;x=g+128|0;y=g+131|0;z=b+116|0;A=g+112|0;j=g+116|0;k=d+40|0;a:while(1){b:do switch(ob[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=37;break a}case 0:{G=39;break a}case 28:{if((a[o>>0]|0)==0?(c[p>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=WV(q,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=YV(b,s,g,0)|0;c[u>>2]=c[t>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=h+16|0;if(!(c[g>>2]|0)){a[i>>0]=1;g=c[h+4>>2]|0;g=gW(b,c[v>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}if(c[w>>2]|0){a[y>>0]=0;a[i>>0]=1;h=(pb[c[w>>2]&127](c[z>>2]|0,0,c[h+20>>2]|0,c[g>>2]|0,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[y>>0]|0)break b}a[x>>0]=a[m>>0]|0;break}case 6:case 9:{if(!(cW(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=lb[c[k>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=gX(g,C)|0;e=0;while(1){if((e|0)>=(h|0))break;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;G=35;break a}g=c[j>>2]|0}i=a[C+e>>0]|0;c[j>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=41;break a}}while(0);if((G|0)==22){G=0;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;break}g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[x>>0]=a[m>>0]|0;g=0}else if((G|0)==11)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+284>>2]=e;g=10}else if((G|0)==27)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=14;G=35}else{g=14;G=35}else if((G|0)==37)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=4}else g=4;else if((G|0)==39)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=c[B>>2];g=4}else g=4;else if((G|0)==41)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function hW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+68>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+288|0;h=b+284|0}else{h=c[b+296>>2]|0;g=h+4|0}i=b+44|0;j=d+56|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];b=pb[c[j>>2]&127](d,n,f,o,c[k>>2]|0)|0;c[g>>2]=c[n>>2];q=c[i>>2]|0;vb[c[m>>2]&127](c[e>>2]|0,q,(c[o>>2]|0)-q|0);c[h>>2]=c[n>>2]}while(b>>>0>1)}else vb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function iW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+284|0;c[i>>2]=k;h=a+288|0}else{i=c[a+296>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=ob[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;switch(n|0){case 42:{if(c[a+80>>2]|0){hW(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+476>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(!(g<<24>>24))e=6;else{c[f>>2]=k;e=0}break}case -4:case -1:{if(!(g<<24>>24))e=2;else{c[f>>2]=k;e=0}break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function jW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=iW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;if(!((d|0)!=0|(g|0)==0)){c[b+276>>2]=57;d=TV(b,g,e,f)|0}l=h;return d|0}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+352>>2]|0;j=i+184|0;if(!(c[j>>2]|0)){b=kb[c[a+12>>2]&63](c[a+464>>2]<<2)|0;c[j>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){h=i+176|0;b=c[h>>2]|0;g=i+172|0;d=c[g>>2]|0;f=i+164|0;e=c[f>>2]|0;if(b>>>0>>0)g=e;else{if(!e){b=kb[c[a+12>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=lb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[f>>2]=d;b=c[h>>2]|0;g=d}c[h>>2]=b+1;d=c[i+180>>2]|0;if(d|0){a=c[(c[j>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}j=g+(b*28|0)+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}while(0);return b|0}function lW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=b+300|0;f=c[o>>2]|0;if(!f){f=kb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{m=f;g=4}}else{c[o>>2]=c[f+8>>2];m=f;g=4}do if((g|0)==4){h=d+32|0;a[h>>0]=1;i=d+12|0;c[i>>2]=0;j=b+296|0;k=m+8|0;c[k>>2]=c[j>>2];c[j>>2]=m;c[m+12>>2]=d;f=b+308|0;c[m+16>>2]=c[f>>2];a[m+20>>0]=e;c[m>>2]=0;c[m+4>>2]=0;g=c[d+4>>2]|0;e=g+(c[d+8>>2]|0)|0;c[n>>2]=g;if(!(a[d+33>>0]|0))f=rW(b,c[f>>2]|0,c[b+224>>2]|0,g,e,n,0)|0;else{d=b+224|0;f=c[d>>2]|0;f=ob[c[f>>2]&127](f,g,e,n)|0;f=UV(b,c[d>>2]|0,g,e,f,c[n>>2]|0,n,0)|0}if(!f){f=c[n>>2]|0;if((e|0)!=(f|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=f-g;c[b+276>>2]=60;f=0;break}a[h>>0]=0;c[j>>2]=c[k>>2];c[k>>2]=c[o>>2];c[o>>2]=m;f=0}}while(0);l=p;return f|0}function mW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+352>>2]|0;f=b+176|0;b=kb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;qW(a,0,b,d,e)}l=g;return b|0}function nW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{hW(a,b,d,e);d=1}else{h=b+64|0;g=d+(c[h>>2]<<1)|0;d=g+(lb[c[b+28>>2]&127](b,g)|0)|0;f=a+412|0;g=WV(f,b,g,d)|0;if((g|0)!=0?(c[a+428>>2]=c[a+424>>2],i=lb[c[b+32>>2]&127](b,d)|0,i=WV(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){pW(i);vb[c[j>>2]&127](c[a+4>>2]|0,g,i);XV(f);d=1}else d=0}return d|0}function oW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{hW(a,b,d,e);b=1}else{f=a+412|0;h=c[b+64>>2]|0;b=WV(f,b,d+(h<<2)|0,e+(O(h,-3)|0)|0)|0;if(!b)b=0;else{pW(b);ub[c[g>>2]&63](c[a+4>>2]|0,b);XV(f);b=1}}return b|0}function pW(b){b=b|0;var c=0,d=0,e=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{d=b;c=13;e=4;break a}default:{}}b=b+1|0}if((e|0)==4){while(1){if(c<<24>>24==13){a[d>>0]=10;e=b+1|0;b=(a[e>>0]|0)==10?b+2|0:e}else{a[d>>0]=c;b=b+1|0}d=d+1|0;c=a[b>>0]|0;if(!(c<<24>>24))break;else e=4}a[d>>0]=0}return}function qW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[b+352>>2]|0)+164|0;j=c[(c[k>>2]|0)+(d*28|0)>>2]|0;c[e>>2]=j;c[e+4>>2]=c[(c[k>>2]|0)+(d*28|0)+4>>2];if((j|0)==4){c[e+8>>2]=c[g>>2];d=c[(c[k>>2]|0)+(d*28|0)+8>>2]|0;while(1){j=a[d>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;if(!(a[d>>0]|0))break;else d=d+1|0}c[e+12>>2]=0;c[e+16>>2]=0}else{h=c[(c[k>>2]|0)+(d*28|0)+20>>2]|0;i=e+12|0;c[i>>2]=h;j=e+16|0;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);d=(c[k>>2]|0)+(d*28|0)+12|0;h=0;while(1){d=c[d>>2]|0;if(h>>>0>=(c[i>>2]|0)>>>0)break;qW(b,d,(c[j>>2]|0)+(h*20|0)|0,f,g);d=(c[k>>2]|0)+(d*28|0)+24|0;h=h+1|0}c[e+8>>2]=0}return}function rW(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+48|0;ja=ma+28|0;ea=ma+32|0;ka=ma+24|0;Z=ma;c[ja>>2]=f;_=c[b+352>>2]|0;if((c[b+144>>2]|0)==(e|0)){fa=b+284|0;Y=b+288|0}else{Y=c[b+296>>2]|0;fa=Y;Y=Y+4|0}c[fa>>2]=f;t=e+4|0;ga=b+80|0;u=b+476|0;v=e+44|0;w=e+64|0;x=_+80|0;y=_+96|0;z=_+92|0;A=_+129|0;B=b+112|0;C=b+116|0;D=b+428|0;E=b+424|0;F=b+304|0;G=b+120|0;ha=b+4|0;H=_+130|0;$=b+60|0;I=b+364|0;J=b+12|0;K=b+360|0;L=e+28|0;ia=b+308|0;aa=e+56|0;M=b+16|0;N=b+52|0;O=b+412|0;P=b+388|0;Q=b+56|0;R=b+232|0;S=b+233|0;T=b+468|0;U=b+104|0;V=b+372|0;W=e+40|0;X=b+72|0;ba=e+68|0;ca=b+44|0;da=b+48|0;a:while(1){s=c[ja>>2]|0;c[ea>>2]=s;s=ob[c[t>>2]&127](e,s,g,ea)|0;f=c[ea>>2]|0;c[Y>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=134;break a}case 9:{s=c[w>>2]|0;s=(nb[c[v>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[$>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,ka,1);break}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[w>>2]|0;j=WV(x,e,(c[ja>>2]|0)+j|0,(c[ea>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=YV(b,_,j,0)|0;c[z>>2]=c[y>>2];if((a[A>>0]|0)!=0?(a[H>>0]|0)==0:0){if(!k){f=c[G>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}}else{if(!k){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[B>>2]|0)){if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}a[f>>0]=1;j=tW(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(pb[c[B>>2]&127](c[C>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[E>>2]=c[D>>2];break}if(a[F>>0]|0){f=lW(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[G>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[I>>2]|0;if(!f){f=kb[c[J>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=kb[c[J>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[I>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[K>>2];c[K>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;r=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=r;p=f+8|0;c[p>>2]=lb[c[L>>2]&127](e,r)|0;c[ia>>2]=(c[ia>>2]|0)+1;q=c[q>>2]|0;p=q+(c[p>>2]|0)|0;c[Z>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){na=pb[c[aa>>2]&127](e,Z,p,ka,j+-1|0)|0;j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((na|0)==1?1:(c[Z>>2]|0)>>>0>=p>>>0)break;k=(c[r>>2]|0)-k<<1;j=lb[c[M>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;na=j+k|0;c[r>>2]=na;c[ka>>2]=j+n;j=na}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=uW(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[N>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[s>>2]|0,c[P>>2]|0);XV(O);break}case 3:case 4:{na=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;na=WV(O,e,na,na+(lb[c[L>>2]&127](e,na)|0)|0)|0;c[Z>>2]=na;if(!na){f=1;la=89;break a}c[D>>2]=c[E>>2];f=uW(b,e,c[ja>>2]|0,Z,ka)|0;if(f|0){la=79;break a}c[D>>2]=c[E>>2];f=c[N>>2]|0;if(!f)j=1;else{vb[f&127](c[ha>>2]|0,c[Z>>2]|0,c[P>>2]|0);j=0}f=c[Q>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{if(c[N>>2]|0){c[fa>>2]=c[Y>>2];f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[Z>>2]|0)}XV(O);vW(b,c[ka>>2]|0);if((c[ia>>2]|0)==0?(c[u>>2]&-2|0)!=2:0){la=92;break a}break}case 5:{if((c[ia>>2]|0)==(d|0)){f=13;break a}n=c[K>>2]|0;c[K>>2]=c[n>>2];c[n>>2]=c[I>>2];c[I>>2]=n;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=lb[c[L>>2]&127](e,f)|0;if((j|0)!=(c[n+8>>2]|0)){la=96;break a}if(L0(c[n+4>>2]|0,f,j)|0){la=96;break a}c[ia>>2]=(c[ia>>2]|0)+-1;f=c[Q>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[n+16>>2]|0;m=n+12|0;if((j|0)!=0&(a[R>>0]|0)!=0){f=(c[m>>2]|0)+(c[n+28>>2]|0)|0;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break;a[f>>0]=k;f=f+1|0;j=j+1|0}j=c[n+20>>2]|0;c:do if((j|0)!=0&(a[S>>0]|0)!=0){a[f>>0]=a[T>>0]|0;while(1){f=f+1|0;k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0}}while(0);a[f>>0]=0;f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[m>>2]|0)}k=n+44|0;while(1){m=c[k>>2]|0;if(!m)break;f=c[U>>2]|0;if(!f){f=m;j=m}else{ub[f&63](c[ha>>2]|0,c[c[m>>2]>>2]|0);f=m;j=c[k>>2]|0}c[k>>2]=c[j+4>>2];c[m+4>>2]=c[V>>2];c[V>>2]=m;c[(c[f>>2]|0)+4>>2]=c[m+8>>2]}if(!(c[ia>>2]|0)){la=117;break a}break}case 10:{f=lb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[$>>2]|0;if(j|0){s=c[ha>>2]|0;na=gX(f,ka)|0;vb[j&127](s,ka,na);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}case 7:{f=c[$>>2]|0;if(f|0){a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}else tb[f&127](c[ha>>2]|0);f=xW(b,e,ea,g,h,i)|0;if(f|0)break a;if(!(c[ea>>2]|0)){la=133;break a}break}case 6:{j=c[$>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;hW(b,e,c[ja>>2]|0,k);break b}if(!(a[ba>>0]|0))f=k;else{na=c[ja>>2]|0;vb[j&127](c[ha>>2]|0,na,f-na|0);break b}while(1){c[ka>>2]=c[ca>>2];na=pb[c[aa>>2]&127](e,ja,f,ka,c[da>>2]|0)|0;c[Y>>2]=c[ja>>2];s=c[ca>>2]|0;vb[j&127](c[ha>>2]|0,s,(c[ka>>2]|0)-s|0);if(na>>>0<2)break;c[fa>>2]=c[ja>>2];f=c[ea>>2]|0}break}case 11:{if(!(nW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(oW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}while(0);na=c[ea>>2]|0;c[ja>>2]=na;c[fa>>2]=na;switch(c[u>>2]|0){case 2:{f=35;break a}case 3:{la=160;break a}default:{}}}switch(la|0){case 6:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[Y>>2]=g;f=c[$>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1)}if(d)if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ia>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[fa>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{tb[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 79:{vW(b,c[ka>>2]|0);la=89;break}case 92:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 96:{c[fa>>2]=f;f=7;break}case 117:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 133:{c[b+276>>2]=61;f=0;break}case 134:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[$>>2]|0;do if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else if(!(a[ba>>0]|0)){c[ka>>2]=c[ca>>2];pb[c[aa>>2]&127](e,ja,g,ka,c[da>>2]|0)|0;na=c[ca>>2]|0;vb[c[$>>2]&127](c[ha>>2]|0,na,(c[ka>>2]|0)-na|0);break}else{na=c[ja>>2]|0;vb[f&127](c[ha>>2]|0,na,g-na|0);break}while(0);if(!d){c[fa>>2]=g;f=3;break}if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[fa>>2]=g;f=13;break}}case 160:{c[h>>2]=c[ea>>2];f=0;break}}l=ma;return f|0}function sW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;p=q;k=b+296|0;m=c[k>>2]|0;do if(m){n=c[m+12>>2]|0;h=n+4|0;j=c[h>>2]|0;i=n+12|0;g=j+(c[i>>2]|0)|0;j=j+(c[n+8>>2]|0)|0;c[p>>2]=g;o=n+33|0;if(!(a[o>>0]|0))g=rW(b,c[m+16>>2]|0,c[b+224>>2]|0,g,j,p,0)|0;else{s=b+224|0;r=c[s>>2]|0;r=ob[c[r>>2]&127](r,g,j,p)|0;g=UV(b,c[s>>2]|0,g,j,r,c[p>>2]|0,p,0)|0}if(!g){g=c[p>>2]|0;if((j|0)!=(g|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=g-(c[h>>2]|0);g=0;break}a[n+32>>0]=0;s=m+8|0;c[k>>2]=c[s>>2];g=b+300|0;c[s>>2]=c[g>>2];c[g>>2]=m;g=b+276|0;if(!(a[o>>0]|0)){c[g>>2]=58;g=rW(b,(c[b+472>>2]|0)!=0&1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;break}else{c[g>>2]=57;s=b+144|0;g=c[s>>2]|0;g=ob[c[g>>2]&127](g,d,e,p)|0;g=UV(b,c[s>>2]|0,d,e,g,c[p>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=q;return g|0}function tW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;m=c[b+352>>2]|0;h=m+156|0;o=b+412|0;p=b+424|0;a:do if(!(c[h>>2]|0)){d=0;i=b+420|0;k=b+468|0;j=12}else{d=c[p>>2]|0;i=b+420|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;g=b+468|0;e=(c[(c[h>>2]|0)+20>>2]|0)+(((a[g>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;k=g;j=12;break a}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[p>>2]|0}k=a[(c[(c[h>>2]|0)+16>>2]|0)+f>>0]|0;c[p>>2]=d+1;a[d>>0]=k;f=f+1|0}}while(0);b:do if((j|0)==12){NV(n,m+60|0);c:while(1){do{e=OV(n)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[p>>2]|0;f=(d|0)==(c[i>>2]|0);if(!(e<<24>>24))break;if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[g>>0]|0}c[p>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;f=(c[(c[h>>2]|0)+20>>2]|0)+(((a[k>>0]|0)!=0)<<31>>31)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}j=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[p>>2]=d+1;a[d>>0]=j;e=e+1|0}}NV(n,m);d:while(1){do{e=OV(n)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[f>>0]|0}c[p>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=0;d=c[b+428>>2]|0}while(0);l=q;return d|0}function uW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=l;l=l+80|0;K=O+16|0;L=O;M=c[b+352>>2]|0;k=M+20|0;i=YV(b,k,c[g>>2]|0,0)|0;if(!i){i=BW(M+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=YV(b,k,i,24)|0,(j|0)!=0):0)if((a[b+232>>0]|0)!=0?(CW(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){x=c[j+12>>2]|0;k=e+36|0;m=b+376|0;t=b+388|0;u=ob[c[k>>2]&127](e,f,c[m>>2]|0,c[t>>2]|0)|0;i=u+x|0;n=c[m>>2]|0;if((i|0)>(n|0)){i=i+16|0;c[m>>2]=i;i=lb[c[b+16>>2]&127](c[t>>2]|0,i<<4)|0;if(!i){c[m>>2]=n;i=1;break}c[t>>2]=i;if((u|0)>(n|0))ob[c[k>>2]&127](e,f,u,i)|0}J=c[t>>2]|0;r=e+28|0;H=b+412|0;I=b+428|0;w=j+20|0;q=b+424|0;s=0;p=0;k=0;while(1){if((p|0)>=(u|0))break;o=c[(c[t>>2]|0)+(p<<4)>>2]|0;o=aW(b,e,o,o+(lb[c[r>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=15;break}a[i>>0]=1;f=s+1|0;c[J+(s<<2)>>2]=c[o>>2];n=c[t>>2]|0;if(a[n+(p<<4)+12>>0]|0){G=WV(H,e,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0)|0;c[J+(f<<2)>>2]=G;if(!G){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(x|0)){i=1;break b}m=c[w>>2]|0;if((o|0)==(c[m+(i*12|0)>>2]|0))break;i=i+1|0}i=a[m+(i*12|0)+4>>0]|0}while(0);i=fW(b,e,i,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0,H)|0;if(i|0)break a;c[J+(f<<2)>>2]=c[I>>2]}c[I>>2]=c[q>>2];i=c[o+4>>2]|0;do if(i)if(a[o+9>>0]|0){i=DW(b,i,o,c[J+(f<<2)>>2]|0,h)|0;if(!i){i=s;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;i=s+2|0;break}else i=s+2|0;while(0);s=i;p=p+1|0}if((A|0)==15){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+284>>2]=c[(c[t>>2]|0)+(p<<4)>>2];i=8;break}c[b+380>>2]=s;i=c[j+8>>2]|0;c:do if((i|0)!=0?(v=c[i>>2]|0,(a[v+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(s|0)){f=0;p=k;G=s;break c}if((c[J+(i<<2)>>2]|0)==(v|0)){A=37;break c}i=i+2|0}}else{i=-1;A=37}while(0);if((A|0)==37){c[b+384>>2]=i;f=0;p=k;G=s}while(1){if((f|0)>=(x|0))break;i=c[w>>2]|0;n=i+(f*12|0)|0;k=c[n>>2]|0;m=(c[k>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(y=i+(f*12|0)+8|0,z=c[y>>2]|0,(z|0)!=0):0){i=c[k+4>>2]|0;do if(i)if(a[k+9>>0]|0){i=DW(b,i,k,z,h)|0;if(!i){i=p;k=G;break d}else break a}else{a[m>>0]=2;i=p+1|0;break}else{a[m>>0]=1;i=p}while(0);c[J+(G<<2)>>2]=c[c[n>>2]>>2];c[J+(G+1<<2)>>2]=c[y>>2];k=G+2|0}else{i=p;k=G}while(0);f=f+1|0;p=i;G=k}c[J+(G<<2)>>2]=0;e:do if(!p)i=0;else{o=b+396|0;n=c[o>>2]|0;F=b+400|0;f=a[F>>0]|0;i=f&255;do if(!(p<<1>>i)){i=1<>24}while((p>>(E&255)|0)!=0);i=(i&255)>3?i:3;a[F>>0]=i;i=i&255;m=b+392|0;k=lb[c[b+16>>2]&127](c[m>>2]|0,12<>0]=f;i=1;break a}else{c[m>>2]=k;k=1<>2]|0)+(E*12|0)>>2]=-1;i=E}}while(0);E=i+-1|0;c[o>>2]=E;w=M+40|0;x=b+424|0;y=b+420|0;z=k+-1|0;A=0-k|0;B=z>>>2;C=b+233|0;D=b+468|0;i=0;v=p;g:while(1){while(1){if((i|0)>=(G|0))break e;e=J+(i<<2)|0;n=c[e>>2]|0;f=n+-1|0;if((a[f>>0]|0)==2)break;a[f>>0]=0;i=i+2|0}EW(b,L);FW(K,L);a[f>>0]=0;f=YV(b,w,n,0)|0;if(!f){i=1;break}f=c[f+4>>2]|0;if(!f){i=1;break}u=c[f+4>>2]|0;if(!u){i=27;break}q=u+20|0;r=u+16|0;p=0;while(1){f=c[q>>2]|0;o=c[r>>2]|0;if((p|0)>=(f|0))break;o=a[o+p>>0]|0;f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}c[x>>2]=f+1;a[f>>0]=o;p=p+1|0}GW(K,o,f);do{t=n;n=n+1|0}while((a[t>>0]|0)!=58);GW(K,n,HW(n)|0);while(1){f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}t=a[n>>0]|0;c[x>>2]=f+1;a[f>>0]=t;if(!(a[n>>0]|0))break;else n=n+1|0}t=IW(K)|0;q=c[m>>2]|0;r=t&A;n=0;s=z&t;while(1){if((c[q+(s*12|0)>>2]|0)!=(E|0))break;if((c[q+(s*12|0)+4>>2]|0)==(t|0)){f=c[q+(s*12|0)+8>>2]|0;o=c[I>>2]|0;while(1){P=a[o>>0]|0;p=P<<24>>24==0;if(p|P<<24>>24!=(a[f>>0]|0))break;f=f+1|0;o=o+1|0}if(p){i=8;break g}}if(!(n<<24>>24))n=(r>>>((d[F>>0]|0)+-1|0)&B|1)&255;P=n&255;s=s+((s|0)<(P|0)?k:0)-P|0}if(a[C>>0]|0){a[(c[x>>2]|0)+-1>>0]=a[D>>0]|0;f=c[c[u>>2]>>2]|0;while(1){n=c[x>>2]|0;if((n|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}n=c[x>>2]|0}P=a[f>>0]|0;c[x>>2]=n+1;a[n>>0]=P;if(!(a[f>>0]|0))break;else f=f+1|0}}P=c[I>>2]|0;c[I>>2]=c[x>>2];c[e>>2]=P;c[(c[m>>2]|0)+(s*12|0)>>2]=E;c[(c[m>>2]|0)+(s*12|0)+4>>2]=t;c[(c[m>>2]|0)+(s*12|0)+8>>2]=P;v=v+-1|0;i=i+2|0;if(!v)break e}break a}while(0);while(1){if((i|0)>=(G|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[b+232>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[M+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}if((a[b+233>>0]|0)!=0?(N=c[c[i>>2]>>2]|0,(N|0)!=0):0){j=0;while(1){m=j+1|0;if(!(a[N+j>>0]|0))break;else j=m}}else m=0;c[g+4>>2]=k;p=i+20|0;c[g+16>>2]=c[p>>2];c[g+8>>2]=c[c[i>>2]>>2];c[g+20>>2]=m;q=0;while(1){r=q+1|0;if(!(a[k+q>>0]|0))break;else q=r}j=c[p>>2]|0;n=r+m+j|0;f=i+24|0;if((n|0)>(c[f>>2]|0)){j=n+24|0;o=kb[c[b+12>>2]&63](j)|0;if(!o){i=1;break}c[f>>2]=j;f=i+16|0;F3(o|0,c[f>>2]|0,c[p>>2]|0)|0;j=b+360|0;while(1){j=c[j>>2]|0;if(!j)break;n=j+12|0;if((c[n>>2]|0)==(c[f>>2]|0))c[n>>2]=o}tb[c[b+20>>2]&127](c[f>>2]|0);c[f>>2]=o;n=o;j=c[p>>2]|0}else{n=i+16|0;f=n;n=c[n>>2]|0}j=n+j|0;F3(j|0,k|0,r|0)|0;if(m|0){P=j+q|0;a[P>>0]=a[b+468>>0]|0;F3(P+1|0,c[c[i>>2]>>2]|0,m|0)|0}c[g>>2]=c[f>>2];i=0}}while(0);l=O;return i|0}function vW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+104|0;f=a+372|0;d=a+4|0;while(1){if(!b)break;a=c[e>>2]|0;if(!a)a=b;else{ub[a&63](c[d>>2]|0,c[c[b>>2]>>2]|0);a=b}h=b+4|0;g=c[h>>2]|0;c[h>>2]=c[f>>2];c[f>>2]=b;c[(c[a>>2]|0)+4>>2]=c[b+8>>2];b=g}return}function wW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+276>>2]=62;k=b+284|0;c[k>>2]=d;m=b+144|0;n=b+288|0;o=b+80|0;i=b+476|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=ob[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)hW(b,c[m>>2]|0,g,h);break}case 11:{if(!(nW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(oW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){hW(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function xW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+284|0;c[s>>2]=i;t=b+288|0}else{t=c[b+296>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;k=d+8|0;m=b+60|0;u=b+80|0;v=b+4|0;w=b+476|0;n=d+68|0;o=b+44|0;p=d+56|0;q=b+48|0;a:while(1){j=ob[c[k>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;r=i;b:do switch(j|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[m>>2]|0;if(i|0){a[x>>0]=10;vb[i&127](c[v>>2]|0,x,1);break b}if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r);break}case 6:{j=c[m>>2]|0;if(!j){if(!(c[u>>2]|0))break b;hW(b,d,c[y>>2]|0,r);break b}if(!(a[n>>0]|0))i=r;else{r=c[y>>2]|0;vb[j&127](c[v>>2]|0,r,i-r|0);break b}while(1){c[x>>2]=c[o>>2];r=pb[c[p>>2]&127](d,y,i,x,c[q>>2]|0)|0;c[t>>2]=c[z>>2];i=c[o>>2]|0;vb[j&127](c[v>>2]|0,i,(c[x>>2]|0)-i|0);if(r>>>0<2)break;c[s>>2]=c[y>>2];i=c[z>>2]|0}break}default:{A=28;break a}}while(0);r=c[z>>2]|0;c[y>>2]=r;c[s>>2]=r;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r)}else tb[i&127](c[v>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function yW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;do if(!((d|0)!=0|(g|0)==0)){d=b+276|0;if(!(c[b+472>>2]|0)){c[d>>2]=58;d=_V(b,g,e,f)|0;break}else{c[d>>2]=63;d=zW(b,g,e,f)|0;break}}while(0);l=h;return d|0}function zW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function AW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+360|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=lb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}F3(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function BW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function CW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+352>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=YV(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function DW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=a[f>>0]|0;i=c[d>>2]|0;h=(i|0)==0;do if(!(k<<24>>24))if(h){m=0;j=11}else h=28;else if(((!h?(a[i>>0]|0)==120:0)?(a[i+1>>0]|0)==109:0)?(a[i+2>>0]|0)==108:0){h=a[i+3>>0]|0;if((h<<24>>24==110?(a[i+4>>0]|0)==115:0)?(a[i+5>>0]|0)==0:0){h=39;break}m=h<<24>>24==0&1;j=11}else{m=0;j=11}while(0);a:do if((j|0)==11){l=m<<24>>24!=0;h=1;i=1;n=0;while(1){j=i<<24>>24!=0;if(!(k<<24>>24))break;do if(j){if((n|0)<=36?k<<24>>24==(a[139175+n>>0]|0):0)break;i=0}else i=0;while(0);do if(!(l|h<<24>>24==0)){if((n|0)<=29?k<<24>>24==(a[139212+n>>0]|0):0)break;h=0}while(0);k=n+1|0;n=k;k=a[f+k>>0]|0}if((m&255|0)!=(j&(n|0)==36&1|0)){h=l?38:40;break}if(!(h<<24>>24!=0&(n|0)==29)){o=b+468|0;n=n+((a[o>>0]|0)!=0&1)|0;h=b+372|0;j=c[h>>2]|0;do if(!j){h=b+12|0;i=kb[c[h>>2]&63](28)|0;if(!i){h=1;break a}j=n+24|0;m=kb[c[h>>2]&63](j)|0;c[i+16>>2]=m;if(!m){tb[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=j;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=n+24|0;m=lb[c[b+16>>2]&127](c[k>>2]|0,l)|0;if(!m){h=1;break a}c[k>>2]=m;c[i>>2]=l}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;F3(c[i>>2]|0,f|0,n|0)|0;h=a[o>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+352>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(p=c[b+100>>2]|0,(p|0)!=0):0){vb[p&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}while(0);return h|0}function EW(a,b){a=a|0;b=b|0;var d=0;d=b;c[d>>2]=0;c[d+4>>2]=0;b=b+8|0;c[b>>2]=KW(a)|0;c[b+4>>2]=0;return}function FW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=b;g=c[d+4>>2]^1936682341;e=a;c[e>>2]=c[d>>2]^1886610805;c[e+4>>2]=g;e=b+8|0;g=e;d=c[g+4>>2]^1685025377;f=a+8|0;c[f>>2]=c[g>>2]^1852075885;c[f+4>>2]=d;f=b;b=c[f+4>>2]^1819895653;d=a+16|0;c[d>>2]=c[f>>2]^1852142177;c[d+4>>2]=b;d=c[e+4>>2]^1952801890;b=a+24|0;c[b>>2]=c[e>>2]^2037671283;c[b+4>>2]=d;c[a+40>>2]=a+32;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;return}function GW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;n=e+f|0;o=b+40|0;p=b+40|0;q=b+32|0;r=b+33|0;s=b+34|0;t=b+35|0;h=b+36|0;i=b+37|0;j=b+38|0;k=b+39|0;l=b+24|0;m=b+48|0;f=e;do{while(1){g=c[o>>2]|0;if(f>>>0>=n>>>0){e=0;break}if(g>>>0>=p>>>0){e=1;break}e=a[f>>0]|0;c[o>>2]=g+1;a[g>>0]=e;f=f+1|0}if(g>>>0

>>0)break;A=d[q>>0]|0;B=A3(d[r>>0]|0|0,0,8)|0;g=z;y=A3(d[s>>0]|0|0,0,16)|0;g=g|z;w=A3(d[t>>0]|0|0,0,24)|0;g=g|z|(d[h>>0]|0);u=A3(d[i>>0]|0|0,0,40)|0;g=g|z;x=A3(d[j>>0]|0|0,0,48)|0;g=g|z;v=A3(d[k>>0]|0|0,0,56)|0;v=B|A|y|w|u|x|v;g=g|z;x=l;u=g^c[x+4>>2];w=l;c[w>>2]=v^c[x>>2];c[w+4>>2]=u;JW(b,2);w=b;g=c[w+4>>2]^g;u=b;c[u>>2]=c[w>>2]^v;c[u+4>>2]=g;c[o>>2]=q;u=m;u=s3(c[u>>2]|0,c[u+4>>2]|0,8,0)|0;g=m;c[g>>2]=u;c[g+4>>2]=z}while(e);return}function HW(b){b=b|0;var c=0;c=0;while(1){if(!(a[b>>0]|0))break;c=c+1|0;b=b+1|0}return c|0}function IW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;f=a+32|0;h=(c[a+40>>2]|0)-f|0;e=a+48|0;e=s3(c[e>>2]|0,c[e+4>>2]|0,h|0,0)|0;e=A3(e|0,z|0,56)|0;b=z;switch(h<<24>>24|0){case 7:{e=A3(d[a+38>>0]|0|0,0,48)|0|e;b=z|b;g=3;break}case 6:{g=3;break}case 5:{g=4;break}case 4:{g=5;break}case 3:{g=6;break}case 2:{g=7;break}case 1:{g=8;break}default:{}}if((g|0)==3){h=A3(d[a+37>>0]|0|0,0,40)|0;e=h|e;b=z|b;g=4}if((g|0)==4){b=d[a+36>>0]|0|b;g=5}if((g|0)==5){h=A3(d[a+35>>0]|0|0,0,24)|0;e=h|e;b=z|b;g=6}if((g|0)==6){h=A3(d[a+34>>0]|0|0,0,16)|0;e=h|e;b=z|b;g=7}if((g|0)==7){h=A3(d[a+33>>0]|0|0,0,8)|0;b=z|b;e=h|e;g=8}if((g|0)==8)e=e|(d[f>>0]|0);h=a+24|0;i=h;g=c[i+4>>2]^b;f=h;c[f>>2]=c[i>>2]^e;c[f+4>>2]=g;JW(a,2);f=a;b=c[f+4>>2]^b;g=a;c[g>>2]=c[f>>2]^e;c[g+4>>2]=b;g=a+16|0;b=g;e=c[b+4>>2]|0;f=g;c[f>>2]=c[b>>2]^255;c[f+4>>2]=e;JW(a,4);f=a;a=a+8|0;z=c[a+4>>2]^c[f+4>>2]^c[g+4>>2]^c[h+4>>2];return c[a>>2]^c[f>>2]^c[g>>2]^c[h>>2]|0}function JW(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;e=a+8|0;f=a+24|0;g=a+16|0;d=0;while(1){if((d|0)>=(b|0))break;h=e;n=c[h>>2]|0;h=c[h+4>>2]|0;o=a;o=s3(c[o>>2]|0,c[o+4>>2]|0,n|0,h|0)|0;k=z;m=A3(n|0,h|0,13)|0;l=z;h=z3(n|0,h|0,51)|0;h=(m|h)^o;l=(l|z)^k;m=f;n=c[m>>2]|0;m=c[m+4>>2]|0;j=g;j=s3(c[j>>2]|0,c[j+4>>2]|0,n|0,m|0)|0;i=z;q=A3(n|0,m|0,16)|0;p=z;m=z3(n|0,m|0,48)|0;m=(q|m)^j;p=(p|z)^i;o=s3(k|0,o|0,m|0,p|0)|0;k=z;q=a;c[q>>2]=o;c[q+4>>2]=k;q=A3(m|0,p|0,21)|0;n=z;p=z3(m|0,p|0,43)|0;m=f;c[m>>2]=(q|p)^o;c[m+4>>2]=(n|z)^k;i=s3(j|0,i|0,h|0,l|0)|0;j=z;m=A3(h|0,l|0,17)|0;k=z;l=z3(h|0,l|0,47)|0;h=e;c[h>>2]=(m|l)^i;c[h+4>>2]=(k|z)^j;h=g;c[h>>2]=j;c[h+4>>2]=i;d=d+1|0}return}function KW(a){a=a|0;var b=0;while(1){b=c[a+472>>2]|0;if(!b)break;else a=b}return c[a+492>>2]|0}function LW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,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;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+352>>2]|0;o=d+16|0;p=d+40|0;q=b+144|0;r=b+284|0;s=e<<24>>24==0;t=h+12|0;v=h+16|0;w=h+8|0;x=d+44|0;y=d+64|0;z=b+436|0;A=b+452|0;B=b+448|0;C=(K+80|0)==(h|0);D=b+268|0;E=K+130|0;F=K+129|0;G=b+296|0;H=b+224|0;i=0;a:while(1){b:while(1){switch(ob[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=61;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=21;break b}case -3:{n=22;break b}case 7:case 39:{n=23;break b}case 10:{j=lb[c[p>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;j=1;i=14}else{j=1;i=14}else{if(s&(j|0)==32){k=c[t>>2]|0;if((c[v>>2]|0)==(k|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=gX(j,J)|0;k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[y>>2]|0;j=(nb[c[x>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=31;break b}j=c[y>>2]|0;j=WV(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=61;break a}m=YV(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[D>>2]|0))if(!m)break b;else break;if(!(a[E>>0]|0)){j=(m|0)!=0;if(!(a[F>>0]|0)){n=45;break}else{u=j;n=47;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=45;break}else{u=j;n=47;break}}}else if(!(a[F>>0]|0))if(!m){i=11;n=61;break a}else{n=46;break}else{j=(m|0)!=0;if(!(a[E>>0]|0)){u=j;n=47;break}else{n=45;break}}while(0);if((n|0)==45)if(j)n=46;else{i=11;n=61;break a}else if((n|0)==47?(n=0,!u):0)break b;if((n|0)==46?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=61;break a}k=m+32|0;if(a[k>>0]|0){n=49;break a}if(c[m+28>>2]|0){n=52;break a}j=c[m+4>>2]|0;if(!j){n=55;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=LW(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=58;break a}}if(j)break a}if((n|0)==21){n=0;if(!(cW(h,d,f,c[I>>2]|0)|0)){i=1;n=61;break}}else if((n|0)==22){c[I>>2]=f+(c[y>>2]|0);n=23}else if((n|0)==31){n=0;f=c[t>>2]|0;if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==23){n=0;f=c[t>>2]|0;if(s){if((c[v>>2]|0)==(f|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[r>>2]=c[I>>2];i=4;n=61}else{i=4;n=61}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=4;n=61}else{i=4;n=61}else if((n|0)==49)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=12;n=61}else{i=12;n=61}else if((n|0)==52)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=15;n=61}else{i=15;n=61}else if((n|0)==55)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=16;n=61}else{i=16;n=61}else if((n|0)==58)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=23;n=61}else{i=23;n=61}l=L;return i|0}function MW(a){a=a|0;var b=0;b=a+8|0;return ((a|0)<1?0:(b|0)>0?b:0)|0}function NW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=l;l=l+80|0;d=c+16|0;e=c;EW(a,e);FW(d,e);GW(d,b,HW(b)|0);b=IW(d)|0;l=c;return b|0}function OW(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function PW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(nb[f&63](c[b+244>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=hX()|0;e=kb[f&63](e)|0;c[b+236>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{tb[e&127](c[j>>2]|0);e=1}}else{e=ob[(a[b+232>>0]<<24>>24?65:64)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+240>>2]=c[j>>2];c[b+248>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)tb[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function QW(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function RW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+352>>2]|0;m=b+424|0;n=b+420|0;o=b+412|0;p=b+428|0;q=l+152|0;r=b+368|0;j=l+60|0;k=l+80|0;a:while(1){h=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}f=a[h>>0]|0;switch(f<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}e=c[m>>2]|0;if((e|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}e=c[m>>2]|0;f=a[h>>0]|0}c[m>>2]=e+1;a[e>>0]=f;h=h+1|0}if((s|0)==5){s=0;d=c[m>>2]|0;if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;d=YV(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[h>>0]|0)==0?h:h+1|0;c[m>>2]=c[p>>2];continue}d=c[m>>2]|0;if((c[p>>2]|0)==(d|0))f=q;else{if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;f=YV(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=BW(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[m>>2]=d}c:while(1){i=h+1|0;e=a[i>>0]|0;g=(d|0)==(c[n>>2]|0);switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[m>>2]|0;e=a[i>>0]|0}c[m>>2]=d+1;a[d>>0]=e;h=i;d=c[m>>2]|0}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;if(DW(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[m>>2]=c[p>>2];d=(a[i>>0]|0)==0?i:h+2|0}return d|0}function SW(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0?(d=a+4|0,e=(c[d>>2]|0)==(c[a>>2]|0),c[a>>2]=b,e):0)c[d>>2]=b;return}function TW(a,b,d){a=a|0;b=b|0;d=d|0;if(a|0){c[a+52>>2]=b;c[a+56>>2]=d}return}function UW(a,b){a=a|0;b=b|0;if(a|0)c[a+60>>2]=b;return}function VW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(b|0)==0;a:do if(!(g|(e|0)<0)?!((d|0)==0&(e|0)!=0):0){h=b+476|0;switch(c[h>>2]|0){case 3:{c[b+280>>2]=33;g=0;break a}case 2:{c[b+280>>2]=36;g=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;g=0;break a}break}default:{}}c[h>>2]=1;if(e|0){g=YW(b,e)|0;if(!g){g=0;break}F3(g|0,d|0,e|0)|0;g=ZW(b,e,f)|0;break}a[b+480>>0]=f;if(!f)g=1;else{g=b+24|0;j=c[g>>2]|0;d=b+292|0;c[d>>2]=j;f=c[b+28>>2]|0;c[b+40>>2]=f;e=b+276|0;f=ob[c[e>>2]&127](b,j,f,g)|0;c[b+280>>2]=f;if(f|0){c[b+288>>2]=c[b+284>>2];c[e>>2]=66;g=0;break}switch(c[h>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+48>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+404|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[h>>2]=2;g=1;break a}default:{g=1;break a}}}}else i=3;while(0);if((i|0)==3)if(g)g=0;else{c[b+280>>2]=41;g=0}return g|0}function WW(b){b=b|0;var d=0;d=b+492|0;if(!(c[d>>2]|0))c[d>>2]=_W()|0;if(!(a[b+232>>0]|0))b=1;else b=RW(b,139242)|0;return b|0}function XW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+280>>2]|0}function YW(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;a:do if(!a)d=0;else{if((b|0)<0){c[a+280>>2]=1;d=0;break}switch(c[a+476>>2]|0){case 3:{c[a+280>>2]=33;d=0;break a}case 2:{c[a+280>>2]=36;d=0;break a}default:{m=a+32|0;j=c[m>>2]|0;n=a+28|0;e=c[n>>2]|0;d=e;if((j-e|0)>=(b|0))break a;p=a+24|0;k=c[p>>2]|0;i=e-k|0;e=i+b|0;if((e|0)<0){c[a+280>>2]=1;d=0;break a}l=a+8|0;f=c[l>>2]|0;q=f;g=k-q|0;h=(g|0)>1024;b=h?1024:g;e=b+e|0;do if((e|0)>(j-q|0)){d=j-k|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(e|0)&(d|0)>0);if((d|0)<1){c[a+280>>2]=1;d=0;break a}e=kb[c[a+12>>2]&63](d)|0;if(!e){c[a+280>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[p>>2]|0;if(!d){d=e+(c[n>>2]|0)|0;c[n>>2]=d;c[l>>2]=e;o=22;break}else{q=d;o=q-(c[l>>2]|0)|0;o=(o|0)<1024?o:1024;F3(e|0,d+(0-o)|0,(c[n>>2]|0)-q+o|0)|0;tb[c[a+20>>2]&127](c[l>>2]|0);c[l>>2]=e;d=e+((c[n>>2]|0)-(c[p>>2]|0))+o|0;c[n>>2]=d;e=e+o|0;o=22;break}}else if(h){e=g-b|0;G3(f|0,f+e|0,b+i|0)|0;e=0-e|0;d=(c[n>>2]|0)+e|0;c[n>>2]=d;e=(c[p>>2]|0)+e|0;o=22}while(0);if((o|0)==22)c[p>>2]=e;c[a+288>>2]=0;c[a+284>>2]=0;c[a+292>>2]=0;break a}}}while(0);return d|0}function ZW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!b)d=0;else{f=b+476|0;switch(c[f>>2]|0){case 3:{c[b+280>>2]=33;d=0;break a}case 2:{c[b+280>>2]=36;d=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;d=0;break a}break}default:{}}c[f>>2]=1;g=b+24|0;j=c[g>>2]|0;h=b+292|0;c[h>>2]=j;k=b+28|0;i=(c[k>>2]|0)+d|0;c[k>>2]=i;c[b+40>>2]=i;k=b+36|0;c[k>>2]=(c[k>>2]|0)+d;a[b+480>>0]=e;d=b+276|0;i=ob[c[d>>2]&127](b,j,i,g)|0;c[b+280>>2]=i;if(i|0){c[b+288>>2]=c[b+284>>2];c[d>>2]=66;d=0;break}switch(c[f>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[f>>2]=2;d=1;break a}break}default:d=1}k=c[b+144>>2]|0;xb[c[k+48>>2]&31](k,c[h>>2]|0,c[g>>2]|0,b+404|0);c[h>>2]=c[g>>2]}while(0);return d|0}function _W(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;if(!($W(a)|0)){d=bX()|0;d=(H1()|0)^d;c[a>>2]=d;a=aX(139296,O(d,2147483647)|0)|0}else a=aX(139283,c[a>>2]|0)|0;l=b;return a|0}function $W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=X_(139283,0,f)|0;if((e|0)<0)b=0;else{b=0;while(1){g=G1(e,a+b|0,4-b|0)|0;d=g+b|0;if((g|0)>0)if(d>>>0<4)b=d;else{b=1;break}if((c[(O_()|0)>>2]|0)!=4){b=0;break}}X0(e)|0}l=f;return b|0}function aX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=Ta(139361)|0;if(d|0?(b$(d,139381)|0)==0:0){d=c[15686]|0;c[e>>2]=a;c[e+4>>2]=8;c[e+8>>2]=b;c[e+12>>2]=4;g1(d,139383,e)|0}l=f;return b|0}function bX(){var a=0,b=0;b=l;l=l+16|0;a=b;if(!(Ua(a|0,0)|0)){l=b;return c[a+4>>2]|0}else qa(139308,139330,819,139341);return 0}function cX(a){a=a|0;if(!a)a=41;else a=c[a+280>>2]|0;return a|0}function dX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)a=0;else{b=a+284|0;d=c[b>>2]|0;if(d|0?(e=a+292|0,f=c[e>>2]|0,d>>>0>=f>>>0):0){g=c[a+144>>2]|0;xb[c[g+48>>2]&31](g,f,d,a+404|0);c[e>>2]=c[b>>2]}a=(c[a+404>>2]|0)+1|0}return a|0}function eX(a){a=a|0;do switch(a|0){case 41:{a=139420;break}case 1:{a=140692;break}case 2:{a=140679;break}case 3:{a=140662;break}case 4:{a=140630;break}case 5:{a=140615;break}case 6:{a=140597;break}case 7:{a=140582;break}case 8:{a=140562;break}case 9:{a=140534;break}case 10:{a=140499;break}case 11:{a=140482;break}case 12:{a=140455;break}case 13:{a=140435;break}case 14:{a=140397;break}case 15:{a=140370;break}case 16:{a=140328;break}case 17:{a=140281;break}case 18:{a=140264;break}case 19:{a=140213;break}case 20:{a=140190;break}case 21:{a=140144;break}case 22:{a=140117;break}case 23:{a=140066;break}case 24:{a=140030;break}case 25:{a=139978;break}case 26:{a=139933;break}case 27:{a=139918;break}case 28:{a=139892;break}case 29:{a=139854;break}case 30:{a=139822;break}case 31:{a=139789;break}case 32:{a=139755;break}case 33:{a=139738;break}case 34:{a=139717;break}case 35:{a=139701;break}case 36:{a=139684;break}case 37:{a=139640;break}case 38:{a=139560;break}case 39:{a=139501;break}case 40:{a=139437;break}default:a=0}while(0);return a|0}function fX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;f=0;a:while(1){if(e>>>0<=a>>>0)break;h=e+-1|0;g=d[h>>0]|0;do if((g&248|0)==240)if((f+1|0)>>>0>3){i=5;break a}else f=0;else{if((g&240|0)==224)if((f+1|0)>>>0>2){i=8;break a}else{f=0;break}if((g&224|0)==192)if((f+1|0)>>>0>1){i=11;break a}else{f=0;break}else if(!(g&128))break a;else break}while(0);e=h;f=f+1|0}if((i|0)==5)e=e+3|0;else if((i|0)==8)e=e+2|0;else if((i|0)==11)e=e+1|0;c[b>>2]=e;return}function gX(b,c){b=b|0;c=c|0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;b=1;break}if((b|0)<2048){a[c>>0]=b>>>6|192;a[c+1>>0]=b&63|128;b=2;break}if((b|0)<65536){a[c>>0]=b>>>12|224;a[c+1>>0]=b>>>6&63|128;a[c+2>>0]=b&63|128;b=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[c+1>>0]=b>>>12&63|128;a[c+2>>0]=b>>>6&63|128;a[c+3>>0]=b&63|128;b=4}else b=0}else b=0;while(0);return b|0}function hX(){return 1908}function iX(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;while(1){if((i|0)==364){i=0;break}a[e+i>>0]=a[56472+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56544+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){q=e+72|0;m=e+372|0;n=e+884|0;o=(g|0)==0;l=0;while(1){if((l|0)>=256)break;p=c[f+(l<<2)>>2]|0;do if((p|0)==-1){a[q+l>>0]=1;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0}else{if((p|0)<0){if(o|(p|0)<-4){e=0;break b}a[q+l>>0]=3-p;a[n+(l<<2)>>0]=0;b[m+(l<<1)>>1]=0;break}if((p|0)<128){i=a[56544+p>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((p|0)!=(l|0)){e=0;break b}}a[q+l>>0]=i;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=p;b[m+(l<<1)>>1]=(p|0)==0?-1:p&65535;break}if((jX(p)|0)<0){a[q+l>>0]=0;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0;break}if((p|0)>65535){e=0;break b}i=p>>>8;j=p>>>5&7;k=1<<(p&31);if(!(c[56836+((d[140706+i>>0]<<3|j)<<2)>>2]&k))a[q+l>>0]=c[56836+((d[140962+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else a[q+l>>0]=22;a[n+(l<<2)>>0]=gX(p,n+(l<<2)+1|0)|0;b[m+(l<<1)>>1]=p}while(0);l=l+1|0}c[e+368>>2]=h;c[e+364>>2]=g;if(!o){c[e+328>>2]=106;c[e+332>>2]=106;c[e+336>>2]=106;c[e+340>>2]=107;c[e+344>>2]=107;c[e+348>>2]=107;c[e+352>>2]=108;c[e+356>>2]=108;c[e+360>>2]=108}c[e+56>>2]=13;c[e+60>>2]=14}while(0);return e|0}function jX(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56544+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function kX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140962+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function lX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140706+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function mX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(jX(a)|0)>>>31;return a|0}function nX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+364|0;o=b+884|0;p=b+368|0;k=b+72|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0)){h=0;break}r=d[i>>0]|0;j=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=gX(lb[c[n>>2]&127](c[p>>2]|0,i)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0)){h=2;break}i=c[e>>2]|0;j=m;i=i+((d[k+(d[i>>0]|0)>>0]|0)+-3)|0}else{if((h-(c[g>>2]|0)|0)<(b|0)){h=2;break}i=i+1|0}c[e>>2]=i;F3(c[g>>2]|0,j|0,b|0)|0;c[g>>2]=(c[g>>2]|0)+b}l=q;return h|0}function oX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+372|0;n=a+364|0;o=a+368|0;l=a+72|0;while(1){k=c[e>>2]|0;a=k>>>0>>0;i=c[g>>2]|0;if(!(a&i>>>0>>0))break;a=b[m+((d[k>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(lb[c[n>>2]&127](c[o>>2]|0,k)|0)&65535;i=c[e>>2]|0;j=(d[l+(d[i>>0]|0)>>0]|0)+-3|0}else{j=1;i=k}c[e>>2]=i+j;k=c[g>>2]|0;c[g>>2]=k+2;b[k>>1]=a}return ((i|0)!=(h|0)|a^1?0:2)|0}function pX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(e>>>0>>0){n=b+72|0;do switch(a[n+(d[e>>0]|0)>>0]|0){case 12:{h=QX(12,b,e+1|0,f,g)|0;break a}case 13:{h=QX(13,b,e+1|0,f,g)|0;break a}case 2:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 16:{h=RX(b,e+2|0,f,g)|0;break a}case 15:{h=MX(b,e+2|0,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=h;h=0;break a}}}case 9:{if((e+1|0)==(f|0)){c[g>>2]=f;h=-15;break a}else k=3;break}case 10:case 21:{k=3;break}case 30:{h=GX(b,e+1|0,f,g)|0;break a}case 35:{c[g>>2]=e+1;h=38;break a}case 20:{c[g>>2]=e+1;h=25;break a}case 4:{i=e+1|0;h=f-i|0;if((h|0)<=0){h=-26;break a}if((a[i>>0]|0)==93){if((h|0)<=1){h=-1;break a}if((a[e+2>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=e+1;h=23;break a}case 32:{h=e+1|0;if((f-h|0)<=0){h=-24;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 33:{c[g>>2]=e+2;h=36;break a}case 15:{c[g>>2]=e+2;h=35;break a}case 34:{c[g>>2]=e+2;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;h=24;break a}default:{c[g>>2]=h;h=0;break a}}}case 36:{c[g>>2]=e+1;h=21;break a}case 11:{c[g>>2]=e+1;h=17;break a}case 19:{h=SX(b,e+1|0,f,g)|0;break a}case 5:{if((f-e|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0))if(!(lb[c[b+328>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=2}else{h=18;i=2}break}case 6:{if((f-e|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0))if(!(lb[c[b+332>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=3}else{h=18;i=3}break}case 7:{if((f-e|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0))if(!(lb[c[b+336>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=4}else{h=18;i=4}break}case 24:case 22:{h=18;i=1;break}case 23:case 27:case 26:case 25:{h=19;i=1;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((k|0)==3){j=f;i=e;b:while(1){h=i;i=i+1|0;if((j-i|0)<=0){k=18;break}switch(a[n+(d[i>>0]|0)>>0]|0){case 10:case 21:continue b;case 9:break;default:{k=17;break b}}if((h+2|0)==(f|0)){k=17;break}}if((k|0)==17){c[g>>2]=i;h=15;break}else if((k|0)==18){c[g>>2]=i;h=15;break}}k=b+328|0;l=b+332|0;m=b+336|0;j=e+i|0;c:while(1){i=f-j|0;if((i|0)<=0){k=99;break}switch(a[n+(d[j>>0]|0)>>0]|0){case 29:{k=56;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{k=70;break c}case 34:{k=89;break c}case 33:{k=92;break c}case 15:{k=95;break c}case 27:case 26:case 25:case 24:case 22:{e=h;j=j+1|0;h=e;continue c}case 5:{if((i|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,j)|0)){k=60;break c}e=h;j=j+2|0;h=e;continue c}case 6:{if((i|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,j)|0)){k=64;break c}e=h;j=j+3|0;h=e;continue c}case 7:{if((i|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,j)|0)){k=68;break c}e=h;j=j+4|0;h=e;continue c}case 23:{i=j+1|0;switch(h&63){case 18:break;case 41:{h=19;j=i;continue c}default:{e=h;j=i;h=e;continue c}}h=f-i|0;if((h|0)<=0){h=-1;break a}switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{k=74;break c}case 27:case 26:case 25:case 24:case 22:{h=41;j=j+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,i)|0)){k=78;break c}h=41;j=j+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,i)|0)){k=82;break c}h=41;j=j+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){k=86;break c}h=41;j=j+5|0;continue c}default:{h=19;j=i;continue c}}}default:{k=98;break c}}}switch(k|0){case 56:{c[g>>2]=j;h=0;break a}case 60:{c[g>>2]=j;h=0;break a}case 64:{c[g>>2]=j;h=0;break a}case 68:{c[g>>2]=j;h=0;break a}case 70:{c[g>>2]=j;break a}case 74:{c[g>>2]=i;h=0;break a}case 78:{c[g>>2]=i;h=0;break a}case 82:{c[g>>2]=i;h=0;break a}case 86:{c[g>>2]=i;h=0;break a}case 89:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=32;break a}case 92:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=31;break a}case 95:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=30;break a}case 98:{c[g>>2]=j;h=0;break a}case 99:{h=0-h|0;break a}}}else h=-4;while(0);return h|0}function qX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){m=b+72|0;b:do switch(a[m+(d[e>>0]|0)>>0]|0){case 2:{h=JX(b,e+1|0,f,g)|0;break a}case 3:{h=FX(b,e+1|0,f,g)|0;break a}case 9:{h=e+1|0;if((f-h|0)<=0){h=-3;break a}c[g>>2]=(a[m+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 4:{i=e+1|0;if((f-i|0)<=0){h=-5;break a}if((a[i>>0]|0)==93){h=e+2|0;if((f-h|0)<=0){h=-5;break a}if((a[h>>0]|0)==62){c[g>>2]=h;h=0;break a}else h=f}else h=f;break}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);j=b+352|0;k=b+356|0;l=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=49;break}switch(a[m+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=47;break c}case 5:{if((f|0)<2){f=32;break c}if(lb[c[j>>2]&127](b,i)|0){f=32;break c}i=i+2|0;continue c}case 6:{if((f|0)<3){f=36;break c}if(lb[c[k>>2]&127](b,i)|0){f=36;break c}i=i+3|0;continue c}case 7:{if((f|0)<4){f=40;break c}if(lb[c[l>>2]&127](b,i)|0){f=40;break c}i=i+4|0;continue c}case 4:{if((f|0)<=1){f=47;break c}e=i+1|0;if((a[e>>0]|0)!=93){i=e;continue c}if((f|0)<=2){f=47;break c}i=i+2|0;if((a[i>>0]|0)==62){f=46;break c}else{i=e;continue c}}default:{i=i+1|0;continue c}}}if((f|0)==32){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==40){c[g>>2]=i;h=6;break}else if((f|0)==46){c[g>>2]=i;h=0;break}else if((f|0)==47){c[g>>2]=i;h=6;break}else if((f|0)==49){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function rX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if(e>>>0>>0){l=b+72|0;b:do switch(a[l+(d[e>>0]|0)>>0]|0){case 4:{i=e+1|0;h=f;if((h-i|0)<=0){h=-1;break a}if((a[i>>0]|0)==93){f=e+2|0;if((h-f|0)<=0){h=-1;break a}if((a[f>>0]|0)==62){c[g>>2]=e+3;h=40;break a}}break}case 9:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);e=b+352|0;j=b+356|0;k=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=39;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{f=37;break c}case 5:{if((f|0)<2){f=30;break c}if(!(lb[c[e>>2]&127](b,i)|0))f=2;else{f=30;break c}break}case 6:{if((f|0)<3){f=33;break c}if(!(lb[c[j>>2]&127](b,i)|0))f=3;else{f=33;break c}break}case 7:{if((f|0)<4){f=36;break c}if(!(lb[c[k>>2]&127](b,i)|0))f=4;else{f=36;break c}break}default:f=1}i=i+f|0}if((f|0)==30){c[g>>2]=i;h=6;break}else if((f|0)==33){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==37){c[g>>2]=i;h=6;break}else if((f|0)==39){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function sX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+72|0;k=b+352|0;l=b+356|0;m=b+360|0;i=0;a:while(1){h=f-e|0;if((h|0)<=0){f=-1;break}switch(a[j+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{n=16;break a}case 5:{if((h|0)<2){f=-2;break a}if(lb[c[k>>2]&127](b,e)|0){n=6;break a}h=i;e=e+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}if(lb[c[l>>2]&127](b,e)|0){n=10;break a}h=i;e=e+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}if(lb[c[m>>2]&127](b,e)|0){n=14;break a}h=i;e=e+4|0;i=h;continue a}case 2:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=33){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}o=(a[h>>0]|0)==91;i=i+(o&1)|0;e=o?e+3|0:h;continue a}case 4:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=93){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=62){o=i;e=h;i=o;continue a}e=e+3|0;if(!i){n=26;break a}i=i+-1|0;continue a}default:{o=i;e=e+1|0;i=o;continue a}}}if((n|0)==6){c[g>>2]=e;f=0}else if((n|0)==10){c[g>>2]=e;f=0}else if((n|0)==14){c[g>>2]=e;f=0}else if((n|0)==16){c[g>>2]=e;f=0}else if((n|0)==26){c[g>>2]=e;f=42}return f|0}function tX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=24;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 2:{j=11;break a}case 10:{j=12;break a}case 9:{j=15;break a}case 21:{j=19;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11){c[g>>2]=i;h=0;break}else if((j|0)==12)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==15){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==19)if((i|0)==(e|0)){c[g>>2]=e+1;h=39;break}else{c[g>>2]=i;h=6;break}else if((j|0)==24){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function uX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=23;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 30:{j=11;break a}case 10:{j=14;break a}case 9:{j=17;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11)if((i|0)==(e|0)){h=GX(b,e+1|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=i;h=6;break}else if((j|0)==14)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==17){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==23){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function vX(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=6;break}if((f-b|0)<1){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=(b|0)==(d|0)&1;return b|0}function wX(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function xX(b,c){b=b|0;c=c|0;b=b+72|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function yX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+72|0;j=0;k=0;b=1;a:while(1){h=e+1|0;i=a[h>>0]|0;do switch(a[l+(i&255)>>0]|0){case 5:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+2|0;k=h;j=i;continue a}case 6:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+3|0;k=h;j=i;continue a}case 7:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+4|0;k=h;j=i;continue a}case 24:case 22:case 29:{if(b|0){o=b;n=k;i=j;e=h;b=o;k=n;j=i;continue a}if((k|0)>=(f|0)){n=k;o=j;b=1;e=h;k=n;j=o;continue a}c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;n=k;o=j;b=1;e=h;k=n;j=o;continue a}case 12:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=12;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=12;b=2;e=h;k=o;continue a}if((j|0)!=12){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=12;k=k+1|0;b=0;e=h;continue a}case 13:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=13;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=13;b=2;e=h;k=o;continue a}if((j|0)!=13){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=13;k=k+1|0;b=0;e=h;continue a}case 3:{if((k|0)>=(f|0)){i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}case 21:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}b=g+(k<<4)+12|0;if(!(a[b>>0]|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if(((i<<24>>24==32?(h|0)!=(c[g+(k<<4)+4>>2]|0):0)?(m=a[e+2>>0]|0,m<<24>>24!=32):0)?(j|0)!=(d[l+(m&255)>>0]|0):0){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[b>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 10:case 9:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 17:case 11:if((b|0)==2){n=k;o=j;b=2;e=h;k=n;j=o;continue a}else break a;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}while(0)}return k|0}function zX(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(d<<24>>24)+-48+(b*10|0)|0;if((b|0)>=1114112){b=-1;break a}d=c+1|0;c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=jX(b)|0;return b|0}function AX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch(d-c|0){case 2:{if((a[c+1>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else e=14;break}case 3:{if(((a[c>>0]|0)==97?(a[c+1>>0]|0)==109:0)?(a[c+2>>0]|0)==112:0)b=38;else e=14;break}case 4:switch(a[c>>0]|0){case 113:{if((a[c+1>>0]|0)!=117){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==116){b=34;break a}else{e=14;break a}}case 97:{if((a[c+1>>0]|0)!=112){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==115){b=39;break a}else{e=14;break a}}default:{e=14;break a}}default:e=14}while(0);if((e|0)==14)b=0;return b|0}function BX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+72|0;i=g+4|0;while(1){if((f-e|0)<=0)break;switch(a[h+(d[e>>0]|0)>>0]|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+1|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;b=e+1|0;if((f-b|0)>0)e=(a[h+(d[b>>0]|0)>>0]|0)==10?e+2|0:b;else e=b;c[i>>2]=-1;break}default:e=e+1|0}c[i>>2]=(c[i>>2]|0)+1}return}function CX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e+-1|0;b=b+72|0;a:while(1){d=d+1|0;if((g-d|0)<=0){d=1;break}e=a[d>>0]|0;switch(a[b+(e&255)>>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:continue a;case 21:if(e<<24>>24==9){h=7;break a}else continue a;case 22:case 26:{if(e<<24>>24>=0)continue a;break}default:{}}switch(e<<24>>24|0){case 64:case 36:break;default:{h=7;break a}}}if((h|0)==7){c[f>>2]=d;d=0}return d|0}function DX(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;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0)){b=0;break}k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0)){b=2;break}c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2){b=2;break}c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return b|0}function EX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;while(1){a=c[e>>2]|0;i=a>>>0>>0;j=c[g>>2]|0;if(!(i&j>>>0>>0))break;c[e>>2]=a+1;i=d[a>>0]|0;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=i}return ((j|0)!=(h|0)|i^1?0:2)|0}function FX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;h=k-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}case 19:{f=HX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;f=0;break a}}h=b+328|0;i=b+332|0;j=b+336|0;e=e+f|0;b:while(1){f=k-e|0;if((f|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[h>>2]&127](b,e)|0)){h=21;break b}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=24;break b}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=27;break b}else f=4;break}default:{h=30;break b}}e=e+f|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=9;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function GX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=21;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=24;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=27;break b}else h=4;break}default:{h=30;break b}}e=e+h|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=28;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function HX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;a:do if((i-e|0)>0){h=a[e>>0]|0;if(h<<24>>24==120){b=IX(b,e+1|0,f,g)|0;break}f=b+72|0;if((a[f+(h&255)>>0]|0)!=25){c[g>>2]=e;b=0;break}b:while(1){b=e+1|0;if((i-b|0)<=0){b=-1;break a}switch(a[f+(d[b>>0]|0)>>0]|0){case 25:{e=b;break}case 18:{f=8;break b}default:{f=9;break b}}}if((f|0)==8){c[g>>2]=e+2;b=10;break}else if((f|0)==9){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function IX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if((f-e|0)>0){b=b+72|0;if((a[b+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;f=0;break}b:while(1){h=e+1|0;if((f-h|0)<=0){f=-1;break a}switch(a[b+(d[h>>0]|0)>>0]|0){case 24:case 25:{e=h;break}case 18:{b=6;break b}default:{b=7;break b}}}if((b|0)==6){c[g>>2]=e+2;f=10;break}else if((b|0)==7){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function JX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f;h=q-e|0;a:do if((h|0)>0){p=b+72|0;switch(a[p+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 16:{h=e+1|0;if((q-h|0)<=0){h=-1;break a}switch(a[p+(d[h>>0]|0)>>0]|0){case 27:{h=KX(b,e+2|0,f,g)|0;break a}case 20:{h=LX(e+2|0,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=MX(b,e+1|0,f,g)|0;break a}case 17:{h=NX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}j=b+328|0;k=b+332|0;l=b+336|0;m=b+340|0;n=b+344|0;o=b+348|0;i=0;h=e+h|0;b:while(1){e=q-h|0;if((e|0)<=0){h=-1;break a}c:do switch(a[p+(d[h>>0]|0)>>0]|0){case 29:{r=24;break b}case 10:case 9:case 21:{r=50;break b}case 11:{r=64;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){r=27;break b}else e=2;break}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){r=30;break b}else e=3;break}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[l>>2]&127](b,h)|0)){r=33;break b}else e=4;break}case 23:{if(i|0){r=35;break b}i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 29:{r=38;break b}case 24:case 22:{i=1;e=2;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){r=42;break b}else{i=1;e=3;break c}}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){r=45;break b}else{i=1;e=4;break c}}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){r=48;break b}else{i=1;e=5;break c}}default:{r=49;break b}}}default:{r=69;break b}}while(0);h=h+e|0}d:switch(r|0){case 24:{c[g>>2]=h;h=0;break a}case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 33:{c[g>>2]=h;h=0;break a}case 35:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=i;h=0;break a}case 42:{c[g>>2]=i;h=0;break a}case 45:{c[g>>2]=i;h=0;break a}case 48:{c[g>>2]=i;h=0;break a}case 49:{c[g>>2]=i;h=0;break a}case 50:{e:while(1){r=0;i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 11:{h=i;r=64;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;r=50;break}case 29:{r=52;break e}case 24:case 22:{i=2;break e}case 5:{r=53;break e}case 6:{r=56;break e}case 7:{r=59;break e}default:{r=62;break e}}}if((r|0)==52){c[g>>2]=i;h=0;break a}else if((r|0)==53){if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=3}else if((r|0)==56){if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=4}else if((r|0)==59){if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=5}else if((r|0)==62){c[g>>2]=i;h=0;break a}h=OX(b,h+i|0,f,g)|0;break a}case 69:{c[g>>2]=h;h=0;break a}}if((r|0)==64){c[g>>2]=h+1;h=2;break}i=h+1|0;if((q-i|0)>0)if((a[i>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=i;h=0;break}else h=-1}else h=-1;while(0);return h|0}function KX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((f-e|0)>0){if((a[e>>0]|0)!=45){c[g>>2]=e;f=0;break}h=b+72|0;i=b+352|0;j=b+356|0;k=b+360|0;l=e+1|0;b:while(1){e=f-l|0;if((e|0)<=0){f=-1;break a}switch(a[h+(d[l>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break b}case 5:{if((e|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,l)|0){e=9;break b}l=l+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,l)|0){e=13;break b}l=l+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,l)|0){e=17;break b}l=l+4|0;continue b}case 27:{e=l+1|0;if((f-e|0)<=0){f=-1;break a}if((a[e>>0]|0)==45){e=22;break b}else{l=e;continue b}}default:{l=l+1|0;continue b}}}if((e|0)==9){c[g>>2]=l;f=0;break}else if((e|0)==13){c[g>>2]=l;f=0;break}else if((e|0)==17){c[g>>2]=l;f=0;break}else if((e|0)==19){c[g>>2]=l;f=0;break}else if((e|0)==22){e=l+2|0;if((f-e|0)<=0){f=-1;break}if((a[e>>0]|0)==62){c[g>>2]=l+3;f=13;break}else{c[g>>2]=e;f=0;break}}}else f=-1;while(0);return f|0}function LX(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>5){d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}else d=-1;return d|0}function MX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;f=o-e|0;a:do if((f|0)>0){n=b+72|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;f=e+f|0;b:while(1){h=o-f|0;if((h|0)<=0){f=-1;break a}switch(a[n+(d[f>>0]|0)>>0]|0){case 29:{m=17;break b}case 10:case 9:case 21:{m=28;break b}case 15:{m=50;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,f)|0)){m=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,f)|0)){m=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,f)|0)){m=26;break b}else h=4;break}default:break b}f=f+h|0}if((m|0)==17){c[g>>2]=f;f=0;break}else if((m|0)==20){c[g>>2]=f;f=0;break}else if((m|0)==23){c[g>>2]=f;f=0;break}else if((m|0)==26){c[g>>2]=f;f=0;break}else if((m|0)==28){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}i=b+352|0;j=b+356|0;k=b+360|0;h=f+1|0;c:while(1){f=o-h|0;if((f|0)<=0){f=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 8:case 1:case 0:{m=45;break c}case 5:{if((f|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,h)|0){m=35;break c}h=h+2|0;continue c}case 6:{if((f|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,h)|0){m=39;break c}h=h+3|0;continue c}case 7:{if((f|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,h)|0){m=43;break c}h=h+4|0;continue c}case 15:{f=h+1|0;if((o-f|0)<=0){f=-1;break a}if((a[f>>0]|0)==62){m=48;break c}else{h=f;continue c}}default:{h=h+1|0;continue c}}}if((m|0)==35){c[g>>2]=h;f=0;break}else if((m|0)==39){c[g>>2]=h;f=0;break}else if((m|0)==43){c[g>>2]=h;f=0;break}else if((m|0)==45){c[g>>2]=h;f=0;break}else if((m|0)==48){c[g>>2]=h+2;f=c[p>>2]|0;break}}else if((m|0)==50){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}h=f+1|0;if((o-h|0)<=0){f=-1;break}if((a[h>>0]|0)==62){c[g>>2]=f+2;f=c[p>>2]|0;break}else f=h}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function NX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;h=e+h|0;b:while(1){e=f-h|0;if((e|0)<=0){f=-1;break a}switch(a[l+(d[h>>0]|0)>>0]|0){case 29:{i=17;break b}case 10:case 9:case 21:{i=27;break b}case 11:{i=32;break b}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,h)|0)){i=20;break b}else e=2;break}case 6:{if((e|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){i=23;break b}else e=3;break}case 7:{if((e|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){i=26;break b}else e=4;break}default:{i=33;break b}}h=h+e|0}if((i|0)==17){c[g>>2]=h;f=0;break}else if((i|0)==20){c[g>>2]=h;f=0;break}else if((i|0)==23){c[g>>2]=h;f=0;break}else if((i|0)==26){c[g>>2]=h;f=0;break}else if((i|0)==27){c:while(1){e=h+1|0;if((f-e|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=27;break}case 11:{i=29;break c}default:{i=30;break c}}}if((i|0)==29){c[g>>2]=h+2;f=5;break}else if((i|0)==30){c[g>>2]=e;f=0;break}}else if((i|0)==32){c[g>>2]=h+1;f=5;break}else if((i|0)==33){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function OX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;v=y;c[v>>2]=e;w=f;r=b+72|0;s=b+328|0;t=b+332|0;u=b+336|0;k=b+340|0;m=b+344|0;n=b+348|0;o=b+352|0;p=b+356|0;q=b+360|0;i=0;a:while(1){h=w-e|0;if((h|0)<=0){e=-1;break}b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{x=4;break a}case 27:case 26:case 25:case 24:case 22:{h=e+1|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(lb[c[s>>2]&127](b,e)|0)){x=8;break a}h=e+2|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(lb[c[t>>2]&127](b,e)|0)){x=12;break a}h=e+3|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(lb[c[u>>2]&127](b,e)|0)){x=16;break a}h=e+4|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 23:{if(i|0){x=19;break a}h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=22;break a}case 24:case 22:{j=e+2|0;c[v>>2]=j;i=1;e=j;continue a}case 5:{if((i|0)<2){e=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){x=26;break a}j=e+3|0;c[v>>2]=j;i=1;e=j;continue a}case 6:{if((i|0)<3){e=-2;break a}if(!(lb[c[m>>2]&127](b,h)|0)){x=30;break a}j=e+4|0;c[v>>2]=j;i=1;e=j;continue a}case 7:{if((i|0)<4){e=-2;break a}if(!(lb[c[n>>2]&127](b,h)|0)){x=34;break a}j=e+5|0;c[v>>2]=j;i=1;e=j;continue a}default:{x=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[v>>2]=e;if((w-e|0)<=0){e=-1;break a}switch(a[r+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{x=39;break a}}}case 14:break;default:{x=92;break a}}while(0);while(1){h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break a}j=a[r+(d[h>>0]|0)>>0]|0;if((j|1)<<24>>24==13)break;switch(j<<24>>24){case 9:case 10:case 21:{e=h;break}default:{x=43;break a}}}e=e+2|0;c[v>>2]=e;c:while(1){h=w-e|0;if((h|0)<=0){e=-1;break a}i=a[r+(d[e>>0]|0)>>0]|0;if(i<<24>>24==j<<24>>24)break;switch(i<<24>>24){case 8:case 1:case 0:{x=60;break a}case 2:{x=65;break a}case 5:{if((h|0)<2){e=-2;break a}if(lb[c[o>>2]&127](b,e)|0){x=50;break a}i=e+2|0;c[v>>2]=i;e=i;continue c}case 6:{if((h|0)<3){e=-2;break a}if(lb[c[p>>2]&127](b,e)|0){x=54;break a}i=e+3|0;c[v>>2]=i;e=i;continue c}case 7:{if((h|0)<4){e=-2;break a}if(lb[c[q>>2]&127](b,e)|0){x=58;break a}i=e+4|0;c[v>>2]=i;e=i;continue c}case 3:{e=FX(b,e+1|0,f,v)|0;if((e|0)<1){x=63;break a}e=c[v>>2]|0;continue c}default:{i=e+1|0;c[v>>2]=i;e=i;continue c}}}h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break}switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}default:{x=69;break a}}d:while(1){h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=72;break a}case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{x=73;break d}case 5:{x=74;break d}case 6:{x=78;break d}case 7:{x=82;break d}default:{x=91;break a}}}if((x|0)==73){x=0;e=e+2|0;c[v>>2]=e;i=0;continue}else if((x|0)==74){x=0;if((i|0)<2){e=-2;break}if(!(lb[c[k>>2]&127](b,h)|0)){x=76;break}e=e+3|0;c[v>>2]=e;i=0;continue}else if((x|0)==78){x=0;if((i|0)<3){e=-2;break}if(!(lb[c[m>>2]&127](b,h)|0)){x=80;break}e=e+4|0;c[v>>2]=e;i=0;continue}else if((x|0)==82){x=0;if((i|0)<4){e=-2;break}if(!(lb[c[n>>2]&127](b,h)|0)){x=84;break}e=e+5|0;c[v>>2]=e;i=0;continue}}switch(x|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=h;e=0;break}case 26:{c[g>>2]=h;e=0;break}case 30:{c[g>>2]=h;e=0;break}case 34:{c[g>>2]=h;e=0;break}case 36:{c[g>>2]=h;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[v>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[v>>2]=e;if((w-e|0)>0)if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=y;return e|0}function PX(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function QX(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;k=e+72|0;l=e+352|0;m=e+356|0;n=e+360|0;a:while(1){i=g-f|0;if((i|0)<=0){g=-1;break}j=a[k+(d[f>>0]|0)>>0]|0;switch(j<<24>>24){case 8:case 1:case 0:{o=16;break a}case 5:{if((i|0)<2){g=-2;break a}if(lb[c[l>>2]&127](e,f)|0){o=6;break a}f=f+2|0;continue a}case 6:{if((i|0)<3){g=-2;break a}if(lb[c[m>>2]&127](e,f)|0){o=10;break a}f=f+3|0;continue a}case 7:{if((i|0)<4){g=-2;break a}if(lb[c[n>>2]&127](e,f)|0){o=14;break a}f=f+4|0;continue a}case 13:case 12:{f=f+1|0;if((j&255|0)==(b|0)){o=18;break a}else continue a}default:{f=f+1|0;continue a}}}b:do if((o|0)==6){c[h>>2]=f;g=0}else if((o|0)==10){c[h>>2]=f;g=0}else if((o|0)==14){c[h>>2]=f;g=0}else if((o|0)==16){c[h>>2]=f;g=0}else if((o|0)==18)if((g-f|0)>0){c[h>>2]=f;switch(a[k+(d[f>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{g=27;break b}default:{}}g=0}else g=-27;while(0);return g|0}function RX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=f;a:do if((h-e|0)>0){i=b+72|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{b=KX(b,e+1|0,f,g)|0;break a}case 20:{c[g>>2]=e+1;b=33;break a}case 24:case 22:{b:while(1){b=e+1|0;f=h-b|0;if((f|0)<=0){b=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 22:{e=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=b;b=0;break a}c:do if((j|0)==8){if((f|0)<=1){b=-1;break a}switch(a[i+(d[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;b=0;break a}while(0);c[g>>2]=b;b=16;break a}default:{c[g>>2]=e;b=0;break a}}}else b=-1;while(0);return b|0} - function Rv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=a;while(1){j=c[f>>2]|0;if(!j){k=6;break}if((c[j>>2]|0)==(b|0))break;f=j+4|0}if((k|0)==6)qa(93188,93195,217,93206);i=j+8|0;f=c[i>>2]|0;g=j+4|0;b=c[g>>2]|0;c[(f|0?f+4|0:a)>>2]=b;h=a+4|0;c[(b|0?b+8|0:h)>>2]=f;b=0;f=a;while(1){f=c[f>>2]|0;if(!f)break;if((c[f>>2]|0)==(d|0)){k=9;break}b=f;f=f+4|0}if((k|0)==9){do if(!e)if((f|0)==(c[a>>2]|0)){c[a>>2]=j;c[g>>2]=f;c[i>>2]=0;f=f+8|0;break}else{c[b+4>>2]=j;c[i>>2]=b;c[g>>2]=f;f=f+8|0;break}else if((f|0)==(c[h>>2]|0)){c[h>>2]=j;c[g>>2]=0;c[i>>2]=f;f=f+4|0;break}else{c[i>>2]=f;f=f+4|0;c[g>>2]=c[f>>2];c[(c[f>>2]|0)+8>>2]=j;break}while(0);c[f>>2]=j}return}function Sv(a){a=a|0;return c[a+8>>2]|0}function Tv(a,b){a=a|0;b=b|0;Uv(a,Ov(b)|0);D_(b);return}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function Vv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;m=c[b+8>>2]|0;Wv(a,b);l=Xv(m)|0;a=Zv(Yv(l)|0)|0;_v(m,a);m=$v(a,m)|0;a=Sv(m)|0;j=+aw(m);k=(a|0)==1;f=+(a|0);i=f*.15915494309189535*(j+d);g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)Pv(m,a);d=1.0/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=(c[a>>2]|0)+16|0;c[(c[(c[n>>2]|0)+112>>2]|0)+16>>2]=e;h[(c[(c[n>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*d*+(e|0);o=+E(+f)*g;n=c[(c[n>>2]|0)+132>>2]|0;h[n>>3]=o;h[n+8>>3]=+F(+f)*g;e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;$x(l)|0;return m|0}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=Sy(f)|0;while(1){if(!d)break;e=Ex(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))Vx(f,e,1)|0;e=Gx(a,e)|0}d=Ty(f,d)|0}return}function Xv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=gw(a,g)|0;g=c[g>>2]|0;i=ay(g)|0;h=hw(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=qw(h)|0;d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;pw(h,a);d=Kx(g,d,j)|0}iw(g,j,f);d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;ow(h,a);d=Kx(g,d,j)|0}dz(g,j)|0;e=e+1|0}$x(g)|0;nw(h);l=k;return f|0}function Yv(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46162]|0;c[46162]=d+1;c[b>>2]=d;Y0(e,93221,b)|0;e=vA(a,e,1)|0;Az(e,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;Xy(e,b,1)|0;d=b+16|0;c[(c[(c[d>>2]|0)+112>>2]|0)+16+12>>2]=0;c[(c[(c[d>>2]|0)+112>>2]|0)+32>>2]=0;d=(c[(c[d>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-2;b=Ty(a,b)|0}b=Sy(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;fw(a,b,e)}b=Ty(a,b)|0}l=f;return e|0}function Zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((ay(a)|0)!=1){d=Sy(a)|0;while(1){if(!d)break;b=0;e=Jx(a,d)|0;while(1){if(!e)break;b=b+1|0;e=Kx(a,e,d)|0}if((b|0)==1)ew(d,d,0,0);d=Ty(a,d)|0}b=0;f=0;d=Sy(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=Ty(a,d)|0}b=Kv()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Mv(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=Kv()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Tv(b,a)}}else{b=Kv()|0;g=Sy(a)|0;Mv(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function _v(a,b){a=a|0;b=b|0;var d=0;d=Sy(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))dw(a,d,b);d=Ty(a,d)|0}return}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=bw(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=cw(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function aw(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function bw(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;k=rw()|0;e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=Gx(b,d)|0}e=Ty(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=Jx(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=nb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=d+((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)|0;a=nb[c[k>>2]&63](k,a,8)|0}xw(k,g)}g=Kx(b,g,i)|0}e=Jx(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;ww(k,e)}e=Kx(b,e,i)|0}a=h+4|0;j=j+1|0}vw(k);return d|0}function cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=Sy(b)|0;a:while(1){if(!k)break;j=Jx(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=Qv(a)|0;Rv(a,k,f,i);g=bw(a,b)|0;if((g|0)<(e|0)){Lv(h);if(!g){e=0;break a}else e=g}else{Lv(a);a=h}i=i+1|0}j=Kx(b,j,k)|0}k=Ty(b,k)|0}c[d>>2]=e;return a|0}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Kv()|0;e=Ex(a,b)|0;while(1){if(!e)break;f=e+-48|0;Mv(h,0,c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break;f=e+48|0;Mv(h,0,c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Ix(a,e)|0}a:do if((Sv(h)|0)>1){f=d+4|0;a=d;while(1){e=c[a>>2]|0;if(!e){g=13;break a}a=e+4|0;if(!(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(c[(c[(c[(c[c[((e|0)==(c[f>>2]|0)?d:a)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}Mv(d,e,b)}else g=13;while(0);b:do if((g|0)==13){c:do if((Sv(h)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}Mv(d,e,b);break b}while(0);Mv(d,0,b)}while(0);e=h;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}Lv(h);return}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,i=0,j=0,k=0;while(1){g=c[(c[(c[b+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!g)break;h=d+1|0;i=g+16|0;j=c[(c[i>>2]|0)+112>>2]|0;b=j+16|0;f=c[b+12>>2]|0;if(f){if((f|0)>(d|0)){k=11;break}b=c[b+4>>2]|0;f=b;if((b|0)==(e|0))b=j;else{d=j+24|0;if(!((c[j+32>>2]|0)!=0?(c[d>>2]|0)==(e|0):0))e=b;c[d>>2]=f;b=c[(c[i>>2]|0)+112>>2]|0;c[b+32>>2]=c[b+16+12>>2];b=c[(c[i>>2]|0)+112>>2]|0}b=b+16|0}c[b+4>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+16+12>>2]=h;b=g;d=h}if((k|0)==11?(c[j+32>>2]|0)<=(d|0):0){c[j+24>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+32>>2]=h}return}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=Jx(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){Vx(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;fw(a,e,d)}g=Kx(a,g,b)|0}return}function gw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;j=k+8|0;i=k;e=k+16|0;h=c[46163]|0;c[46163]=h+1;c[i>>2]=h;Y0(e,93230,i)|0;i=vA(b,e,1)|0;Az(i,134401,280,1)|0;h=c[46163]|0;c[46163]=h+1;c[j>>2]=h;Y0(e,93230,j)|0;h=b+24|0;a[j>>0]=a[h>>0]|0;a[j+1>>0]=a[h+1>>0]|0;a[j+2>>0]=a[h+2>>0]|0;a[j+3>>0]=a[h+3>>0]|0;j=Xx(e,j,0)|0;e=Sy(b)|0;while(1){if(!e)break;Xy(i,e,1)|0;h=az(j,ry(e)|0,1)|0;Az(h,134365,304,1)|0;c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]=h;e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;g=c[(c[(c[f+16>>2]|0)+112>>2]|0)+16>>2]|0;h=g+16|0;e=Ex(b,f)|0;while(1){if(!e)break;Vx(i,e,1)|0;m=c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;n=Rx(j,g,m,0,1)|0;Az(n,134378,176,1)|0;c[(c[n+16>>2]|0)+116>>2]=e;n=(c[h>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=Gx(b,e)|0}f=Ty(b,f)|0}c[d>>2]=j;l=k;return i|0}function hw(a){a=a|0;var b=0,c=0;c=jw()|0;b=Sy(a)|0;while(1){if(!b)break;ow(c,b);b=Ty(a,b)|0}return c|0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=vH(p)|0;p=vH(p)|0;i=0;l=Jx(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=Jx(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=Rx(a,g,e,0,0)|0;if(i)if(g>>>0>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{dz(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=Kx(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=Kx(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;Az(Rx(a,f,m,0,1)|0,134378,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;Az(Rx(a,d,m,0,1)|0,134378,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;Az(Rx(a,m,n,0,1)|0,134378,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);D_(p);D_(o);return}function jw(){return Cw(18136,c[4555]|0)|0}function kw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function lw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function nw(a){a=a|0;yw(a)|0;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(nb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=b+16|0;c[g+8>>2]=c[(c[f>>2]|0)+236>>2];g=nb[c[a>>2]&63](a,g,4)|0;if(!g)qa(93240,93243,107,93253);e=g+12|0;d=c[e>>2]|0;if((d|0)==(b|0)){b=c[(c[f>>2]|0)+164>>2]|0;c[e>>2]=b;if(!b)nb[c[a>>2]&63](a,g,2)|0}else{do{a=(c[d+16>>2]|0)+164|0;d=c[a>>2]|0;e=(d|0)!=0}while(e&(d|0)!=(b|0));if(e)c[a>>2]=c[(c[d+16>>2]|0)+164>>2]}l=h;return}function qw(a){a=a|0;var b=0,d=0,e=0,f=0;d=nb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)nb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function rw(){return Cw(18172,c[4555]|0)|0}function sw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function tw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function vw(a){a=a|0;yw(a)|0;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function xw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,2)|0;l=d;return}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=ob[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Hw(a,0)|0;f=(b|0)==0;if(f){nb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Ew(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;ob[c[e>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;ob[c[e>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)ob[c[a+12>>2]&127](a,a,0,h)|0}else D_(a);b=c[g>>2]|0;if(!b)b=0;else{ob[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function zw(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Aw(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Aw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Dw(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;vb[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}ob[c[j>>2]&127](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=nb[e&63](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=ob[c[a+12>>2]&127](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}vb[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=b$(b,f)|0;break}else{f=L0(b,f,n)|0;break}else f=ob[o&127](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,e,r);if((c[q>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,r)|0}return e|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=C_(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Kw(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=ob[d&127](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{D_(f);e=ob[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Kw(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=ob[c[d+12>>2]&127](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){D_(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)ob[e&127](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;nb[f&63](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Ew(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Dw(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Fw(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Fw(a){a=a|0;var b=0;if(!a)return 0;else{b=Fw(c[a+4>>2]|0)|0;return b+1+(Fw(c[a>>2]|0)|0)|0}return 0}function Gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Dw(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;vb[f&127](a,g,E)}if((c[x>>2]|0)<0)ob[c[j>>2]&127](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=nb[c[a>>2]&63](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=b$(e,f)|0;break}else{f=L0(e,f,B)|0;break}else f=ob[C&127](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=nb[c[a>>2]&63](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)vb[e&127](a,g,E);if((c[x>>2]|0)<0){ob[c[a+12>>2]&127](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=nb[h&63](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=ob[c[a+12>>2]&127](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){vb[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=b$(f,h)|0;break}else{h=L0(f,h,B)|0;break}else h=ob[C&127](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,g,E);if((c[x>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Dw(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Dw(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=25;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=nb[c[c[n+16>>2]>>2]&63](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=b$(k,f)|0;break}else{g=L0(k,f,i)|0;break}else g=ob[j&127](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=nb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(nb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=nb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=nb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=nb[c[c[a+16>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=nb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=nb[c[a>>2]&63](a,f,8)|0;e=nb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function Kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Dw(a,0)|0;e=c[n+32>>2]|0;if(e|0?(ob[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?52:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Aw(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Mw(0,e,g)|0;else e=nb[f&63](a,e,b)|0;c[h+4>>2]=e}nb[m&63](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?52:n}while(0);return b|0}function Lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=C_(c)|0;else if(a){D_(b);a=0;break}else{a=F_(b,c)|0;break}while(0);return a|0}function Mw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Nw(a){a=a|0;var b=0;b=c[46164]|0;c[46164]=a;return b|0}function Ow(a){a=a|0;var b=0;b=c[46165]|0;c[46165]=a;return b|0}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Qw(a,b,f)|0;l=e;return d|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[46167]|0:(a|0)==2?1:a;c[46167]=h;i=c[46168]|0;c[46168]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[46165]|0)>>>0){a=c[46166]|0;if(!a){a=l3()|0;c[46166]=a;if(!a){a=1;break}}if(!f){o3(a)|0;a=c[46166]|0}r0(a,b,d)|0;a=0}else{if(c[46164]|0){Rw(a,b,d);a=0;break}if(f)a=c[15686]|0;else{i=c[15686]|0;c[e>>2]=(a|0)==1?93267:93273;g1(i,93281,e)|0;a=i}r0(a,b,d)|0;a=0}while(0);l=g;return a|0}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[46169]|0)==0?(f=C_(c[4564]|0)|0,c[46169]=f,(f|0)==0):0)D1(93286,c[15686]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){kb[c[46164]&63]((a|0)==1?93267:93273)|0;kb[c[46164]&63](93945)|0}while(1){a=q0(c[46169]|0,c[4564]|0,b,d)|0;e=c[4564]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4564]=f;if(!(F_(c[46169]|0,f)|0)){e=9;break}}if((e|0)==7){kb[c[46164]&63](c[46169]|0)|0;break}else if((e|0)==9){D1(93286,c[15686]|0)|0;break}}while(0);return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Qw(1,a,e)|0;l=d;return}function Tw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=C_(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function Uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=C_(e)|0;F3(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=F_(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function Vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){Uw(a,d)|0;e=c[f>>2]|0}F3(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Ww(a,b){a=a|0;b=b|0;return Vw(a,b,W_(b)|0)|0}function Xw(a){a=a|0;if(c[a+12>>2]|0)D_(c[a>>2]|0);return}function Yw(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;Qz(c[46171]|0,c[b+8>>2]|0)|0;Qz(c[46171]|0,c[b+12>>2]|0)|0;Ny(c[46171]|0,b);return}function _w(a,b){a=a|0;b=b|0;var c=0;c=yz(a,93334,0)|0;if((b|0)!=0&(c|0)==0){$w(a);c=yz(a,93334,0)|0}return c|0}function $w(a){a=a|0;var b=0,c=0,d=0;d=fz(a)|0;jB(d,d,104,0,1)|0;c=Sy(d)|0;while(1){if(!c)break;bx(a,c);b=Ex(d,c)|0;while(1){if(!b)break;cx(a,b);b=Gx(d,b)|0}c=Ty(d,c)|0}return}function ax(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;hx(b);c=yA(b)|0;ex((c|0)==0?b:c,b);return}function bx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function dx(a){a=a|0;return yz(a,93322,0)|0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Az(b,93322,16,0)|0;f=fx(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=fz(a)|0;c[e>>2]=fx(a,c[b>>2]&3)|0;a=gx(b)|0;d=d+12|0;c[d>>2]=My(ez(b)|0,((a|0)>4?a:4)<<2)|0;a=nb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=ez(b)|0;e=Oz(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=nb[c[f>>2]&63](f,a,8)|0}}while(0);return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=_w(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;Pw(1,93347,d)|0;a=0;break a}}while(0);l=e;return a|0}function gx(a){a=a|0;var b=0;b=fz(ez(a)|0)|0;a=fx(b,c[a>>2]&3)|0;if(!a)a=0;else a=Ew(a)|0;return a|0}function hx(a){a=a|0;var b=0,d=0,e=0,f=0;d=Az(a,93334,20,0)|0;e=d+8|0;c[e>>2]=CA(a,18260,c[4563]|0)|0;f=d+12|0;c[f>>2]=CA(a,18260,c[4563]|0)|0;d=d+16|0;c[d>>2]=CA(a,18260,c[4563]|0)|0;b=yA(a)|0;if(!b){b=c[46170]|0;if(!((b|0)==0|(b|0)==(a|0))){b=_w(b,0)|0;ix(c[b+8>>2]|0,c[e>>2]|0,a,1);ix(c[b+12>>2]|0,c[f>>2]|0,a,2);ix(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=_w(b,0)|0;Hw(c[e>>2]|0,c[a+8>>2]|0)|0;Hw(c[f>>2]|0,c[a+12>>2]|0)|0;Hw(c[d>>2]|0,c[a+16>>2]|0)|0}return}function ix(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=nb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=jx(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;nb[c[d>>2]&63](d,h,1)|0;g=nb[c[b>>2]&63](b,g,8)|0}return}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=My(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=Oz(b,d)|0;c[h+12>>2]=Oz(b,e)|0;c[h+16>>2]=f;return h|0}function kx(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function lx(a,b){a=a|0;b=b|0;var c=0;c=Hw(a,0)|0;b=kx(a,b)|0;Hw(a,c)|0;return b|0}function mx(a,b){a=a|0;b=b|0;a=dx(a)|0;if(!a)a=0;else a=kx(c[a+8>>2]|0,b)|0;return a|0}function nx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[46170]|0;if(!b){a[g>>0]=a[18296]|0;a[g+1>>0]=a[18297]|0;a[g+2>>0]=a[18298]|0;a[g+3>>0]=a[18299]|0;b=Xx(0,g,0)|0;c[46170]=b}}if(!f)b=px(b,d,e)|0;else b=ox(b,d,e,f)|0;l=h;return b|0}function ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=fz(a)|0;_w(a,1)|0;g=fx(a,b)|0;f=lx(g,d)|0;a:do if(!f){f=kx(g,d)|0;if(f|0){f=jx(a,d,e,c[f+16>>2]|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;h=16;break}g=fx(i,b)|0;f=jx(a,d,e,Ew(g)|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{jB(i,i,57,f,1)|0;h=16;break a}case 1:{d=Sy(i)|0;while(1){if(!d){h=16;break a}qx(a,d,f);d=Ty(i,d)|0}}case 2:case 3:{g=Sy(i)|0;while(1){if(!g){h=16;break a}d=Ex(i,g)|0;while(1){if(!d)break;qx(a,d,f);d=Gx(i,d)|0}g=Ty(i,g)|0}}default:break a}}else{h=f+12|0;Qz(a,c[h>>2]|0)|0;c[h>>2]=Oz(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)rx(a,f,e)|0;iz(a,a,f);return f|0}function px(a,b,c){a=a|0;b=b|0;c=c|0;a=fx(a,b)|0;if(!a)a=0;else a=kx(a,c)|0;return a|0}function qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=dx(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=ob[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=Oz(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=ez(a)|0;g=(dx(a)|0)+12|0;i=b+16|0;Qz(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=Oz(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(_w(h,0)|0)+16>>2]|0;f=b+8|0;g=lx(e,c[f>>2]|0)|0;if(!g){i=jx(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;nb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;Qz(h,c[i>>2]|0)|0;c[i>>2]=Oz(h,d)|0;break}}while(0);iz(h,a,b);return 0}function sx(a,b,d){a=a|0;b=b|0;d=d|0;a=fx(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=nb[b&63](a,0,128)|0;break}else{a=nb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function tx(a){a=a|0;var b=0;c[46171]=a;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,c[b>>2]|0)|0}b=_w(a,0)|0;if(b)if(((EA(a,c[b+8>>2]|0)|0)==0?(EA(a,c[b+12>>2]|0)|0)==0:0)?(EA(a,c[b+16>>2]|0)|0)==0:0){Cz(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ez(a)|0;e=gx(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;Qz(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}Ny(f,d);return}function vx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function wx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function xx(a,b){a=a|0;b=b|0;b=mx(a,b)|0;if(!b)b=0;else{a=c[(dx(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function yx(a,b){a=a|0;b=b|0;a=c[(dx(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;b=mx(a,b)|0;if(!b)b=-1;else{rx(a,b,c)|0;b=0}return b|0}function Ax(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=ez(a)|0;f=nx(f,c[a>>2]&3,b,0)|0;if(!f){f=ez(a)|0;f=nx(f,c[a>>2]&3,b,e)|0}rx(a,f,d)|0;return 0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=ez(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=sx(g,f&3,e)|0;if(!e)break a;d=mx(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=yx(a,e)|0;rx(b,d,f)|0;if(Rz(f)|0)Sz(yx(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Dx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0>>0|(a|0)==(f|0)&g>>>0>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0>>0|(e|0)==(i|0)&a>>>0>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Ex(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Hx(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Jx(a,b){a=a|0;b=b|0;var c=0;c=Ex(a,b)|0;if(!c)c=Hx(a,b)|0;return c|0}function Kx(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Gx(a,b)|0;if(!b){b=0;do{if(!b)b=Hx(a,d)|0;else b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Lx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((gy(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>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],(Px(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Mx(a,b){a=a|0;b=b|0;Ox(a,b);return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;Xy(b,d,1)|0;Xy(b,e,1)|0;h=My(b,96)|0;i=h+48|0;l=_x(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Ox(b,h);if(a[b+24>>0]&64){Az(h,93322,16,0)|0;cx(b,h)}gz(b,h);return h|0}function Ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;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(Px(a,e,f,d)|0)break;j=Fx(a,e)|0;m=a+44|0;Qx(c[m>>2]|0,j+32|0,g);k=a+48|0;Qx(c[k>>2]|0,j+24|0,g);j=Fx(a,f)|0;Qx(c[m>>2]|0,j+28|0,h);Qx(c[k>>2]|0,j+20|0,h);a=yA(a)|0}l=i;return}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==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+40>>2]=b,g=Fx(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Dw(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,f,4)|0;c[g>>2]=zw(c[e>>2]|0)|0}else a=0;l=h;return a|0}function Qx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,1)|0;c[b>>2]=zw(a)|0;return}function Rx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(oy(a,2,e,k,0)|0))if(!e){if(f|0?(gy(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(a,b,d,i)|0;b:do if(!g){if(fy(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=Px(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,b,d,i)|0;if(!g){if(!(fy(a)|0))break;g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,d,b,i)|0;if(!g)break}Mx(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Lx(a,b,d)|0)!=0?(oy(a,2,e,k,1)|0)!=0:0){g=k;g=Nx(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;sy(a,2,g)}else g=0;l=n;return g|0}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Fx(a,c[d+40>>2]|0)|0;f=a+44|0;Tx(c[f>>2]|0,h+32|0,g);e=a+48|0;Tx(c[e>>2]|0,h+24|0,g);b=Fx(a,b)|0;Tx(c[f>>2]|0,b+28|0,d);Tx(c[e>>2]|0,b+20|0,d);return}function Tx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,2)|0;c[b>>2]=zw(a)|0;return}function Ux(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>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];if(Px(b,h,g,f)|0){if((fz(b)|0)==(b|0)){if(a[b+24>>0]&64)wx(d);kz(b,d);Iz(d);h=d+8|0;qy(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(jB(b,d,58,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=Xy(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=Xy(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=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];e=Px(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Ox(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function Wx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t3(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=Yx(e)|0;f=lb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=lb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(oy(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=Zx(f)|0;sy(k,0,f);l=h;return k|0}function Yx(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18632:e}else e=18632;g=kb[c[e>>2]&63](b)|0;f=lb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18508:g;b=c[b+8>>2]|0;b=(b|0)==0?18608:b}else{c[f+4>>2]=18508;b=18608}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function Zx(b){b=b|0;var d=0,e=0;c[b+36>>2]=CA(b,18688,c[4563]|0)|0;c[b+40>>2]=CA(b,18652,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+44>>2]=CA(b,d?18300:18336,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+48>>2]=CA(b,d?18372:18408,c[4563]|0)|0;c[b+52>>2]=CA(b,18444,c[4563]|0)|0;d=yA(b)|0;if(!((d|0)!=0?(e=_x(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,nb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))ax(b);gz(b,b);return b|0}function _x(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function $x(b){b=b|0;var d=0,e=0,f=0,g=0;f=yA(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){kz(b,b);g=b+8|0;qy(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;tb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=wA(b)|0;while(1){if(!d)break;e=xA(d)|0;$x(d)|0;d=e}d=Sy(b)|0;while(1){if(!d)break;e=Ty(b,d)|0;cz(b,d)|0;d=e}By(b);kz(b,b);if(((((EA(b,c[b+40>>2]|0)|0)==0?(EA(b,c[b+36>>2]|0)|0)==0:0)?(EA(b,c[b+48>>2]|0)|0)==0:0)?(EA(b,c[b+44>>2]|0)|0)==0:0)?(EA(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?tx(b)|0:0){d=-1;break}Iz(b);e=b+8|0;qy(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){zA(f,b)|0;Ny(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;nz(b,c[f>>2]|0)|0}tb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Jz(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;ub[c[f>>2]&63](g,b);ub[c[f>>2]&63](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function ay(a){a=a|0;return Ew(c[a+40>>2]|0)|0}function by(a){a=a|0;var b=0,c=0,d=0;b=0;c=Sy(a)|0;while(1){if(!c)break;d=(cy(a,c,0,1)|0)+b|0;b=d;c=Ty(a,c)|0}return b|0}function cy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Fx(a,b)|0;if(f){if(!e)b=0;else b=dy(c[a+44>>2]|0,f+32|0)|0;if(d)b=(dy(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function dy(a,b){a=a|0;b=b|0;var d=0;Dw(a,c[b>>2]|0)|0;d=Ew(a)|0;c[b>>2]=zw(a)|0;return d|0}function ey(b){b=b|0;return a[b+24>>0]&1|0}function fy(a){a=a|0;return (ey(a)|0)==0|0}function gy(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function hy(a,b){a=a|0;b=b|0;return a|0}function iy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=s3(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Lz(a,d)|0;else a=Oz(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)Qz(a,c)|0;return}function ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function my(a){a=a|0;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;return}function oy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=ty(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;uy(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return ob[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;zy(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function ry(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=ez(a)|0;f=a+8|0;b=f;b=xy(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=ob[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;Y0(191693,93374,g)|0;b=191693}}while(0);l=h;return b|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;vb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function ty(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Lz(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=nb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=My(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=Oz(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=CA(a,18536,c[4563]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=CA(a,18572,c[4563]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}nb[c[f>>2]&63](f,h,1)|0;nb[c[b>>2]&63](b,h,1)|0;return}function vy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0>>0|(a|0)==(d|0)&b>>>0>>0)<<31>>31)|0}function wy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=yy(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=nb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=yy(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;nb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;nb[c[e>>2]&63](e,b,2)|0;Qz(a,c[b+24>>2]|0)|0;Ny(a,b);b=1}return b|0}function Ay(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46171]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=nb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;zy(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function By(a){a=a|0;c[46171]=a;a=a+64|0;Cy((c[a>>2]|0)+56|0);Cy((c[a>>2]|0)+68|0);return}function Cy(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){yw(e)|0;c[d>>2]=0}b=b+1|0}return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;if(!(O0(b,c,a)|0))a=0;else a=W_(b)|0;return a|0}function Ey(a,b){a=a|0;b=b|0;return D1(b,a)|0}function Fy(a){a=a|0;return w1(a)|0}function Gy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4656]=c[4653];c[4657]=c[4654];c[e>>2]=a;c[e+4>>2]=W_(a)|0;c[e+8>>2]=0;c[d>>2]=18632;c[d+4>>2]=18508;c[d+8>>2]=18620;a=TB(e,d)|0;Uz(0);l=b;return a|0}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Iy(a){a=a|0;return 0}function Jy(a,b){a=a|0;b=b|0;a=C_(b)|0;H3(a|0,0,b|0)|0;return a|0}function Ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=F_(b,d)|0;if(d>>>0>c>>>0)H3(a+c|0,0,d-c|0)|0;return a|0}function Ly(a,b){a=a|0;b=b|0;D_(b);return}function My(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=lb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)Pw(1,93380,d)|0;l=d;return a|0}function Ny(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;ub[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>>0|(a|0)==(d|0)&b>>>0>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))Ny(c[a+24>>2]|0,b);return}function Qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0>>0?-1:b>>>0>e>>>0&1)|0}function Ry(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=183176;c[e>>2]=b;c[e+4>>2]=d;c[46176]=183168;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,184688,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Sy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Ty(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Uy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Vy(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Ry(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=fz(a)|0;if((e|0)!=(a|0)?(f=Ry(e,b,c)|0,f|0):0){Xy(a,f,1)|0;e=f;break}if(!(py(a,1,b,c)|0))e=0;else{e=_x(a,1)|0;e=Yy(a,b,c,e,z)|0;Zy(a,e);_y(a,e)}}while(0);return e|0}function Xy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=fz(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=yA(a)|0;if(!e)e=0;else{d=Xy(e,b,d)|0;$y(a,d);return d|0}}}else e=0;return e|0}function Yy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=My(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=fz(b)|0;if(a[(fz(b)|0)+24>>0]&64)Az(g,93322,16,0)|0;return g|0}function Zy(a,b){a=a|0;b=b|0;do{$y(a,b);a=yA(a)|0}while((a|0)!=0);return}function _y(b,c){b=b|0;c=c|0;if(a[(fz(b)|0)+24>>0]&64)bx(b,c);gz(b,c);return}function $y(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Ew(c[e>>2]|0)|0;if((fz(a)|0)==(a|0))d=b+28|0;else d=My(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;nb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=fz(a)|0;if(oy(a,1,b,g,0)|0){e=g;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=Ry(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=Xy(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(oy(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=_x(a,1)|0;e=Yy(a,h,i,e,z)|0;Zy(a,e);_y(a,e);sy(a,1,e)}else e=0;l=j;return e|0}function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46185]=b;d=Jx(a,b)|0;while(1){if(!d)break;e=Kx(a,d,b)|0;Sx(a,d,0);d=e}e=c[a+40>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;return}function cz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(Ry(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((fz(b)|0)==(b|0)){e=Jx(b,d)|0;while(1){if(!e)break;g=Kx(b,e,d)|0;Ux(b,e)|0;e=g}if(a[b+24>>0]&64)vx(d);kz(b,d);Iz(d);g=f;qy(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(jB(b,d,59,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((yA(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{Pw(1,93406,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=cz(a,b)|0;break a}case 2:case 3:{f=Ux(a,b)|0;break a}case 0:{f=$x(b)|0;break a}default:{}}while(0);l=h;return f|0}function ez(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function fz(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function gz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,100,0);else hz(b,d,c[e+48>>2]|0);return}function hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){hz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function iz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))qz(b,d,101,e);else jz(b,d,e,c[f+48>>2]|0);return}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){jz(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function kz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,102,0);else lz(b,d,c[e+48>>2]|0);return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){lz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];Ny(a,d);d=0}while(0);return d|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=fz(a)|0;a:do if((d|0)==(fz(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=yA(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(Wy(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(Vx(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function pz(a){a=a|0;return c[a>>2]&3|0}function qz(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;h=l;l=l+16|0;g=h;f=Az(a,93430,44,0)|0;switch(c|0){case 100:{e=rz(f,b,100)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}case 101:{if(((sz(rz(f,b,100)|0,b)|0)==0?(sz(rz(f,b,102)|0,b)|0)==0:0)?(e=rz(f,b,101)|0,(sz(e,b)|0)==0):0)tz(e,a,b,d)|0;break}case 102:{uz(rz(f,b,100)|0,b);uz(rz(f,b,101)|0,b);e=rz(f,b,102)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}default:Pw(1,93442,g)|0}l=h;return}function rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){Pw(1,93476,e)|0;d=0}a=c[d>>2]|0;if(!a){a=ez(b)|0;a=CA(a,18724,c[4563]|0)|0;c[d>>2]=a}l=g;return a|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=vz(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function tz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=My(ez(d)|0,32)|0;c[f+20>>2]=d;g=vz(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=My(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}nb[c[a>>2]&63](a,f,1)|0;return f|0}function uz(a,b){a=a|0;b=b|0;b=sz(a,b)|0;if(b|0)nb[c[a>>2]&63](a,b,2)|0;return}function vz(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function wz(a,b,d){a=a|0;b=b|0;d=d|0;xz(b);Ny(c[b+16>>2]|0,b);return}function xz(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;Ny(c[b>>2]|0,a);a=d}return}function yz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(b$(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}zz(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else Pw(1,93501,i)|0}while(0);l=k;return f|0}function zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function Az(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=ez(a)|0;f=yz(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=My(h,d)|0;c[d>>2]=Oz(h,b)|0;switch(c[a>>2]&3){case 0:{Bz(a,d);g=d;break a}case 1:{Bz(a,d);g=d;break a}case 2:case 3:{Bz(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)yz(a,b,1)|0;return g|0}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))zz(a,b,0);return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0;e=ez(a)|0;d=yz(a,b,0)|0;if(!d)b=-1;else{Dz(a,d);if(!(c[a>>2]&3)){Ez(e,a,d);b=d}else{jB(fz(e)|0,a,60,d,0)|0;b=d}Qz(e,c[d>>2]|0)|0;Ny(e,b);b=0}return b|0}function Dz(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;zz(b,(a|0)==(d|0)?0:a,0)}return}function Fz(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;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{Az(a,c,g,e)|0;if(!f){b=wA(a)|0;while(1){if(!b)break a;Fz(b,0,c,d,e);b=xA(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break a;b:do if(d)Az(b,c,g,e)|0;else{f=Ex(a,b)|0;while(1){if(!f)break b;Az(f,c,g,e)|0;f=Gx(a,f)|0}}while(0);b=Ty(a,b)|0}}default:{}}while(0);return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{jB(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=Sy(a)|0;while(1){if(!d)break a;b:do if(e)Cz(d,c)|0;else{b=Ex(a,d)|0;while(1){if(!b)break b;Cz(b,c)|0;b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}}default:{}}while(0);return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;Cz(b,c)|0;return}function Iz(a){a=a|0;var b=0,d=0,e=0;d=ez(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;Qz(d,c[e>>2]|0)|0;Ny(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Jz(a){a=a|0;return EA(a,Kz(a)|0)|0}function Kz(a){a=a|0;var b=0,d=0;if(!a)d=184760;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=CA(a,18760,c[4563]|0)|0;c[d>>2]=b;a=183232;c[a>>2]=-2147483648;c[a+4>>2]=0;a=183240;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Lz(a,b){a=a|0;b=b|0;return Mz(Kz(a)|0,b)|0}function Mz(a,b){a=a|0;b=b|0;a=Nz(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function Oz(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;g=183232;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Kz(a)|0,e=Nz(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=s3(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=183240,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){DA(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function Rz(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=183232;a=c[b>>2]&c[a>>2]}return a|0}function Sz(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=183232;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function Tz(a){a=a|0;c[4699]=a;return}function Uz(a){a=a|0;c[46195]=a;c[4699]=1;return}function Vz(a,b){a=a|0;b=b|0;c[46196]=a;c[46197]=b;c[46198]=0;return}function Wz(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[46199]|0)){c[46199]=1;if(!(c[46200]|0))c[46200]=1;if(!(c[46191]|0))c[46191]=c[15621];if(!(c[46192]|0))c[46192]=c[15653];k=c[46201]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){Xz();k=Yz(c[46191]|0,16384)|0;c[c[46201]>>2]=k}Zz()}a:while(1){j=c[46202]|0;a[j>>0]=a[191725]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;f=j;b:while(1){h=f;while(1){f=c[18800+(d[h>>0]<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=h}c:while(1){g=f&255;do{f=g+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(f<<1)>>1]|0))break c;k=b[64684+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19824+(g<<2)>>2]|0}e=b[64894+(f<<1)>>1]|0;f=h+1|0;if((b[63938+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[63752+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[63752+(c[46203]<<1)>>1]|0;f=c[46204]|0}else e=e<<16>>16;c[46193]=j;i=f;c[46194]=i-k;a[191725]=a[f>>0]|0;a[f>>0]=0;c[46202]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[46193]|0;a[f>>0]=a[191725]|0;e=c[46201]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[46206]=n;c[g>>2]=c[46191];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[46206]|0;if((c[46202]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(gA()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[46202]=c[46193];e=(((c[46200]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[191725]|0;f=c[46204]|0;e=c[46203]|0}if((m|0)==128){m=0;g=i-h|0;h=c[46193]|0;f=h+(g+-1)|0;c[46202]=f;e=eA()|0;i=fA(e)|0;j=c[46193]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[46201]>>2]|0)+4>>2]|0)+(c[46206]|0)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[46202]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[46193]|0)+(i-h+-1)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}switch(m|0){case 29:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 32:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=3;continue a}case 35:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;continue a}case 42:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;_z();continue a}case 47:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=5;aA();continue a}case 89:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(95669);continue a}case 92:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(93534);continue a}case 95:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 98:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 101:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=7;c[46205]=1;aA();continue a}case 104:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;n=(c[46205]|0)+-1|0;c[46205]=n;if(!n){m=108;break a}cA(c[46193]|0);continue a}case 109:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46205]=(c[46205]|0)+1;cA(e);continue a}case 112:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);c[4699]=(c[4699]|0)+1;continue a}case 115:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 121:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;E1(e,f,1,c[46192]|0)|0;continue a}}}switch(m|0){case 27:{e=c[46194]|0;if(!e)l=-1;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[46194]|0;if(!e)l=259;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[46194]|0;if(!e)l=260;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=258;l=258}else l=258;break}case 61:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=261;l=261}else l=261;break}case 65:{e=c[46194]|0;if(!e)l=263;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[46194]|0;if(!e)l=262;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==261?264:45;break}case 72:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==258?264:45;break}case 75:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46221]=Oz(c[46171]|0,e)|0;l=267;break}case 78:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if($z()|0){m=(c[46194]|0)+-1|0;a[f>>0]=a[191725]|0;n=j+m|0;c[46202]=n;c[46193]=j;c[46194]=m;a[191725]=a[n>>0]|0;a[n>>0]=0;c[46202]=n}c[46221]=Oz(c[46171]|0,c[46193]|0)|0;l=267;break}case 86:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;bA();l=268;break}case 108:{c[46200]=1;dA();l=268;break}case 118:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{hA(93537);break}}return l|0}function Xz(){var a=0,b=0,d=0;b=c[46201]|0;do if(!b){a=oA(4)|0;c[46201]=a;if(!a)hA(93895);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[46212]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=iA(b,a<<2)|0;c[46201]=b;if(!b)hA(93895);else{d=b+(c[46212]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[46212]=a;return}function Yz(a,b){a=a|0;b=b|0;var d=0;d=oA(48)|0;if(!d)hA(93850);c[d+12>>2]=b;b=oA(b+2|0)|0;c[d+4>>2]=b;if(!b)hA(93850);else{c[d+20>>2]=1;kA(d,a);return d|0}return 0}function Zz(){var b=0,d=0;d=c[46201]|0;b=c[d>>2]|0;c[46206]=c[b+16>>2];b=c[b+8>>2]|0;c[46202]=b;c[46193]=b;c[46191]=c[c[d>>2]>>2];a[191725]=a[b>>0]|0;return}function _z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[46193]|0;b=h+1|0;i=(z$(b,93834,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=N1(b,93839,f)|0;if((f|0)>0?(c[4699]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;nA(d,b-d|0)}}l=g;return}function $z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[46193]|0)+((c[46194]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(mA()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[46195]|0;Tw(h,1024,b);Ww(h,93745)|0;Ww(h,c[46193]|0)|0;c[f>>2]=c[4699];Y0(d,93789,f)|0;Ww(h,d)|0;Ww(h,(k|0)==0?93739:k)|0;Ww(h,93806)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;Pw(0,93831,i)|0;Xw(h);b=1}l=j;return b|0}function aA(){var b=0;b=c[46207]|0;if(!b){b=C_(1024)|0;c[46207]=b;c[46209]=b+1024}c[46208]=b;a[b>>0]=0;return}function bA(){c[46221]=Oz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function cA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[46208]|0;d=c[46207]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[46208]=e;f=c[46209]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0>>0);c[46208]=e;f=d;i=g-f<<1;d=F_(d,i)|0;c[46207]=d;c[46209]=d+i;e=d+(e-f)|0;f=3}c[46208]=e;return}function dA(){c[46221]=Pz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function eA(){var d=0,e=0,f=0,g=0,h=0;h=c[46202]|0;g=c[46193]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18800+((d&255)<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=g}a:while(1){f=d&255;do{d=f+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(d<<1)>>1]|0))break a;d=b[64684+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19824+(f<<2)>>2]|0}g=g+1|0;e=b[64894+(d<<1)>>1]|0}return e|0}function fA(a){a=a|0;var d=0;if(b[63752+(a<<1)>>1]|0){d=c[46202]|0;c[46203]=a;c[46204]=d}while(1){d=(b[63938+(a<<1)>>1]|0)+1|0;if((a|0)==(b[64148+(d<<1)>>1]|0))break;a=b[64684+(a<<1)>>1]|0}d=b[64894+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function gA(){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;j=c[46201]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[46193]|0;l=c[46202]|0;k=l;if(l>>>0>(i+((c[46206]|0)+1)|0)>>>0)hA(93592);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[46206]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=iA(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[46202]=j;f=c[c[46201]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=nb[c[c[(c[46196]|0)+8>>2]>>2]&63](c[46197]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[46201]>>2]|0;c[46206]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}hA(93648)}while(0);do if((m|0)==17)if(!l){jA(c[46191]|0);b=1;d=c[46206]|0;e=c[c[46201]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=iA(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[46201]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)hA(93692);else{n=c[46206]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[46206]=n;a[o+n>>0]=0;o=c[46201]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[46206]|0)+1)>>0]=0;c[46193]=c[(c[o>>2]|0)+4>>2]}return b|0}function hA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15686]|0;c[b>>2]=a;g1(d,93588,b)|0;Sa(2)}function iA(a,b){a=a|0;b=b|0;return F_(a,b)|0}function jA(a){a=a|0;var b=0,d=0,e=0;d=c[46201]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{Xz();b=Yz(c[46191]|0,16384)|0;d=c[46201]|0;c[d>>2]=b;if(!d)b=0;else e=4}kA(b,a);Zz();return}function kA(a,b){a=a|0;b=b|0;var d=0;d=c[(O_()|0)>>2]|0;lA(a);c[a>>2]=b;c[a+40>>2]=1;b=c[46201]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(O_()|0)>>2]=d;return}function lA(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[46201]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))Zz()}return}function mA(){var b=0,d=0;d=c[46193]|0;b=(c[46194]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function nA(a,b){a=a|0;b=b|0;var d=0;d=c[46210]|0;if((d|0)<(b|0)){if(!d)d=C_(b+1|0)|0;else d=F_(c[46211]|0,b+1|0)|0;c[46211]=d;c[46210]=b}else d=c[46211]|0;b0(d,a)|0;c[46195]=c[46211];return}function oA(a){a=a|0;return C_(a)|0}function pA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;Tw(j,1024,m+1080|0);e=c[46195]|0;if(e|0){Ww(j,e)|0;Ww(j,93945)|0}Ww(j,b)|0;c[f>>2]=c[4699];Y0(d,93948,f)|0;Ww(j,d)|0;a:do if(!(a[c[46193]>>0]|0))switch(((c[46200]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;Y0(d,93968,g)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94030)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 3:{c[h>>2]=16384;Y0(d,94049,h)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94117)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 1:{c[i>>2]=16384;Y0(d,94136,i)|0;Ww(j,d)|0;break a}default:break a}else{Ww(j,93960)|0;Ww(j,c[46193]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){Uw(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;Pw(1,93831,k)|0;Xw(j);l=m;return}function qA(){rA(c[46193]|0);return}function rA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[46202]|0;a[j>>0]=a[191725]|0;i=c[46201]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[46206]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[46206]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)hA(94195);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[46193]=l;a[191725]=a[b>>0]|0;c[46202]=b;return}function sA(){var a=0;a=c[46201]|0;if(!a)a=0;else a=c[a>>2]|0;lA(a);return}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;FA(a,c[g>>2]|0,18444);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function uA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=tA(b,d,e)|0;if(!f){f=My(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;Zx(f)|0}return f|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(oy(a,0,b,f,0)|0)!=0:0)?(e=f,e=tA(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(oy(a,0,b,f,1)|0)!=0:0){e=f;e=uA(a,c[e>>2]|0,c[e+4>>2]|0)|0;sy(a,0,e)}else e=0;l=g;return e|0}function wA(a){a=a|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,0,128)|0}function xA(a){a=a|0;var b=0;b=yA(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=nb[c[b>>2]&63](b,a,8)|0}return a|0}function yA(a){a=a|0;return c[a+56>>2]|0}function zA(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,b,2)|0}function AA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[46213]|0;e=(b|0)!=0;do if(!a)if(e){D_(b);a=0;break}else{a=C_(d)|0;break}else if(e){Ny(a,b);a=0;break}else{a=My(a,d)|0;break}while(0);return a|0}function BA(a,b,d){a=a|0;b=b|0;d=d|0;a=c[46213]|0;if(!a)D_(b);else Ny(a,b);return}function CA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[46213]=a;d=Cw(b,d)|0;c[e>>2]=f;c[46213]=0;return d|0}function DA(a,b,d){a=a|0;b=b|0;d=d|0;c[46213]=a;return nb[c[b>>2]&63](b,d,2)|0}function EA(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Kw(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[46213]=a;if(!(yw(b)|0)){c[d>>2]=e;c[46213]=0;a=0}else a=1;return a|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Kw(b,0,0)|0)!=(c|0):0)Kw(b,c,0)|0;return}function GA(a,b){a=a|0;b=b|0;if(!(Rz(a)|0))b=IA(a,b)|0;else HA(a,b)|0;return b|0}function HA(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function IA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(M$(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[5005]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(M$(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((M$(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20024;while(1){f=c[e>>2]|0;if(!f)break a;if(!(O$(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=94227;while(0);return b|0}function JA(a){a=a|0;return GA(a,KA(a)|0)|0}function KA(a){a=a|0;var b=0;b=((W_(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[46215]|0;if(b>>>0>(c[46214]|0)>>>0){if(!a)a=C_(b)|0;else a=F_(a,b)|0;c[46215]=a;c[46214]=b}return a|0}function LA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if((MA(a)|0)==0?Xy(a,b,0)|0:0){a=1;break}a=xA(a)|0}return a|0}function MA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=ry(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=dx(b)|0;b:do if(d|0?(f=dx(yA(b)|0)|0,f|0):0){h=Ew(c[(dx(fz(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?b$(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=_w(b,0)|0;if(d)if((Ew(c[d+8>>2]|0)|0)>0)d=0;else return (Ew(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function NA(b,d){b=b|0;d=d|0;var e=0,f=0;c[46216]=0;e=xx(b,94237)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=i1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5005]=f;OA(b,1);if(((PA(b,d,1)|0)!=-1?(QA(b,d)|0)!=-1:0)?(RA(b,d)|0)!=-1:0){c[5005]=128;b=kb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function OA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;OA(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function PA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(yA(b)|0)!=0:0){i=0;g=191979;k=106488}else{k=(a[b+24>>0]&1)==0?191979:94281;g=(gy(b)|0)==0;c[46217]=nx(b,2,108373,0)|0;c[46218]=nx(b,2,108382,0)|0;i=1;g=g?191979:94284}f=ry(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=99578}else{h=0;j=191979;f=191979}do if((SA(b,d)|0)!=-1?(TA(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((TA(b,d,k)|0)==-1){f=-1;break}if((TA(b,d,99571)|0)==-1){f=-1;break}}if(!g?(cB(b,d,f)|0)==-1:0){f=-1;break}if(((TA(b,d,j)|0)!=-1?(TA(b,d,94292)|0)!=-1:0)?(c[46216]=(c[46216]|0)+1,(hB(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function QA(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;a:do if((UA(a,b)|0)==-1)d=-1;else{k=_w(fz(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=Sy(a)|0;while(1){if(!h){d=0;break a}if(VA(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((WA(h,b,d)|0)==-1){d=-1;break a}}g=Ex(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(VA(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((WA(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(XA(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((YA(g,b,e)|0)==-1){d=-1;break a}}g=Gx(a,g)|0}h=Ty(a,h)|0}}while(0);return d|0}function RA(a,b){a=a|0;b=b|0;c[46216]=(c[46216]|0)+-1;if((SA(a,b)|0)==-1)a=-1;else a=((TA(a,b,107982)|0)==-1)<<31>>31;return a|0}function SA(a,b){a=a|0;b=b|0;var d=0;d=c[46216]|0;while(1){if((d|0)<=0){d=0;break}if((TA(a,b,150515)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function TA(a,b,d){a=a|0;b=b|0;d=d|0;return lb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function UA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if(!(MA(a)|0)){if((PA(a,b,0)|0)==-1){a=-1;break}if((QA(a,b)|0)==-1){a=-1;break}if((RA(a,b)|0)==-1){a=-1;break}}else UA(a,b)|0;a=xA(a)|0}return a|0}function VA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((LA(a,b)|0)==0?(eB(a,b,c,d)|0)!=0:0)if((fB(a,b)|0)==0?(gB(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ez(a)|0;do if((SA(d,b)|0)!=-1?(ZA(a,b)|0)!=-1:0){if(($A(a)|0)==0?(aB(a,b,c)|0)==-1:0){a=-1;break}a=TA(d,b,94248)|0}else a=-1;while(0);return a|0}function XA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=1;break}if((MA(a)|0)==0?Vx(a,b,0)|0:0){a=0;break}a=xA(a)|0}return a|0}function YA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=ez(g)|0;do if((((((SA(f,b)|0)!=-1?(ZA(g,b)|0)!=-1:0)?(_A(a,b,c[46217]|0)|0)!=-1:0)?(g=(ey(ez(g)|0)|0)!=0,(TA(f,b,g?97053:97058)|0)!=-1):0)?(ZA(e,b)|0)!=-1:0)?(_A(a,b,c[46218]|0)|0)!=-1:0){if(!($A(a)|0)){if((aB(a,b,d)|0)==-1){a=-1;break}}else if((bB(a,b,1)|0)==-1){a=-1;break}a=TA(f,b,94248)|0}else a=-1;while(0);return a|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=ry(a)|0;f=ez(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;Y0(d,94268,g)|0;if((TA(f,b,d)|0)==-1)a=-1;else h=4}else if((cB(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function _A(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=ez(b)|0,f=yx(b,d)|0,(a[f>>0]|0)!=0):0)if((TA(e,c,104958)|0)==-1)b=-1;else{do if(Rz(f)|0){if((cB(e,c,f)|0)==-1){b=-1;break a}}else{b=A$(f,58)|0;if(!b)if((dB(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((dB(e,c,f,0)|0)==-1){b=-1;break a}if((TA(e,c,104958)|0)==-1){b=-1;break a}if((dB(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function $A(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function aB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(bB(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=dx(a)|0;j=ez(a)|0;c:do if(f){i=f+12|0;h=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[46217]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[46218]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((TA(j,b,94263)|0)==-1){e=-1;break b}if((SA(j,b)|0)==-1){e=-1;break b}}else{if((SA(j,b)|0)==-1){e=-1;break b}if((TA(j,b,94260)|0)==-1){e=-1;break b}c[46216]=(c[46216]|0)+1}if((cB(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((TA(j,b,94266)|0)==-1){e=-1;break b}if((cB(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=nb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((TA(j,b,94258)|0)==-1){e=-1;break}c[46216]=(c[46216]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function bB(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ry(b)|0;b=ez(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((TA(b,c,94251)|0)!=-1?(cB(b,c,e)|0)!=-1:0)if((d|0)!=0?(TA(b,c,94258)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function cB(a,b,c){a=a|0;b=b|0;c=c|0;return dB(a,b,c,1)|0}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=IA(c,KA(c)|0)|0;else c=JA(c)|0;return TA(a,b,c)|0}function eB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0>>0:0))b=0;else{b=Hx(a,b)|0;while(1){if(!b){b=1;break a}if(0>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0>>0:0)){b=0;break a}b=Ix(a,b)|0}}while(0);return b|0}function fB(a,b){a=a|0;b=b|0;if(!(Hx(a,b)|0))a=(Ex(a,b)|0)==0&1;else a=0;return a|0}function gB(a){a=a|0;var b=0,d=0,e=0;a=dx(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=_w(a,0)|0;if(e)if(((iB(a,b,108412,c[e+16>>2]|0,d)|0)!=-1?(iB(a,b,108399,c[e+8>>2]|0,d)|0)!=-1:0)?(iB(a,b,108368,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Hw(f,0)|0;k=(l|0)==0;j=nb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=nb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((TA(b,d,94263)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}else{if((SA(b,d)|0)==-1){g=-1;break}if((TA(b,d,e)|0)==-1){g=-1;break}if((TA(b,d,94260)|0)==-1){g=-1;break}c[46216]=(c[46216]|0)+1}if((cB(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((TA(b,d,94266)|0)==-1){g=-1;break}if((cB(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=nb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[46216]=(c[46216]|0)+-1;if((g|0)!=1){if((TA(b,d,150517)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}g=(TA(b,d,94295)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Hw(f,l)|0;g=0}while(0);return g|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;switch(c[b>>2]&3){case 0:{g=80;break}case 1:{g=81;break}case 3:case 2:{g=82;break}default:{}}b=lb[g&127](a,b)|0;if(!b)b=-1;else{nB(a,b,d,e,g,f);b=0}return b|0}function kB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Vx(a,b,0)|0;return b|0}function lB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Xy(a,b,0)|0;return b|0}function mB(a,b){a=a|0;b=b|0;return a|0}function nB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)vb[c&127](a,b,d);g=wA(a)|0;while(1){if(!g)break;i=lb[e&127](g,b)|0;if(i|0)nB(g,i,c,d,e,f);g=xA(g)|0}if(!h)vb[c&127](a,b,d);return}function oB(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46219]=0;c[46220]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[94299+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[46220]|0;if((h|0)==-2){h=Wz()|0;c[46220]=h}if((h|0)>=1)if(h>>>0<269)i=d[94379+h>>0]|0;else i=2;else{c[46220]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[94648+h>>0]|0):0){p=a[94708+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46220]=-2;g=g+4|0;c[g>>2]=c[46221];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[94768+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46220]|0;b:do switch(q|0){case 0:{c[46219]=(c[46219]|0)+1;pA(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[46220]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[94299+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[46221];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[94848+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{pB();qB();break}case 3:{if(c[46222]|0){pB();qB();$x(c[46222]|0)|0;c[46171]=0;c[46222]=0}break}case 6:{rB(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){tB();break c}else{sB();break c}case 24:{uB();break}case 25:{uB();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{vB(c[g>>2]|0,0,0);break}case 31:{vB(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{vB(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{wB(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{wB(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{xB(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{xB(c[g>>2]|0,0);break}case 51:{yB(c[g>>2]|0);break}case 52:{zB();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=AB(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[94911+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[94974+e>>0]|0)|0;if(h>>>0<60?(d[94648+h>>0]|0)==(p|0):0){e=a[94708+h>>0]|0;j=q;h=i;break}e=a[95009+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){pA(137476);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))D_(f);l=t;return e|0}function pB(){var a=0,b=0;a=c[46223]|0;while(1){if(!a)break;IB(a+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);b=BB(c[46223]|0)|0;c[46223]=b;a=b}return}function qB(){qA();Ay(c[46222]|0);return}function rB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[46222]|0;if(!f){a[184896]=d&1|(e&255)<<1&2|a[184896]&-12|8;f=c[46225]|0;a[g>>0]=a[184896]|0;a[g+1>>0]=a[184897]|0;a[g+2>>0]=a[184898]|0;a[g+3>>0]=a[184899]|0;f=Xx(b,g,f)|0;c[46222]=f}c[46171]=f;c[46223]=CB(c[46223]|0,f)|0;Qz(0,b)|0;l=h;return}function sB(){var b=0,d=0,e=0,f=0,g=0,h=0;HB(2);e=c[46223]|0;f=a[95044]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(b$(g,95044)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=Sy(e)|0;while(1){if(!d)continue a;g=Xy(c[c[46223]>>2]|0,d,0)|0;PB(g,0,c[b>>2]|0,h);d=Ty(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;PB(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}IB((c[46223]|0)+8|0);IB((c[46223]|0)+16|0);IB((c[46223]|0)+24|0);c[(c[46223]|0)+4>>2]=0;return}function tB(){var a=0;HB(1);a=(c[46223]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;OB(c[a+4>>2]|0);a=a+12|0}IB((c[46223]|0)+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);c[(c[46223]|0)+4>>2]=0;return}function uB(){var a=0,b=0;a=c[46223]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=NB(b)|0;a=c[46223]|0}c[a+4>>2]=0}else{b=MB(b)|0;a=c[46223]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)EB(a+16|0,b);return}function vB(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=KB(b,d)|0;d=LB(az(c[c[46223]>>2]|0,a,1)|0,b)|0;EB((c[46223]|0)+8|0,d);Qz(c[46222]|0,a)|0;return}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)GB();d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))GB();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;HB(g);b=c[46223]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[46222]|0))){d=nx(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[46223]|0;if((c[b>>2]|0)!=(c[46222]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}IB(b+24|0);return}function xB(a,b){a=a|0;b=b|0;b=DB(a,b)|0;EB((c[46223]|0)+24|0,b);return}function yB(a){a=a|0;var b=0;b=c[46223]|0;c[46223]=CB(b,vA(c[b>>2]|0,a,1)|0)|0;Qz(c[46222]|0,a)|0;return}function zB(){var a=0,b=0;a=c[46223]|0;b=c[a>>2]|0;a=BB(a)|0;c[46223]=a;c[a+4>>2]=b;return}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=W_(a)|0;d=d+1+(W_(b)|0)|0;if(d>>>0<1025)d=f;else d=C_(d)|0;b0(d,a)|0;p1(d,b)|0;e=Oz(c[46222]|0,d)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((d|0)!=(f|0))D_(d);l=g;return e|0}function BB(a){a=a|0;var b=0;b=c[(c[46223]|0)+32>>2]|0;Ny(c[46222]|0,a);return b|0}function CB(a,b){a=a|0;b=b|0;var d=0;d=My(c[46222]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function DB(a,b){a=a|0;b=b|0;return FB(267,a,b)|0}function EB(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function FB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(c[46222]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function GB(){var a=0;a=l;l=l+16|0;Pw(0,95048,a)|0;l=a;return}function HB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[95044]|0):0)?!(b$(f,95044)|0):0)){h=nx(c[c[46223]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=nx(c[c[46223]>>2]|0,b,f,191979)|0;c[d>>2]=266;Qz(c[46222]|0,f)|0}d=d+12|0}return}function IB(a){a=a|0;JB(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function JB(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{JB(c[a+4>>2]|0);break}case 266:case 267:{Qz(c[46222]|0,c[a+8>>2]|0)|0;break}default:{}}Ny(c[46222]|0,a);a=b}return}function KB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=W_(a)|0;d=d+2+(W_(b)|0)|0;if(d>>>0<1025)e=g;else e=C_(d)|0;c[f>>2]=a;c[f+4>>2]=b;Y0(e,95081,f)|0;d=Oz(c[46222]|0,e)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((e|0)!=(g|0))D_(e);l=h;return d|0}function LB(a,b){a=a|0;b=b|0;return FB(259,a,b)|0}function MB(a){a=a|0;return FB(265,a,0)|0}function NB(a){a=a|0;return FB(262,a,0)|0}function OB(a){a=a|0;var b=0,d=0;b=(c[46223]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)rx(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=Sy(d)|0;while(1){if(!f)break a;QB(a,b,Xy(c[c[46223]>>2]|0,f,0)|0,0,e);f=Ty(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=Xy(c[c[46223]>>2]|0,c[f+4>>2]|0,0)|0;QB(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function QB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=Rx(c[c[46223]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;RB(d,108373,a?e:b);RB(d,108382,a?b:e);OB(d)}return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=nx(c[c[46223]>>2]|0,2,b,0)|0;if(!e)e=nx(c[c[46223]>>2]|0,2,b,191979)|0;rx(a,e,d)|0}return}function SB(a,b,d){a=a|0;b=b|0;d=d|0;c[46191]=b;c[46222]=a;c[46171]=0;a=d|0?d:18496;c[46225]=a;Vz(a,b);oB()|0;a=c[46171]|0;if(!a){sA();a=c[46171]|0}return a|0}function TB(a,b){a=a|0;b=b|0;return SB(0,a,b)|0}function UB(a,b){a=a|0;b=b|0;b=wC(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;Az(b,134401,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((fz(b)|0)!=(b|0))c[(c[(fz(b)|0)+16>>2]|0)+144>>2]=a;e=xx(b,95297)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(UB(a,e)|0)==999):0){d=xC(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;Pw(1,95824,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{CG(1);bH(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(fz(b)|0)+16>>2]|0)+8>>2]=d;LK();d=c[e>>2]|0;if(d|0?(tb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;CG(0);d=0}}l=i;return d|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0;if(Az(b,134401,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){tb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)gH(b)}return 0}function XB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){tb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)YB(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15653];g=12;break}f=L1(e,103486)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=c$(c[(O_()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;ub[j&63](95087,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{ub[c[(c[b+12>>2]|0)+16>>2]&63](95125,j);d=1}l=k;return d|0}function YB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;Y0(g,95143,e)|0}e=c[b+20>>2]|0;e=e|0?e:95147;d=W_(e)|0;i=W_(g)|0;f=b+52|0;i=d+1+i+(W_(c[f>>2]|0)|0)|0;d=i+11|0;if((c[46226]|0)>>>0<(i+1|0)>>>0){c[46226]=d;d=F_(c[46227]|0,d)|0;c[46227]=d}else d=c[46227]|0;b0(d,e)|0;p1(c[46227]|0,g)|0;d=c[46227]|0;d=d+(W_(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=n1(c[f>>2]|0)|0;f=c[46227]|0;while(1){e=o1(d,58)|0;if(!e)break;p1(f,e+1|0)|0;i=c[46227]|0;g=i+(W_(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}p1(f,d)|0;D_(d);c[b+32>>2]=c[46227];l=h;return}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95125,f);Sa(1)}if((_B(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;ub[f&63](95157,g);Sa(1)}}else e=0;l=h;return e|0}function _B(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=E1(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0>>0){g=e+4096+g&-4096;c[f>>2]=g;f=F_(h,g)|0;c[j>>2]=f;if(!f){ub[c[(c[b+12>>2]|0)+16>>2]&63](95182,n);Sa(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);F3(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=nb[f&63](b,d,e)|0;while(0);l=o;return e|0}function $B(a,b){a=a|0;b=b|0;var c=0;c=W_(b)|0;b=(ZB(a,b,c)|0)==(c|0);return (b?1:-1)|0}function aC(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(ZB(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function bC(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=w1(d)|0;else b=0;return b|0}function cC(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);bC(a)|0;return}function dC(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95209,e);Sa(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)tb[b&127](a);else{bC(a)|0;eC(a)}l=e;return}function eC(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15653]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){s1(f)|0;c[e>>2]=0}c[d>>2]=0}return}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=q0(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=vH(e+1|0)|0;c[g>>2]=d;f=e;e=Z0(e,b,g)|0}else f=h;ZB(a,f,e)|0;if((f|0)!=(h|0))D_(f)}else{c[f>>2]=c$(c[(O_()|0)>>2]|0)|0;Pw(1,95226,f)|0}l=i;return}function gC(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,b)|0;ZB(a,f,c[e>>2]|0)|0;l=d;return}function hC(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=135312;e=1}else{l=(f|0)<0;k=4;i=0;e=191746;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=191746-e|0}}else{f=95241;e=18}else{f=95240;e=19}c[b>>2]=e;return f|0}function iC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,+h[b>>3])|0;ZB(a,f,c[e>>2]|0)|0;ZB(a,99578,1)|0;b=hC(e,+h[b+8>>3])|0;ZB(a,b,c[e>>2]|0)|0;l=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];iC(a,f);e=e+1|0;if((e|0)>=(d|0))break;ZB(a,99578,1)|0}l=g;return}function kC(a,b){a=a|0;b=b|0;var d=0;d=uH(392)|0;if(d|0){c[d>>2]=20052;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function lC(a){a=a|0;var b=0,d=0,e=0,f=0;b=uH(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|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];f=b+80|0;e=a+80|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];return b|0}function mC(a){a=a|0;tC(a);D_(a);return}function nC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46228]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46228]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46228]=d;c[d+32>>2]=b;c[d>>2]=a;return}function oC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46229]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46229]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46229]=d;c[d+52>>2]=b;c[d>>2]=a;return (wC(a,3,b)|0)!=0|0}function pC(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function qC(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function sC(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)D_(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function tC(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;sC(b+604|0);sC(b+592|0);D_(c[b+584>>2]|0);D_(c[b+588>>2]|0);D_(b);b=e}c[46229]=0;c[46228]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function uC(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;U0(k,e,63)|0;i=A$(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}U0(m,c[d+4>>2]|0,63)|0;d=A$(m,58)|0;if(d|0)a[d>>0]=0;if((b$(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;U0(m,c[b+4>>2]|0,63)|0;b=A$(m,58)|0;if(b|0)a[b>>0]=0;if(b$(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=vH(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function vC(a,b){a=a|0;b=b|0;b=l;l=l+16|0;Pw(1,95321,b)|0;l=b;return 0}function wC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;U0(o,e,63)|0;e=A$(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=A$(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}U0(p,c[e+4>>2]|0,63)|0;e=A$(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(b$(p,o)|0)){g=(e|0)!=0;if(i&g?b$(e,f)|0:0)break;if(!j?b$(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(wC(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(vC(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[15686]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20064+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;g1(q,95352,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function xC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5021]|0){Tw(184920,0,0);c[5021]=0}h=n1(e)|0;e=A$(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(O$(h,d)|0)!=0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=58;Ww(184920,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}D_(d);g=c[g>>2]|0}D_(h);if(e<<24>>24){g=0;i=19}}else{D_(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(O$(g,d)|0)==0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=191979;break}}e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}a[e>>0]=0;e=c[46230]|0;c[46231]=e}while(0);return e|0}function yC(b){b=b|0;var d=0;if(!b)qa(108182,95369,573,95383);if(!(a[b>>0]|0))qa(108187,95369,574,95383);d=c[46234]|0;if(!d)b=0;else b=nb[c[d>>2]&63](d,b,512)|0;return b|0}function zC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)qa(108230,95369,589,95400);g=b+8|0;e=c[g>>2]|0;if(!e)qa(108233,95369,590,95400);if(!(a[e>>0]|0))qa(108242,95369,591,95400);h=b+20|0;f=c[h>>2]|0;do if(!f){d=ZL(e)|0;if(!d){c[i>>2]=c[g>>2];Pw(0,95424,i)|0;d=0;break}i=L1(d,135739)|0;c[h>>2]=i;if(!i){c[j>>2]=c$(c[(O_()|0)>>2]|0)|0;c[j+4>>2]=d;Pw(0,95449,j)|0;d=0;break}d=c[46235]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[46235]=d+1;d=1;break}}else{Z1(f,0,0)|0;if(!(c[h>>2]|0))qa(95470,95369,614,95400);else d=1}while(0);l=k;return d|0}function AC(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){s1(e)|0;c[d>>2]=0}return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function CC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[46362]|0,(c[46236]|0)!=(g|0)):0)?(c[46236]=g,i=c[46234]|0,i|0):0){yw(i)|0;c[46234]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=DC(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];BC(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function DC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)qa(108182,95369,638,95476);if(!(c[46234]|0))c[46234]=Cw(20088,c[4563]|0)|0;b=yC(a)|0;a:do if(!b){b=uH(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=Oz(0,a)|0;if(!((zC(b)|0)<<24>>24)){EC(b);b=0;break}if(!(c[b+20>>2]|0))qa(95470,95369,653,95476);do switch(FC(b)|0){case 0:{a=VJ(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];Pw(0,95493,e)|0;EC(b);b=0;break a}break}case 2:{GC(b);break}case 3:{HC(b);break}case 1:{IC(b);break}case 4:{JC(b);break}case 6:{KC(b);break}case 11:{LC(b);break}case 8:{MC(b);break}case 5:{NC(b);break}case 12:{OC(b);break}default:{}}while(0);AC(b);e=c[46234]|0;nb[c[e>>2]&63](e,b,1)|0}}else AC(b);while(0);l=f;return b|0}function EC(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)Qz(0,b)|0;D_(a);return}function FC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(g3(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(L0(f,c[20124+(d<<4)>>2]|0,c[20124+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[20124+(d<<4)+12>>2];b=c[20124+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(L0(f+8|0,95709,4)|0)break a;c[e>>2]=95714;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(O0(g,200,c[h>>2]|0)|0)){i=11;break}if(!(L0(g,95704,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=98777;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=95719;c[a+24>>2]=0;b=0}l=j;return b|0}function GC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function HC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,16,0)|0;if((PC(c[e>>2]|0,4,b)|0)<<24>>24?(PC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;Z1(c[g>>2]|0,16,0)|0;if((((XC(c[g>>2]|0,2,b)|0)<<24>>24?(XC(c[g>>2]|0,2,d)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,e)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((PC(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(A$(95692,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((PC(g,2,e)|0)<<24>>24))break;Z1(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((PC(c[j>>2]|0,3,i)|0)<<24>>24?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(PC(g,3,i)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function KC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;Z1(c[i>>2]|0,0,0)|0;while(1){if(!(O0(b,1024,c[i>>2]|0)|0))break;d=P0(b,95677)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((N1(d,101285,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function LC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,15,0)|0;h=(m3(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){Z1(f,24,0)|0;if((XC(c[e>>2]|0,4,b)|0)<<24>>24?(XC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{Z1(f,26,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function MC(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[46237]|0)){if(o2(184952,95562,1)|0){c[d>>2]=95562;Pw(1,95589,d)|0}c[46237]=184952}m=b+20|0;Z1(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(O0(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(a3(184952,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(b$(e,138034)|0))break;if(!(b$(e,137966)|0))break c;if(b$(e,95636)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((N1(f,95644,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((N1(f,95626,A)|0)!=2){c[D>>2]=s;if((N1(f,98183,D)|0)==1){e=1;f=WC(+h[s>>3],95633)|0}else{e=g;f=j}}else{e=1;f=WC(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((N1(f,95626,E)|0)!=2){c[B>>2]=s;if((N1(f,98183,B)|0)==1){d=1;e=WC(+h[s>>3],95633)|0}else e=k}else{d=1;e=WC(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function NC(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,0,0)|0;if(!(QC(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function OC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((PC(c[e>>2]|0,1,b)|0)<<24>>24?(PC(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function PC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function QC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(O0(e,1024,a)|0)){a=1;break}f=P0(e,95552)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=RC(d,b)|0}l=h;return a|0}function RC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;SC(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(TC(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,UC(b,f),(VC(f,d)|0)==0):0)?(UC(b,f),(VC(f,d+8|0)|0)==0):0)?(UC(b,f),(VC(f,d+16|0)|0)==0):0){UC(b,f);e=(VC(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function SC(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(TC(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(B$(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function TC(b){b=b|0;var d=0;d=b+4|0;if(!(O0(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function UC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;SC(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(TC(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function VC(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+c2(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function WC(a,b){a=+a;b=b|0;var c=0.0;do if(!(b$(b,95660)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(b$(b,95663)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(b$(b,95666)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(b$(b,95633)|0?b$(b,95669)|0:0)if(!(b$(b,95671)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(b$(b,95674)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function XC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function YC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)s1(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)tb[e&127](b);D_(b);return}function ZC(){var a=0;nx(0,1,105198,102467)|0;a=kC(0,1)|0;LP(a,0);return a|0}function _C(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((UB(b,e)|0)!=999)if((VB(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));Y0(g,95873,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));Y0(g,95873,i)|0}Ax(d,99645,g,191979)|0;b=0}else{b=xC(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;Pw(1,95824,f)|0;b=-1}l=k;return b|0}function $C(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=DG(a,f)|0;wO(b);tC(a);b=h}l=i;return b|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,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){nC(a,e);h=DG(a,f)|0;wO(b);dC(b);tC(a);b=h}l=i;return b|0}function bD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;oC(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=uO(j,c[j+52>>2]|0)|0;if((Az(b,134401,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){Sw(95885,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=C_(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=DG(a,b)|0;wO(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}tC(a);break}Pw(1,95906,h)|0;b=-1}while(0);l=m;return b|0}function cD(a,b){a=a|0;b=b|0;JP(a,0,b);return}function dD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+4288|0;E=H+8|0;D=H;F=4;G=C_(40)|0;c[G>>2]=0;A=H+4152|0;B=H+4148|0;C=H+4128|0;j=H+4112|0;k=H+16|0;o=0;i=$(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=ca(26,e|0,B|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;m=$(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;na(7,C|0,j|0,k|0,24,83);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){j=C+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;aa(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}o=0;g=aa(84,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}}G=D3(184984,1,G|0,F|0)|0;F=z;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){y=m;x=j;w=m;v=n;g=z;m=15}else{y=m;x=j;w=m;v=n;g=0;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=0;g=z;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}u=v+(c[B>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=E3(c[h>>2]|0,G|0,F|0)|0;if(!i)bb(h|0,p|0);z=p}else i=-1;if((i|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[D>>2]=j;ca(27,u|0,134313,D|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;i=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,i|0,134401,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}c[y+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;da(54,b|0,e|0,i|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}}else i=m;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}m=i}o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}i=10;n=y;q=w;r=w;t=w;while(1){if(!e){m=0;i=r;e=t;break c}o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=E3(c[h>>2]|0,G|0,F|0)|0;if(!m)bb(h|0,p|0);z=p}else m=-1;if((m|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if(!g){o=0;c[E>>2]=j;ca(27,u|0,134313,E|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;s=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,s|0,134401,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=E3(c[h>>2]|0,G|0,F|0)|0;if(!g)bb(h|0,p|0);z=p}else g=-1;if((g|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(54,b|0,e|0,s|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=aa(85,q|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=m;q=m;r=m;h=m}else{g=n;h=t}c[g+(j<<2)>>2]=s;n=g;j=j+1|0;m=h}else m=t;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}t=m}}else{m=1;k=0;n=y;j=0;i=w;e=w}while(0);o=0;ia(105,C|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}if((v|0)!=(A|0)){o=0;ia(103,v|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}}if(!m){o=0;g=aa(85,e|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;$(26,c[n+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=g+1|0}o=0;ia(103,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);D_(G|0);l=H;return g|0}function eD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(nD(a)|0)!=0:0))a=95962;e=W_(a)|0;if((e|0)>=104){d=vH(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){b0(d,a)|0;c[b>>2]=e}return d|0}function fD(a,b){a=a|0;b=b|0;Xy(b,a,1)|0;return}function gD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function hD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function iD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;lD(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=mD(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)ub[f&63](k,d);h=Jx(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(lb[c[j>>2]&127](f,-1)|0))lD(e,f);h=Kx(a,h,k)|0}}return b|0}function jD(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;kD(a);a=b}return}function kD(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=vH(16)|0;if(!e){Pw(1,95943,f)|0;bb(184984,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=vH(4e6)|0;c[e>>2]=d;if(!d){Pw(1,95943,j)|0;bb(184984,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}lb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function mD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function nD(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(M$(c&255)|0)){b=0;break}}return b|0}function oD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=l;l=l+4272|0;x=B;y=4;A=C_(40)|0;c[A>>2]=0;u=B+4144|0;v=B+4140|0;w=B+4120|0;h=B+4104|0;i=B+8|0;o=0;f=$(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=E3(c[g>>2]|0,A|0,y|0)|0;if(!e)bb(g|0,p|0);z=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=ca(26,d|0,v|0,u|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;j=$(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;na(7,w|0,h|0,i|0,24,83);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){h=w+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;aa(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}o=0;e=aa(84,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}}A=D3(184984,1,A|0,y|0)|0;y=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){t=h;s=j;r=k;e=z;j=14}else{t=h;s=j;r=k;e=0;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=0;r=k;e=z;j=14}}else{d=0;e=0}else{t=0;s=0;r=0;e=z;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;ia(105,w|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;ia(103,s|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0)){d=0;e=0;break b}o=0;ia(103,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}else{j=19;break}}o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}q=r+(c[v>>2]|0)|0;h=10;k=s;e=0;j=s;n=s;while(1){if(!f)break;o=0;d=aa(c[t>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,A|0,y|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if(!d){o=0;c[x>>2]=e;ca(27,q|0,134313,x|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;m=ca(28,a|0,r|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(53,m|0,134401,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(54,a|0,f|0,m|0,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if((e|0)==(h|0)){h=e<<1;o=0;i=aa(85,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}g=i;j=i;d=i}else{g=k;d=n}c[g+(e<<2)>>2]=m;e=e+1|0;k=g;i=d}else i=n;o=0;f=aa(84,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}n=i}o=0;ia(105,w|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;d=aa(85,n|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0))break b;o=0;ia(103,r|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;D_(A|0);l=B;return d|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=Sy(a)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if(Xy(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){Vx(a,e,1)|0;d=d+1|0}e=Gx(b,e)|0}f=Ty(a,f)|0}return d|0}function qD(a){a=a|0;a=yz(a,95967,0)|0;if(!a)qa(95972,95975,529,95984);else return c[a+8>>2]|0;return 0}function rD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(ay(b)|0){Fz(b,0,95993,-12,0);Fz(b,1,96005,16,0);o=eD(e,f,t)|0;k=sD(b)|0;m=vH((ay(k)|0)<<2)|0;hD(p,u+4144|0,u+48|0,24,86);h=Sy(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15686]|0;e=0;while(1){if(!h)break;if(!(lb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;Y0(i,96907,q)|0;v=vA(k,o,1)|0;w=vA(b,o,1)|0;Az(w,95993,12,0)|0;a[(yz(w,95993,0)|0)+8>>0]=1;f=iD(k,h,v,p)|0;uD(v,w);g=vD(w)|0;wD(b,w);c[m+(e<<2)>>2]=w;dz(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;g1(j,96017,r)|0}e=e+1|0}h=Ty(k,h)|0}if(0){r=ay(b)|0;v=by(b)|0;w=ry(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;g1(j,96047,s)|0}$x(k)|0;Gz(b,0,95993);Gz(b,1,96005);jD(p);f=xH(m,e<<2)|0;if((o|0)!=(t|0))D_(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[18492]|0;a[h+1>>0]=a[18493]|0;a[h+2>>0]=a[18494]|0;a[h+3>>0]=a[18495]|0;h=Xx(96094,h,0)|0;zD(h,b);d=Sy(b)|0;while(1){if(!d)break;if(!(c[(yz(d,96005,0)|0)+12>>2]|0)){g=az(h,ry(d)|0,1)|0;Az(g,96005,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(yz(d,96005,0)|0)+12>>2]=g}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;f=c[(yz(e,96005,0)|0)+12>>2]|0;d=Ex(b,e)|0;while(1){if(!d)break;g=c[(yz(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,96005,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){Rx(h,f,g,0,1)|0;break}else{Rx(h,g,f,0,1)|0;break}while(0);d=Gx(b,d)|0}e=Ty(b,e)|0}l=i;return h|0}function tD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Sy(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)Xy(b,f,1)|0;else{d=Sy(f)|0;while(1){if(!d)break a;Xy(b,d,1)|0;d=Ty(f,d)|0}}while(0);e=Ty(a,e)|0}return}function vD(a){a=a|0;return pD(a,c[a+60>>2]|0)|0}function wD(a,b){a=a|0;b=b|0;xD(a,b,0);return}function xD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=wA(b)|0;while(1){if(!b)break;if((a[(yz(b,95993,0)|0)+8>>0]|0)==0?(f=yD(b,c,d)|0,f|0):0){if(g)e=(z$(ry(b)|0,104980,7)|0)==0;else e=1;xD(b,f,e&1)}b=xA(b)|0}return}function yD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=Sy(a)|0;while(1){if(!g)break;f=az(b,ry(g)|0,0)|0;if(f){if(!e)e=vA(b,ry(a)|0,1)|0;Xy(e,f,1)|0}g=Ty(a,g)|0}if((d|0)!=0&(e|0)==0)e=vA(b,ry(a)|0,1)|0;if(e|0?(pD(e,a)|0,Bx(a,e)|0,(z$(ry(e)|0,104980,7)|0)==0):0)c[(Az(e,95967,12,0)|0)+8>>2]=a;return e|0}function zD(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;h=l;l=l+16|0;g=h;d=wA(b)|0;e=c[15686]|0;while(1){if(!d)break;a:do if(!(z$(ry(d)|0,104980,7)|0)){f=az(a,ry(d)|0,1)|0;Az(f,96005,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=Sy(d)|0;while(1){if(!b)break a;if(c[(yz(b,96005,0)|0)+12>>2]|0){k=ry(b)|0;j=ry(d)|0;i=ry(c[(yz(b,96005,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;g1(e,96097,g)|0}c[(yz(b,96005,0)|0)+12>>2]=f;b=Ty(d,b)|0}}else zD(a,d);while(0);d=xA(d)|0}l=h;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){BI(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){BI(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}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,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=CD(a,b,d,e)|0;break}m=vH(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;mM(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=uH(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=xx(c[b+(d<<2)>>2]|0,96164)|0;if(g|0?(c[k>>2]=j,g=(N1(g,134313,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=DD(a,m,e)|0;if(c[h>>2]&2)D_(c[e+24>>2]|0)}else d=0;D_(m)}while(0);l=n;return d|0}function CD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[15686]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;mM(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){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]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=ry(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;g1(E,96231,u)|0}n=n+1|0}q=vH(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>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[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];g=g+1|0}o=f+8|0;p=GD(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;g1(E,96259,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=uH(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=ry(i)|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[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];HD(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];ID(e,i,j,p,f,B)}g=g+1|0}j=uH(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}_0(j,b,4,87);k=vI()|0;g=uH(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];KD(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;LD(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;LD(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);D_(j);i=0;while(1){if((i|0)>=(b|0))break;D_(c[m+(i<<4)+4>>2]|0);i=i+1|0}D_(m);yI(k);D_(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;g1(E,96275,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function DD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=uH(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[15686]|0;c[g>>2]=k|0?96170:96180;c[g+4>>2]=w;c[g+8>>2]=f;g1(v,96193,g)|0}t=uH((f<<3)+8|0)|0;u=uH((w<<3)+8|0)|0;v=uH(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=uH(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))_0(s,a,4,89)}else{c[46285]=e;_0(s,a,4,88)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}D_(v);D_(s);D_(t);D_(u);l=z;return x|0}function ED(a,b){a=a|0;b=b|0;var d=0;d=c[46285]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function FD(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (ed)<<31>>31)|0}function GD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[15686]|0;E1(96418,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;g1(m,96446,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;g1(m,96472,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;g1(m,96494,q)|0}}else{h[m>>3]=j;Pw(1,96391,m)|0;d=-1}l=s;return d|0}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=vI()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;BI(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=FI(r)|0;j=EI(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[15686]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;g1(f,96350,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;g1(f,96377,t)|0;a=a+1|0}}while(0);yI(r);l=u;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 i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=vI()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=vH((ay(b)|0)<<2)|0;a=0;g=Sy(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=Ty(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}a=Sy(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=Ty(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=Sy(b)|0;while(1){if(!o)break;WL(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G)}a=Gx(C,a)|0}}while(0);o=Ty(b,o)|0}a=0;g=Sy(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=Ty(b,g)|0}D_(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=Sy(b)|0;while(1){if(!o)break a;WL(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}o=Ty(b,o)|0}}while(0);i=d+4|0;c[i>>2]=FI(L)|0;j=d+8|0;c[j>>2]=EI(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[15686]|0;d=ry(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;g1(f,96350,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;g1(f,96377,O)|0;a=a+1|0}}while(0);yI(L);l=P;return}function JD(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function KD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];zI(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[15686]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;g1(k,96324,i)|0}l=j;return}function LD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(MD((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(MD(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(MD(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(MD(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(MD(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(MD(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function MD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(CI(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];zI(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[15686]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;g1(j,96290,s)|0;j=1}else j=1}l=t;return j|0}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function OD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function PD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|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];if(!g){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];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{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[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];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;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[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];AD(w,x,d);while(1){if((m|0)>=(b|0))break;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];g=a+(m<<4)|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];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;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[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];AD(w,x,d);m=m+1|0}if(e|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[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;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[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];AD(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){WL(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;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[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];AD(w,x,d)}l=A;return}function QD(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=DD(a,b,d)|0;break a}case 3:{a=RD(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+80|0;g=n+64|0;f=n+24|0;m=n+8|0;e=n;h=n+56|0;j=d+8|0;k=GD(a,b,c[j>>2]|0)|0;if(0){i=c[15686]|0;c[e>>2]=k;g1(i,96259,e)|0}a:do if((k|0)>=1){c[h+4>>2]=0;c[h>>2]=0;i=uH(a<<4)|0;d=0;while(1){if((d|0)>=(a|0))break;c[i+(d<<4)+12>>2]=d;o=b+(d<<5)|0;e=c[j>>2]|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];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];HD(f,i+(d<<4)|0,k,e,g,191979);d=d+1|0}f=uH(a<<2)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=i+(d<<4);d=d+1|0}_0(f,a,4,87);g=vI()|0;d=uH(a<<3)|0;e=0;while(1){if((e|0)>=(a|0))break;o=c[f+(e<<2)>>2]|0;LD(e,o,g,d+(c[o+12>>2]<<3)|0,k,c[j>>2]|0,b);e=e+1|0}D_(f);e=0;while(1){if((e|0)>=(a|0))break;D_(c[i+(e<<4)+4>>2]|0);e=e+1|0}D_(i);yI(g);if(0>1){f=c[15686]|0;e=0;while(1){if((e|0)>=(a|0))break a;b=c[d+(e<<3)>>2]|0;o=c[d+(e<<3)+4>>2]|0;c[m>>2]=e;c[m+4>>2]=b;c[m+8>>2]=o;g1(f,96275,m)|0;e=e+1|0}}}else d=0;while(0);l=n;return d|0}function SD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=Sy(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Ex(g,i)|0;while(1){if(!f)break b;TD(f,k,l);f=Gx(g,f)|0}}while(0);i=Ty(r,i)|0}UD(r,k,l);j=j+1|0}}while(0);return f|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;UD(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function VD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=BD(a,b,d,e)|0;if(!f)a=1;else{a=SD(a,b,f,d,c[e+12>>2]|0)|0;D_(f)}return a|0}function WD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=VD(a,b,d,e)|0;if(!n){mM(d);m=(c[d+16>>2]|0)+16|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];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}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];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function XD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)qa(96508,96514,1400,96521);d=YD(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[15686]|0;c[f>>2]=d;g1(h,96533,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;ZD(a,b,e)|0;l=g;return c[e+16>>2]|0}function YD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=xx(b,96663)|0;a:do if(g){c[h>>2]=f;h=(N1(g,134313,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return _D(xx(a,96546)|0,b,c)|0}function _D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)qa(96508,96514,1292,96555);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(z$(b,96573,5)|0)){c[p>>2]=4;m=$D(b+5|0,e)|0;c[k>>2]=j;m=(N1(m,134313,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(z$(b,96579,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(N1(b+5|0,96586,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(b,104980)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(b$(b,108412)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(b$(b,108399)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[15686]|0;E1(96589,11,1,d)|0;c[s>>2]=aE(c[p>>2]|0)|0;g1(d,96601,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];g1(d,96614,t)|0}c[q>>2]=c[n>>2];g1(d,96627,q)|0;c[r>>2]=c[o>>2];g1(d,96640,r)|0}l=u;return c[p>>2]|0}function $D(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function aE(a){a=a|0;switch(a|0){case 1:{a=104980;break}case 2:{a=108399;break}case 3:{a=108412;break}case 4:{a=96573;break}case 5:{a=96579;break}default:a=96653}return a|0}function bE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=E_(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=E_(100,j)|0}else{h=d+100|0;i=F_(c[e+8>>2]|0,O(h,j)|0)|0;H3(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=cE(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=F_(i,O(f,j)|0)|0;H3(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){D_(i);D_(e);e=0;break}else{c[e+8>>2]=F_(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function cE(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;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((B$(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=iE(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=fE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=jE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+c2(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+c2(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+c2(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+c2(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=kE(a,j)|0;do if(a){d=c[j>>2]|0;i=E_(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+c2(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+c2(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==7){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function fE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=kE(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=E_(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){D_(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function gE(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=lE(b+1|0,d)|0;break}case 40:{b=mE(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(M$(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+c2(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=kE(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=C$(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function kE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=i1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=hE(a,n)|0;do if(((((i|0)!=0?(j=hE(i,b+16|0)|0,(j|0)!=0):0)?(e=hE(j,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=kE(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=E_(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=hE(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=fE(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){D_(f);a=0;break}else if((d|0)==12){D_(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=hE(a,b+8|0)|0;do if(((((((k|0)!=0?(m=hE(k,b+16|0)|0,(m|0)!=0):0)?(e=hE(m,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(i=hE(f,b+40|0)|0,(i|0)!=0):0)?(j=hE(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=kE(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=E_(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=hE(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=fE(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){D_(i);a=0;break}else if((d|0)==14){D_(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function nE(a,b,c){a=a|0;b=b|0;c=c|0;return bE(a,b,c,0)|0}function oE(a){a=a|0;return nE(a,0,0)|0}function pE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)tb[e&127](d);qE(d);b=b+1|0}D_(f);D_(a)}return}function qE(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{D_(c[a+8+4>>2]|0);break}case 5:case 4:{D_(c[a+8+4>>2]|0);break}case 6:{D_(c[a+8+4>>2]|0);break}case 7:{D_(c[a+40>>2]|0);break}case 9:case 8:{D_(c[a+8>>2]|0);break}case 14:case 13:{rE(a+8|0);break}case 10:{D_(c[a+16>>2]|0);break}case 11:{D_(c[a+8>>2]|0);break}case 12:{D_(c[a+40>>2]|0);break}default:{}}return}function rE(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[d+(a<<3)+4>>2]|0);a=a+1|0}D_(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[b+(a<<3)+4>>2]|0);a=a+1|0}D_(b);break}default:{}}return}function sE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(ey(ez(b)|0)|0)!=0&1;f=c[46414]|0;a:do if(f|0?(h=yx(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20284;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(b$(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[46425]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=yx(b,f)|0,a[j>>0]|0):0)tE(j,e);f=c[46426]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=yx(b,f)|0,a[m>>0]|0):0)tE(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=ez(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;sE(Rx(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function tE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=uE(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;Pw(0,96668,m)|0}l=o;return}function uE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=vE(a,20344,e)|0;if((d|0)==(a|0)){while(1){d=vE(a,20360,e)|0;if((a|0)==(d|0))break;else a=d}d=vE(a,20408,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function vE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=W_(e)|0;if(!(z$(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function wE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+LL(a,c[46418]|0,1.0,0.0))}function xE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){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[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];m=o+32|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];f=i;e=j}else{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[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|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]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){_O(a,o+16|0,3,g>>>4&1^1);break}else{_O(a,o+32|0,3,g>>>4&1^1);break}else _O(a,o,3,g>>>4&1^1);while(0);l=p;return}function yE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){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[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];y=w+64|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];i=o;j=p;k=o;m=p;f=o;e=p}else{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[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];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){_O(a,w,9,1);break}else{_O(a,w+48|0,6,1);break}else _O(a,w,6,1);while(0);l=x;return}function zE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}_O(a,p,4,1);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];h[n>>3]=e;h[o>>3]=f;bP(a,p,2);l=q;return}function AE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|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=2;p=5}}else{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];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}_O(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;bP(a,n,2);l=o;return}function BE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;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];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+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[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){_O(a,i,4,d);break}else{_O(a,i,3,d);break}}else _O(a,d,3,g>>>4&1^1);while(0);l=j;return}function CE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;ZO(a,i,2,f>>>4&1^1);l=g;return}function DE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;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];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;bP(a,r,2);if(!(g&64)){if(g&128|0)XL(s,q,3,.5,q,0)}else XL(s,q,3,.5,0,q);aP(a,q,4,0,0,0);l=t;return}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;bP(a,i,2);l=g;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 i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+wE(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<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];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o>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];q=k+32|0;a=b+(e+1<<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];f=k+16|0;d=b+(e+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[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[j>>2]=k;c[j+4>>2]=m;MK(j,90,k,1);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];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[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|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];l=n;return e|0}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function HE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+wE(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<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];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p>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];g=m+16|0;d=b+(i+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];r=m+32|0;a=b+(i+1<<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];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;MK(k,90,m,0);n=b+(i<<4)|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];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[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[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];l=o;return i|0}function IE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+wE(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;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];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+wE(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k>3]=n;h[b+(w<<4)+8>>3]=m;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];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+wE(a,g);q=+wE(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s>3]=q;h[b+(w<<4)+8>>3]=o;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];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;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[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function JE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o>3]=i>3]=f>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function KE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;YO(a,c[(c[a>>2]|0)+336>>2]|0);fP(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;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[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];LE(p,a,k,m,f,g,j);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];b=b+1|0}c[n>>2]=o;l=q;return}function LE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>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];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];wb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>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];l=q;return}function ME(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=xx(b,96770)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=xx(b,96782)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=nE(e,0,120)|0;if(!d){c[f>>2]=ry(b)|0;Pw(0,96789,f)|0;c[g>>2]=e;Pw(3,96842,g)|0}}l=i;return d|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=uH(304)|0;if(!f)Pw(1,96850,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+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=f+56|0;d=a+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));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|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))}l=g;return f|0}function OE(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)qa(96876,96880,117,96887);else{D_(c[b+212>>2]|0);D_(c[b+208>>2]|0);D_(c[b+216>>2]|0);D_(c[b+220>>2]|0);D_(c[b+224>>2]|0);D_(c[b+228>>2]|0);D_(c[b+232>>2]|0);D_(c[b+236>>2]|0);D_(c[b+240>>2]|0);D_(c[b+244>>2]|0);D_(c[b+248>>2]|0);D_(c[b+252>>2]|0);D_(c[b+256>>2]|0);D_(c[b+272>>2]|0);D_(c[b+284>>2]|0);D_(c[b+280>>2]|0);c[a>>2]=c[b>>2];D_(b);return}}function PE(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=pH(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=pH(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=pH(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=n1(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=pH(h,j)|0;d=1}return d|0}function QE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;RE(b,e);b=xx(d,137978)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){Ww(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){Ww(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(pz(d)|0){case 0:{f=(g|0)==(d|0)?108412:96901;b=(c[d>>2]|0)>>>4;break}case 1:{f=108399;b=(c[d>>2]|0)>>>4;break}case 2:{f=108368;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}Ww(e,f)|0;c[i>>2]=b;Y0(h,96907,i)|0;Ww(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function RE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){Ww(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;Y0(g,96911,h)|0;Ww(d,g)|0}l=i;return}function SE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=TE(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)fP(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{WO(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;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];b=rQ(p,k,m,i,e)|0;aP(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);nV(b)}i=e;f=f+12|0}if(n)fP(a,r);UE(j)}l=s;return o|0}function TE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=uH(12)|0;i=n1(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=uH((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=k1(f,104958)|0;if(!f){f=20;break}j=+VE(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[5130]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;Pw(0,96922,n)|0;c[5130]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[5130]|0))d=1;else{c[o>>2]=b;Pw(1,96957,o)|0;c[5130]=0;d=2}UE(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function UE(a){a=a|0;D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(a);return}function VE(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=A$(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+c2(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function WE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=TE(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){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];p=r+16|0;o=b+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+32|0;o=b+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];p=r+48|0;o=b+48|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]}else{p=b+32|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];p=r+16|0;o=b+48|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+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];p=r+48|0;o=b+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]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)fP(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){WO(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;_O(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)fP(a,s);UE(i)}l=t;return q|0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;D_(c[g>>2]|0);d=uH(c[h>>2]<<4)|0;c[g>>2]=d;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];g=d+16|0;b=b+16|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];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function YE(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(n>i|n>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function ZE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|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[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[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];g=+$G(f,e,d);h=a+32|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[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+$G(f,e,d)<4.0&1;l=b;return a|0}function _E(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,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,I=0.0,J=0,K=0;D=l;l=l+272|0;u=D+256|0;v=D+224|0;w=D+192|0;x=D+128|0;y=D+64|0;z=D;A=D+160|0;B=D+96|0;C=D+32|0;t=c[d+16>>2]|0;s=c[t+144>>2]|0;r=t+16|0;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];c[x+16>>2]=c[r+16>>2];c[x+20>>2]=c[r+20>>2];c[x+24>>2]=c[r+24>>2];c[x+28>>2]=c[r+28>>2];t=c[(c[t+8>>2]|0)+88>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(!t){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{d=x+16|0;if(+h[x>>3]==+h[d>>3]?(e=x+8|0,f=x+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[x>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}j=v+8|0;k=v+16|0;m=v+24|0;n=y+16|0;o=y+24|0;p=s+144|0;q=w+16|0;r=t+12|0;d=0;f=c[t+8>>2]|0;e=0;g=0.0;i=0;while(1){if((i|0)>=(c[t>>2]|0))break;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];switch(c[f>>2]|0){case 1:case 0:{H=+h[f+8>>3];I=+h[f+24>>3];h[v>>3]=H-I;F=+h[f+16>>3];G=+h[f+32>>3];h[j>>3]=F-G;h[k>>3]=I+H;h[m>>3]=G+F;E=f+80|0;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];E=f+96|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[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];$E(x,u);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];$E(x,u);break}case 3:case 2:{E=f+80|0;J=f+8|0;aF(A,c[J+4>>2]|0,c[J>>2]|0,x);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[E+16>>2]=c[A+16>>2];c[E+20>>2]=c[A+20>>2];c[E+24>>2]=c[A+24>>2];c[E+28>>2]=c[A+28>>2];break}case 5:case 4:{J=f+80|0;E=f+8|0;aF(B,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[B>>2];c[J+4>>2]=c[B+4>>2];c[J+8>>2]=c[B+8>>2];c[J+12>>2]=c[B+12>>2];c[J+16>>2]=c[B+16>>2];c[J+20>>2]=c[B+20>>2];c[J+24>>2]=c[B+24>>2];c[J+28>>2]=c[B+28>>2];break}case 6:{J=f+80|0;E=f+8|0;aF(C,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];c[J+16>>2]=c[C+16>>2];c[J+20>>2]=c[C+20>>2];c[J+24>>2]=c[C+24>>2];c[J+28>>2]=c[C+28>>2];break}case 7:{J=f+112|0;c[J>>2]=uH(56)|0;E=n1(c[f+40>>2]|0)|0;K=c[J>>2]|0;c[K>>2]=E;a[K+48>>0]=a[97003+(c[f+24>>2]|0)>>0]|0;c[y>>2]=e;h[n>>3]=g;c[o>>2]=c[o>>2]&-128|d&127;K=c[p>>2]|0;K=nb[c[K>>2]&63](K,y,1)|0;E=c[J>>2]|0;c[E+4>>2]=K;wL(u,s,E);bF(w,+h[f+8>>3],+h[f+16>>3],c[J>>2]|0);J=f+80|0;c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];c[J+16>>2]=c[w+16>>2];c[J+20>>2]=c[w+20>>2];c[J+24>>2]=c[w+24>>2];c[J+28>>2]=c[w+28>>2];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];$E(x,u);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];$E(x,u);if(!(c[r>>2]|0))c[r>>2]=106;break}case 10:{e=c[f+16>>2]|0;g=+h[f+8>>3];break}case 15:{d=c[f+8>>2]|0;break}default:{}}f=f+120|0;i=i+1|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]}l=D;return}function $E(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function aF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}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];$E(e,k);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];$E(e,k);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];l=r;return}function bF(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function cF(a){a=a|0;if((c[a>>2]|0)==7)mH(c[a+112>>2]|0,1);return}function dF(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[46369]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;cP(b,NL(d,nx(d,0,98496,0)|0,191979)|0);c[b+160>>2]=0;eF(b,d);if(j&2|0)fF(b,d);e=Sy(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=Ty(d,e)|0}gF(b,k);while(1){if(!((hF(b)|0)<<24>>24))break;if((iF(b)|0)>1)DO(b);jF(b);while(1){if(!((kF(b)|0)<<24>>24))break;lF(b,d);mF(b)}if((iF(b)|0)>1)EO(b);nF(b,k)}oF(b);l=m;return}function eF(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);zO(a,b);return}function fF(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;WO(b,131718);d=xx(c,137895)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(c,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);zG(b,c);g=Sy(c)|0;while(1){if(!g)break;d=xx(g,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(g,134647)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(g,98392)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(g,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Ex(c,g)|0;while(1){if(!f)break;d=xx(f,137741)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(f,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Gx(c,f)|0}g=Ty(c,g)|0}return}function gF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];Pw(0,97541,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];Pw(0,97541,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function hF(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function iF(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function jF(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function kF(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function lF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{Tw(m,128,f);g=n+212|0;h=c[g>>2]|0;RE(d,m);Ww(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){Uw(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}qQ(xx(e,97006)|0);qF(d);BO(d);UO(d,134232);WO(d,131718);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=uH((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){WG(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))yO(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;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];XE(d,k);PO(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);rF(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)oH(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;QO(d)}while(0);sF(d,e,o);CO(d);if(h|0){Xw(m);c[n+212>>2]=h}l=p;return}function mF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];pF(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((kF(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];pF(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function nF(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function oF(a){a=a|0;AO(a);OE(a);return}function pF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function qF(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];yG(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];yG(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;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]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[46369])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[46369]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function rF(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=xx(d,137895)|0;if(!e){j=1;e=134116}else{i=(a[e>>0]|0)==0;j=i&1;e=i?134116:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(b$(e,134297)|0)==0;k=m?134116:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(b$(e,134297)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((uG(k,o,p)|0)<<24>>24)){WO(b,k);UO(b,134297);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];$O(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;WO(b,i);UO(b,134297);tG(d,r)|0;e=c[o+4>>2]|0;h=KL(d,c[46373]|0,0,0)|0;f=+g[p>>2];if(!e)XO(b,134232,h,f);else XO(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|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];$O(b,q,r);D_(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)wG(b,e);l=s;return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)tF(a,b,d);a:do if(!(d&1)){if(d&16|0){JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a);HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);break}if(!(d&8)){f=Sy(b)|0;while(1){if(!f)break a;uF(a,f);e=Ex(b,f)|0;while(1){if(!e)break;uF(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}}HO(a);e=Sy(b)|0;while(1){if(!e)break;if((wF(b,e)|0)<<24>>24)uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if((xF(b,e)|0)<<24>>24)vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}else{HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}while(0);if(g)tF(a,b,d);return}function tF(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((rG(e,u)|0)<<24>>24){if(L)tF(e,u,i);sG(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;qQ(xx(u,97006)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;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[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=tG(u,H)|0;if(!j)p=0;else{YO(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=OL(u,0,103230)|0;k=OL(u,0,103238)|0;O=29;break}if(j&8|0){j=OL(u,0,103246)|0;k=OL(u,0,103254)|0;O=29;break}if(j&4|0){j=OL(u,0,103262)|0;k=OL(u,0,103270)|0;O=29;break}j=xx(u,137741)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=xx(u,134647)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=xx(u,98392)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=xx(u,137895)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=OL(u,0,103214)|0;k=OL(u,0,103222)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;O=31}if((O|0)==31){O=0;if(!((uG(n,J,w)|0)<<24>>24)){WO(e,n);k=1}else{WO(e,c[J>>2]|0);k=c[G>>2]|0;m=KL(u,c[46373]|0,0,0)|0;o=+g[w>>2];if(!k)XO(e,134232,m,o);else XO(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[46372]|0;if((m|0?(z=yx(u,m)|0,z|0):0)?a[z>>0]|0:0)fP(e,+LL(u,c[46372]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=KL(u,c[46371]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|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];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)UO(e,134297);else UO(e,j);EJ(e,I,4,p,k)}}else{if(!(p&64)){if(KL(u,c[46371]|0,1,0)|0){UO(e,j);Q=(c[q>>2]|0)+16|0;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[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}if(!k)break;UO(e,134297);Q=(c[q>>2]|0)+16|0;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[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|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];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(KL(u,c[46371]|0,1,0)|0))UO(e,134297);else UO(e,j);if((WE(e,I,n,0)|0)>1){c[N>>2]=ry(u)|0;Pw(3,97374,N)|0}Q=(c[q>>2]|0)+16|0;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[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,0)}while(0);D_(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)oH(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;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[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}QO(e)}a:do if(!F){k=Sy(u)|0;while(1){if(!k)break a;uF(e,k);j=Ex(u,k)|0;while(1){if(!j)break;vF(e,j);j=Gx(u,j)|0}k=Ty(u,k)|0}}while(0);vG(e,f);if(!L)tF(e,u,i)}v=v+1|0}l=P;return}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(jG(b,ez(d)|0,d)|0)<<24>>24:0)?(k=b+256|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[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(kG(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;cP(b,ry(d)|0);e=NL(d,c[46399]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46387]|0,191979)|0;b:do if(a[e>>0]|0){AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);lG(b,d);ub[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)oH(b,10,e);mG(b)}while(0);l=j;return}function vF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|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];a:do if((yF(d,g)|0)<<24>>24?(f=d+-48|0,(zF(b,d)|0)<<24>>24):0){i=d+48|0;e=W_(ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=C_(e+3+(W_(ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;b0(e,ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(ey(ez(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(W_(e)|0)|0;if(i){a[g>>0]=a[138665]|0;a[g+1>>0]=a[138666]|0;a[g+2>>0]=a[138667]|0}else{a[g>>0]=a[134656]|0;a[g+1>>0]=a[134657]|0;a[g+2>>0]=a[134658]|0}p1(e,ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;cP(b,e);D_(e);e=NL(d,c[46421]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46415]|0,191979)|0;b:do if(!(a[e>>0]|0))e=0;else{AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=185144;break b}if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);BF(b,d,e);CF(b,d,e);DF(b)}while(0);l=h;return}function wF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function xF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function yF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|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[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(iG(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((VM(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(VM(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function zF(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,c[46420]|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=NL(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[46397]|0,191979)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((eG(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function AF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[97256]|0){Tw(185408,128,191746);a[97256]=0}Tw(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(cG(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;c[185144+(e<<2)>>2]=c[46353];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;Ww(185408,d)|0;d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;Pw(1,97257,k)|0;c[46286]=0;Xw(j)}else if((d|0)==9){c[m>>2]=b;Pw(1,97291,m)|0;c[46286]=0;Xw(j)}else if((d|0)==12){c[n>>2]=b;Pw(0,97319,n)|0;c[46349]=0;Xw(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;Pw(1,97342,o)|0;c[46286]=0;Xw(j);break}c[185144+(e<<2)>>2]=0;Xw(j);d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}a[d>>0]=0;c[46353]=c[46352]}while(0);l=p;return 185144}function BF(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=NE(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(RL(xx(f,97079)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)YO(d,g);g=c[46436]|0;if((g|0?(i=yx(f,g)|0,i|0):0)?a[i>>0]|0:0)fP(d,+LL(f,c[46436]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(ez(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{Tw(o,128,p);c[z+212>>2]=pH(QE(d,f,o)|0,f)|0;Xw(o);g=xx(f,137973)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=xx(f,108395)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=pH(g,f)|0;g=xx(f,97092)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=xx(f,97101)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=n1(i)|0;q=39}}while(0);if((q|0)==36){g=pH(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=xx(f,97109)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=xx(f,97119)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=n1(i)|0;q=47}}while(0);if((q|0)==44){g=pH(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=xx(f,97128)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=xx(f,97137)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=n1(i)|0}while(0);if((q|0)==52){c[z+220>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=xx(f,97145)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=xx(f,97154)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=n1(i)|0}while(0);if((q|0)==59){c[z+224>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=xx(f,138006)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=pH(g,f)|0;else i=0;g=xx(f,97162)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=pH(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=n1(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=xx(f,97173)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=pH(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=n1(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=xx(f,97185)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=pH(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=n1(i)|0;g=xx(f,97196)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=pH(g,f)|0;break}if(i)c[z+256>>2]=n1(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=xx(f,138019)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=xx(f,97207)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=n1(g)|0}while(0);if((q|0)==94){p=WF(g,f)|0;c[z+228>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=xx(f,97219)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=WF(g,f)|0;c[z+232>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=n1(r)|0;g=xx(f,97232)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=WF(g,f)|0;c[z+236>>2]=pH(r,f)|0;D_(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=n1(s)|0;g=xx(f,97244)|0;if(g|0?a[g>>0]|0:0){s=WF(g,f)|0;c[z+240>>2]=pH(s,f)|0;D_(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=n1(g)|0}while(0);D_(j);D_(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;XF(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;yO(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);NO(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))PO(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function CF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.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.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];qQ(xx(e,97006)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+LL(e,c[46418]|0,1.0,0.0);k=NL(e,c[46406]|0,191979)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(b$(i,108091)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(KF(b,e,f,k,q+1|0,N,M)|0))break;else m=134232;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=OL(e,c[46407]|0,m)|0}else{j=103270;g=103262;k=185632;i=185632;p=18}else{j=103254;g=103246;k=185632;i=185632;p=18}else{j=103238;g=103230;k=185632;i=185632;p=18}else{j=103222;g=103214;k=185632;i=185632;p=18}if((p|0)==18){i=c[i>>2]|0;i=OL(e,i,LF(m,g)|0)|0;g=OL(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{UO(b,i);j=g}}if((j|0)!=(m|0))WO(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?134232:i;g=(a[j>>0]|0)==0?134232:j;UO(b,134297);WO(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=kL(O,MF(e)|0,M,0,0)|0;_O(b,c[J+8>>2]|0,c[J>>2]|0,1);NF(J);UO(b,i);if((g|0)!=(i|0))WO(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];KE(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|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[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];KE(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){UO(b,i);WO(b,j);break}UO(b,134232);if(!(a[j>>0]|0)){WO(b,134232);break}else{WO(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){aP(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;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[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|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[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;YO(b,f)}}else aP(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=C_(A)|0;A=C_(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=C_(n)|0;c[z+(o*48|0)>>2]=m;n=C_(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>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];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+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];OF(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{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];OF(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|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];u=k+3|0;R=R+(u<<4)|0;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];Q=m+(g<<4)|0;r=m+(s<<4)|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[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[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[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];PF(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];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];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|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[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];OF(B,K,L);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];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=n1(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=k1(i,104958)|0;if(!i)break;e=(a[i>>0]|0)==0?134232:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,e);WO(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}aP(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,g);WO(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|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];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];KE(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){UO(b,r);WO(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>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];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];KE(b,3,K,L,N,M,g)}D_(s);g=0;while(1){if((g|0)>=(I|0))break;D_(c[z+(g*48|0)>>2]|0);D_(c[A+(g*48|0)>>2]|0);g=g+1|0}D_(z);D_(A)}while(0);l=P;return}function DF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(QO(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);PO(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);QO(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+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];p=p+32|0;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];if(!y){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]}else{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]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|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];t=o+(p*48|0)+32|0;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];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{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]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,j,11,k,i,h,e,g,d);FF(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);FF(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);OO(a);OE(a);l=x;return}function EF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0: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];JF(a,h)}l=j;return}function FF(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=uH((W_(j)|0)+11|0)|0;switch(e|0){case 11:{m=105198;break}case 7:{m=98557;break}case 6:{m=98567;break}default:qa(135312,96880,2730,97018)}c[o>>2]=j;c[o+4>>2]=m;Y0(n,97034,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){GF(b,d);PO(b,g,h,i,n)}oH(b,e,d);if(k|0)HF(b,d,k);if(j){if(!m){GF(b,d);PO(b,g,h,i,n)}QO(b)}D_(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;D_(c[i>>2]|0);d=uH(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function HF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(B$(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;IF(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;IF(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|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];bM(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];YO(b,c[(c[b>>2]|0)+336>>2]|0);UO(b,c[d+8>>2]|0);bP(b,i,3)}l=o;return}function IF(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function JF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;D_(c[j>>2]|0);d=uH(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function KF(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=TE(e,f,k)|0;if((e|0)>1){z=b+48|0;A=ez(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=ry(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(ey(A)|0)!=0;B=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?97053:97058;c[j+8>>2]=B;Pw(3,97063,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{UO(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){UF(F,n,H,E);k=c[H>>2]|0;aP(a,k,c[t>>2]|0,0,0,0);D_(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];UF(G,n/(m+n),H,E);D_(c[G>>2]|0);f=c[H>>2]|0;aP(a,f,c[t>>2]|0,0,0,0);D_(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;D_(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;aP(a,o,c[A>>2]|0,0,0,0);D_(o)}if(c[u>>2]|0){UO(a,c[c[s>>2]>>2]|0);WO(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];KE(a,2,C,D,h,i,o)}if(c[v>>2]|0){UO(a,e);WO(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];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];KE(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;YO(a,d)}while(0);p=p+1|0}UE(r);e=0}l=J;return e|0}function LF(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((W_(d)|0)+1|0,e)|0;b=f+10|0;if((c[46350]|0)<(f|0)){c[46350]=b;b=F_(c[46351]|0,b)|0;c[46351]=b}else b=c[46351]|0;b0(b,d)|0;while(1){e=e+-1|0;b=c[46351]|0;if(!e)break;f=b+(W_(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;p1(b,d)|0}return b|0}function MF(b){b=b|0;var d=0,e=0;d=c[46414]|0;a:do if(!d)e=7;else{d=yx(b,d)|0;switch(a[d>>0]|0){case 110:if(!(b$(d,132627)|0)){d=1;break a}else{e=7;break a}case 102:if(!(b$(d,97040)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(b$(d,97048)|0)){d=3;break a}if(!(b$(d,108195)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(ey(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function NF(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function OF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function PF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function QF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function RF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function SF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function TF(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function UF(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=uH(64)|0;c[e+4>>2]=4;n=uH(64)|0;c[e>>2]=n;XL(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=uH(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+VF(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=uH(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=uH(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;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];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|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];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];XL(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);D_(n)}l=p;return}function VF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function WF(b,d){b=b|0;d=d|0;d=fz(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=RM(b)|0;else d=OM(b,d)|0;return bG(d)|0}function XF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=vH(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;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];g=g+1|0}h=h+1|0;i=YF(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;ZF(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}_F(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];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=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;D_(g);h=s;g=s}l=q;return}function YF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(ZE(a)|0)){XL(f,a,3,.5,d,e);d=YF(e,YF(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>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]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=aG(f,b)|0}l=g;return d|0}function ZF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;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];do if(a){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];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(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[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];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+$F(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function _F(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=xH(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=xH(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function $F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function aG(a,b){a=a|0;b=b|0;var d=0;d=vH(24)|0;c[d+16>>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[b+16>>2]=d;return d|0}function bG(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(B$(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((dG(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function dG(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function eG(a,b){a=a|0;b=b|0;return fG(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function fG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;Tw(n,128,o+24|0);Ww(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){Uw(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=m1(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=m1(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=m1(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=gG(b,g,0)|0;f=gG(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(gG(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}Xw(n);l=o;return f|0}function gG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(b$(d,97370)|0)==0:0))f=3;a:do if((f|0)==3){if((hG(d)|0)<<24>>24){e=a2(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(b$(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function hG(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function iG(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function jG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=NL(e,c[46397]|0,191979)|0,(eG(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Jx(d,e)|0))f=1;else{f=Jx(d,e)|0;while(1){if(!f){f=0;break a}g=NL(f,c[46420]|0,191979)|0;if(!(a[g>>0]|0)){f=1;break a}if((eG(b,g)|0)<<24>>24){f=1;break a}f=Kx(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function kG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>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];b=(iG(f,e)|0)&255;l=d;return b|0}function lG(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=NE(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(ez(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;nG(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=HJ(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=oG(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((pG(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=xx(d,99679)|0;if(!g)g=0;else g=a2(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=uH(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=qG(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=uH(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=uH(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))yO(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);qQ(xx(d,97006)|0);LO(a,d);return}function mG(a){a=a|0;MO(a);OE(a);return}function nG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=xx(e,137973)|0;i=xx(e,138019)|0;k=xx(e,138006)|0;Tw(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=xx(e,108395)|0;g=QE(b,e,j)|0;if(!i)d=0;else d=WF(i,e)|0;PE(b,h,f,d,k,g,e)|0;D_(d);Xw(j);l=m;return}function oG(b){b=b|0;var d=0,e=0;b=OL(b,c[46387]|0,191979)|0;a:do if(!(a[b>>0]|0))b=0;else{AF(b)|0;b=0;d=185144;while(1){e=c[d>>2]|0;if(!e)break a;e=(b$(e,108075)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function pG(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function qG(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=uH(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function rG(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,nx(d,0,98484,0)|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=Sy(d)|0;while(1){if(!e){e=0;break a}if((jG(b,d,e)|0)<<24>>24){e=1;break a}e=Ty(d,e)|0}}else e=0;else e=1;while(0);return e|0}function sG(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);FO(a,b);return}function tG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=xx(b,138e3)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){AF(b)|0;e=185144;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=185144;break a}if(!(b$(f,108075)|0)){g=10;break}if(!(b$(f,103308)|0)){f=e;g=12;break}if(!(b$(f,103315)|0)){f=e;g=14;break}if(!(b$(f,103290)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(TE(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)Pw(0,97389,i)|0;m=vH((W_(b)|0)+1|0)|0;c[d>>2]=m;b0(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((W_(m)|0)+1)|0;c[d+4>>2]=m;b0(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);UE(j);b=1}else{c[d>>2]=0;UE(j);b=0}l=k;return b|0}function vG(a,b){a=a|0;b=b|0;GO(a,b);OE(a);return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=vH(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|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];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[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];ZO(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|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[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>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];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;_O(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|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[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>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];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;aP(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|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[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>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];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;bP(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|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[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>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];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>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];TO(a,p,d);d=j}break}case 8:{WO(a,c[r+8>>2]|0);d=1;break}case 9:{UO(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);WO(a,c[z+4>>2]|0);XO(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);WO(a,j);XO(a,n,d,o);d=3;break}case 14:{Pw(0,97455,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{Pw(0,97495,w)|0;e=0;d=j}break}case 11:{AF(c[r+8>>2]|0)|0;YO(a,185144);i=185144;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)YO(a,c[(c[a>>2]|0)+336>>2]|0);D_(f);l=x;return}function xG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=xH(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function yG(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function zG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;zG(b,e);d=xx(e,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,134647)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,137895)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,98392)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(e,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=f+1|0}return}function AG(a){a=a|0;var b=0,d=0,e=0;b=c[46356]|0;if(!b){b=Cw(20524,c[4555]|0)|0;c[46356]=b}if(!(nb[c[b>>2]&63](b,a,4)|0)){d=c[46356]|0;e=c[d>>2]|0;b=n1(a)|0;nb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function BG(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CG(a){a=a|0;var b=0;b=c[46357]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[46357]=b,(b|0)==0):0){J0(1,c[46358]|0)|0;D_(c[46358]|0)}}else{c[46357]=b+1;if(!b){c[46358]=n1(J0(1,0)|0)|0;J0(1,150481)|0}}return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)EL();do if((Az(b,134401,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){EG(b);FG(a,b);GG(a,b);CG(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=pC(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=25660;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=uO(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=HG(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(b$(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[46359]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}wO(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[46359]=0;g=27}if((g|0)==27?(g=0,(vO(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=25772;IG(i);JG(i);KG(i,b);LG(i,b);MG(i,b);if(!(c[f>>2]&128))dF(i,b);c[46359]=i}i=qC(a)|0}if((g|0)==13){Pw(1,97653,s)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;s=ry(b)|0;v=+FL();c[t>>2]=s;h[t+8>>3]=v;g1(d,97624,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];Pw(1,97674,p)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[q>>2]=t;h[q+8>>3]=v;g1(d,97624,q)|0;d=-1;break}else if((g|0)==33){CG(0);if(!0){d=0;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[r>>2]=t;h[r+8>>3]=v;g1(d,97624,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){Pw(1,97576,d)|0;if(!0)d=-1;else{d=c[15686]|0;t=ry(b)|0;v=+FL();c[e>>2]=t;h[e+8>>3]=v;g1(d,97624,e)|0;d=-1}}l=u;return d|0}function EG(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;RG(a,b);b=Ty(a,b)|0}return}function FG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=xx(d,102470)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=N1(e,102477,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=xx(d,98076)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=N1(e,102477,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|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];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=98080;f=xx(d,98083)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+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[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];c[46371]=nx(d,0,98446,0)|0;c[46372]=nx(d,0,98437,0)|0;c[b+320>>2]=OL(0,c[46381]|0,104968)|0;h[b+328>>3]=+LL(0,c[46380]|0,14.0,1.0);c[b+336>>2]=20560;c[b+188>>2]=ry(d)|0;l=o;return}function GG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){D_(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){D_(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){D_(e);c[g>>2]=0}e=xx(d,97827)|0;if(e){c[b+312>>2]=PG(b,d,e)|0;e=xx(d,97834)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=QG(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function HG(b){b=b|0;b=xx(b,97795)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(b$(b+1|0,97807)|0))b=1;else{b=0;break a}break}case 101:{if(!(b$(b+1|0,97817)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function IG(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|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]}return}function JG(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|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];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|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]}while(0);return}function KG(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|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];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|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];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function LG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(if&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=xx(d,97726)|0;if(g){m=C_((W_(g)|0)+1|0)|0;n=C_((W_(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((N1(g,97735,s)|0)==4){g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((N1(g,97755,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;N1(g,97775,t)|0;break}g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);D_(m);D_(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function MG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|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=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(e,J);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]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]>3];h[I>>3]=o;e=p;f=I;m=+h[(g>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;OG(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;OG(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){OG(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;OG(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];Pw(0,97706,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[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];NG(B,J);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[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];NG(C,J);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];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];NG(D,J);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=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];yG(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];yG(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function NG(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function OG(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function PG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=xx(d,97947)|0;i=b+296|0;c[i>>2]=(f|0)==0?97956:f;d=xx(d,97960)|0;f=b+300|0;d=(d|0)==0?97973:d;c[f>>2]=d;d=q1(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];Pw(0,97975,g)|0;c[f>>2]=191979}d=n1(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=k1(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=vH(f<<2)|0;else d=xH(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=xH(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=vH((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((fG(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;Pw(0,97846,j)|0;D_(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Ex(a,b)|0;while(1){if(!b)break;SG(b);b=Gx(a,b)|0}return}function SG(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)TG(a);return}function TG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)qa(98114,96880,3994,98128);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>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[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];JE(z,u,v,1.0,b);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];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<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];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];JE(A,u,v,1.0,b);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];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|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];l=C;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)qa(98144,96880,3968,98156);if(((k>>>0)%3|0|0)!=1)qa(98166,96880,3969,98156);m=j+16|0;d=c[b>>2]|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[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]>3];h[j>>3]=o;s=+h[(+h[f>>3]>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o>3];o=+h[e>>3];h[f>>3]=+h[(s>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function WG(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[46360]|0)!=(d|0)){w$(+(d|0)*.15915494309189535,183248,183256);c[46360]=d}g=+h[b>>3];e=+h[22907];f=+h[b+8>>3];i=+h[22906];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<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];ZG(a,f,0-d|0);break a}if((d|0)>360){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];YG(a,f,(d>>>0)%360|0);break a}else{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];XG(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<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];YG(a,f,0-d|0);break a}if((d|0)>360){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];ZG(a,f,(d>>>0)%360|0);break a}else{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];XG(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=xx(a,b)|0;if(a|0?(c[f>>2]=e,(N1(a,98183,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function bH(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=uH(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=xx(b,98187)|0;if(!e){e=Ta(98196)|0;if(e|0)k=3}else k=3;if((k|0)==3)cb(98208,e|0,1)|0;e=(cH(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=xx(b,98219)|0,c[46362]=e,(e|0)==0):0)c[46362]=c[46361];f=+LL(b,nx(b,0,98229,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=xx(b,98237)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(b$(e,98245)|0)){e=1;break a}break}case 66:{if(!(b$(e,98248)|0)){e=2;break a}break}case 82:{e=(b$(e,98251)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+LL(b,nx(b,0,98254,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=NL(b,nx(b,0,98262,0)|0,0)|0;if(e){c[g>>2]=i;if(N1(e,98183,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(P0(e,98270)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(KL(b,nx(b,0,98278,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=aM(NL(b,nx(b,0,98288,0)|0,0)|0,20572,20588)|0;c[(c[m>>2]|0)+244>>2]=i;dH(b);i=eH(b,98298,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;eH(b,98303,e+48|0)|0;e=QL(xx(b,98308)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=xx(b,98315)|0;do if(!e){e=xx(b,98322)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=xx(b,98334)|0;if(e|0){e=QL(e)|0;k=27}}else{e=(a2(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[46364]=aM(xx(b,98344)|0,20604,20620)|0;a[191874]=QL(xx(b,98356)|0)|0;c[46367]=0;c[46368]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=xx(b,98368)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=xx(b,98372)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+b2(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}fH(b);h[22910]=1.e+37;c[46370]=nx(b,0,98383,0)|0;c[46373]=nx(b,0,137952,0)|0;c[46374]=nx(b,0,102470,0)|0;c[46375]=nx(b,1,137966,0)|0;c[46376]=nx(b,1,138034,0)|0;c[46377]=nx(b,1,105204,0)|0;c[46378]=nx(b,1,137741,0)|0;c[46379]=nx(b,1,98392,0)|0;c[46387]=nx(b,1,138e3,0)|0;c[46380]=nx(b,1,98402,0)|0;c[46381]=nx(b,1,98411,0)|0;c[46382]=nx(b,1,98420,0)|0;k=nx(b,1,105198,0)|0;c[46384]=k;if(!k)c[46384]=nx(b,1,105198,102467)|0;c[46385]=nx(b,1,98430,0)|0;c[46388]=nx(b,1,98278,0)|0;c[46402]=nx(b,1,98437,0)|0;c[46391]=nx(b,1,98383,0)|0;c[46383]=nx(b,1,102470,0)|0;c[46389]=nx(b,1,137994,0)|0;c[46390]=nx(b,1,98446,0)|0;c[46393]=nx(b,1,98458,0)|0;c[46392]=nx(b,1,98322,0)|0;c[46394]=nx(b,1,98463,0)|0;c[46395]=nx(b,1,137942,0)|0;c[46396]=nx(b,1,134215,0)|0;c[46386]=nx(b,1,98474,0)|0;c[46397]=nx(b,1,98484,0)|0;c[46398]=nx(b,1,98490,0)|0;c[46399]=nx(b,1,98496,0)|0;c[46400]=nx(b,1,98504,0)|0;c[46401]=nx(b,1,98513,0)|0;c[46403]=nx(b,1,137952,0)|0;c[46404]=nx(b,2,98515,0)|0;c[46406]=nx(b,2,137741,0)|0;c[46407]=nx(b,2,98392,0)|0;c[46409]=nx(b,2,98402,0)|0;c[46410]=nx(b,2,98411,0)|0;c[46411]=nx(b,2,98420,0)|0;c[46412]=nx(b,2,105198,0)|0;c[46413]=nx(b,2,98430,0)|0;c[46422]=nx(b,2,98522,0)|0;c[46414]=nx(b,2,98533,0)|0;c[46425]=nx(b,2,98537,0)|0;c[46426]=nx(b,2,98547,0)|0;c[46427]=nx(b,2,98557,0)|0;c[46428]=nx(b,2,98567,0)|0;c[46429]=nx(b,2,98577,0)|0;c[46430]=nx(b,2,98591,0)|0;c[46431]=nx(b,2,98605,0)|0;c[46432]=nx(b,2,98620,0)|0;c[46433]=nx(b,2,98634,0)|0;c[46405]=nx(b,2,98645,0)|0;c[46417]=nx(b,2,98278,0)|0;c[46415]=nx(b,2,138e3,0)|0;c[46416]=nx(b,2,98652,0)|0;c[46418]=nx(b,2,98661,0)|0;c[46419]=nx(b,2,98671,0)|0;c[46420]=nx(b,2,98484,0)|0;c[46421]=nx(b,2,98496,0)|0;c[46434]=nx(b,2,98682,0)|0;c[46435]=nx(b,2,98691,0)|0;c[46436]=nx(b,2,98437,0)|0;e=ME(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=xx(b,137978)|0;if(e|0?a[e>>0]|0:0){b=pH(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function cH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=OL(a,nx(a,0,98781,0)|0,98789)|0;if(((((((O$(a,98795)|0)!=0?(O$(a,98803)|0)!=0:0)?(O$(a,98810)|0)!=0:0)?(O$(a,98813)|0)!=0:0)?(O$(a,98824)|0)!=0:0)?(O$(a,98835)|0)!=0:0)?(O$(a,98845)|0)!=0:0)if((O$(a,98856)|0)!=0?(O$(a,98862)|0)!=0:0)if((O$(a,98789)|0)!=0?(O$(a,98867)|0)!=0:0){c[b>>2]=a;Pw(0,98872,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function dH(b){b=b|0;var d=0.0,e=0,f=0;e=xx(b,98739)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(b$(e,98745)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(e,98750)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(b$(e,98759)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(b$(e,98766)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+b2(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function eH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=xx(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(N1(b,98723,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(N1(b,98733,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function fH(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=xx(b,105198)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(Rz(d)|0)!=0;g=+LL(b,nx(b,0,98402,0)|0,14.0,1.0);i=OL(b,nx(b,0,98411,0)|0,104968)|0;d=kH(b,d,e?2:0,g,i,OL(b,nx(b,0,98420,0)|0,134232)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=xx(b,102602)|0;e=(d|0)!=0;do if((fz(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=xx(b,98700)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((fz(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function gH(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){pE(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}D_(c[b+92>>2]|0);b=c[e>>2]|0}while(0);D_(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;nH(c[e+12>>2]|0);Gz(a,0,134401);return}function hH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=98945;break}case 1:{a=98813;break}case 2:{a=98951;break}default:{c[b>>2]=a;Pw(1,98915,b)|0;a=98945}}l=d;return a|0}function iH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=vH((W_(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;jH(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;jH(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;jH(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function jH(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=uH((k*56|0)+112|0)|0;else n=wH(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[45824]=c[e+4>>2];h[22914]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=nb[c[g>>2]&63](g,183296,1)|0;wL(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function kH(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=uH(88)|0;switch(pz(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=fz(ez(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=fz(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=n1(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=n1(e)|0;a[t+82>>0]=1;if(!(kR(b,t)|0))break a;switch(pz(b)|0){case 0:{c[p>>2]=ry(n)|0;Pw(3,98957,p)|0;break a}case 1:{c[q>>2]=ry(o)|0;Pw(3,98979,q)|0;break a}case 2:{p=ry(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(ey(s)|0)!=0;s=ry(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?134656:138665;c[r+8>>2]=s;Pw(3,99e3,r)|0;break a}default:break a}}case 0:{i=lH(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=RM(i)|0;else i=OM(i,s)|0;D_(c[t>>2]|0);c[t>>2]=i;iH(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:qa(99027,99043,166,99052)}while(0);l=u;return t|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(pz(d)|0){case 0:{i=ry(d)|0;g=W_(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 1:{i=ry(ez(d)|0)|0;g=W_(i)|0;j=ry(d)|0;h=W_(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 2:{h=d+48|0;i=ry(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=W_(i)|0;l=ry(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=W_(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=W_(q)|0;m=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=W_(o)|0;j=W_(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=W_(f)|0}else{n=2;f=99063}x=(ey(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=102467;w=f;x=x?138665:134656;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=99075;m=99072;j=102467;i=99066;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=vH(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function mH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)D_(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)tb[f&127](g);d=d+56|0;e=e+1|0}D_(a)}return}function nH(d){d=d|0;var e=0;if(d|0){D_(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)XQ(e,1)}else mH(c[e>>2]|0,b[d+76>>1]|0);D_(d)}return}function oH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){RO(d,0);UO(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;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];TO(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}SO(d);i=18}}else{CQ(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function pH(a,b){a=a|0;b=b|0;return lH(a,b,1)|0}function qH(a){a=a|0;return rH(a,0)|0}function rH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[46437]|0;if(!e){c[46438]=64;e=vH(64)|0;c[46437]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[46438]|0;if((i|0)>(b+-8|0)){e=b<<1;c[46438]=e;e=xH(c[46437]|0,e)|0;c[46437]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(sH(h)|0)!=0:0)k=18;else{f=5;d=99104}break}case 60:{f=4;d=99127;break}case 62:{f=4;d=99110;break}case 45:{f=5;d=99121;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=99097;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=99090;break a}case 39:{f=5;d=99115;break a}case 10:if(j){k=18;break a}else{f=5;d=99084;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:99078}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[46437]|0}function sH(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function tH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[46439]|0;if(!d){c[46440]=64;d=vH(64)|0;c[46439]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[46440]|0;if((i|0)>(f+-8|0)){d=f<<1;c[46440]=d;d=xH(c[46439]|0,d)|0;c[46439]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(sH(b)|0)){g=5;e=99104}else j=12;break}case 60:{g=4;e=99127;break}case 62:{g=4;e=99110;break}case 34:{g=6;e=99090;break}case 39:{g=5;e=99115;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[46439]|0}function uH(a){a=a|0;var b=0;if(!a)a=0;else{b=vH(a)|0;H3(b|0,0,a|0)|0;a=b}return a|0}function vH(a){a=a|0;if(a){a=C_(a)|0;if(!a){E1(108658,14,1,c[15686]|0)|0;a=0}}else a=0;return a|0}function wH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=F_(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)H3(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else E1(108658,14,1,c[15686]|0)|0;return a|0}function xH(a,b){a=a|0;b=b|0;a=F_(a,b)|0;if((b|0)!=0&(a|0)==0)E1(108658,14,1,c[15686]|0)|0;return a|0} - function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=pl(xx(a,87703)|0,b)|0;q=pl(xx(a,87709)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=ry(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=ry(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;Pw(0,87715,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=vH(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(ql(H,h)|0)){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;Pw(0,87756,i)|0;K=26;break}b=c[I>>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];if(ql(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(ql(H,h)|0){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;Pw(0,87799,n)|0;K=26;break}if(!(c[C>>2]|0))qa(87841,87852,369,87863);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];rl(z,G,H,h);F=(c[I>>2]|0)+48|0;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];F=(c[I>>2]|0)+16|0;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];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(j,G,H);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];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(k,G,H);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];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(m,G,H);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];b=c[v>>2]|0;if(!b){F=3;break}F=(FE(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(tl((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];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];rl(o,G,H,h);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];F=g;break}else qa(87880,87852,387,87863);else{if(f)b=FE(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|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];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(ql(H,f)|0)){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;Pw(0,87891,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|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];if(ql(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(ql(H,f)|0){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;Pw(0,87934,x)|0;K=52;break}if(!(c[v>>2]|0))qa(87880,87852,429,87863);x=J+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];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];rl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;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];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(A,G,H);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[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<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];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(B,G,H);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[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<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[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<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=b+1|0}if(tl(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<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];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))qa(87841,87852,452,87863);else{d=J+16|0;E=I+16|0;a=c[I>>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[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];rl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|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];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=vH(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<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];d=d+1|0;b=b+1|0}D_(c[I>>2]|0);D_(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=vM(d,b)|0;if(!d){c[e>>2]=b;Pw(0,88054,e)|0;d=0}}else d=0;l=f;return d|0}function ql(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];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];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};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];w=yl(n,w)|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];x=yl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=yl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=yl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;Pw(1,87976,B)|0;qa(135312,87852,78,88028)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function tl(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+ul(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)XL(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+ul(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+ul(j,b,g,d,e,f);if(!(b>=0.0))b=+ul(k,g,c,d,e,f)}while(0);l=m;return +b}function vl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(wl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+vl(j,b,g,d,e,f);if(!(b>=0.0))b=+vl(k,g,c,d,e,f)}while(0);l=m;return +b}function wl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function xl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;Y0(b,88042,d)|0;l=c;return b|0}function zl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=C_(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(20,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(65,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(21,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(66,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=D3(183936,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;ca(20,3,88082,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;ia(99,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);D_(t|0);l=v;return}function Al(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((Al(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Cl(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;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=ph(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=ph(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}sh(a,o);l=l+1|0}if((r|0)==23)qa(88218,88262,115,88269);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function Dl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((Dl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Fl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}xj(d);j=Sy(d)|0;while(1){if(!j)break;Gl(d,j);i=Ex(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Gl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Gx(d,i)|0}j=Ty(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(oz(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(oz(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(oz(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=ry(d)|0;c[p+4>>2]=i;Pw(0,88182,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=ry(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;Pw(1,88124,o)|0;bb(183936,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Fl(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;Jl(j,k+512|0,k);e=(a[190690]|0)+1<<24>>24;a[190690]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=Sy(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(SL(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[190690]|0)):0){Kl(b);Ll(j,b,g);Ml(b)}d=Ty(b,d)|0}Nl(j);l=k;return}function Jl(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Kl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46023]=0;return}function Ll(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Ol(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Pl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[190690]|0))continue;Ql(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[190690]|0)?(e|0)==(SL(e)|0):0)Ol(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Ml(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=vH(a<<2)|0;else a=xH(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Nl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Ol(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=uH(16)|0;if(!f)Pw(1,95943,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=uH(4e6)|0;c[f>>2]=b;if(!b){Pw(1,88282,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[190690]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[190690]|0;b=c[46023]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46023]=d;c[g+164>>2]=0;return}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Sl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Sl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Tl(b)}while(0);Ji(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Ul(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Ul(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){Ch(b);Qh(b)}return e|0}function Sl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(ig(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function Tl(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)qa(88339,88322,190,88358);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=vH(d<<6)|0;else a=xH(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=uH(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Ul(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=ig(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Vl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Wl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=ph(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=ph(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]>3]=f;c[g+112>>2]=b}return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Xl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Yl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Yl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=vH((c[e>>2]<<2)+8|0)|0;else f=xH(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=uh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Yl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)qa(88302,88322,63,88329);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Xl(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Zl(a){a=a|0;c[46363]=1;rm(a);c[46363]=0;return}function _l(a){a=a|0;c[46363]=2;rm(a);c[46363]=0;return}function $l(a){a=a|0;var b=0;Az(a,134365,304,1)|0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+64|0;j=s+48|0;o=s+40|0;k=s+24|0;i=s+8|0;q=s+56|0;m=s;do if((b|0)!=0?(r=e+16|0,p=c[(c[r>>2]|0)+132>>2]|0,g=yx(e,b)|0,(a[g>>0]|0)!=0):0){a[q>>0]=0;b=p+8|0;if((c[46366]|0)>2?(c[i>>2]=p,c[i+4>>2]=b,c[i+8>>2]=p+16,c[i+12>>2]=q,(N1(g,88435,i)|0)>2):0){a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;a:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;o=p+(b<<3)|0;h[o>>3]=+h[o>>3]/+h[22908];b=b+1|0}}while(0);if((g|0)>3)Hn(e,f,3);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=p;c[k+4>>2]=b;c[k+8>>2]=q;if((N1(g,98723,k)|0)<=1){c[j>>2]=ry(e)|0;c[j+4>>2]=g;Pw(1,88449,j)|0;b=0;break}a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=p+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[22908];b=b+1|0}}while(0);do if((g|0)>2){b=c[46401]|0;if((b|0?(n=yx(e,b)|0,n|0):0)?(c[o>>2]=m,(N1(n,98183,o)|0)==1):0){u=+h[22908];t=+h[m>>3];h[p+16>>3]=u>0.0?t/u:t;Hn(e,f,3);break}In(e,f)}while(0);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=s;return b|0}function bm(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}cm(a);return}function cm(a){a=a|0;if((c[46363]|0)!=0|(c[46025]|0)<0)Fn(a);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=nx(b,0,99611,0)|0;e=nx(b,0,99645,0)|0;p=(RL(xx(b,88493)|0,0)|0)<<24>>24!=0;if(!e)e=nx(b,0,99645,191979)|0;En(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(z$(ry(j)|0,104980,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)em(j,f,99607);i=i+1|0}a:do if((f|0)==8){p=ry(j)|0;e=ry(b)|0;c[m>>2]=p;c[m+4>>2]=e;Pw(1,88505,m)|0;e=-1}else if((f|0)==12){fm(b,k,e);j=gm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[46363]|0)==1^1)?(tq(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;mM(b);if(i){d=(c[n>>2]|0)+16|0;_E(o,b);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[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[46367]=1;f=Sy(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=Ty(b,f)|0}}do if(!(p|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;cn(b)}while(0);if(!((j|0)!=0&(f|(an(b)|0)<<24>>24!=0))){if((j|0)==2){c[46367]=1;break}}else hm(b);$m(b,0)}while(0);l=q;return e|0}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=xx(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(N1(b,102477,j)|0)==2):0){j=d+56|0;km(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function fm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=yx(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(N1(n,102477,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;km(i,+h[f>>3],+h[g>>3]);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];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=wA(b)|0;while(1){if(!f)break a;lm(f,b,d,e);f=xA(f)|0}}while(0);l=m;return}function gm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(by(a)|0){f=nx(a,2,99597,0)|0;if(!((f|0)==0|(c[46363]|0)<2)){b=0;e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=b+((im(f,d)|0)!=0&1)|0;d=Gx(a,d)|0;b=g}e=Ty(a,e)|0}if(b){b=(b|0)==(by(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function hm(a){a=a|0;var b=0,d=0,e=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;KM(b);e=b+16|0;nH(c[(c[e>>2]|0)+96>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);nH(c[(c[e>>2]|0)+100>>2]|0);nH(c[(c[e>>2]|0)+104>>2]|0);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=yx(d,b)|0;do if(a[b>>0]|0){sE(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((N1(b,88542,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((N1(b,88554,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=jm(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=vH(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((N1(b,88624,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(B$(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=PK(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}D_(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){KM(d);if(a[190691]|0){b=0;break}a[190691]=1;D=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;Pw(0,88567,A)|0;b=0;break}else if((e|0)==13){if(!(a[190691]|0)){a[190691]=1;C=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;Pw(0,88634,z)|0}D_(n);KM(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){em(d,e,99611);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){em(d,e,99607);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){em(d,e,99614);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}em(d,b,99622);b=1;break}}else b=0;while(0);l=B;return b|0}function jm(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(B$(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(B$(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((B$(c&255)|0)!=0);return d|0}function km(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((z$(ry(a)|0,104980,7)|0)==0?(mm(a,e,f)|0)!=0:0){Az(a,134401,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];nm(b,a);fm(a,d,e)}else g=4;a:do if((g|0)==4){a=wA(a)|0;while(1){if(!a)break a;lm(a,b,d,e);a=xA(a)|0}}while(0);l=h;return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=yx(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((N1(k,88682,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function om(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=xx(b,88698)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(N$(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(z$(h,88704,4)|0)){e=0;break}if(!(z$(h,102485,7)|0)){e=1;break}if(z$(h,88709,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(N1(e,96907,k)|0)>=1):0)){k=H1()|0;k=(db(0)|0)^k;c[j>>2]=k;c[m>>2]=k;Y0(i,96907,m)|0;zx(b,88698,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=om(a,d,e)|0;if((d|0)!=2&(c[46026]|0)!=0)Pw(0,88716,f)|0;if((d|0)==1)qm(a,b);i2(c[e>>2]|0);l=f;return d|0}function qm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=Sy(b)|0;f=0.0;while(1){if(!e)break;l=+E(+f)*g;j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=+F(+f)*g;a[j+119>>0]=1;if((c[46366]|0)>2)In(e,d);e=Ty(b,e)|0;f=f+i}return}function rm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[22908];do if(c[46363]|0){h[22908]=72.0;sm(b);tm(b);if((dm(b,1)|0)<0){Pw(3,88764,d)|0;break}else{PI(b,0);f=32;break}}else{o=RL(xx(b,88493)|0,0)|0;h[22908]=+ML(b);sm(b);g=um(b)|0;Sp(b,k,0)|0;i=vm(b)|0;j=ZD(b,0,n)|0;d=YD(b,-1,8)|0;c[46025]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46025]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){wm(b,g,i);Vp(b,k)|0;tm(b);if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else f=11}else if(e){c[46025]=8;f=11}else f=11;while(0);if((f|0)==11){j=dD(b,p,88792,m)|0;d=c[p>>2]|0;do if((d|0)<=1){wm(b,g,i);Vp(b,k)|0;if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;vD(d)|0;wm(d,g,i);Vp(d,k)|0;$M(d,2);if(f)hn(d);else xm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=uH(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46025];c[n+20>>2]=e;c[n+12>>2]=1;VD(d,j,b,n)|0;D_(e)}while(0);mM(b);tm(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;Fn(n);Cz(n,134401)|0;dz(b,n)|0;d=d+1|0}D_(j)}PI(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[22908]=q;l=r;return}function sm(a){a=a|0;var d=0,e=0,f=0,g=0;$M(a,2);f=KL(a,nx(a,0,89557,0)|0,2,2)|0;d=(KL(a,nx(a,0,90633,0)|0,f,2)|0)&65535;b[(c[(fz(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[46366]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Hm(a);return}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[46366]|0)>2&(c[46401]|0)!=0){b=Sy(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;Y0(d,98183,e)|0;rx(b,c[46401]|0,d)|0;b=Ty(a,b)|0}}while(0);l=f;return}function um(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=xx(b,89477)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(b$(d,89482)|0)){b=0;break a}break}case 109:{if(!(b$(d,89485)|0)){b=1;break a}break}case 104:{if(!(b$(d,89491)|0)){b=2;break a}break}default:{}}b=ry(b)|0;c[e>>2]=d;c[e+4>>2]=b;Pw(0,89496,e)|0;b=1}while(0);l=f;return b|0}function vm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=xx(b,89260)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(b$(d,89266)|0)){b=1;break a}break}case 115:{if(!(b$(d,89274)|0)){b=2;break a}if(!(b$(d,89281)|0)){b=0;break a}break}case 109:{if(!(b$(d,89291)|0)){if(nx(b,2,90566,0)|0){b=3;break a}c[e>>2]=ry(b)|0;Pw(0,89295,e)|0;Pw(3,89358,f)|0;b=0;break a}break}default:{}}b=ry(b)|0;c[g>>2]=d;c[g+4>>2]=b;Pw(0,89415,g)|0;b=0}while(0);l=h;return b|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=xx(a,90975)|0;if(!e)if((b|0)==1)e=200;else e=(ay(a)|0)*100|0;else e=a2(e)|0;c[46365]=e;e=yn(a,b)|0;do if(!((e|0)<2|(c[46365]|0)<0))if(!b){zm(a,e,d);break}else{ym(a,e,b,d,c[46366]|0);break}while(0);return}function xm(a){a=a|0;mM(a);$m(a,1);return}function ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+40|0;o=u+24|0;n=u;p=u+48|0;t=u+44|0;q=(d|0)==2;i=pm(a,b,q?0:2)|0;j=Gm(a)|0;k=j|4;s=vH(f<<2)|0;c[s>>2]=vH(O(b<<3,f)|0)|0;g=c[46366]|0;f=1;while(1){if((f|0)>=(g|0))break;c[s+(f<<2)>>2]=(c[s>>2]|0)+((O(f,b)|0)<<3);f=f+1|0}g=(i|0)==0;f=g?k:j;if(0){k=c[15686]|0;j=c[46365]|0;m=+h[22909];c[n>>2]=e;c[n+4>>2]=g&1;c[n+8>>2]=f&3;c[n+12>>2]=j;h[n+16>>3]=m;g1(k,89073,n)|0;E1(89130,15,1,k)|0;EL();E1(89146,13,1,k)|0}n=Cm(a,b,p,d,e,t)|0;if(0){k=c[15686]|0;m=+FL();c[o>>2]=b;h[o+8>>3]=m;g1(k,89160,o)|0}if((d|0)!=1){m=+LL(a,nx(a,0,89179,0)|0,0.0,-1797693134862315708145274.0e284);if(q){f=Gq(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0,m)|0;g=12}else g=14}else{f=qn(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0)|0;g=12}if((g|0)==12)if((f|0)<0)Pw(3,89189,r)|0;else g=14;a:do if((g|0)==14){g=Sy(a)|0;while(1){if(!g)break a;k=c[g+16>>2]|0;i=c[k+120>>2]|0;j=c[46366]|0;k=k+132|0;f=0;while(1){if((f|0)>=(j|0))break;h[(c[k>>2]|0)+(f<<3)>>3]=+h[(c[s+(f<<2)>>2]|0)+(i<<3)>>3];f=f+1|0}g=Ty(a,g)|0}}while(0);br(n);D_(c[s>>2]|0);D_(s);D_(c[t>>2]|0);l=u;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;g=l;l=l+48|0;f=g+32|0;e=g;switch(d|0){case 2:{Am(a,b);break}case 1:{if(!(Cq(a,b)|0)){c[e>>2]=ry(a)|0;Pw(0,88802,e)|0;Pw(3,91952,g+8|0)|0;Pw(3,88854,g+16|0)|0;Pw(3,88926,g+24|0)|0;Wn(a,b)}break}default:{Wn(a,b);if((d|0)==3)Bm(a)}}Kn(a,b);Ln(a,b);if(0){e=c[15686]|0;j=c[46365]|0;i=+h[22909];c[f>>2]=d;c[f+4>>2]=j;h[f+8>>3]=i;g1(e,88964,f)|0;EL()}Mn(a,b);l=g;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=Cm(a,b,j,0,2,0)|0;i=ds(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}D_(c[i>>2]|0);D_(i);br(g);l=j;return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Cm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,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.0,I=0;j=by(a)|0;G=GI()|0;if((f|0)==2){k=0;D=0}else{D=nx(a,2,90566,0)|0;k=(c[46404]|0)!=0&1;D=(D|0)!=0}A=(e|1|0)==3;E=vH(b*20|0)|0;F=vH(b<<2)|0;l=(j<<1)+b<<2;m=vH(l)|0;z=A|D;if(z)f=vH(l)|0;else f=0;C=(k|0)!=0;if(C)j=vH(l)|0;else j=0;if(A)k=vH(l)|0;else k=0;l=0;x=Sy(a)|0;y=0;while(1){if(!x)break;JI(G);if((c[(c[x+16>>2]|0)+120>>2]|0)!=(y|0)){B=12;break}c[F+(y<<2)>>2]=x;u=E+(y*20|0)+4|0;c[u>>2]=m;v=E+(y*20|0)+8|0;c[v>>2]=z?f:0;w=E+(y*20|0)+12|0;c[w>>2]=C?j:0;c[E+(y*20|0)+16>>2]=A?k:0;r=1;t=Jx(a,x)|0;s=1;q=l;m=m+4|0;f=z?f+4|0:f;j=C?j+4|0:j;k=A?k+4|0:k;while(1){if(!t)break;n=c[t>>2]&3;p=t+-48|0;l=t+48|0;do if((c[((n|0)==2?t:p)+40>>2]|0)==(c[((n|0)==3?t:l)+40>>2]|0)){n=r;p=s;l=q}else{n=Dm(G,t,r)|0;if((n|0)!=(r|0)){if(C){p=(c[w>>2]|0)+(n<<2)|0;g[p>>2]=+h[(c[t+16>>2]|0)+128>>3]+ +g[p>>2]}if(!D){n=r;p=s;l=q;break}n=(c[v>>2]|0)+(n<<2)|0;H=+h[(c[t+16>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=H>o?H:o;n=r;p=s;l=q;break}I=c[t>>2]&3;l=(I|0)==3?t:l;q=q+1|0;n=r+1|0;r=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(x|0)?((I|0)==2?t:p):l)+40>>2]|0)+16>>2]|0)+120>>2];if(C){g[j>>2]=+h[(c[t+16>>2]|0)+128>>3];j=j+4|0}if(D){l=f+4|0;g[f>>2]=+h[(c[t+16>>2]|0)+136>>3];if(A){f=l;B=27}else f=l}else if(A){g[f>>2]=1.0;f=f+4|0;B=27}if((B|0)==27){B=0;l=xx(t,98533)|0;if((l|0)!=0?(z$(l,132627,4)|0)==0:0)o=0.0;else o=(x|0)==(c[((c[t>>2]&3|0)==2?t:p)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;k=k+4|0}p=s+1|0;l=q;m=r}while(0);r=n;t=Kx(a,t,x)|0;s=p;q=l}c[E+(y*20|0)>>2]=s;c[c[u>>2]>>2]=y;l=q;x=Ty(a,x)|0;y=y+1|0}if((B|0)==12)qa(89003,89018,819,89030);if(A)Em(E,b,e,F);n=(l|0)/2|0;a:do if((n|0)!=(by(a)|0)){l=(n<<1)+b<<2;k=xH(c[E+4>>2]|0,l)|0;if(D)f=xH(c[E+8>>2]|0,l)|0;if(C){m=0;j=xH(c[E+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[E+(m*20|0)>>2]|0;c[E+(m*20|0)+4>>2]=k;if(D){c[E+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(C){c[E+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)D_(F);else c[i>>2]=F;KI(G);return E|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return LI(a,f?b:e,f?e:b,d)|0}function Em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Fm(b,g,e,f);g=g+1|0}return}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Fm(b,p,e,f);break}g[h>>2]=o;i=b+(p*20|0)+4|0;j=c[b+(p*20|0)>>2]|0;h=1;while(1){if((h|0)>=(j|0)){h=9;break a}if((c[(c[i>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)qa(89044,89018,721,89064);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Gm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=KL(a,nx(a,0,89205,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89205;Pw(0,89214,b)|0;a=2}l=d;return a|0}function Hm(a){a=a|0;var b=0,d=0,e=0;d=ay(a)|0;c[46026]=nx(a,1,99597,0)|0;e=nx(a,1,90570,0)|0;b=Sy(a)|0;while(1){if(!b)break;$l(b);am(c[46026]|0,e,b,d)|0;b=Ty(a,b)|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Im(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Im(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=uH(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Mm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0.0;k=l;l=l+16|0;g=k;h=e+16|0;i=b[(c[h>>2]|0)+168>>1]|0;j=i<<16>>16;if(i<<16>>16!=1&(a[191874]|0)==0){i=vH(j<<2)|0;g=0;while(1){if((g|0)>=(j|0))break;c[i+(g<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;g=g+1|0}m=+(f|0);YK(d,i,0,j,m,m,17764);e=0;while(1){if((e|0)>=(j|0))break;g=c[i+(e<<2)>>2]|0;h=g+16|0;if(c[(c[h>>2]|0)+96>>2]|0){f=ez(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)|0;kM(f,c[(c[h>>2]|0)+96>>2]|0)}dL(g);e=e+1|0}D_(i)}else{c[g>>2]=e;m=+(f|0);YK(d,g,0,1,m,m,17764);if(c[(c[h>>2]|0)+96>>2]|0){j=ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;kM(j,c[(c[h>>2]|0)+96>>2]|0)}dL(e)}l=k;return}function Nm(a){a=a|0;return 0}function Om(a){a=a|0;return 0}function Pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+384|0;O=Q+368|0;P=Q+112|0;j=Q+32|0;r=Q+336|0;K=Q+320|0;L=Q+304|0;M=Q+288|0;N=Q+272|0;i=Q+256|0;H=Q+240|0;I=Q+224|0;J=Q+208|0;t=Q+192|0;u=Q+176|0;v=Q+160|0;z=Q+144|0;A=Q+128|0;B=Q+96|0;D=Q+16|0;G=Q;a:do switch(HJ(b)|0){case 3:case 1:{f=uH(8)|0;z=b+16|0;b=c[z>>2]|0;i=c[b+12>>2]|0;do if(!(e<<24>>24)){b=c[i+8>>2]|0;if((b|0)>2){y=0.0;j=c[i+44>>2]|0;e=0;p=+g[d>>2];q=+g[d+4>>2];break}else{y=+k2()*.01;b=8;j=0;e=1;p=0.0;q=0.0;break}}else if(!(c[i+40>>2]&2048)){q=+h[b+88>>3];p=-q;y=+h[b+80>>3];x=y*-.5;h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;y=y*.5;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}else{jM(r,i);p=+h[r>>3];x=+h[r+8>>3];q=+h[r+16>>3];y=+h[r+24>>3];h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}while(0);c[f+4>>2]=b;r=uH(b<<4)|0;c[f>>2]=r;s=1.0/+(b|0);t=d+8|0;u=d+4|0;v=(b|0)==4;w=-p;x=-q;i=0;while(1){if((b|0)<=(i|0))break a;do if(e){k=+(i|0)*6.283185307179586*s+y;m=+E(+k);k=+F(+k);if(!(a[t>>0]|0)){P=c[z>>2]|0;n=k*+g[u>>2]*+h[P+80>>3];k=m*+g[d>>2]*(+h[P+96>>3]+ +h[P+88>>3])}else{P=c[z>>2]|0;n=(+h[P+80>>3]+ +g[u>>2])*k;k=(+h[P+96>>3]+ +h[P+88>>3]+ +g[d>>2])*m}o=k*.5;k=n*.5}else{if(!(a[t>>0]|0)){o=+h[j+(i<<4)>>3]*p;k=+h[j+(i<<4)+8>>3]*q;break}if(!v){o=+h[j+(i<<4)>>3];k=+h[j+(i<<4)+8>>3];n=+C(+(k*k+o*o));o=(p/n+1.0)*o;k=(q/n+1.0)*k;break}switch(i|0){case 0:{m=q;k=p;break}case 1:{m=q;k=w;break}case 2:{m=x;k=w;break}case 3:{m=x;k=p;break}default:{m=0.0;k=0.0}}o=+h[j+(i<<4)>>3]+k;k=+h[j+(i<<4)+8>>3]+m}while(0);O=c[z>>2]|0;P=b-i+-1|0;h[r+(P<<4)>>3]=+h[O+16>>3]+o;h[r+(P<<4)+8>>3]=+h[O+24>>3]+k;i=i+1|0}}case 2:{G=b+16|0;f=c[(c[G>>2]|0)+12>>2]|0;k=+h[f+16>>3];o=+h[f+24>>3];m=+h[f+32>>3];n=+h[f+40>>3];f=uH(8)|0;c[f+4>>2]=4;b=uH(64)|0;c[f>>2]=b;G=(c[G>>2]|0)+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];if(!(a[d+8>>0]|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];Rm(i,k,o,O,d);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];N=(c[f>>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];Rm(H,k,n,O,d);c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];N=(c[f>>2]|0)+32|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];Rm(I,m,n,O,d);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];N=(c[f>>2]|0)+48|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];Rm(J,m,o,O,d);c[N>>2]=c[J>>2];c[N+4>>2]=c[J+4>>2];c[N+8>>2]=c[J+8>>2];c[N+12>>2]=c[J+12>>2];break a}else{y=k-+g[d>>2];J=d+4|0;x=o-+g[J>>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];Qm(K,y,x,O);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];K=(c[f>>2]|0)+16|0;x=k-+g[d>>2];y=n+ +g[J>>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];Qm(L,x,y,O);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];L=(c[f>>2]|0)+32|0;y=m+ +g[d>>2];x=n+ +g[J>>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];Qm(M,y,x,O);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];M=(c[f>>2]|0)+48|0;x=m+ +g[d>>2];y=o-+g[J>>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];Qm(N,x,y,O);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];break a}}case 4:{b=b+16|0;f=uH(8)|0;c[f+4>>2]=4;i=uH(64)|0;c[f>>2]=i;j=c[b>>2]|0;N=j+16|0;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];k=-+h[j+88>>3];if(!(a[d+8>>0]|0)){x=-+h[j+80>>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];Rm(A,k,x,O,d);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];N=(c[f>>2]|0)+16|0;M=c[b>>2]|0;x=-+h[M+88>>3];y=+h[M+80>>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];Rm(B,x,y,O,d);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];N=(c[f>>2]|0)+32|0;M=c[b>>2]|0;y=+h[M+96>>3];x=+h[M+80>>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];Rm(D,y,x,O,d);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[f>>2]|0)+48|0;M=c[b>>2]|0;x=+h[M+96>>3];y=-+h[M+80>>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];Rm(G,x,y,O,d);c[N>>2]=c[G>>2];c[N+4>>2]=c[G+4>>2];c[N+8>>2]=c[G+8>>2];c[N+12>>2]=c[G+12>>2];break a}else{y=k-+g[d>>2];M=d+4|0;x=-+h[j+80>>3]-+g[M>>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];Qm(t,y,x,O);c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];N=(c[f>>2]|0)+16|0;L=c[b>>2]|0;x=-+h[L+88>>3]-+g[d>>2];y=+h[L+80>>3]+ +g[M>>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];Qm(u,x,y,O);c[N>>2]=c[u>>2];c[N+4>>2]=c[u+4>>2];c[N+8>>2]=c[u+8>>2];c[N+12>>2]=c[u+12>>2];N=(c[f>>2]|0)+32|0;L=c[b>>2]|0;y=+h[L+96>>3]+ +g[d>>2];x=+h[L+80>>3]+ +g[M>>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];Qm(v,y,x,O);c[N>>2]=c[v>>2];c[N+4>>2]=c[v+4>>2];c[N+8>>2]=c[v+8>>2];c[N+12>>2]=c[v+12>>2];N=(c[f>>2]|0)+48|0;L=c[b>>2]|0;x=+h[L+96>>3]+ +g[d>>2];y=-+h[L+80>>3]-+g[M>>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];Qm(z,x,y,O);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];break a}}default:f=0}while(0);l=Q;return f|0}function Qm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Rm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+g[e+4>>2]*c+ +h[d+8>>3];h[a>>3]=+g[e>>2]*b+ +h[d>>3];h[a+8>>3]=c;return}function Sm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;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];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Tm(f,i,j);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];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Tm(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];vU(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Um(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+144|0;p=u+104|0;q=u+88|0;o=u+80|0;n=u+72|0;j=u+64|0;s=u+128|0;k=u+32|0;m=u+124|0;t=u+16|0;r=u;i=u+120|0;h=(c[b+16>>2]|0)+144|0;g=c[h>>2]|0;h=c[h+4>>2]|0;v=j;c[v>>2]=g;c[v+4>>2]=h;v=g;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];h=g+(h+-1<<4)|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];a:do if(!(f<<24>>24)){g=-1111;f=-1111}else{g=-1111;f=-1111;h=0;while(1){if((h|0)>=(e|0))break a;if((f|0)==-1111){f=c[d+(h<<2)>>2]|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];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];f=(wU(q,p)|0)==0;f=f?-1111:h}if((g|0)==-1111){g=c[d+(h<<2)>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>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];g=(wU(q,p)|0)==0;g=g?-1111:h}h=h+1|0}}while(0);Vm(d,e,f,g,i,m);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=c[i>>2]|0;v=c[m>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];if((xU(h,v,p,k,s)|0)<0){t=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;v=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[n>>2]=t;c[n+4>>2]=v;Pw(1,89563,n)|0}else{if(0>1){g=c[15686]|0;n=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;f=b+-48|0;v=ry(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)|0;c[o>>2]=n;c[o+4>>2]=v;g1(g,89611,o)|0;g=b}else{f=b+-48|0;g=b}QK(b,c[((c[g>>2]&3|0)==2?b:f)+40>>2]|0,c[s>>2]|0,c[s+4>>2]|0,17764);D_(h);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];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];jL(a,b,q,p)}l=u;return}function Vm(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;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=vH(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else qa(89625,89632,77,89647)}function Wm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;k=n+12|0;f=n;uq(f,a);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;KK(g);g=Gx(a,g)|0}f=Ty(a,f)|0}h=Cw(17728,c[4555]|0)|0;f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;if((c[46363]|0)>1?(i=c[g+16>>2]|0,(c[i+8>>2]|0)!=0):0){o=i+168|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}else m=14;if((m|0)==14?(m=0,j=Xm(h,g)|0,(j|0)!=(g|0)):0){o=c[j+16>>2]|0;p=o+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;o=o+172|0;c[(c[g+16>>2]|0)+172>>2]=c[o>>2];c[o>>2]=g}g=Gx(a,g)|0}f=Ty(a,f)|0}yw(h)|0;if(!(nb[d&63](a,k,e)|0)){c[46367]=1;f=0}else f=1;l=n;return f|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;e=c[b>>2]&3;i=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;do if(i>>>0>=e>>>0){d=b+16|0;if(i>>>0>e>>>0){d=c[d>>2]|0;o=e;e=i;k=+h[d+16>>3];m=+h[d+24>>3];g=+h[d+56>>3];f=+h[d+64>>3];break}o=c[d>>2]|0;j=+h[o+56>>3];n=+h[o+64>>3];g=+h[o+16>>3];f=+h[o+24>>3];if(!(gj)){d=f>n;if(f>2]|0;o=i;k=+h[d+56>>3];m=+h[d+64>>3];g=+h[d+16>>3];f=+h[d+24>>3]}while(0);c[p+8>>2]=o;h[p+16>>3]=g;h[p+24>>3]=f;c[p+32>>2]=e;h[p+40>>3]=k;h[p+48>>3]=m;c[p+56>>2]=b;p=c[(nb[c[a>>2]&63](a,p,1)|0)+56>>2]|0;l=q;return p|0}function Ym(a,b){a=a|0;b=b|0;return Wm(a,21,b)|0}function Zm(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;F=l;l=l+112|0;B=F+88|0;A=F+72|0;t=F+40|0;q=F+8|0;p=F;u=F+64|0;C=F+48|0;D=F+24|0;i=(c[46363]|0)>1&1;do if((f|0)>5){s=uH((ay(d)|0)<<2)|0;o=(f|0)==8;n=o&1;m=Sy(d)|0;r=0;while(1){if(!m)break;j=Pm(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=r}else{c[k>>2]=r;c[s+(r<<2)>>2]=j;j=r+1|0}m=Ty(d,m)|0;r=j}if(s){j=ms(s,r)|0;if(j|0){if(o){y=0;z=s;x=s;w=1;break}y=sU(s,r)|0;z=s;x=s;w=1;break}if(o){Pw(0,89661,p)|0;j=0;y=0;z=s;x=s;w=1;break}else{G=+g[e+4>>2];h[q>>3]=+g[e>>2];h[q+8>>3]=G;Pw(0,89739,q)|0;j=0;y=0;z=s;x=s;w=1;break}}else{j=0;y=0;z=0;x=0;w=0}}else{j=0;y=0;z=0;r=0;x=0;w=0}while(0);if(0){k=c[15686]|0;if((f|0)==8&(j|0)!=0)m=89845;else m=(y|0)==0?89831:(f|0)==10?107030:89821;c[t>>2]=m;g1(k,89862,t)|0}v=(y|0)!=0;a:do if(!v){if((f|0)==8&(j|0)!=0){cN(d,0);i=1}}else{k=Sy(d)|0;while(1){if(!k)break a;j=Ex(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Sm(u,j,y,1,0,0);q=u;s=c[q+4>>2]|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;j=Gx(d,j)|0}k=Ty(d,k)|0}}while(0);p=(i|0)==0;q=d+60|0;s=(f|0)==10;i=0;o=Sy(d)|0;j=0;while(1){if(!o)break;t=o+16|0;e=Ex(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;k=e+16|0;m=c[k>>2]|0;if(!p?(c[m+8>>2]|0)!=0:0){H=(c[t>>2]|0)+16|0;u=m+16|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];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];Tm(C,A,B);n=(c[n+16>>2]|0)+16|0;u=(c[k>>2]|0)+56|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[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];Tm(D,A,B);c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];jL(d,e,A,B)}else E=35;b:do if((E|0)==35){E=0;H=b[m+168>>1]|0;k=H<<16>>16;if(H<<16>>16){if((o|0)==(n|0)){if(!i){j=uH(96)|0;c[j+84>>2]=uH(((ay(d)|0)<<5)+11520|0)|0;i=j}Mm(i,e,c[(c[(c[q>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!v){zJ(d,e,f,17764);break}k=a[191874]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(s)Um(d,m,z,r,1);else _m(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=Gx(d,e)|0}o=Ty(d,o)|0}if(v)uU(y);if(i|0){D_(c[i+84>>2]|0);D_(j)}if(w){i=0;while(1){if((i|0)>=(r|0))break;D_(c[z+(i<<2)>>2]|0);i=i+1|0}D_(x)}l=F;return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;d=k+40|0;h=k+80|0;e=k+32|0;i=k+16|0;j=k;m=(c[b+16>>2]|0)+144|0;n=c[m>>2]|0;m=c[m+4>>2]|0;o=e;c[o>>2]=n;c[o+4>>2]=m;o=n;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];m=n+(m+-1<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];oV(g,h);if(0>1){o=c[15686]|0;m=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;e=b+-48|0;n=ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0;c[d>>2]=m;c[d+4>>2]=n;g1(o,89887,d)|0;d=e;e=b}else{d=b+-48|0;e=b}QK(b,c[((c[e>>2]&3|0)==2?b:d)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17764);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[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];jL(a,b,f,g);l=k;return}function $m(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)an(a)|0;if(e<<16>>16)Ym(a,e&65535)|0;return}function an(a){a=a|0;var b=0,d=0,e=0,f=0;d=bn(a)|0;b=Sy(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=Ty(a,b)|0}return d|0}function bn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{cn(a);b=1;e=c[d>>2]|0}j=(c[e+116>>2]&1|0)==0;if(!j){k=e+32|0;i=+h[k>>3];d=e+40|0;h[k>>3]=+h[d>>3];h[d>>3]=i}d=c[e+8>>2]|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(g<1.0|f<1.0)if(g>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(!(g>1.0&f>1.0))break a;f=g>3];f=+h[e+40>>3]/+h[e+32>>3];if(f1){d=Sy(a)|0;while(1){if(!d)break c;b=Ex(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)dn(b,f,g);b=Gx(a,b)|0}d=Ty(a,d)|0}}while(0);b=Sy(a)|0;while(1){if(!b)break;k=c[(c[b+16>>2]|0)+132>>2]|0;h[k>>3]=+h[k>>3]*f;k=k+8|0;h[k>>3]=+h[k>>3]*g;b=Ty(a,b)|0}en(a,f,g);b=1}else b=0;while(0);return b|0}function cn(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|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];f=+h[m>>3];g=f*.013888888888888888;i=+h[m+8>>3];j=i*.013888888888888888;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];fn(d,k)}d=Gx(b,d)|0}e=Ty(b,e)|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];gn(b,k);l=n;return}function dn(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0;p=c[b>>2]&3;i=c[(c[(c[((p|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=(d+-1.0)*72.0;q=s*+h[i>>3];t=(e+-1.0)*72.0;r=t*+h[i+8>>3];p=c[(c[(c[((p|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=s*+h[p>>3];t=t*+h[p+8>>3];p=c[b+16>>2]|0;i=c[p+8>>2]|0;j=c[i+4>>2]|0;k=j+-1|0;b=0;i=c[i>>2]|0;while(1){if((b|0)>=(j|0))break;l=c[i+4>>2]|0;m=l+-1|0;n=(b|0)==(k|0);f=0;g=c[i>>2]|0;while(1){if((f|0)>=(l|0))break;do if(f|b){o=+h[g>>3];if((f|0)==(m|0)&n){h[g>>3]=o+q;u=g+8|0;h[u>>3]=+h[u>>3]+r;break}else{h[g>>3]=o*d;u=g+8|0;h[u>>3]=+h[u>>3]*e;break}}else{h[g>>3]=+h[g>>3]+s;u=g+8|0;h[u>>3]=+h[u>>3]+t}while(0);f=f+1|0;g=g+16|0}if(c[i+8>>2]|0){u=i+16|0;h[u>>3]=+h[u>>3]+s;u=i+24|0;h[u>>3]=+h[u>>3]+t}if(c[i+12>>2]|0){u=i+32|0;h[u>>3]=+h[u>>3]+q;u=i+40|0;h[u>>3]=+h[u>>3]+r}b=b+1|0;i=i+48|0}b=c[p+96>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]*d;u=b+64|0;h[u>>3]=+h[u>>3]*e}b=c[p+100>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+q;u=b+64|0;h[u>>3]=+h[u>>3]+r}b=c[p+104>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+s;u=b+64|0;h[u>>3]=+h[u>>3]+t}return}function en(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;en(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function fn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function gn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];gn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function hn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;mM(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]*.013888888888888888;g=+h[b+24>>3]*.013888888888888888;b=Sy(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=Ty(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];jn(a,d);$m(a,1);l=i;return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<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];jn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function kn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+k2();i=j+8|0;h[j>>3]=+k2();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+k2();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Is(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;n=wn(b,b,0.0)|0;o=wn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(Bq(b,n,o)|0)){D_(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]+ +h[p+(j<<3)>>3]+ +h[p+(e<<3)>>3]*-2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);xn(n);xn(o);return d|0}function mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;if(c[a+8>>2]|0){d=nn(a,b)|0;f=0.0;e=0;p=0;while(1){if((p|0)>=(b|0))break;e=e+p|0;o=c[a+(p*20|0)>>2]|0;k=a+(p*20|0)+4|0;m=(O(p,b)|0)-e|0;n=a+(p*20|0)+8|0;j=1;while(1){if((j|0)>=(o|0))break;i=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((i|0)>=(p|0)){i=d+(m+i<<2)|0;s=+g[(c[n>>2]|0)+(j<<2)>>2];f=f+ +B(+(+g[i>>2]-s));g[i>>2]=s}j=j+1|0}p=p+1|0}if(0){b=c[15686]|0;h[q>>3]=f;g1(b,89903,q)|0}}else d=0;l=r;return d|0}function nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;j=uH(b<<2)|0;zq(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;ir(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}D_(j);Aq(h);l=m;return i|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;k=uH(b<<2)|0;zq(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;vq(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}D_(k);Aq(i);l=n;return j|0}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=uH(e<<2)|0;q=uH(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;_r(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=+((c[a+(p*20|0)>>2]|0)+-1|0)+l;g[f+(e<<2)>>2]=s-+((Zr(a,h,p,q)|0)<<1|0);e=e+1|0}$r(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=on(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;_r(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Zr(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(l>2]=l;i=i+1|0}$r(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=nn(a,b)|0}D_(q);D_(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function qn(a,b,e,f,i,j,k,m,n){a=a|0;b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=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,P=0.0;M=l;l=l+80|0;L=M+56|0;K=M+48|0;A=M+40|0;u=M+32|0;t=M+24|0;s=M+16|0;p=M+8|0;o=M;q=k&4;J=k&3;a:do if((n|0)<0)e=0;else{if(0)EL();k=(m|0)==2;b:do if(k){if(0)E1(91878,24,1,c[15686]|0)|0;e=pn(a,b)|0;w=14}else{switch(m|0){case 1:{e=ln(a,b)|0;if(e|0){I=e;break b}Pw(0,91903,o)|0;Pw(3,91952,p)|0;w=15;break b}case 3:break;default:{w=15;break b}}if(0)E1(92005,21,1,c[15686]|0)|0;e=mn(a,b)|0;w=14}while(0);if((w|0)==14)if(!e)w=15;else I=e;do if((w|0)==15){if(0)E1(92027,26,1,c[15686]|0)|0;if(!(c[a+8>>2]|0)){I=on(a,b)|0;break}else{I=nn(a,b)|0;break}}while(0);if(0){H=c[15686]|0;h[s>>3]=+FL();g1(H,92054,s)|0;E1(92066,25,1,H)|0;EL()}c:do if((b|0)>1&(q|0)!=0)if((rn(a,b,f,j,q,J,k&1)|0)<0){u=0;t=0;e=-1;a=0;s=0;q=0;p=0;o=0;m=0;k=0}else{k=0;while(1){if((k|0)>=(j|0)){y=0;w=35;break c}m=f+(k<<2)|0;r=1.0;e=0;while(1){if((e|0)==(b|0))break;x=+B(+(+h[(c[m>>2]|0)+(e<<3)>>3]));r=x>r?x:r;e=e+1|0}r=1.0/r;e=0;while(1){if((e|0)==(b|0)){e=0;break}H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]*r;e=e+1|0}while(1){if((e|0)==(b|0))break;x=(+k2()+-.5)*1.0e-06;H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]+x;e=e+1|0}Is(b,c[m>>2]|0);k=k+1|0}}else{y=kn(0,b,j,f,i)|0;w=35}while(0);d:do if((w|0)==35){if(0){H=c[15686]|0;h[t>>3]=+FL();g1(H,92092,t)|0}if((b|0)==1|(n|0)==0){e=0;break a}if(0){H=c[15686]|0;h[u>>3]=+FL();g1(H,92054,u)|0;E1(89925,26,1,H)|0;EL()}s=j<<2;H=uH(s)|0;t=b<<2;a=O(t,j)|0;G=uH(a)|0;e=0;while(1){if((e|0)>=(j|0))break;m=G+((O(e,b)|0)<<2)|0;c[H+(e<<2)>>2]=m;o=f+(e<<2)|0;k=0;while(1){if((k|0)>=(b|0))break;g[m+(k<<2)>>2]=+h[(c[o>>2]|0)+(k<<3)>>3];k=k+1|0}e=e+1|0}e:do if(!J){p=b+-1|0;e=0;r=0.0;o=0;while(1){if((o|0)>=(p|0))break e;q=b-o|0;m=e;k=1;while(1){e=m+1|0;if((k|0)>=(q|0))break;m=e;r=+g[I+(e<<2)>>2]+r;k=k+1|0}o=o+1|0}}else r=+(b|0)*.5*+(b+-1|0);while(0);C=(O(b+1|0,b)|0)/2|0;D=(J|0)==2;if(D)ct(C,I);dt(C,I);E=b<<3;m=uH(E)|0;H3(m|0,0,E|0)|0;F=b+-1|0;e=0;o=0;while(1){if((o|0)>=(F|0)){e=b;k=0;o=0;break}p=b-o|0;v=0.0;k=1;while(1){e=e+1|0;if((k|0)>=(p|0))break;x=+g[I+(e<<2)>>2];z=m+(k+o<<3)|0;h[z>>3]=+h[z>>3]-x;v=v+x;k=k+1|0}z=m+(o<<3)|0;h[z>>3]=+h[z>>3]-v;o=o+1|0}while(1){if((k|0)>=(b|0))break;g[I+(o<<2)>>2]=+h[m+(k<<3)>>3];z=e+o|0;e=e+-1|0;k=k+1|0;o=z}z=uH(s)|0;c[z>>2]=uH(a)|0;e=1;while(1){if((e|0)>=(j|0))break;c[z+(e<<2)>>2]=(c[z>>2]|0)+((O(e,b)|0)<<2);e=e+1|0}p=uH(t)|0;o=uH(t)|0;k=uH(C<<2)|0;if(0){w=c[15686]|0;h[A>>3]=+FL();g1(w,92054,A)|0;E1(89952,15,1,w)|0;EL()}w=(y|0)==0;y=c[15686]|0;e=0;q=0;x=1797693134862315708145274.0e284;while(1){if(!(q<<24>>24==0&(e|0)<(n|0)))break;H3(m|0,0,E|0)|0;if(D){et(C,I,k);u=0;a=0}else{u=0;a=0}while(1){if((u|0)>=(F|0)){q=b;s=0;a=0;break}t=b-u+-1|0;at(t,0.0,o);q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;at(t,+g[(c[A>>2]|0)+(u<<2)>>2],p);Xs(t,p,-1.0,(c[A>>2]|0)+(u<<2)+4|0);ct(t,p);Ws(t,p,o,o);q=q+1|0}ft(t,o);q=0;while(1){if((q|0)>=(t|0))break;s=o+(q<<2)|0;v=+g[s>>2];if(v>=3402823466385288598117041.0e14|v<0.0)g[s>>2]=0.0;q=q+1|0}q=a+1|0;a=u+1|0;f:do if(D){v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=k+(q<<2)|0;N=+g[A>>2]*+g[o+(s<<2)>>2];g[A>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}else{v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;N=+g[o+(s<<2)>>2];g[k+(q<<2)>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}while(0);A=m+(u<<3)|0;h[A>>3]=+h[A>>3]-v;u=a;a=q}while(1){if((s|0)>=(b|0)){q=0;break}g[k+(a<<2)>>2]=+h[m+(s<<3)>>3];A=q+a|0;q=q+-1|0;s=s+1|0;a=A}while(1){if((q|0)>=(j|0)){v=0.0;q=0;break}Us(k,b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0);q=q+1|0}while(1){if((q|0)>=(j|0))break;v=+_s(b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0)+v;q=q+1|0}v=v*2.0+r;q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;Us(I,b,c[A>>2]|0,p);v=v-+_s(b,c[A>>2]|0,p);q=q+1|0}P=x-v;N=+h[22909];q=(v=0.0?P:-P)/x=(j|0))break;t=H+(a<<2)|0;s=c[t>>2]|0;g:do if(w){if((Fq(I,s,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}}else{Zs(b,s,p);if((Fq(I,p,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}else s=0;while(1){if((s|0)>=(b|0))break g;if((d[(c[(c[i+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[p+(s<<2)>>2];s=s+1|0}}while(0);a=a+1|0}if(((e|0)%5|0|0)==0&0!=0?(h[K>>3]=v,g1(y,90277,K)|0,((e+5|0)%50|0|0)==0):0)n3(10,y)|0;e=e+1|0;x=v}if(!0)q=0;else{N=+sn(H,I,j,b,J);P=+FL();h[L>>3]=N;c[L+8>>2]=e;h[L+16>>3]=P;g1(y,89968,L)|0;q=0}while(1){if((q|0)>=(j|0)){u=z;t=I;a=G;s=H;q=z;break d}a=H+(q<<2)|0;t=f+(q<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[a>>2]|0)+(s<<2)>>2];s=s+1|0}q=q+1|0}}while(0);D_(a);D_(s);D_(t);if(u|0){D_(c[u>>2]|0);D_(q)}D_(p);D_(o);D_(m);D_(k)}while(0);l=M;return e|0}function rn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=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;R=l;l=l+32|0;o=R+24|0;Q=R+8|0;H=R+4|0;N=R;M=(d|0)<50?d:50;P=vH(M<<2)|0;G=d<<3;n=vH(O(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[P+(m<<2)>>2]=n+((O(m,d)|0)<<3);m=m+1|0}E=M<<1;E=(E|0)>50?E:50;E=(E|0)>(d|0)?d:E;c[o>>2]=0;sr(b,d,E,o,k);tr(c[o>>2]|0,d,E);mt(c[o>>2]|0,E,d,P,M);D_(c[c[o>>2]>>2]|0);D_(c[o>>2]|0);E=d<<2;L=vH(E)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}zq(Q,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)es(b,d);C=vH(E)|0;K=vH(160)|0;n=vH(d*160|0)|0;D=vH(160)|0;m=0;while(1){if((m|0)==40)break;c[D+(m<<2)>>2]=n+((O(m,d)|0)<<2);m=m+1|0}m=(g2()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[D>>2]|0;if(I){cr(m,b,d,n);n=0;o=0}else{vq(m,b,d,n,Q);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}F=c[(c[D>>2]|0)+(o<<2)>>2]|0;c[C+(o<<2)>>2]=F;A=(F|0)>(n|0);m=A?o:m;n=A?F:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=D+(r<<2)|0;n=c[t>>2]|0;if(I){cr(m,b,d,n);q=0;n=0}else{vq(m,b,d,n,Q);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=C+(q<<2)|0;F=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(F|0)<(k|0)?F:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((g2()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[C+(m<<2)>>2]=-1;m=m+1|0}w=vH(E)|0;F=vH(d<<4)|0;x=d+-1|0;y=x<<2;A=0;o=0;k=0;n=0;z=0;while(1){if((z|0)>=(d|0))break;m=L+(z<<2)|0;a:do if((c[m>>2]|0)>-1){t=F+(z<<4)+4|0;c[t>>2]=vH(y)|0;v=vH(y)|0;c[F+(z<<4)+8>>2]=v;c[F+(z<<4)>>2]=x;a[F+(z<<4)+12>>0]=1;r=D+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(z|0)){q=z;break}c[(c[t>>2]|0)+(m<<2)>>2]=m;c[v+(m<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){m=q+1|0;if((q|0)==(x|0)){m=x;break a}c[(c[t>>2]|0)+(q<<2)>>2]=m;c[v+(q<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];q=m}}else{if((n|0)<40){k=vH(E)|0;o=vH(E)|0;n=d;m=1}else m=0;a[F+(z<<4)+12>>0]=m;c[F+(z<<4)+4>>2]=k;c[F+(z<<4)+8>>2]=o;c[F+(z<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[k+(m<<2)>>2]=c[K+(m<<2)>>2];c[o+(m<<2)>>2]=c[(c[D+(m<<2)>>2]|0)+(z<<2)>>2];m=m+1|0}o=o+160|0;k=k+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;z=z+1|0}D_(C);D_(w);if(D|0){D_(c[D>>2]|0);D_(D)}D=vH(d*20|0)|0;q=A+d<<2;r=vH(q)|0;v=(j|0)==2;q=vH(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[D+(t*20|0)+4>>2]=r;c[D+(t*20|0)+8>>2]=q;m=(c[F+(t<<4)>>2]|0)+1|0;w=D+(t*20|0)|0;c[w>>2]=m;o=(c[F+(t<<4)+8>>2]|0)+-4|0;k=F+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;E=c[w>>2]|0;q=q+(E<<2)|0;r=r+(E<<2)|0;t=t+1|0}C=vH(f<<2)|0;c[C>>2]=vH(O(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[C+(m<<2)>>2]=(c[C>>2]|0)+((O(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=C+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[C+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[C>>2]>>3]=1.0;m=C+4|0;if(!((nt(P,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=C+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(g2()|0)*4.656612875245797e-10;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ss(P,d,M,c[C+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Hs(D,P,d,M,H);Fs(P,c[H>>2]|0,M,d,M,N);D_(c[c[H>>2]>>2]|0);D_(c[H>>2]|0);z=vH(G)|0;A=vH(M<<3)|0;m=0;n=0;p=+tn(e,F,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[F+(o<<4)+8>>2]|0)+-4|0;t=c[D+(o*20|0)+4>>2]|0;v=c[D+(o*20|0)+8>>2]|0;w=D+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+gs(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=u*+h[(c[y>>2]|0)+(m<<3)>>3]+ +h[q>>3];s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(o<<3)>>3]*s;o=o+1|0}Es(P,M,d,z,A);m=C+(x<<2)|0;if(Eq(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ss(P,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+tn(e,F,f,d,j);p=+B(+(u-p))/(u+1.0e-10);m=p<+h[22909]&1;p=u}else m=0;n=n+1|0}D_(A);D_(z);if(I){fs(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[F+(m<<4)+12>>0]|0){D_(c[F+(m<<4)+4>>2]|0);D_(c[F+(m<<4)+8>>2]|0)}m=m+1|0}D_(F);D_(c[D+4>>2]|0);D_(c[D+8>>2]|0);D_(D);D_(L);D_(K);D_(c[C>>2]|0);D_(C);m=c[N>>2]|0;if(m|0){D_(c[m>>2]|0);D_(c[N>>2]|0)}D_(c[P>>2]|0);D_(P);Aq(Q);l=R;return n|0}function sn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+C(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+C(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=i*l+h}m=m+1|0}return +h}function tn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/(p*p)+g}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/p+g}k=k+1|0}l=l+1|0}}while(0);return +g}function un(a){a=+a;return +(+C(+a)*a)}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=i*i+e;f=f+1|0}return +(+C(+e))}function wn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=uH(a<<2)|0;f=0;g=uH(O(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function xn(a){a=a|0;if(a|0){D_(c[a>>2]|0);D_(a)}return}function yn(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=ay(b)|0;m=by(b)|0;k=nx(b,2,90566,0)|0;a:do if(!d){h[22909]=+(n|0)*.0001;aH(b,105860,183272);g=xx(c[b+60>>2]|0,90006)|0;if(!g)e=.99;else e=+b2(g);h[22911]=e;g=uH((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=g;g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[(c[j>>2]|0)+152>>2]|0)+(g<<2)>>2]=i;p=c[i+16>>2]|0;c[p+120>>2]=g;c[p+124>>2]=-1;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}else{h[22909]=.0001;aH(b,105860,183272);g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[i+16>>2]|0)+120>>2]=g;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}while(0);g=xx(b,90014)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){e=+h[22909];f=+b2(g);if(!(e>f))e=f}else e=e/+(((m|0)>1?m:1)|0)*+C(+(+(n|0)))+1.0;h[22910]=e;if(!(c[46363]|d)){d=wn(n,n,e)|0;p=b+16|0;c[(c[p>>2]|0)+160>>2]=d;d=wn(n,n,1.0)|0;c[(c[p>>2]|0)+164>>2]=d;d=wn(n,c[46366]|0,1.0)|0;c[(c[p>>2]|0)+168>>2]=d;d=Cn(n,n,c[46366]|0)|0;c[(c[p>>2]|0)+172>>2]=d}l=o;return n|0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=Jx(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=Kx(a,j,b)|0}return e|0}function An(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(zn(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=Ex(a,b)|0;e=0.0;while(1){if(!b)break;switch(Dn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=ry(a)|0;h[i+8>>3]=1.0;Pw(3,90026,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=Gx(a,b)|0;e=f+e}l=k;return +e}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=uH((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=uH(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=uH(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function Dn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=yx(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((N1(f,98183,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[46363]|0)!=0:0){b=0;break}c[j>>2]=f;Pw(0,90053,j)|0;b=2}else b=1;while(0);l=k;return b|0}function En(a){a=a|0;return yn(a,0)|0}function Fn(a){a=a|0;a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);if(!(c[46363]|0)){xn(c[(c[a>>2]|0)+160>>2]|0);xn(c[(c[a>>2]|0)+164>>2]|0);xn(c[(c[a>>2]|0)+168>>2]|0);Gn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;D_(d);e=e+1|0;b=c[g>>2]|0}D_(b);f=f+1|0}D_(a)}return}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[46366]|0))break;f=+k2()*e;h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function In(a,b){a=a|0;b=b|0;Hn(a,b,2);return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=+k2()*e;d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=+k2()*e;h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[46366]|0)>2)In(a,b);return}function Kn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(0)E1(90071,26,1,c[15686]|0)|0;d=pm(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46027]|d)){Pw(0,90098,e)|0;c[46027]=1}e=b+16|0;d=0;while(1){b=c[(c[(c[e>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!b)break a;if(!(a[(c[b+16>>2]|0)+119>>0]|0))Jn(b,1);d=d+1|0}}while(0);l=f;return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;p=q+80|0;n=q;if(0){E1(90147,25,1,c[15686]|0)|0;EL()}o=a+16|0;f=c[o>>2]|0;k=c[f+164>>2]|0;f=c[f+160>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;i=f+(m<<2)|0;j=k+(m<<2)|0;e=0;while(1){if((e|0)==(m|0))break;g=+h[(c[i>>2]|0)+(e<<3)>>3];g=1.0/(g*g);d=c[(c[o>>2]|0)+152>>2]|0;d=Rx(a,c[d+(m<<2)>>2]|0,c[d+(e<<2)>>2]|0,0,0)|0;if(d)g=+h[(c[d+16>>2]|0)+128>>3]*g;h[(c[k+(e<<2)>>2]|0)+(m<<3)>>3]=g;h[(c[j>>2]|0)+(e<<3)>>3]=g;e=e+1|0}m=m+1|0}a=c[46366]|0;e=0;while(1){if((e|0)<(b|0))d=0;else break;while(1){if((d|0)>=(a|0))break;h[(c[(c[(c[o>>2]|0)+168>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}e=e+1|0}i=0;while(1){d=c[(c[(c[o>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!d)break;a=d+16|0;d=0;while(1){if((d|0)>=(b|0))break;a:do if((i|0)!=(d|0)){g=+vn(c[(c[a>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[o>>2]|0)+152>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+132>>2]|0,n);f=c[46366]|0;g=1.0/g;e=0;while(1){if((e|0)>=(f|0))break a;m=c[o>>2]|0;r=+h[n+(e<<3)>>3];r=(r-+h[(c[(c[m+160>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3]*r*g)*+h[(c[(c[m+164>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3];h[(c[(c[(c[m+172>>2]|0)+(i<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)>>3]=r;m=(c[(c[m+168>>2]|0)+(i<<2)>>2]|0)+(e<<3)|0;h[m>>3]=+h[m>>3]+r;e=e+1|0}}while(0);d=d+1|0}i=i+1|0}if(0){o=c[15686]|0;h[p>>3]=+FL();g1(o,90173,p)|0}l=q;return}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+32|0;g=i+24|0;f=i+8|0;e=i;j=+h[22909];h[22831]=j*j;while(1){d=Nn(a,b)|0;if(!d)break;On(a,b,d)}if(!0)b=a+16|0;else{d=c[15686]|0;h[e>>3]=+Pn(a,b);g1(d,90183,e)|0;b=a+16|0;k=c[(c[b>>2]|0)+156>>2]|0;e=(k|0)==(c[46365]|0)?90197:191979;j=+FL();c[f>>2]=k;c[f+4>>2]=e;h[f+8>>3]=j;g1(d,90199,f)|0}b=c[(c[b>>2]|0)+156>>2]|0;if((b|0)==(c[46365]|0)){k=ry(a)|0;c[g>>2]=b;c[g+4>>2]=k;Pw(0,90226,g)|0}l=i;return}function Nn(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;o=(c[46029]|0)+1|0;c[46029]=o;a=c[a+16>>2]|0;if((c[a+156>>2]|0)<(c[46365]|0)){m=c[46366]|0;n=a+152|0;k=a+168|0;a=0;e=0.0;j=0;while(1){if((j|0)>=(b|0))break;g=c[(c[n>>2]|0)+(j<<2)>>2]|0;if((d[(c[g+16>>2]|0)+119>>0]|0)<=1){i=0.0;f=0;while(1){if((f|0)>=(m|0))break;s=+h[(c[(c[k>>2]|0)+(j<<2)>>2]|0)+(f<<3)>>3];i=s*s+i;f=f+1|0}if(i>e){a=g;e=i}}j=j+1|0}if(!(e<+h[22831])){if(0!=0&((o|0)%100|0|0)==0?(p=c[15686]|0,h[q>>3]=+C(+e),g1(p,90277,q)|0,((c[46029]|0)%1e3|0|0)==0):0)n3(10,p)|0}else a=0}else a=0;l=r;return a|0}function On(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46028]|0;if(!f){g=c[46366]|0;g=vH(O(g<<3,g)|0)|0}else{g=c[46366]|0;g=xH(f,O(g<<3,g)|0)|0}c[46028]=g;Qn(a,b,m,g);i=c[46366]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[182656+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Xt(g,182736,182656,i);f=0;while(1){if((f|0)>=(c[46366]|0))break;e=+h[22911];e=(1.0-e)*2.0*+k2()+e;i=182736+(f<<3)|0;e=e*+h[i>>3];h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=+h[i>>3]+e;f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Rn(a,b,m);if(cM()|0){g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=+B(+(+h[182736+(f<<3)>>3]))+e;f=f+1|0}e=+C(+e);m=c[15686]|0;c[n>>2]=ry(d)|0;h[n+8>>3]=e;g1(m,90268,n)|0}l=o;return}function Pn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[46366]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=r*r+e}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=((+C(+e)*-2.0+r)*r+e)*+h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]+d;i=i+1|0;d=r}}return +d}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[46366]|0;a=0;while(1){if((a|0)>=(g|0))break;i=O(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(i+f<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[46366]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=q*q+r;a=a+1|0}n=1.0/+un(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((O(u,a)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+p*n*q*o*+h[w+(a<<3)>>3];a=a+1|0}m=e+((O(u,i)|0)+i<<3)|0;h[m>>3]=(1.0-q*n*(r-o*o))*p+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[46366]|0;i=1;while(1){if((i|0)>=(f|0))break;g=O(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(g+a<<3)>>3]=+h[e+((O(f,a)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[46366]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+vn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[46366]|0;i=1.0/i;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=(o-+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*o*i)*+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3];h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46030]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function Tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46031]|0;k=c[46030]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Un(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)qa(90283,90303,643,90311);d=c[46031]|0;c[46031]=d+1;c[b>>2]=d;c[(c[46030]|0)+(d<<2)>>2]=a;if((d|0)>0)Sn(a);return}function Vn(){var a=0,b=0,d=0,e=0;b=c[46031]|0;if(!b)a=0;else{e=c[46030]|0;a=c[e>>2]|0;d=b+-1|0;c[46031]=d;d=c[e+(d<<2)>>2]|0;c[e>>2]=d;c[(c[d+16>>2]|0)+124>>2]=0;if((b|0)>2)Tn(d);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[46030]=uH((b<<2)+4|0)|0;if(0){E1(90325,28,1,c[15686]|0)|0;EL()}b=Sy(a)|0;while(1){if(!b)break;Xn(a,b);b=Ty(a,b)|0}if(0){a=c[15686]|0;h[d>>3]=+FL();g1(a,90173,d)|0}D_(c[46030]|0);l=e;return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[22910];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46032]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Un(b);a:while(1){k=Vn()|0;if(!k)break;d=c[46032]|0;j=k+16|0;if((k|0)!=(d|0))Yn(a,d,k,+h[(c[j>>2]|0)+136>>3]);i=Jx(a,k)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(k|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[j>>2]|0;f=+h[(c[i+16>>2]|0)+136>>3]+ +h[d+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Sn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Un(b);break}}while(0);i=Kx(a,i,k)|0}}return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Zn(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;_n(a);return}function _n(a){a=a|0;var b=0,d=0,e=0,f=0;b=ay(a)|0;e=uH(b*56|0)|0;b=uH((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;$n(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function $n(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(ay(b)|0){Zn(b);f=xx(b,93136)|0;if(f)if(a[f>>0]|0){d=az(b,f,0)|0;if(!d){c[g>>2]=f;Pw(0,90354,g)|0;Pw(3,90394,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=nx(b,1,93136,0)|0;o=(n|0)!=0;f=xx(b,137660)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(N1(f,102477,m)|0)==1):0)h[k>>3]=+h[j>>3];if(ay(b)|0){m=oD(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=bo(b,n)|0,e|0):0)break;e=0}while(0);f=Zt(b,e)|0;if(!((e|0)!=0|o^1))rx(f,n,139381)|0;r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;tq(b)|0;hn(b);d=(s|0)==0|g?d:f}else{XD(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(oz(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=bo(g,n)|0,q|0):0){f=q;break}f=0}while(0);vD(g)|0;i=Zt(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)rx(i,n,139381)|0;tq(g)|0;j=j+1|0}r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;WD(c[t>>2]|0,m,b,p)|0;hn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;dz(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}D_(m)}if(s|0)zx(b,93136,ry(d)|0)|0;eJ(b)}l=u;return}function bo(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c){c=0;break}if((QL(yx(c,b)|0)|0)<<24>>24)break;c=Ty(a,c)|0}return c|0}function co(a){a=a|0;var b=0,c=0;b=Sy(a)|0;if(b|0){while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;JM(c);c=Gx(a,c)|0}HM(b);b=Ty(a,b)|0}eo(a)}return}function eo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function fo(a){a=a|0;go(a);if(!((ay(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){nu(a);eJ(a)}return}function go(a){a=a|0;c[46377]=nx(a,1,105204,105210)|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;ho(a,0);io(a);return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){lo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;mo(b,d);ho(d,0)}else ho(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;Az(b,134365,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;jo(b);e=Ex(a,b)|0;while(1){if(!e)break;ko(e);e=Gx(a,e)|0}b=Ty(a,b)|0;d=d+1|0}return}function jo(a){a=a|0;zx(a,105204,105210)|0;return}function ko(a){a=a|0;Az(a,134378,304,1)|0;return}function lo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function no(a){a=a|0;var b=0,d=0;b=Sy(a)|0;if(b|0){D_(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}oo(a)}return}function oo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function po(a){a=a|0;var d=0,e=0,f=0;qo(a);ro(a,0);so(a,0);to(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Ym(a,d&65535)|0}else{d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]*.013888888888888888;h[e+8>>3]=+h[f+24>>3]*.013888888888888888;d=Ty(a,d)|0}$m(a,1)}eJ(a);return}function qo(a){a=a|0;var d=0,e=0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;d=Sy(a)|0;while(1){if(!d)break;$l(d);d=Ty(a,d)|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;Az(d,134378,176,1)|0;eM(d)|0;d=Gx(a,d)|0}e=Ty(a,e)|0}return}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){yo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;fH(d);zo(b,d);ro(d,0)}else ro(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+448|0;G=Q+400|0;F=Q+384|0;P=Q+344|0;O=Q+304|0;N=Q+248|0;D=Q+192|0;x=Q+152|0;y=Q+96|0;o=Q+72|0;d=Q+64|0;I=Q+32|0;J=Q;B=Q+416|0;u=Q+328|0;w=Q+288|0;K=Q+232|0;L=Q+176|0;M=Q+136|0;H=Q+80|0;n=c[a+60>>2]|0;if(0>1){uo(b);E=c[15686]|0;c[d>>2]=ry(a)|0;g1(E,90637,d)|0}E=a+16|0;f=b+1|0;d=1;e=0;while(1){g=c[E>>2]|0;if((d|0)>(c[g+180>>2]|0))break;C=c[(c[g+184>>2]|0)+(d<<2)>>2]|0;so(C,f);d=d+1|0;e=(ay(C)|0)+e|0}p=(ay(a)|0)-e|0;d=c[E>>2]|0;C=(c[d+180>>2]|0)+p|0;v=(C|0)==0;if(v?(c[d+12>>2]|0)==0:0){P=d+16|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;h[d+40>>3]=18.0;h[d+32>>3]=18.0}else{d=B+16|0;do if((XD(a,4,4,B)|0)>>>0>=3)if((c[d>>2]|0)==4?(c[B+28>>2]&2|0)!=0:0){e=nx(n,0,96164,0)|0;d=nx(n,1,96164,0)|0;if((e|0)!=0|(d|0)!=0){c[B+24>>2]=uH(C<<2)|0;break}else{c[o>>2]=ry(a)|0;Pw(0,90483,o)|0;d=0;e=0;break}}else{d=0;e=0}else{c[d>>2]=3;d=0;e=0}while(0);z=uH(C<<5)|0;A=uH(C<<2)|0;s=B+24|0;n=(e|0)!=0;r=0;g=1;while(1){f=c[E>>2]|0;if((g|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(g<<2)>>2]|0;t=z+(r<<5)|0;q=(c[f+16>>2]|0)+16|0;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];c[t+16>>2]=c[q+16>>2];c[t+20>>2]=c[q+20>>2];c[t+24>>2]=c[q+24>>2];c[t+28>>2]=c[q+28>>2];if(n&(c[s>>2]|0)!=0){t=KL(f,e,0,0)|0;c[(c[s>>2]|0)+(r<<2)>>2]=t}c[A+(r<<2)>>2]=f;r=r+1|0;g=g+1|0}a:do if((p|0)>0){o=I+16|0;p=I+24|0;q=(d|0)!=0;n=Sy(a)|0;e=r;while(1){if(!n)break a;f=c[n+16>>2]|0;g=f+112|0;if(!(c[g>>2]|0)){c[g>>2]=a;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;h[o>>3]=+h[f+96>>3]+ +h[f+88>>3];h[p>>3]=+h[f+80>>3];t=z+(e<<5)|0;c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];c[t+16>>2]=c[I+16>>2];c[t+20>>2]=c[I+20>>2];c[t+24>>2]=c[I+24>>2];c[t+28>>2]=c[I+28>>2];if(q&(c[s>>2]|0)!=0){t=KL(n,d,0,0)|0;c[(c[s>>2]|0)+(e<<2)>>2]=t}c[A+(e<<2)>>2]=n;e=e+1|0}n=Ty(a,n)|0}}while(0);t=QD(C,z,B)|0;d=c[s>>2]|0;if(d|0)D_(d);vo(J,2147483647.0,2147483647.0);s=J+16|0;vo(u,-2147483647.0,-2147483647.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];g=I+16|0;n=I+8|0;o=I+24|0;p=J+8|0;q=J+24|0;r=c[15686]|0;d=0;while(1){if((d|0)>=(C|0))break;j=+(c[t+(d<<3)>>2]|0);m=+(c[t+(d<<3)+4>>2]|0);e=z+(d<<5)|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];c[I+16>>2]=c[e+16>>2];c[I+20>>2]=c[e+20>>2];c[I+24>>2]=c[e+24>>2];c[I+28>>2]=c[e+28>>2];i=+h[I>>3]+j;h[I>>3]=i;j=+h[g>>3]+j;h[g>>3]=j;k=+h[n>>3]+m;h[n>>3]=k;m=+h[o>>3]+m;h[o>>3]=m;h[J>>3]=+h[(+h[J>>3]>3];h[p>>3]=+h[(+h[p>>3]>3];h[s>>3]=+h[(+h[s>>3]>j?J:I)+16>>3];h[q>>3]=+h[(+h[q>>3]>m?J:I)+24>>3];e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){u=(c[f>>2]|0)+16|0;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[u+16>>2]=c[I+16>>2];c[u+20>>2]=c[I+20>>2];c[u+24>>2]=c[I+24>>2];c[u+28>>2]=c[I+28>>2];if(0>1){uo(b);c[y>>2]=ry(e)|0;h[y+8>>3]=i;h[y+16>>3]=k;h[y+24>>3]=j;h[y+32>>3]=m;g1(r,90462,y)|0}}else{u=(c[f>>2]|0)+16|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];c[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];wo(w,F,G);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];if(0>1){uo(b);u=ry(e)|0;f=c[f>>2]|0;k=+h[f+16>>3];m=+h[f+24>>3];c[x>>2]=u;h[x+8>>3]=k;h[x+16>>3]=m;g1(r,90450,x)|0}}d=d+1|0}e=c[E>>2]|0;d=c[e+12>>2]|0;if(d|0){i=+h[d+24>>3];if(v){j=+h[d+32>>3];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;h[s>>3]=i;h[q>>3]=j;j=0.0;k=i}else{j=+h[J>>3];k=+h[s>>3]}m=i-(k-j);i=m*.5;if(m>0.0){h[J>>3]=j-i;h[s>>3]=k+i}}if((b|0)>0)i=+((c[B+8>>2]|0)>>>0)*.5;else i=0.0;j=+h[J>>3]-i;h[J>>3]=j;k=+h[s>>3]+i;h[s>>3]=k;m=-i-+h[e+56>>3]+ +h[p>>3];h[p>>3]=m;i=+h[e+88>>3]+i+ +h[q>>3];h[q>>3]=i;if(0>1){uo(b);c[D>>2]=ry(a)|0;h[D+8>>3]=j;h[D+16>>3]=m;h[D+24>>3]=k;h[D+32>>3]=i;g1(r,90462,D)|0}d=0;while(1){if((d|0)>=(C|0))break;e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){D=(c[f>>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];c[I+16>>2]=c[D+16>>2];c[I+20>>2]=c[D+20>>2];c[I+24>>2]=c[D+24>>2];c[I+28>>2]=c[D+28>>2];c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(I,F,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[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(K,F,G);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];D=(c[f>>2]|0)+16|0;c[D>>2]=c[I>>2];c[D+4>>2]=c[I+4>>2];c[D+8>>2]=c[I+8>>2];c[D+12>>2]=c[I+12>>2];c[D+16>>2]=c[I+16>>2];c[D+20>>2]=c[I+20>>2];c[D+24>>2]=c[I+24>>2];c[D+28>>2]=c[I+28>>2];if(0>1){uo(b);D=ry(e)|0;i=+h[I>>3];j=+h[n>>3];k=+h[g>>3];m=+h[o>>3];c[N>>2]=D;h[N+8>>3]=i;h[N+16>>3]=j;h[N+24>>3]=k;h[N+32>>3]=m;g1(r,90462,N)|0}}else{D=(c[f>>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[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(L,F,G);c[D>>2]=c[L>>2];c[D+4>>2]=c[L+4>>2];c[D+8>>2]=c[L+8>>2];c[D+12>>2]=c[L+12>>2];if(0>1){uo(b);D=ry(e)|0;B=c[f>>2]|0;k=+h[B+16>>3];m=+h[B+24>>3];c[O>>2]=D;h[O+8>>3]=k;h[O+16>>3]=m;g1(r,90450,O)|0}}d=d+1|0}c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(M,F,G);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[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(H,F,G);c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];O=(c[E>>2]|0)+16|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[O+16>>2]=c[J+16>>2];c[O+20>>2]=c[J+20>>2];c[O+24>>2]=c[J+24>>2];c[O+28>>2]=c[J+28>>2];if(0>1){uo(b);O=ry(a)|0;i=+h[J>>3];j=+h[p>>3];k=+h[s>>3];m=+h[q>>3];c[P>>2]=O;h[P+8>>3]=i;h[P+16>>3]=j;h[P+24>>3]=k;h[P+32>>3]=m;g1(r,90462,P)|0}D_(z);D_(A);D_(t)}l=Q;return}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;s=t+32|0;i=t+8|0;d=t;r=a+16|0;o=c[r>>2]|0;p=+h[o+16>>3];q=+h[o+24>>3];if(0>1){uo(b);o=c[15686]|0;c[d>>2]=ry(a)|0;g1(o,90435,d)|0}o=(b|0)!=0;a:do if(o){d=Sy(a)|0;e=c[15686]|0;while(1){if(!d)break a;f=d+16|0;g=c[f>>2]|0;if((c[g+112>>2]|0)==(a|0)?(u=g+16|0,h[u>>3]=+h[u>>3]+p,g=g+24|0,h[g>>3]=+h[g>>3]+q,0>1):0){uo(b);u=ry(d)|0;g=c[f>>2]|0;m=+h[g+16>>3];n=+h[g+24>>3];c[i>>2]=u;h[i+8>>3]=m;h[i+16>>3]=n;g1(e,90450,i)|0}d=Ty(a,d)|0}}else e=c[15686]|0;while(0);i=b+1|0;a=1;while(1){d=c[r>>2]|0;if((a|0)>(c[d+180>>2]|0))break;g=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(o){f=g+16|0;d=c[f>>2]|0;j=+h[d+16>>3]+p;k=+h[d+24>>3]+q;m=+h[d+32>>3]+p;n=+h[d+40>>3]+q;if(0>1){uo(b);c[s>>2]=ry(g)|0;h[s+8>>3]=j;h[s+16>>3]=k;h[s+24>>3]=m;h[s+32>>3]=n;g1(e,90462,s)|0;d=c[f>>2]|0}h[d+16>>3]=j;h[d+24>>3]=k;h[d+32>>3]=m;h[d+40>>3]=n}to(g,i);a=a+1|0}l=t;return}function uo(a){a=a|0;var b=0;b=c[15686]|0;while(1){if((a|0)<=0)break;D1(90480,b)|0;a=a+-1|0}return}function vo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function yo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Ao(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;HM(b);b=Ty(a,b)|0}Bo(a);return}function Bo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;nH(c[(c[e+16>>2]|0)+12>>2]|0);Bo(e);a=a+1|0}D_(d);return}function Co(a){a=a|0;var b=0,d=0,e=0;Fz(a,1,134365,304,1);sM(a)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=Sy(a)|0;while(1){if(!d)break;Do(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=Ty(a,d)|0}e=nx(a,2,90566,0)|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Eo(b,e);b=Gx(a,b)|0}d=Ty(a,d)|0}Fo(a);return}function Do(a){a=a|0;var b=0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0.0;Az(a,134378,176,1)|0;e=+LL(a,c[46404]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+LL(a,b,+h[1371],0.0);h[(c[d>>2]|0)+136>>3]=e;eM(a)|0;return}function Fo(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=nx(b,1,99597,0)|0;a:do if(n|0){o=nx(b,1,90570,0)|0;i=b+16|0;j=(o|0)==0;k=c[15686]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=yx(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((N1(b,98723,p)|0)<=1){c[q>>2]=ry(e)|0;c[q+4>>2]=b;g1(k,90574,q)|0;break}b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[22908];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((QL(yx(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Go(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}Ho(a);return}function Ho(a){a=a|0;Io(a);a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);D_(c[(c[a>>2]|0)+140>>2]|0);return}function Io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;nH(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){D_(c[d>>2]|0);D_(c[(c[b>>2]|0)+140>>2]|0)}Io(e);f=f+1|0}D_(b);if((fz(a)|0)!=(a|0))Cz(a,134401)|0;return}function Jo(a,b){a=a|0;b=b|0;c[b+4>>2]=nx(a,0,90626,0)|0;c[b+8>>2]=nx(a,0,138034,0)|0;c[b+12>>2]=nx(a,0,137966,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=XD(a,2,4,b+20|0)|0;return}function Ko(a){a=a|0;var d=0,e=0;$M(a,2);d=uH(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(KL(a,nx(a,0,90633,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[46366]=d&65535;Lo(a,0,a);hp(a);Co(a);return}function Lo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Mo(j);d=j}g=e+16|0;f=wA(a)|0;while(1){if(!f)break;if(!(z$(ry(f)|0,104980,7)|0)){Az(f,134401,280,1)|0;n=uH(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;No(d,f);Lo(f,0,f)}else Lo(f,d,e);f=xA(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=xH(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Oo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Jo(a,c);Po(a,c);Qo(a);Ro(a,a);So(a);l=b;return}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(0){q=c[15686]|0;c[e>>2]=ry(b)|0;g1(q,90637,e)|0}e=Sy(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=Ty(b,e)|0}p=To(b,d)|0;q=Iu(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;ip(f,m);e=Sy(f)|0;while(1){if(!e)break;g=Ty(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Uo(e,f)|0;Po(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*36.0;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}dz(f,e)|0;e=g}if((ay(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Qp(f)|0;vp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){mM(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=uH(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=BD(e,q,0,d+20|0)|0;D_(f)}Vo(p,c[o>>2]|0,q,e,b,d);D_(e);f=Sy(p)|0;while(1){if(!f)break;g=c[f+16>>2]|0;e=c[g+212>>2]|0;if(!e){e=c[(c[g+112>>2]|0)+8>>2]|0;if(e|0){o=c[g+132>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[g+132>>2]|0;x=+h[g+32>>3];w=+h[o>>3]-x*.5;v=c[(c[e+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[g+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}f=Ty(p,f)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Wo(p,q);D_(q);if(0){v=c[15686]|0;c[r>>2]=ry(b)|0;g1(v,90648,r)|0}l=s;return}function Qo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];g=j*36.0;f=i*36.0;k=c[e+132>>2]|0;h[k>>3]=j*.5;h[k+8>>3]=i*.5;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=Ty(b,d)|0}return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=Sy(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=+h[e>>3]+f;e=e+8|0;h[e>>3]=+h[e>>3]+g}d=Ty(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=+h[n>>3]+g;m=+h[l>>3]+f;k=+h[e>>3]+g;h[p>>3]=+h[p>>3]+f;h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Ro(d,b);a=a+1|0}return}function So(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;So(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function To(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;s=y+24|0;t=y+8|0;g=y;f=y+56|0;w=e+16|0;x=c[w>>2]|0;c[w>>2]=x+1;c[s>>2]=x;Y0(f,90710,s)|0;if(0>1){x=c[15686]|0;w=ry(d)|0;c[g>>2]=f;c[g+4>>2]=w;g1(x,90717,g)|0};a[s>>0]=a[18484]|0;a[s+1>>0]=a[18485]|0;a[s+2>>0]=a[18486]|0;a[s+3>>0]=a[18487]|0;x=Xx(91072,s,0)|0;Az(x,134401,280,1)|0;v=uH(56)|0;w=x+16|0;o=c[w>>2]|0;c[o+140>>2]=v;v=d+16|0;b[o+176>>1]=b[(c[v>>2]|0)+176>>1]|0;ap(d,x,91095);ap(d,x,91700);ap(d,x,90983);o=e+4|0;p=s+16|0;q=s+8|0;r=s+24|0;j=0;n=1;while(1){f=c[v>>2]|0;if((n|0)>(c[f+180>>2]|0))break;c[s>>2]=c[332];c[s+4>>2]=c[333];c[s+8>>2]=c[334];c[s+12>>2]=c[335];c[s+16>>2]=c[336];c[s+20>>2]=c[337];c[s+24>>2]=c[338];c[s+28>>2]=c[339];g=c[(c[f+184>>2]|0)+(n<<2)>>2]|0;fH(g);i=bp(x,ry(g)|0)|0;k=i+16|0;f=c[k>>2]|0;c[f+212>>2]=g;m=j+1|0;c[f+120>>2]=j;if(c[o>>2]|0)cp(g,i,e,s);f=Sy(g)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+164>>2]=i;f=Ty(g,f)|0}f=c[k>>2]|0;if(a[f+119>>0]|0){k=c[f+132>>2]|0;h[k>>3]=(+h[p>>3]+ +h[s>>3])*.5;h[k+8>>3]=(+h[r>>3]+ +h[q>>3])*.5}j=m;n=n+1|0}k=Sy(d)|0;while(1){if(!k)break;f=k+16|0;g=c[f>>2]|0;if(!(c[g+164>>2]|0)){i=g+212|0;s=c[i>>2]|0;if(s|0?(s|0)!=(c[(c[(c[v>>2]|0)+140>>2]|0)+48>>2]|0):0){u=18;break}c[i>>2]=d;if(!(a[g+118>>0]|0)){i=bp(x,ry(k)|0)|0;g=c[f>>2]|0;c[g+164>>2]=i;i=c[i+16>>2]|0;c[i+120>>2]=j;h[i+32>>3]=+h[g+32>>3];h[i+40>>3]=+h[g+40>>3];h[i+88>>3]=+h[g+88>>3];h[i+96>>3]=+h[g+96>>3];h[i+80>>3]=+h[g+80>>3];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];f=a[g+119>>0]|0;if(f<<24>>24){e=c[g+132>>2]|0;s=c[i+132>>2]|0;h[s>>3]=+h[e>>3];h[s+8>>3]=+h[e+8>>3];a[i+119>>0]=f}c[(c[i+112>>2]|0)+8>>2]=k;f=j+1|0}else f=j}else f=j;k=Ty(d,k)|0;j=f}if((u|0)==18){e=ry(k)|0;s=ry(d)|0;u=ry(c[(c[f>>2]|0)+212>>2]|0)|0;c[t>>2]=e;c[t+4>>2]=s;c[t+8>>2]=u;Pw(1,90740,t)|0;bb(184132,1)}m=Sy(d)|0;while(1){if(!m)break;n=c[(c[m+16>>2]|0)+164>>2]|0;o=n+16|0;i=Ex(d,m)|0;while(1){if(!i)break;f=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((f|0)!=(n|0)){if(f>>>0>n>>>0)k=Rx(x,n,f,0,1)|0;else k=Rx(x,f,n,0,1)|0;Az(k,134378,176,1)|0;g=c[i+16>>2]|0;u=c[k+16>>2]|0;h[u+136>>3]=+h[g+136>>3];h[u+128>>3]=+h[g+128>>3];f=c[(c[f+16>>2]|0)+112>>2]|0;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[(c[o>>2]|0)+112>>2]|0;t=g+4|0;c[t>>2]=(c[t>>2]|0)+1;if(!(c[u+172>>2]|0)){c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}dp(k,i)}i=Gx(d,i)|0}m=Ty(d,m)|0}f=c[(c[v>>2]|0)+140>>2]|0;g=c[f>>2]|0;if(g|0){i=uH((c[f+4>>2]<<4)+16|0)|0;c[c[(c[w>>2]|0)+140>>2]>>2]=i;f=0;while(1){if(!(c[g>>2]|0))break;m=c[(c[(c[g+4>>2]|0)+16>>2]|0)+164>>2]|0;if(m){ep(d,g);n=bp(x,190692)|0;o=n+16|0;c[(c[o>>2]|0)+120>>2]=j;if(n>>>0>m>>>0)k=Rx(x,m,n,0,1)|0;else k=Rx(x,n,m,0,1)|0;Az(k,134378,176,1)|0;u=c[g>>2]|0;t=c[u+16>>2]|0;v=c[k+16>>2]|0;h[v+136>>3]=+h[t+136>>3];h[v+128>>3]=+h[t+128>>3];dp(k,u);u=c[(c[o>>2]|0)+112>>2]|0;v=u+4|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[m+16>>2]|0)+112>>2]|0;t=v+4|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[i+4>>2]=n;h[i+8>>3]=+h[g+8>>3];c[i>>2]=k;f=f+1|0;i=i+16|0;j=j+1|0}g=g+16|0}c[(c[(c[w>>2]|0)+140>>2]|0)+4>>2]=f}l=y;return x|0}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=uH((l<<4)+16|0)|0;f=Zo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=_o(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;D_(f);break}else qa(90656,90666,766,90675)}while(0);return k|0}function Vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;x=B+16|0;A=B;m=c[g+8>>2]|0;j=c[g+12>>2]|0;y=(c[g>>2]|0)==(f|0);z=(b|0)!=0;a:do if(z){p=c[(c[d>>2]|0)+16>>2]|0;k=+h[p+16>>3];m=~~(k+(k>=0.0?.5:-.5));c[A>>2]=m;k=+h[p+24>>3];g=~~(k+(k>=0.0?.5:-.5));u=A+4|0;c[u>>2]=g;k=+h[p+32>>3];n=~~(k+(k>=0.0?.5:-.5));v=A+8|0;c[v>>2]=n;k=+h[p+40>>3];p=~~(k+(k>=0.0?.5:-.5));w=A+12|0;c[w>>2]=p;if((b|0)>1){q=c[e>>2]|0;t=c[e+4>>2]|0;m=q+m|0;c[A>>2]=m;b=t+g|0;c[u>>2]=b;n=q+n|0;c[v>>2]=n;q=x+4|0;r=x+8|0;s=x+12|0;o=e;g=d;t=t+p|0;p=b;while(1){g=g+4|0;j=o+8|0;c[w>>2]=t;b=c[g>>2]|0;if(!b){j=0;r=p;s=t;break a}E=c[b+16>>2]|0;G=+h[E+16>>3];i=+h[E+24>>3];k=+h[E+32>>3];H=+h[E+40>>3];E=~~(H+(H>=0.0?.5:-.5));c[s>>2]=E;b=c[j>>2]|0;F=c[o+12>>2]|0;D=b+~~(G+(G>=0.0?.5:-.5))|0;c[x>>2]=D;C=F+~~(i+(i>=0.0?.5:-.5))|0;c[q>>2]=C;b=b+~~(k+(k>=0.0?.5:-.5))|0;c[r>>2]=b;E=F+E|0;c[s>>2]=E;D=c[((m|0)<(D|0)?A:x)>>2]|0;c[A>>2]=D;C=c[((p|0)<(C|0)?A:x)+4>>2]|0;c[u>>2]=C;b=c[((n|0)>(b|0)?A:x)+8>>2]|0;c[v>>2]=b;o=j;t=c[((t|0)>(E|0)?A:x)+12>>2]|0;m=D;p=C;n=b}}else{j=0;r=g;s=p}}else{c[A>>2]=0;c[A+4>>2]=0;n=KL(f,m,54,3)|0;c[A+8>>2]=n;s=KL(f,j,36,3)|0;c[A+12>>2]=s;j=1;m=0;r=0}while(0);b=f+16|0;o=c[b>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=m-n+~~(H+(H>=0.0?.5:-.5))|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[A>>2]=m;n=n+g|0;c[A+8>>2]=n;g=0}else g=0}else g=j;if(y|(g|0)!=0){j=0;g=o}else{j=KL(a,c[46374]|0,8,0)|0;g=c[b>>2]|0}q=j-m|0;p=~~(+h[g+56>>3]+ +(j-r|0));c[A>>2]=0;c[A+4>>2]=0;o=q+j+n|0;c[A+8>>2]=o;b=~~(+h[g+88>>3]+ +(j+p|0)+ +(s|0));c[A+12>>2]=b;b:do if(z){g=e;c:while(1){n=d+4|0;j=c[d>>2]|0;if(!j)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}k=+(d|0)*.013888888888888888;i=+(g|0)*.013888888888888888;d=Sy(j)|0;while(1){if(!d){d=n;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=+h[F>>3]+k;F=F+8|0;h[F>>3]=+h[F>>3]+i;d=Ty(j,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;E=F+8|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;h[F+24>>3]=+(o|0)*.013888888888888888;h[F+32>>3]=+(b|0)*.013888888888888888;l=B;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;Xo(d);Cz(d,134401)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)D_(b);Xo(a);Cz(a,134401)|0;d=Sy(a)|0;while(1){if(!d)break;e=Ty(a,d)|0;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+172>>2]|0);Cz(b,134378)|0;b=Gx(a,b)|0}Yo(d);d=e}$x(a)|0;return}function Xo(a){a=a|0;D_(c[(c[a+16>>2]|0)+140>>2]|0);return}function Yo(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);Cz(a,134365)|0;return}function Zo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=uH((l*24|0)+24|0)|0;i=0;j=Jx(b,a)|0;while(1){if(!j)break;f=c[j>>2]&3;e=c[((f|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((f|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;f=c[(c[k>>2]|0)+132>>2]|0;g=+h[e>>3]-+h[f>>3];d=+h[e+8>>3]-+h[f+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+K(+d,+g);h[m+(i*24|0)+16>>3]=d*d+g*g;i=i+1|0;j=Kx(b,j,a)|0}if((i|0)!=(l|0))qa(90689,90666,642,90698);_0(m,l,24,67);a:do if((l|0)>1){j=l+-1|0;e=0;b:while(1){if((e|0)>=(j|0))break a;g=+h[m+(e*24|0)+8>>3];f=e+1|0;i=f;while(1){if((i|0)>=(l|0))break;if(!(+h[m+(i*24|0)+8>>3]==g))break;i=i+1|0}if((i|0)==(f|0)){e=f;continue}if((i|0)==(l|0))d=3.141592653589793;else d=+h[m+(i*24|0)+8>>3];d=(d-g)/+(i-e|0);d=d>.03490658503988659?.03490658503988659:d;g=0.0;while(1){if((e|0)>=(i|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=+h[k>>3]+g;g=g+d;e=e+1|0}}}while(0);return m|0}function _o(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;m=i>>>0>a>>>0;l=m?g:-g;d=m?1:-1;k=0;i=c[n+172>>2]|0;j=m?f:f+-1+o|0;g=m?p:g*+(o+-1|0)+p;while(1){if((k|0)>=(o|0))break;n=c[i>>2]|0;c[e+(j<<4)>>2]=n;m=c[n>>2]&3;q=(m|0)==3?n:n+48|0;c[e+(j<<4)+4>>2]=c[((c[(c[(c[q+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?q:(m|0)==2?n:n+-48|0)+40>>2];h[e+(j<<4)+8>>3]=g;k=k+1|0;i=i+4|0;j=j+d|0;g=g+l}return o+f|0}function $o(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d>31}else a=-1;else a=1;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=nx(a,0,c,0)|0;do if(d|0){a=yx(a,d)|0;d=nx(b,0,c,0)|0;if(!d){nx(b,0,c,a)|0;break}else{rx(b,d,a)|0;break}}while(0);return}function bp(a,b){a=a|0;b=b|0;var d=0,f=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;f=uH(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=vH((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function cp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;p=q;o=q+64|0;i=c[e+4>>2]|0;k=yx(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=yx(yA(b)|0,i)|0;if((e|0)==(k|0))break;if(!(b$(k,e)|0))break}a[o>>0]=0;e=p+8|0;i=p+16|0;j=p+24|0;c[m>>2]=p;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=o;if((N1(k,90851,m)|0)<=3){c[n>>2]=ry(b)|0;c[n+4>>2]=k;Pw(0,90869,n)|0;break}g=+h[22908];if(g>0.0){h[p>>3]=+h[p>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}e=a[o>>0]|0;if(e<<24>>24==33)a[(c[d+16>>2]|0)+119>>0]=3;else a[(c[d+16>>2]|0)+119>>0]=e<<24>>24==63?2:1;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[f+16>>2]=c[p+16>>2];c[f+20>>2]=c[p+20>>2];c[f+24>>2]=c[p+24>>2];c[f+28>>2]=c[p+28>>2]}while(0);l=q;return}function dp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;a=b[f+168>>1]|0;f=c[f+172>>2]|0;if(!f){a=a<<16>>16;e=a;a=vH((a<<2)+4|0)|0}else{a=a<<16>>16;e=a;a=xH(f,(a<<2)+4|0)|0}c[a+(e<<2)>>2]=d;d=c[g>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=W_(ry(a)|0)|0;j=W_(ry(f)|0)|0;j=(b+8+j+(W_(ry(d)|0)|0)|0)>999;b=ry(a)|0;if(j){d=ry(d)|0;j=ry(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;Y0(190692,90809,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;Y0(190692,90828,h)|0}l=i;return}function fp(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=C_(40)|0;c[i>>2]=0;g=+h[22908];o=0;f=+Z(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){h[22908]=f;o=0;ia(100,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){i=D3(184132,1,i|0,j|0)|0;j=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,i|0,j|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1)d=0;else d=z}else d=z}else d=z;while(1){if(d|0)break;o=0;ia(101,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}o=0;$(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;ia(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}}o=0;ja(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else{k=12;break}}if((k|0)==12)h[22908]=g;D_(i|0);return}function gp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Wm(a,22,10)|0){c[46363]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Ym(a,d)|0;break}else{Pw(0,90912,g)|0;d=2;break}while(0);c[46363]=0}if((c[46367]|0)<1)Ym(a,d)|0;l=i;return}function hp(a){a=a|0;var b=0.0,d=0.0,e=0;e=l;l=l+16|0;c[45704]=1;c[45705]=1;c[45707]=-1;c[45709]=50;h[22860]=0.0;h[22855]=0.0;h[22856]=1.0;c[45708]=KL(a,nx(a,0,90975,0)|0,600,0)|0;d=+LL(a,nx(a,0,90983,0)|0,.3,0.0);h[22857]=d;h[1371]=d;if(-1.0==-1.0)b=+LL(a,nx(a,0,90985,0)|0,-1.0,0.0);else b=-1.0;h[22858]=b;c[45706]=1;a=om(a,2,182824)|0;c[45718]=a;if(!a){Pw(0,90988,e)|0;c[45706]=2}c[45734]=(O(c[45708]|0,c[45709]|0)|0)/100|0;d=+h[22857];h[22862]=d*d;if(c[45704]|0){b=+h[22860];if(b<=0.0){b=d*3.0;h[22860]=b}h[22861]=b*b}l=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=jp(a,b)|0;kp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[45704]|0)){b=0;while(1){if((b|0)>=(c[45735]|0))break a;np(a,+lp(b),g);b=b+1|0}}else{d=Ku(ay(a)|0)|0;Pu(d,ay(a)|0);b=0;while(1){if((b|0)>=(c[45735]|0))break;mp(a,+lp(b),g,d);b=b+1|0}Ru(d)}while(0);b:do if(e!=0.0|f!=0.0){b=Sy(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=+h[g>>3]+e;g=g+8|0;h[g>>3]=+h[g>>3]+f;b=Ty(a,b)|0}}while(0);if(i|0)op();l=j;return}function jp(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[22858]==-1.0){i=ay(a)|0;d=+h[22857];h[22858]=+h[22856]*.2*d*+C(+(+(i|0)));i=1}else{i=0;d=+h[22857]}g=c[45734]|0;h[b+8>>3]=+lp(g);h[b+16>>3]=d;h[b+24>>3]=+h[22855];e=c[45708]|0;a=e-g|0;c[b>>2]=a;f=c[45707]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[45735]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[45735]=g;a=f-g|0;j=10}}else{c[45735]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0;v=ay(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=Sy(d)|0;q=0;r=0;g=0;k=0;n=0;while(1){if(!u)break;f=c[u+16>>2]|0;if(!(a[f+119>>0]|0))f=r;else{f=c[f+132>>2]|0;i=+h[f>>3];if(!q){k=~~i;g=~~+h[f+8>>3];n=g;f=k}else{p=+(r|0);s=+h[f+8>>3];t=+(g|0);w=+(k|0);o=+(n|0);n=~~(s>o?s:o);f=~~(iw?i:w)}q=q+1|0}u=Ty(d,u)|0;r=f}i=+h[22857]*(+C(+(+(v-x|0)))+1.0);s=i*.6;h[22864]=s;h[22863]=s;if((q|0)!=1)if((q|0)>1){t=+(k+r|0)*.5;w=+(n+g|0)*.5;o=+(k-r|0);p=o*1.2;l=+(n-g|0);m=l*1.2;i=i*2.4*s;j=m*p/i;do if(!(j>=1.0)){if(j>0.0){i=+C(+j)*2.0;j=p/i;h[22863]=j;i=m/i;z=20;break}if(p>0.0){j=o*.6;h[22863]=j;i=i/p*.5;z=20;break}if(m>0.0){j=i/m*.5;h[22863]=j;i=l*.6;z=20}else{i=s;j=s}}else{j=o*.6;h[22863]=j;i=l*.6;z=20}while(0);if((z|0)==20)h[22864]=i;s=+K(+i,+j);j=j/+E(+s);h[22863]=j;i=i/+F(+s);h[22864]=i}else{t=0.0;w=0.0;j=s;i=s}else{t=+(r|0);w=+(g|0);j=s;i=s}h[22865]=j*j;h[22866]=i*i;if((c[45718]|0)==2)f=c[45706]|0;else{f=H1()|0;f=(db(0)|0)^f}i2(f);a:do if(!e){e=Sy(d)|0;if(!q)while(1){if(!e)break a;s=+h[22863];s=(+k2()*2.0+-1.0)*s;z=e+16|0;h[c[(c[z>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[z>>2]|0)+132>>2]|0)+8>>3]=s;e=Ty(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){s=+h[22863];s=(+k2()*2.0+-1.0)*s;h[c[(c[f>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=s}else{z=c[g+132>>2]|0;h[z>>3]=+h[z>>3]-t;z=z+8|0;h[z>>3]=+h[z>>3]-w}e=Ty(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;u=e+8|0;s=+E(+(+h[u>>3]))*+h[22863]+t;x=c[(c[e+4>>2]|0)+16>>2]|0;v=c[x+132>>2]|0;h[v>>3]=s;h[v+8>>3]=+F(+(+h[u>>3]))*+h[22864]+w;a[x+119>>0]=1;e=e+16|0}l=t*.1;m=w*.1;r=Sy(d)|0;while(1){if(!r)break a;q=r+16|0;e=c[q>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))z=32;do if((z|0)==32){z=0;if(a[e+119>>0]|0){x=c[e+132>>2]|0;h[x>>3]=+h[x>>3]-t;x=x+8|0;h[x>>3]=+h[x>>3]-w;break}n=Jx(d,r)|0;e=0;j=0.0;i=0.0;while(1){if(!n)break;k=c[n>>2]&3;f=(k|0)==2?n:n+-48|0;g=c[f+40>>2]|0;k=(k|0)==3?n:n+48|0;do if((g|0)!=(c[k+40>>2]|0)?(y=c[(c[((g|0)==(r|0)?k:f)+40>>2]|0)+16>>2]|0,(a[y+119>>0]|0)!=0):0)if(!e){x=c[y+132>>2]|0;e=1;j=+h[x>>3];i=+h[x+8>>3];break}else{p=+(e|0);x=c[y+132>>2]|0;e=e+1|0;s=+(e|0);j=(+h[x>>3]+j*p)/s;i=(+h[x+8>>3]+i*p)/s;break}while(0);n=Kx(d,n,r)|0}do if((e|0)<=1)if((e|0)==1){f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j*.98+l;i=i*.9+m;break}else{i=+k2()*6.283185307179586;s=+k2()*.9;p=s*+h[22863]*+E(+i);f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=p;i=+h[22864]*s*+F(+i);break}else{f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);r=Ty(d,r)|0}}while(0);h[b>>3]=t;h[b+8>>3]=w;return}function lp(a){a=a|0;var b=0;b=c[45708]|0;return +(+h[22858]*+(b-a|0)/+(b|0))}function mp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Qu(e);f=Sy(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[22860];g=~~+A(+(+h[i>>3]/j));Tu(e,g,~~+A(+(+h[i+8>>3]/j)),f);f=Ty(a,f)|0}g=Sy(a)|0;while(1){if(!g)break;f=Ex(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))qp(g,i,f);f=Gx(a,f)|0}g=Ty(a,g)|0}Vu(e,23);rp(a,b,d)}return}function np(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=Sy(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=Ty(a,e)|0}g=Sy(a)|0;while(1){if(!g)break;else e=g;while(1){e=Ty(a,e)|0;if(!e)break;pp(g,e)}e=Ex(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))qp(g,f,e);e=Gx(a,e)|0}g=Ty(a,g)|0}rp(a,b,d)}return}function op(){h[22858]=-1.0;return}function pp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];sp(a,b,d,e,e*e+d*d);return}function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;a=a+16|0;b=c[(c[a>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[b>>3];f=+h[k+8>>3]-+h[b+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=e+f;if(!(e==0.0))break;e=+(5-((g2()|0)%10|0)|0);f=+(5-((g2()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+C(+e);b=c[d+16>>2]|0;e=+h[b+128>>3];if(!(c[45705]|0))e=e*f/+h[b+136>>3];else e=(f-+h[b+136>>3])*e/f;g=e*g;k=c[(c[j>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]-g;i=e*i;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[a>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]+g;k=k+24|0;h[k>>3]=+h[k>>3]+i;return}function rp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;m=Sy(b)|0;while(1){if(!m)break;l=c[m+16>>2]|0;if(!(a[l+119>>0]&2)){k=c[l+112>>2]|0;f=+h[k+16>>3];i=+h[k+24>>3];g=i*i+f*f;if(g>2]|0;j=+h[e>>3]+f;f=+h[e+8>>3]+i}else{g=d/+C(+g);e=c[l+132>>2]|0;j=+h[e>>3]+g*f;f=+h[e+8>>3]+g*i}do if(!n){g=+C(+(f*f/+h[22866]+j*j/+h[22865]));if((c[k+8>>2]|0)==0?(c[l+212>>2]|0)==0:0){h[e>>3]=j/g;f=f/g;break}if(!(g>=1.0)){h[e>>3]=j;break}else{h[e>>3]=j*.95/g;f=f*.95/g;break}}else h[e>>3]=j;while(0);h[e+8>>3]=f}m=Ty(b,m)|0}return}function sp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0;g=d;d=f;while(1){if(!(d==0.0))break;d=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);g=d;d=e*e+d*d}if(!(c[45705]|0))d=+h[22862]/d;else{f=+C(+d);d=+h[22862]/(f*d)}j=c[a+16>>2]|0;a=c[j+112>>2]|0;if(((c[a+8>>2]|0)==0?(c[j+212>>2]|0)==0:0)?(i=c[b+16>>2]|0,(c[(c[i+112>>2]|0)+8>>2]|0)==0):0)d=(c[i+212>>2]|0)==0?d*10.0:d;f=d*g;j=c[(c[b+16>>2]|0)+112>>2]|0;b=j+16|0;h[b>>3]=+h[b>>3]+f;g=d*e;j=j+24|0;h[j>>3]=+h[j>>3]+g;j=a+16|0;h[j>>3]=+h[j>>3]-f;j=a+24|0;h[j>>3]=+h[j>>3]-g;return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))pp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;up(d,h,a,f);up(d,h,e,f);b=e+1|0;up(d,h,b,f);up(d,g,a,f);up(d,g,b,f);g=g+1|0;up(d,g,a,f);up(d,g,e,f);up(d,g,b,f);return 0}function up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Wu(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=g*g+f*f;if(i<+h[22861])sp(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=xx(b,91095)|0;if(0)E1(91032,8,1,c[15686]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91041;f=A$(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=a2(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(0){i=c[15686]|0;c[g>>2]=f;c[g+4>>2]=e;g1(i,91049,g)|0}if(!((f|0)!=0?!(wp(b,d,f)|0):0))sq(b,e)|0;l=h;return}function wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=ay(b)|0;k=by(b)|0;qq(j,b);c[46072]=c[j>>2];c[46073]=c[j+4>>2];c[46074]=c[j+8>>2];if(a[184296]|0){g[46072]=+g[46072]*.013888888888888888;g[46073]=+g[46073]*.013888888888888888}f=xp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0)*2.0;p=1.0/+(O(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;yp(s,r);m=+h[22868]*+h[170];h[22869]=m;h[22870]=o*m*p;d=0;while(1){if((d|0)>=(c[45742]|0))break;m=+zp(d);if(m<=0.0)break;f=Ap(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=n+q;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function xp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=Sy(a)|0;while(1){if(!e)break;else d=e;while(1){c=Ty(a,d)|0;if(!c)break;d=c;b=(Dp(e,c)|0)+b|0}e=Ty(a,e)|0}return b|0}function yp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[22872]=f;c[45742]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[22868]=e*e;if(f==0.0)h[22872]=+C(+(+(a|0)))*.2*e;return}function zp(a){a=a|0;var b=0;b=c[344]|0;return +(+h[22872]*+(b-a|0)/+(b|0))}function Ap(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;e=Sy(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=Ty(b,e)|0}e=0;j=Sy(b)|0;while(1){if(!j)break;else g=j;while(1){f=Ty(b,g)|0;if(!f)break;g=f;e=(Bp(j,f)|0)+e|0}f=Ex(b,j)|0;while(1){if(!f)break;Cp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=Gx(b,f)|0}j=Ty(b,j)|0}a:do if(!e)e=0;else{m=d*d;g=Sy(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;k=+h[j+16>>3];i=+h[j+24>>3];l=i*i+k*k;if(l>2]|0;h[f>>3]=+h[f>>3]+k}else{l=+C(+l);f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k*d/l;i=i*d/l}j=f+8|0;h[j>>3]=+h[j>>3]+i}g=Ty(b,g)|0}}while(0);return e|0}function Bp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];return Fp(a,b,d,e,e*e+d*d)|0}function Cp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(Dp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];d=+h[m+8>>3]-+h[l+8>>3];g=+C(+(d*d+e*e));j=+Ep(a);j=+Ep(b)+j;k=g-j;g=k*k/((+h[171]+j)*g);e=g*e;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]+e;b=b+24|0;h[b>>3]=+h[b>>3]+d}return}function Dp(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0,l=0;k=c[d+16>>2]|0;l=c[k+132>>2]|0;d=c[b+16>>2]|0;b=c[d+132>>2]|0;i=+h[l>>3]-+h[b>>3];j=+h[l+8>>3]-+h[b+8>>3];j=j<0.0?-j:j;b=(a[184296]|0)==0;e=+h[d+32>>3];if(b){f=+g[46072];e=e*.5*f;f=+h[k+32>>3]*.5*f}else{f=+g[46072];e=e*.5+f;f=+h[k+32>>3]*.5+f}if(!((i<0.0?-i:i)<=f+e))d=0;else{e=+h[d+40>>3];if(b){i=+g[46073];f=e*.5*i;e=+h[k+40>>3]*.5*i}else{i=+g[46073];f=e*.5+i;e=+h[k+40>>3]*.5+i}d=j<=e+f&1}return d|0}function Ep(b){b=b|0;var d=0.0,e=0.0;b=c[b+16>>2]|0;d=+h[b+32>>3];if(!(a[184296]|0)){e=d*.5*+g[46072];d=+h[b+40>>3]*.5*+g[46073]}else{e=d*.5+ +g[46072];d=+h[b+40>>3]*.5+ +g[46073]}return +(+C(+(d*d+e*e)))}function Fp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);d=f;f=e*e+f*f}g=Dp(a,b)|0;f=((g|0)==0?+h[22870]:+h[22869])/f;d=f*d;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=f*e;b=b+24|0;h[b>>3]=+h[b>>3]+f;b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Gp(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;Hp(a);return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;e=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Ip(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Ip(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+4|0;k=n;a[m>>0]=a[18492]|0;a[m+1>>0]=a[18493]|0;a[m+2>>0]=a[18494]|0;a[m+3>>0]=a[18495]|0;m=Xx(91072,m,0)|0;Az(m,91080,280,1)|0;c[(c[b+16>>2]|0)+140>>2]=m;e=Sy(b)|0;while(1){if(!e)break;f=e+16|0;if(!(c[c[(c[f>>2]|0)+112>>2]>>2]|0)){j=Kp(m,ry(e)|0,e)|0;c[c[(c[f>>2]|0)+112>>2]>>2]=j}e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;h=c[e>>2]&3;g=c[c[(c[(c[((h|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;h=c[c[(c[(c[((h|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((g|0)!=(h|0))Az(Rx(m,g,h,0,1)|0,134378,176,1)|0;e=Gx(b,e)|0}f=Ty(b,f)|0}j=oD(m,k,0)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;h=c[j+(f<<2)>>2]|0;e=Sy(h)|0;while(1){if(!e)break;g=Ex(b,c[c[(c[e+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!g)break;i=c[c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((e|0)!=(i|0)){i=Rx(m,e,i,0,1)|0;Az(i,134378,176,1)|0;Vx(h,i,1)|0}g=Gx(b,g)|0}e=Ty(h,e)|0}f=f+1|0}e=Sy(m)|0;while(1){if(!e)break;f=Ex(m,e)|0;while(1){if(!f)break;b=uH(8)|0;c[(c[f+16>>2]|0)+120>>2]=b;f=Gx(m,f)|0}e=Ty(m,e)|0}c[d>>2]=c[k>>2];l=n;return j|0}function Kp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;e=uH(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=uH(c[46366]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Lp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(ay(a)|0){g=Jp(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){Xu(b,a);Mp(c[g>>2]|0);tq(a)|0}else{d=c[b+60>>2]|0;XD(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;Xu(i,a);tq(i)|0;b=b+1|0}WD(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Mp(c[g+(b<<2)>>2]|0);b=b+1|0}}D_(g)}l=h;return}function Mp(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=Ty(a,b)|0}return}function Np(a){a=a|0;if(ay(a)|0){Gp(a);Lp(a);D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);hn(a);eJ(a)}return}function Op(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;if(b|0){e=a+16|0;Pp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}D_(c[(c[e>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401)}return}function Pp(a){a=a|0;var b=0,d=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+120>>2]|0);b=Gx(a,b)|0}b=d+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);d=Ty(a,d)|0}$x(a)|0;return}function Qp(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Rp(a,k)|0){b=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=Sy(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=Ty(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=Sy(a)|0;while(1){if(!d)break a;f=Ex(a,d)|0;if(f|0)break;d=Ty(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+K(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+E(+e);e=+F(+e);b=Sy(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=p*g+j-o*e;h[n>>3]=p*e+i+o*g;b=Ty(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Rp(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=xx(b,91085)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+c2(b,f);if((c[f>>2]|0)==(b|0))if(!((QL(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e*.017453292519943295;b=1}else b=0;while(0);l=g;return b|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,91095)|0;return Tp(a,(d|0)==0?(c|0?c:191979):d,b)|0}function Tp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;m=n+16|0;j=n+8|0;i=n;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17792;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(V$(d,g,c[f+8>>2]|0)|0)){k=6;break}f=f+16|0}if((k|0)==6){if(!(c[f+12>>2]|0)){c[i>>2]=g;Pw(0,91103,i)|0;f=17792}i=c[f>>2]|0;c[e>>2]=i;c[e+4>>2]=c[f+12>>2];if((i|0)==18)Up(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=RL(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;Pw(0,91145,j)|0;f=0}else f=f&255;f=(f|0)==0;c[e>>2]=f&1;f=f?91192:132627;k=15}}else{c[e>>2]=0;f=132627;k=15}if((k|0)==15)c[e+4>>2]=f;if(0){k=c[15686]|0;j=c[e+8>>2]|0;o=+h[e+16>>3];c[m>>2]=c[e+4>>2];c[m+4>>2]=j;h[m+8>>3]=o;g1(k,91200,m)|0}l=n;return e|0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(N1(b,134313,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+LL(a,nx(a,0,91236,0)|0,-4.0,-1.0e10);l=e;return}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((ay(a)|0)>=2){d=Qp(a)|0;d=(Wp(a)|0)+d|0;e=c[b>>2]|0;if(e){if(0){e=c[15686]|0;j=ry(a)|0;i=c[b+4>>2]|0;c[f>>2]=j;c[f+4>>2]=i;g1(e,91565,f)|0;e=c[b>>2]|0}if(e>>>0>2){switch(e|0){case 3:{e=Xq(a,1)|0;break}case 4:{e=Xq(a,0)|0;break}case 6:case 5:{e=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{Hq(a,e)|0;e=0;break}case 15:{e=Xq(a,-1)|0;break}default:{c[g>>2]=c[b+4>>2];Pw(0,91588,g)|0;e=0}}d=e+d|0;break}if(Xp(a)|0){Yp();D_(c[46075]|0);c[46075]=0;break}Zp(a);if((c[b>>2]|0)==2)e=_p()|0;else e=$p()|0;if(e|0)aq();Yp();D_(c[46075]|0);c[46075]=0;d=e+d|0}}else d=0;while(0);l=h;return d|0}function Wp(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+24|0;f=m+16|0;j=m;b=xx(a,137660)|0;a:do if(((b|0)!=0?(k=j+8|0,c[f>>2]=j,c[f+4>>2]=k,e=N1(b,102477,f)|0,(e|0)!=0):0)?(g=+h[j>>3],!(+B(+g)<1.0e-09)):0){if((e|0)!=1){d=+h[k>>3];if(+B(+d)<1.0e-09){b=0;break}}else{h[k>>3]=g;d=g}if(!(d==1.0&g==1.0)){if(0){f=c[15686]|0;h[i>>3]=g;h[i+8>>3]=d;g1(f,91748,i)|0}b=Sy(a)|0;while(1){if(!b){b=1;break a}i=c[(c[b+16>>2]|0)+132>>2]|0;h[i>>3]=+h[i>>3]*+h[j>>3];i=i+8|0;h[i>>3]=+h[i>>3]*+h[k>>3];b=Ty(a,b)|0}}else b=0}else b=0;while(0);l=m;return b|0}function Xp(b){b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46084]=ay(b)|0;ur();c[46099]=vH((c[46084]|0)*96|0)|0;f=Sy(b)|0;d=c[46099]|0;qq(k,b);i=+g[k>>2];j=+g[k+4>>2];k=(a[k+8>>0]|0)==0;j=k?j:j*.013888888888888888;i=k?i:i*.013888888888888888;k=k?2:1;e=0;while(1){if((e|0)>=(c[46084]|0)){d=0;break}o=c[(c[f+16>>2]|0)+132>>2]|0;h[d+8>>3]=+h[o>>3];h[d+16>>3]=+h[o+8>>3];if(mb[k&3](d+40|0,f,i,j)|0){m=4;break}c[d+24>>2]=e;c[d+28>>2]=1;c[d>>2]=f;c[d+88>>2]=0;d=d+96|0;e=e+1|0;f=Ty(b,f)|0}if((m|0)==4){D_(c[46099]|0);c[46099]=0;d=1}l=n;return d|0}function Yp(){var a=0,b=0;a=c[46099]|0;b=0;while(1){if((b|0)>=(c[46084]|0))break;pt(a+40|0);a=a+96|0;b=b+1|0}ot();Wr();D_(c[46099]|0);return}function Zp(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46099]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46084]|0;d=p;e=1;g=+h[p+40>>3]+i;i=+h[p+56>>3]+i;j=+h[p+48>>3]+k;k=+h[p+64>>3]+k;while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=+h[d+136>>3]+s;r=+h[d+144>>3]+q;s=+h[d+152>>3]+s;q=+h[d+160>>3]+q;d=d+96|0;e=e+1|0;g=ti?s:i;j=rk?q:k}d=xx(b,91688)|0;if(d|0?a[d>>0]|0:0)h[173]=+b2(d);s=+h[173];t=s*(k-j);s=s*(i-g);h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=s+i;h[n+8>>3]=t+k;iq(m,n);l=o;return}function _p(){var a=0,b=0,d=0,e=0;d=l;l=l+16|0;b=d;if(bq(0)|0){cq();a=0;do{pq();a=a+1|0}while((bq(a)|0)!=0);if(!0)a=1;else{e=c[15686]|0;c[b>>2]=a;g1(e,91616,b)|0;a=1}}else a=0;l=d;return a|0}function $p(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;b=bq(0)|0;if(!b)a=0;else{cq();dq(0);Yt(0,1);a=0;e=0;d=0;while(1){fq();d=d+1|0;f=bq(d)|0;if(!f)break;b=(f|0)<(b|0)?0:e+1|0;c[46076]=1;if(b){gq();a=a+1|0}dq(1);Yt(0,1);e=b;b=f}if(0){f=c[15686]|0;c[g>>2]=d;g1(f,91616,g)|0;c[h>>2]=a;g1(f,91643,h)|0}hq();a=1}l=i;return a|0}function aq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=c[46099]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;o=q+24|0;n=q+8|0;p=q;d=c[46099]|0;e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0)){f=0;b=0;break}c[d+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(e+-1|0))break;m=d+96|0;b=b+1|0;j=d+8|0;k=d+40|0;i=d+32|0;g=m;h=b;while(1){if((h|0)>=(e|0)){d=m;continue a}e=g+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];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];if(!(yt(n,k,o,g+40|0)|0))d=f;else{c[i>>2]=1;c[g+32>>2]=1;d=f+1|0}g=g+96|0;h=h+1|0;f=d;e=c[46084]|0}}if(0>1){o=c[15686]|0;c[p>>2]=a;c[p+4>>2]=f;g1(o,91669,p)|0}l=q;return f|0}function cq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;nq();k=c[46078]|0;l=c[46099]|0;a=c[46075]|0;a:while(1){i=a;if(a>>>0>=k>>>0)break;b=a+4|0;if(b>>>0>=k>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;g=+h[d>>3];if(+h[f>>3]!=g){a=b;continue}e=+h[d+8>>3];if(+h[f+8>>3]!=e){a=b;continue}j=a+8|0;f=2;while(1){if(j>>>0>=k>>>0)break;d=c[j>>2]|0;if(!(+h[d>>3]==g)){m=11;break}if(!(+h[d+8>>3]==e)){m=11;break}j=j+4|0;f=f+1|0}if((m|0)==11){m=0;d=c[j>>2]|0;if(+h[d+8>>3]==e){e=(+h[d>>3]-g)/+(f|0);d=(((j>>>0>b>>>0?j:b)+-1+(0-i)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=j;continue a}i=c[b>>2]|0;h[i>>3]=+h[i>>3]+e*+(a|0);a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=j>>>0){a=j;continue a}f=c[a>>2]|0;n=c[f+16>>2]|0;i=c[b>>2]|0;d=c[i+16>>2]|0;h[i>>3]=(+h[l+(n*96|0)+56>>3]-+h[l+(n*96|0)+40>>3]+ +h[l+(d*96|0)+56>>3]-+h[l+(d*96|0)+40>>3])*.5+ +h[f>>3];b=b+4|0;a=a+4|0}}return}function dq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;if(a|0)nq();i=c[46075]|0;j=c[i>>2]|0;d=+h[j>>3];h[22887]=d;k=c[46084]|0;f=1;g=+h[j>>3];while(1){if((f|0)>=(k|0))break;a=c[i+(f<<2)>>2]|0;b=+h[a>>3];if(b>3]}else{e=b;b=d}f=f+1|0;d=b;g=e>g?e:g}e=+h[j+8>>3];h[22888]=e;h[22890]=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3]-e;h[22889]=g-d;return}function eq(){var a=0;a=c[46077]|0;if(a>>>0<(c[46078]|0)>>>0){c[46077]=a+4;a=c[a>>2]|0}else a=0;return a|0}function fq(){var a=0,b=0,d=0;a=c[46099]|0;jq();d=(c[46076]|0)==0;b=0;while(1){if((b|0)>=(c[46084]|0))break;if(!(d?!(c[a+32>>2]|0):0))kq(a);a=a+96|0;b=b+1|0}return}function gq(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[22883];i=+h[22881];g=+h[22884];e=+h[22882];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=f+j;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;iq(c,b);l=a;return}function hq(){Hr();Jr();Kt();nr();return}function iq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[22884]=f;e=+h[b>>3];h[22883]=e;c=+h[a+8>>3];h[22882]=c;d=+h[b+8>>3];h[22881]=d;h[22873]=f;h[22875]=f;h[22877]=e;h[22879]=e;h[22880]=d;h[22876]=d;h[22878]=c;h[22874]=c;return}function jq(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46099]|0;g=m+8|0;f=+vr(g,182984);e=+vr(g,183e3);d=+vr(g,183016);a=1;b=+vr(g,183032);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46084]|0))break;q=m+104|0;r=+vr(q,182984);n=r>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|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];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+lq(g,i,j);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];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];mq(g,i,j,m,n);b=+h[n>>3]*q+b;d=+h[m>>3]*q+d;e=q+e;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;d=+h[b+8>>3];f=+h[c+8>>3];e=+h[a+8>>3];return +(+B(+((f-e)*+h[b>>3]+(d-f)*+h[a>>3]+ +h[c>>3]*(e-d)))*.5)}function mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[b>>3]+ +h[a>>3]+ +h[c>>3])*.3333333333333333;h[e>>3]=(+h[b+8>>3]+ +h[a+8>>3]+ +h[c+8>>3])*.3333333333333333;return}function nq(){var a=0,b=0,d=0,e=0;a=c[46075]|0;if(!a){a=vH(c[46084]<<2)|0;c[46075]=a;c[46078]=a+(c[46084]<<2)}d=c[46099]|0;Wr();e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}_0(c[46075]|0,e,4,68);c[46077]=c[46075];return}function oq(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(de)){e=+h[a>>3];d=+h[b>>3];if(ed&1}else a=1;else a=-1;return a|0}function pq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=0;b=c[46099]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function qq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91700)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91704)|0;if(e|0?rq(e,j,.800000011920929,4.0)|0:0)break;g[j+4>>2]=4.0;g[j>>2]=4.0;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91709,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function rq(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;m=o;j=o+12|0;k=o+8|0;while(1){h=a[b>>0]|0;i=b+1|0;if(!(B$(h<<24>>24)|0))break;else b=i}p=h<<24>>24==43;h=d+8|0;a[h>>0]=p&1;c[m>>2]=j;c[m+4>>2]=k;switch(N1(p?i:b,91742,m)|0){case 0:{b=0;break}case 1:{c[k>>2]=c[j>>2];n=5;break}default:n=5}if((n|0)==5){do if(a[h>>0]|0){if(e>1.0){q=+g[j>>2]/e;g[d>>2]=q>f?f:q;e=+g[k>>2]/e;e=e>f?f:e;break}if(e<1.0){q=+g[j>>2]/e;g[d>>2]=q>2]/e;e=e>2]=c[j>>2];e=+g[k>>2];break}}else{g[d>>2]=+g[j>>2]/e+1.0;e=+g[k>>2]/e+1.0}while(0);g[d+4>>2]=e;b=1}l=o;return b|0}function sq(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((ay(a)|0)<2)a=0;else{Tp(a,b,c)|0;a=Vp(a,c)|0}l=d;return a|0}function tq(a){a=a|0;return sq(a,xx(a,91095)|0)|0}function uq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91704)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91700)|0;if(e|0?rq(e,j,1.25,3.200000047683716)|0:0)break;g[j+4>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91771,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;wq(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((xq(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;yq(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((xq(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=h+~~+g[(c[k>>2]|0)+(a<<2)>>2];yq(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function wq(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function xq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function zq(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function Aq(a){a=a|0;D_(c[a>>2]|0);return}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;if(!0)g=0;else{E1(91804,25,1,c[15686]|0)|0;g=0}while(1){if((g|0)>=(a|0))break;i=b+(g<<2)|0;f=0;e=0.0;while(1){if((f|0)==(a|0))break;if((g|0)!=(f|0))e=+h[(c[i>>2]|0)+(f<<3)>>3]+e;f=f+1|0}h[(c[i>>2]|0)+(g<<3)>>3]=-e;g=g+1|0}return xs(b,d,a+-1|0)|0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=wn(b,b,0.0)|0;k=wn(b,b,0.0)|0;e=Sy(a)|0;while(1){if(!e)break;d=Jx(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=Kx(a,d,e)|0}e=Ty(a,e)|0}i=Bq(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]+ +h[a+(e<<3)>>3]+ +h[a+(d<<3)>>3]*-2.0;d=d+1|0}e=e+1|0}}while(0);xn(j);xn(k);return i|0}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=vH(n)|0;p=vH(n)|0;q=vH(n)|0;k=vH(n)|0;m=vH(n)|0;n=vH(n)|0;Ps(d,c,n);Is(d,n);Is(d,b);Ks(a,d,b,k);Ms(d,n,k,o);Ps(d,o,p);i=f+-1|0;c=0;g=+Qs(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,o)>e)){c=0;break}Ks(a,d,p,q);h=+Qs(d,p,q);if(h==0.0){c=0;break}h=g/h;Os(d,p,h,m);Ns(d,b,m,b);if((c|0)<(i|0)){Os(d,q,h,q);Ms(d,o,q,o);h=+Qs(d,o,o);if(g==0.0){r=7;break}Os(d,p,h/g,p);Ns(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){Pw(1,91830,j)|0;c=1}D_(o);D_(p);D_(q);D_(k);D_(m);D_(n);l=s;return c|0}function Eq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=vH(o)|0;q=vH(o)|0;k=vH(o)|0;m=vH(o)|0;n=vH(o)|0;o=vH(o)|0;Ps(d,c,o);if(g<<24>>24){Is(d,o);Is(d,b)}Ls(a,d,b,m);Ms(d,o,m,p);Ps(d,p,q);g=f+-1|0;c=0;h=+Qs(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,p)>e)){c=0;break}Ls(a,d,q,k);i=+Qs(d,q,k);if(i==0.0){c=0;break}i=h/i;Os(d,q,i,n);Ns(d,b,n,b);if((c|0)<(g|0)){Os(d,k,i,k);Ms(d,p,k,p);i=+Qs(d,p,p);if(h==0.0){r=9;break}Os(d,q,i/h,q);Ns(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){Pw(1,91830,j)|0;c=1}D_(p);D_(q);D_(k);D_(m);D_(n);D_(o);l=s;return c|0}function Fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=uH(k)|0;n=uH(k)|0;o=uH(k)|0;k=uH(k)|0;Ts(d,b);Ts(d,c);Us(a,d,b,k);Ts(d,k);Vs(d,c,k,m);Zs(d,m,n);i=f+-1|0;c=0;g=+_s(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+bt(d,m)>e)){c=0;break}Ts(d,n);Ts(d,b);Ts(d,m);Us(a,d,n,o);Ts(d,o);h=+_s(d,n,o);if(h==0.0){c=0;break}h=g/h;Xs(d,b,h,n);if((c|0)<(i|0)){Xs(d,m,-h,o);h=+_s(d,m,m);if(g==0.0){p=7;break}Ys(d,n,h/g,n);Ws(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){Pw(1,91830,j)|0;c=1}D_(m);D_(n);D_(o);D_(k);l=q;return c|0}function Gq(a,b,d,e,f,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;var o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.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=l;l=l+48|0;F=M+24|0;E=M+16|0;D=M+8|0;C=M;J=M+40|0;K=M+36|0;H=M+32|0;s=j&4;c[J>>2]=0;c[K>>2]=0;a:do if(c[a+16>>2]|0){p=0;o=0;while(1){if((p|0)>=(b|0))break;t=c[a+(p*20|0)>>2]|0;u=a+(p*20|0)+16|0;r=1;while(1){if((r|0)>=(t|0))break;if(!(o<<24>>24))o=+g[(c[u>>2]|0)+(r<<2)>>2]!=0.0;else o=1;r=r+1|0;o=o&1}p=p+1|0}if(o<<24>>24){z=(s|0)!=0;if(z){r=e+4|0;b:do if((i|0)>2){o=i+-1|0;if((qn(a,b,d,r,f,o,j,k,15)|0)<0){o=-1;break a}p=e+(o<<2)|0;o=0;while(1){if((o|0)>=(b|0))break b;h[(c[p>>2]|0)+(o<<3)>>3]=+h[(c[r>>2]|0)+(o<<3)>>3];o=o+1|0}}while(0);y=c[e>>2]|0;w=c[r>>2]|0;if((kt(a,b,w,b)|0)==0?(kv(a,b,.01,.1,w,J,K,H)|0)==0:0){x=c[H>>2]|0;if((x|0)<1){o=qn(a,b,d,e,f,i,j,k,m)|0;break}c:do if(n>0.0){s=c[J>>2]|0;t=c[K>>2]|0;u=x+-1|0;q=0.0;r=0;while(1){if((r|0)>=(x|0))break c;o=c[t+(r<<2)>>2]|0;A=n-q-+h[w+(c[s+(o<<2)>>2]<<3)>>3]+ +h[w+(c[s+(o+-1<<2)>>2]<<3)>>3];q=(A<0.0?0.0:A)+q;if((r|0)<(u|0))p=c[t+(r+1<<2)>>2]|0;else p=b;while(1){if((o|0)>=(p|0))break;I=w+(c[s+(o<<2)>>2]<<3)|0;h[I>>3]=+h[I>>3]+q;o=o+1|0}r=r+1|0}}while(0);if((i|0)==2?(Qt(a,b,w,y,+h[22909])|0)!=0:0){p=0;o=-1}else L=33}else{p=0;o=-1}}else{kn(a,b,i,e,f)|0;if(!(kv(a,b,.01,.1,0,J,K,H)|0))L=33;else{p=0;o=-1}}d:do if((L|0)==33){if((b|0)==1){o=0;break a}I=vH(c[H>>2]<<2)|0;if(!m){o=0;break a}if(0)EL();switch(k|0){case 2:{if(0)E1(91878,24,1,c[15686]|0)|0;o=pn(a,b)|0;L=46;break}case 1:{o=ln(a,b)|0;if(!o){Pw(0,91903,C)|0;Pw(3,91952,D)|0;L=47}else G=o;break}case 3:{if(0)E1(92005,21,1,c[15686]|0)|0;o=mn(a,b)|0;L=46;break}default:L=47}if((L|0)==46)if(!o)L=47;else G=o;if((L|0)==47){if(0)E1(92027,26,1,c[15686]|0)|0;G=on(a,b)|0}if(0){a=c[15686]|0;h[E>>3]=+FL();g1(a,92054,E)|0;E1(92066,25,1,a)|0;EL()}a=b+-1|0;y=(O(a,b)|0)/2|0;E=y+b|0;e:do if(!z){q=1.0;p=0;while(1){if((p|0)>=(i|0))break;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;A=+B(+(+h[(c[r>>2]|0)+(o<<3)>>3]));q=A>q?A:q;o=o+1|0}p=p+1|0}q=1.0/q;p=0;while(1){if((p|0)>=(i|0))break e;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;D=(c[r>>2]|0)+(o<<3)|0;h[D>>3]=+h[D>>3]*(10.0*q);o=o+1|0}p=p+1|0}}while(0);f:do if(n>0.0){v=+(y|0);o=0;q=0.0;s=0;g:while(1){if((s|0)>=(a|0))break;t=s+1|0;r=o;p=t;while(1){o=r+1|0;if((p|0)>=(b|0)){s=t;continue g}A=+gs(e,i,s,p);r=o;q=A/+g[G+(o<<2)>>2]+q;p=p+1|0}}q=q/v;o=0;while(1){if((o|0)>=(E|0)){o=0;break f}D=G+(o<<2)|0;g[D>>2]=+g[D>>2]*q;o=o+1|0}}else o=0;while(0);while(1){if((o|0)>=(i|0))break;Is(b,c[e+(o<<2)>>2]|0);o=o+1|0}p=c[e+4>>2]|0;q=+h[p>>3];o=0;while(1){if((o|0)>=(b|0))break;D=p+(o<<3)|0;h[D>>3]=+h[D>>3]-q;o=o+1|0}u=i<<2;D=vH(u)|0;x=b<<2;w=O(x,i)|0;r=vH(w)|0;o=0;while(1){if((o|0)>=(i|0))break;s=r+((O(o,b)|0)<<2)|0;c[D+(o<<2)>>2]=s;t=e+(o<<2)|0;p=0;while(1){if((p|0)>=(b|0))break;g[s+(p<<2)>>2]=+h[(c[t>>2]|0)+(p<<3)>>3];p=p+1|0}o=o+1|0}v=+(y|0);if(0){C=c[15686]|0;h[F>>3]=+FL();g1(C,92092,F)|0}ct(E,G);dt(E,G);C=vH(b<<3)|0;$s(b,0.0,C);o=0;r=0;while(1){if((r|0)>=(a|0)){o=b;p=0;r=0;break}s=b-r|0;q=0.0;p=1;while(1){o=o+1|0;if((p|0)>=(s|0))break;A=+g[G+(o<<2)>>2];F=C+(p+r<<3)|0;h[F>>3]=+h[F>>3]-A;q=q+A;p=p+1|0}F=C+(r<<3)|0;h[F>>3]=+h[F>>3]-q;r=r+1|0}while(1){if((p|0)>=(b|0))break;g[G+(r<<2)>>2]=+h[C+(p<<3)>>3];F=o+r|0;o=o+-1|0;p=p+1|0;r=F}k=vH(u)|0;c[k>>2]=vH(w)|0;o=1;while(1){if((o|0)>=(i|0))break;c[k+(o<<2)>>2]=(c[k>>2]|0)+((O(o,b)|0)<<2);o=o+1|0}z=vH(x)|0;f=vH(x)|0;j=vH(E<<2)|0;p=Et(G,b)|0;d=Jt(G,b,c[J>>2]|0,c[K>>2]|0,c[H>>2]|0)|0;y=k+4|0;r=0;A=1797693134862315708145274.0e284;o=0;while(1){if(!(r<<24>>24==0&(o|0)<(m|0)))break;$s(b,0.0,C);et(E,G,j);w=0;t=0;while(1){if((w|0)>=(a|0)){r=0;s=b;t=0;break}x=b-w+-1|0;at(b,0.0,f);r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;at(x,+g[(c[H>>2]|0)+(w<<2)>>2],z);Xs(x,z,-1.0,(c[H>>2]|0)+(w<<2)+4|0);ct(x,z);Ws(x,z,f,f);r=r+1|0}ft(x,f);r=0;while(1){if((r|0)>=(x|0))break;s=f+(r<<2)|0;q=+g[s>>2];if(q>=3402823466385288598117041.0e14|q<0.0)g[s>>2]=0.0;r=r+1|0}u=w+1|0;q=0.0;r=t;s=0;while(1){r=r+1|0;if((s|0)>=(x|0))break;H=j+(r<<2)|0;N=+g[H>>2]*+g[f+(s<<2)>>2];g[H>>2]=N;H=C+(u+s<<3)|0;h[H>>3]=+h[H>>3]-N;q=q+N;s=s+1|0}t=C+(w<<3)|0;h[t>>3]=+h[t>>3]-q;w=u;t=r}while(1){if((r|0)>=(b|0)){r=0;break}g[j+(t<<2)>>2]=+h[C+(r<<3)>>3];H=s+t|0;r=r+1|0;s=s+-1|0;t=H}while(1){if((r|0)>=(i|0)){q=0.0;r=0;break}Us(j,b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(i|0))break;q=+_s(b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0)+q;r=r+1|0}q=q*2.0+v;r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;Us(G,b,c[H>>2]|0,z);q=q-+_s(b,c[H>>2]|0,z);r=r+1|0}N=+B(+(q-A))/+B(+(A+1.0e-10));r=((o|0)>1&q>A|N<+h[22909])&1;s=0;while(1){if((s|0)>=(i|0))break;if((s|0)!=1){if(Fq(G,c[D+(s<<2)>>2]|0,c[k+(s<<2)>>2]|0,b,.001,b)|0){o=-1;break d}}else Ft(d,c[y>>2]|0,D,i,1,15,I,n)|0;s=s+1|0}A=q;o=o+1|0}D_(I);It(d);if(D|0){r=0;while(1){if((r|0)>=(i|0))break;t=D+(r<<2)|0;u=e+(r<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[u>>2]|0)+(s<<3)>>3]=+g[(c[t>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}D_(c[D>>2]|0);D_(D)}if(k|0){D_(c[k>>2]|0);D_(k)}D_(z);D_(f);D_(C);D_(G);D_(j)}while(0);D_(c[J>>2]|0);D_(c[K>>2]|0);if(p){D_(c[p>>2]|0);D_(p)}}else L=10}else L=10;while(0);if((L|0)==10)o=qn(a,b,d,e,f,i,j,k,m)|0;l=M;return o|0}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=ay(a)|0;k=vH(i*48|0)|0;qq(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=Sy(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Iq(d,e,f);d=Ty(a,d)|0;e=e+48|0}a:do if(!(Jq(k,i)|0))d=0;else{switch(b|0){case 9:{Lq(a,k,i,69,1);Nq(a,k,i,70,1);d=0;e=k;break}case 10:{Nq(a,k,i,70,1);Lq(a,k,i,69,1);d=0;e=k;break}case 7:{Lq(a,k,i,71,1);Nq(a,k,i,70,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Nq(a,k,i,70,0);Lq(a,k,i,69,0);d=0;e=k;break}case 12:{Nq(a,k,i,72,0);Lq(a,k,i,69,0);d=0;e=k;break}default:{Lq(a,k,i,71,0);Nq(a,k,i,70,0);d=0;e=k}}if((j|0)==9){Nq(a,k,i,72,1);Lq(a,k,i,69,1);j=10}if((j|0)==10){Lq(a,k,i,69,0);Nq(a,k,i,70,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)*1.3888888888888887e-03;h[j+8>>3]=+(g|0)*1.3888888888888887e-03;d=d+1|0;e=e+48|0}}while(0);D_(k);l=m;return d|0}function Iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0.0;f=c[b+16>>2]|0;k=c[f+132>>2]|0;l=+h[k>>3]*720.0;j=~~(l+(l>=0.0?.5:-.5));l=+h[k+8>>3]*720.0;k=~~(l+(l>=0.0?.5:-.5));if(!(a[e+8>>0]|0)){m=+h[f+32>>3]*72.0*(+g[e>>2]*5.0);l=+h[f+40>>3]*72.0*(+g[e+4>>2]*5.0);i=~~(m+(m>=0.0?.5:-.5));f=~~(l+(l>=0.0?.5:-.5))}else{l=+h[f+32>>3]*36.0;m=+h[f+40>>3]*36.0;i=~~((+g[e>>2]+ +(~~(l+(l>=0.0?.5:-.5))|0))*10.0);f=~~((+g[e+4>>2]+ +(~~(m+(m>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=b;c[d+32>>2]=j-i;c[d+36>>2]=k-f;c[d+40>>2]=i+j;c[d+44>>2]=f+k;return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Kq(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0)&1;return a|0}function Lq(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;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,73)|0;else h=Sq(i,e,73)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Mq(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0)&1;return a|0}function Nq(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;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,74)|0;else h=Sq(i,e,74)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Rq(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;a=c[a+16>>2]|0;f=(b|0)<(a|0);e=Qq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Qq(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;a=c[a+12>>2]|0;f=(b|0)<(a|0);e=Rq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Qq(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Rq(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Sq(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;w=Xx(92103,v,0)|0;Az(w,134401,280,1)|0;g=Aw(d)|0;h=-2147483647;u=0;while(1){if(!g)break;s=c[g+8>>2]|0;t=u+((h|0)!=(s|0)&1)|0;g=c[g>>2]|0;h=s;u=t}s=w+16|0;t=(u<<3)+-4|0;n=0;j=0;g=0;h=0;m=0;r=Aw(d)|0;i=-2147483647;while(1){if(!r)break;q=c[r+8>>2]|0;if((i|0)!=(q|0)){p=az(w,ry(c[r+20>>2]|0)|0,1)|0;Az(p,134365,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!h){c[(c[s>>2]|0)+192>>2]=p;n=p}else{c[(c[n+16>>2]|0)+164>>2]=p;n=h}c[g+176>>2]=0;k=j+1|0;i=uH(k<<2)|0;c[(c[o>>2]|0)+172>>2]=i;if(!m){j=k;k=p;m=p;g=p;h=n;i=q}else{i=m+16|0;c[(c[i>>2]|0)+184>>2]=0;j=uH((m|0)==(n|0)?t:u-j<<2)|0;c[(c[i>>2]|0)+180>>2]=j;j=Rx(w,m,p,0,1)|0;Az(j,134378,176,1)|0;g=c[j+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[i>>2]|0;h=c[g+180>>2]|0;if(!h)g=vH((c[g+184>>2]<<2)+8|0)|0;else g=xH(h,(c[g+184>>2]<<2)+8|0)|0;m=c[i>>2]|0;c[m+180>>2]=g;m=m+184|0;h=c[m>>2]|0;c[m>>2]=h+1;c[g+(h<<2)>>2]=j;g=c[i>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;h=c[g+172>>2]|0;if(!h)g=vH((c[g+176>>2]<<2)+8|0)|0;else g=xH(h,(c[g+176>>2]<<2)+8|0)|0;h=c[o>>2]|0;c[h+172>>2]=g;h=h+176|0;m=c[h>>2]|0;c[h>>2]=m+1;c[g+(m<<2)>>2]=j;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=k;k=p;m=p;g=p;h=n;i=q}}else{k=g;g=n}c[r+24>>2]=k;n=g;g=k;r=c[r>>2]|0}m=m+16|0;c[(c[m>>2]|0)+184>>2]=0;g=uH(4)|0;c[(c[m>>2]|0)+180>>2]=g;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;m=Xx(92150,v,0)|0;g=Aw(d)|0;while(1){if(!g)break;v=az(m,ry(c[g+20>>2]|0)|0,1)|0;Az(v,134365,304,1)|0;c[g+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=g;g=c[g>>2]|0}g=0;k=Aw(d)|0;h=-2147483647;a:while(1){if(!k)break;j=c[k+8>>2]|0;b:do if((h|0)==(j|0))j=h;else{g=k;while(1){g=c[g>>2]|0;if(!g)break a;if((c[g+8>>2]|0)!=(j|0))break b}}while(0);i=k+28|0;h=g;while(1){if(!h)break;if(lb[e&127](k,h)|0)Rx(m,c[i>>2]|0,c[h+28>>2]|0,0,1)|0;h=c[h>>2]|0}k=c[k>>2]|0;h=j}Vq(m,w,f);$x(m)|0;l=x;return w|0}function Tq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;a[r>>0]=a[18484]|0;a[r+1>>0]=a[18485]|0;a[r+2>>0]=a[18486]|0;a[r+3>>0]=a[18487]|0;r=Xx(92103,r,0)|0;Az(r,134401,280,1)|0;k=r+16|0;h=Aw(e)|0;i=0;while(1){if(!h)break;j=az(r,ry(c[h+20>>2]|0)|0,1)|0;Az(j,134365,304,1)|0;p=j+16|0;n=c[p>>2]|0;c[n+112>>2]=h;c[h+24>>2]=j;c[n+176>>2]=0;n=uH(4)|0;o=c[p>>2]|0;c[o+172>>2]=n;c[o+184>>2]=0;o=uH(4)|0;c[(c[p>>2]|0)+180>>2]=o;if(!i)c[(c[k>>2]|0)+192>>2]=j;else c[(c[i+16>>2]|0)+164>>2]=j;h=c[h>>2]|0;i=j}m=Aw(e)|0;a:while(1){if(!m)break;n=m+32|0;o=m+24|0;p=m+20|0;h=m;while(1){h=c[h>>2]|0;if(!h)break;if(lb[f&127](m,h)|0){i=lb[g&127](n,h+32|0)|0;j=Rx(r,c[o>>2]|0,c[h+24>>2]|0,0,1)|0;Az(j,134378,176,1)|0;if((i|0)>=65536){q=13;break a}k=j+16|0;t=c[k>>2]|0;b[t+170>>1]=i;c[t+156>>2]=1;if(j|0?Rx(d,c[p>>2]|0,c[h+20>>2]|0,0,0)|0:0)c[(c[k>>2]|0)+156>>2]=100}}m=c[m>>2]|0}if((q|0)==13)qa(92106,92122,254,92135);m=Aw(e)|0;while(1){if(!m)break;k=c[m+24>>2]|0;n=k+16|0;k=Ex(r,k)|0;while(1){if(!k)break;h=c[n>>2]|0;i=c[h+180>>2]|0;if(!i)h=vH((c[h+184>>2]<<2)+8|0)|0;else h=xH(i,(c[h+184>>2]<<2)+8|0)|0;i=c[n>>2]|0;c[i+180>>2]=h;i=i+184|0;j=c[i>>2]|0;c[i>>2]=j+1;c[h+(j<<2)>>2]=k;j=c[n>>2]|0;c[(c[j+180>>2]|0)+(c[j+184>>2]<<2)>>2]=0;j=k+-48|0;h=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;i=c[h+172>>2]|0;if(!i)h=vH((c[h+176>>2]<<2)+8|0)|0;else h=xH(i,(c[h+176>>2]<<2)+8|0)|0;c[(c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0)+172>>2]=h;g=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;q=c[g+172>>2]|0;g=g+176|0;t=c[g>>2]|0;c[g>>2]=t+1;c[q+(t<<2)>>2]=k;t=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;c[(c[t+172>>2]|0)+(c[t+176>>2]<<2)>>2]=0;k=Gx(r,k)|0}m=c[m>>2]|0}l=s;return r|0}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0;f=Sy(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){D_(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)D_(b);f=Ty(a,f)|0}$x(a)|0;return}function Vq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Sy(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=Ex(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=lb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=Rx(d,m,h,0,1)|0;Az(i,134378,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((p|0)>(g&65535|0)){if(!(g<<16>>16)){f=c[o>>2]|0;g=c[f+180>>2]|0;if(!g)f=vH((c[f+184>>2]<<2)+8|0)|0;else f=xH(g,(c[f+184>>2]<<2)+8|0)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;f=c[o>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;h=h+16|0;f=c[h>>2]|0;g=c[f+172>>2]|0;if(!g)f=vH((c[f+176>>2]<<2)+8|0)|0;else f=xH(g,(c[f+176>>2]<<2)+8|0)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=Gx(a,l)|0}k=Ty(a,k)|0}return}function Wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Xq(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;u=y+24|0;s=y+16|0;r=y+52|0;q=y+40|0;t=y;w=ay(b)|0;x=vH(w*72|0)|0;qq(q,b);k=+g[q>>2];m=+g[q+4>>2];q=(a[q+8>>0]|0)!=0;k=q?k*.013888888888888888:k;m=q?m*.013888888888888888:m;n=k*.5;o=m*.5;e=x;f=Sy(b)|0;while(1){if(!f)break;p=c[f+16>>2]|0;i=+h[p+32>>3];if(q){j=+h[p+40>>3]*.5+m;i=i*.5+k}else{j=o*+h[p+40>>3];i=n*i}p=c[p+132>>2]|0;A=+h[p>>3];h[e>>3]=A;z=+h[p+8>>3];h[e+8>>3]=z;h[e+16>>3]=A-i;h[e+24>>3]=z-j;h[e+32>>3]=A+i;h[e+40>>3]=z+j;h[e+48>>3]=i;h[e+56>>3]=j;c[e+64>>2]=f;e=e+72|0;f=Ty(b,f)|0}do if((d|0)<0){i=+Yq(x,w);if(i==0.0){D_(x);e=0;break}if(!0){k=i;j=i;v=19}else{v=c[15686]|0;h[s>>3]=i;g1(v,92153,s)|0;k=i;j=i;v=19}}else{f=Zq(x,w,r)|0;e=c[r>>2]|0;if(!e){D_(f);D_(x);e=0;break}if(!d){$q(t,f,e);i=+h[t>>3];j=+h[t+8>>3]}else{j=+_q(f,e);i=j}D_(f);if(!0){k=i;v=19}else{v=c[15686]|0;h[u>>3]=i;h[u+8>>3]=j;g1(v,92167,u)|0;k=i;v=19}}while(0);if((v|0)==19){e=0;f=x;while(1){if((e|0)>=(w|0))break;v=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[v>>3]=+h[f>>3]*k;h[v+8>>3]=+h[f+8>>3]*j;e=e+1|0;f=f+72|0}D_(x);e=1}l=y;return e|0}function Yq(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else{g=+B(+(e-f));g=(+h[j+48>>3]+ +h[p>>3])/g}e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else{e=+B(+(e-f));e=(+h[j+56>>3]+ +h[o>>3])/e}g=ec?g:c}}return +c}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=vH((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=xH(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[q+48>>3]+ +h[x>>3])/+B(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[q+56>>3]+ +h[w>>3])/+B(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=xH(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function _q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=ge?f:e;a=c}return +e}function $q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;_0(b+16|0,c,16,75);g=vH((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)+8>>3]*+h[g+(f<<4)>>3];b=i>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else qa(92184,92122,832,92204)}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(cd)){d=+h[a+8>>3];c=+h[b+8>>3];if(dc&1}else a=1;else a=-1;return a|0}function br(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)D_(b);b=c[a+8>>2]|0;if(b|0)D_(b);b=c[a+16>>2]|0;if(b|0)D_(b);D_(a)}return}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=F_(c[46079]|0,d<<2)|0;c[46079]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}dr(n,a,k,e,d);i=-2147483639;while(1){if(!((er(n,m,c[46079]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;fr(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,a+~~+g[(c[h>>2]|0)+(f<<2)>>2]|0,c[46079]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}gr(n);l=o;return}function dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((f|0)==1)i=0;else i=vH((f<<2)+-4|0)|0;c[a>>2]=i;j=f+-1|0;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;hr(a,g,d,e);g=g+-1|0}return}function er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;hr(a,0,d,e);a=1}return a|0}function fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){j=e+(b<<2)|0;i=c[j>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=i;while(1){if((a|0)<=0)break;h=a>>>1;i=c[g+(h<<2)>>2]|0;if((c[f+(i<<2)>>2]|0)<=(d|0))break;c[g+(a<<2)>>2]=i;c[e+(i<<2)>>2]=a;a=h}c[g+(a<<2)>>2]=b;c[j>>2]=a}return}function gr(a){a=a|0;a=c[a>>2]|0;if(a|0)D_(a);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,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function ir(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=vH(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}jr(m,a,o,e,d);a:while(1){if(!((kr(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;lr(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,+g[(c[h>>2]|0)+(f<<2)>>2]+k,o,e);f=f+1|0}}gr(m);D_(o);l=p;return}function jr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=vH(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;mr(a,g,d,e);g=g+-1|0}return}function kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;mr(a,0,d,e);a=1}return a|0}function lr(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){k=e+(b<<2)|0;j=c[k>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=j;while(1){if((a|0)<=0)break;i=a>>>1;j=c[h+(i<<2)>>2]|0;if(!(+g[f+(j<<2)>>2]>d))break;c[h+(a<<2)>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h+(a<<2)>>2]=b;c[k>>2]=a}return}function mr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function nr(){gt(184320,48);c[46083]=0;return}function or(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0;i=it(184320)|0;c[i+32>>2]=a;c[i+36>>2]=b;Pt(a);Pt(b);c[i+24>>2]=0;c[i+28>>2]=0;f=+h[a>>3];g=+h[b>>3]-f;e=+h[a+8>>3];d=+h[b+8>>3]-e;f=d*e+g*f+(d*d+g*g)*.5;b=i+16|0;h[b>>3]=f;if((g>0.0?g:-g)>(d>0.0?d:-d)){h[i>>3]=1.0;e=d/g;d=g;a=i+8|0}else{h[i+8>>3]=1.0;e=g/d;a=i}h[a>>3]=e;h[b>>3]=f/d;b=c[46083]|0;c[i+40>>2]=b;c[46083]=b+1;return i|0}function pr(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;l=+h[a>>3];a:do if(l==1.0){if(!(+h[a+8>>3]>=0.0)){b=c[a+28>>2]|0;d=c[a+24>>2]|0;if(!d)m=9;else m=5}else{b=c[a+24>>2]|0;d=c[a+28>>2]|0;if(!d)m=9;else m=5}do if((m|0)==5){e=+h[d+8>>3];if(e>+h[22881])break a;f=+h[22882];if(!(e>=f)){i=f;e=+h[a+16>>3]-+h[a+8>>3]*f;break}else{i=e;e=+h[d>>3];break}}else if((m|0)==9){f=+h[22882];i=f;e=+h[a+16>>3]-+h[a+8>>3]*f}while(0);do if(b){g=+h[b+8>>3];if(g>3]-+h[a+8>>3]*f;break}else{f=+h[b>>3];break}}else{f=+h[22881];g=f;f=+h[a+16>>3]-+h[a+8>>3]*f}while(0);j=+h[22883];b=e>j;d=f>j;k=+h[22884];if(!(b&d|e>3]-j)/+h[a+8>>3];e=j}if(e>3]-k)/+h[a+8>>3];e=k}if(d){g=(+h[a+16>>3]-j)/+h[a+8>>3];f=j}if(f>3]-k)/+h[a+8>>3];f=k;m=46}else m=46}}else{d=c[a+28>>2]|0;b=c[a+24>>2]|0;do if(b){e=+h[b>>3];if(e>+h[22883])break a;g=+h[22884];if(!(e>=g)){i=+h[a+16>>3]-g*l;e=g;break}else{i=+h[b+8>>3];break}}else{g=+h[22884];i=+h[a+16>>3]-g*l;e=g}while(0);do if(d){f=+h[d>>3];if(f>3]-l*j;f=j;break}else{g=+h[d+8>>3];break}}else{f=+h[22883];g=+h[a+16>>3]-l*f}while(0);j=+h[22881];b=i>j;d=g>j;k=+h[22882];if(!(b&d|i>3]-j)/l}if(i>3]-k)/l}if(d){g=j;f=(+h[a+16>>3]-j)/l}if(g>3]-k)/l;m=46}else m=46}}while(0);if((m|0)==46)qr(a,e,i,f,g);return}function qr(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Xr(c[g>>2]|0,b,d);Xr(c[g>>2]|0,e,f);a=a+36|0;Xr(c[a>>2]|0,b,d);Xr(c[a>>2]|0,e,f);return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Pt(d);if(c[a+24+(1-b<<2)>>2]|0){pr(a);Ot(c[a+32>>2]|0);Ot(c[a+36>>2]|0);jt(a,184320)}return}function sr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=vH(O(m,d)|0)|0;g=c[e>>2]|0;m=vH(m)|0;n=c[a+8>>2]|0;if(g|0){D_(c[g>>2]|0);D_(g)}k=vH(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((O(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)es(a,b);e=(g2()|0)%(b|0)|0;zq(o,b);g=c[k>>2]|0;if(j){cr(e,a,b,g);f=0;g=0}else{vq(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){cr(e,a,b,g);g=0;f=0}else{vq(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}D_(m);if(j)fs(a,b,n);l=p;return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=1.0/+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e*i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function ur(){c[46085]=~~+C(+(+((c[46084]|0)+4|0)));return}function vr(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function wr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function xr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=+h[c+8>>3]+ +h[b+8>>3];return}function yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return +((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;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=+yr(h,g,f)>0.0&1;l=e;return d|0}function Ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=(p-q)*o;n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=m+n*(q-p)+j*l+f*(i-k);if(g==0.0)d=0;else{p=(f*(i-p)+m+(q-i)*l)/g;q=-(f*j+((q-k)*o+(i-q)*n))/g;h[e>>3]=p*(n-o)+o;h[e+8>>3]=j*p+i;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function Br(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0.0,i=0;c[a+20>>2]=b;Pt(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46086]|0;e=e+((Cr(a)|0)*40|0)|0;while(1){f=e+32|0;e=c[f>>2]|0;if(!e)break;d=+h[i>>3];g=+h[e+24>>3];if(d>g)continue;if(!(d==g))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[f>>2]=a;c[46087]=(c[46087]|0)+1;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46088]|0;e=+(d|0);b=(+h[a+24>>3]-+h[22888])/+h[22890]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46089]|0))c[46089]=a;return a|0}function Dr(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46086]|0;b=b+((Cr(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;Ot(c[d>>2]|0);c[d>>2]=0}return}function Er(){return (c[46087]|0)==0|0}function Fr(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46086]|0;d=c[46089]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46089]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Gr(){var a=0,b=0;b=(c[46086]|0)+((c[46089]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;return a|0}function Hr(){D_(c[46086]|0);c[46086]=0;return}function Ir(){var a=0,b=0,d=0;c[46087]=0;c[46089]=0;a=c[46085]|0;b=a<<2;c[46088]=b;d=c[46086]|0;if(!d){d=vH(a*160|0)|0;c[46086]=d;b=c[46088]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Jr(){gt(184368,40);D_(c[46095]|0);c[46095]=0;return}function Kr(){var a=0,b=0,d=0;gt(184368,40);a=c[46085]|0;b=a<<1;c[46096]=b;d=c[46095]|0;if(!d){d=vH(a<<3)|0;c[46095]=d;b=c[46096]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46090]=Lr(0,0)|0;c[46091]=Lr(0,0)|0;c[c[46090]>>2]=0;d=c[46091]|0;b=c[46090]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46091]|0)+4>>2]=0;d=c[46095]|0;c[d>>2]=c[46090];c[d+((c[46096]|0)+-1<<2)>>2]=c[46091];return}function Lr(b,d){b=b|0;d=d|0;var e=0;e=it(184368)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Mr(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=f*j-l*g,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(p*f-q*g)/m;j=(q*j-p*l)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Lt()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Nr(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0;n=c[b+8>>2]|0;k=c[n+36>>2]|0;l=+h[d>>3];o=+h[k>>3];m=l>o;p=a[b+16>>0]|0;if(m)if(!(p<<24>>24))b=1;else f=4;else if(p<<24>>24==1)b=0;else f=4;if((f|0)==4){e=+h[n>>3];a:do if(e==1.0){e=+h[d+8>>3];g=e-+h[k+8>>3];i=l-o;j=+h[n+8>>3];d=j<0.0;do if(m?j>=0.0:d){if(g>=j*i){b=1;break a}}else{b=j*e+l>+h[n+16>>3];if(d)if(b){b=0;break a}else break;else if(b)break;else{b=0;break a}}while(0);o=o-+h[c[n+32>>2]>>3];b=j*(i*i-g*g)>3]-l*e;j=+h[d+8>>3]-i;o=l-o;l=i-+h[k+8>>3];b=j*j>l*l+o*o}while(0);b=(b^p<<24>>24!=0)&1}return b|0}function Or(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Pr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46096]|0;b=~~((+h[a>>3]-+h[22887])/+h[22889]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Qr(f)|0;if(!b){d=1;while(1){b=Qr(f-d|0)|0;if(b|0)break;b=Qr(d+f|0)|0;if(b|0)break;d=d+1|0}c[46097]=(c[46097]|0)+d}c[46098]=(c[46098]|0)+1;e=c[46090]|0;d=c[46091]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Nr(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Nr(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Nr(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46096]|0)+-1|0):0){b=(c[46095]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Qr(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46096]|0)>(a|0)?(d=(c[46095]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){jt(b,184368);b=0}else b=0}}else b=0;return b|0}function Rr(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Sr(a){a=a|0;return c[a+4>>2]|0}function Tr(a){a=a|0;return c[a>>2]|0}function Ur(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+32|0:d+36|0;return c[b>>2]|0}function Vr(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+36|0:d+32|0;return c[b>>2]|0}function Wr(){gt(184400,24);return}function Xr(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46099]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Yr(a,i,f)|0;do if(e|0){if((e|0)<0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Yr(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];i=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==i&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];g=d-e;i=i-k;d=f-e;if(!(j>=0.0)){if(i>=0.0){b=1;break}e=d/i;d=g/j;if(de){b=1;break}b=j>i?-1:1;break}if(!(i<0.0)){b=i>0.0;if(!(j>0.0)){if(b){b=!(g<=0.0)?1:-1;break}if(g0.0?-1:1;break}e=d/i;d=g/j;if(de){b=1;break}b=j>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=a+((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)|0;b=b+1|0;a=g}return a|0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function $r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function as(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=cs(a,b)|0;else a=bs(a,b)|0;return a|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=vH(O(f,b)|0)|0;f=vH(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;cr(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=vH(O(g,b)|0)|0;g=vH(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}zq(f,b);d=0;while(1){if((d|0)>=(b|0))break;vq(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}Aq(f);l=h;return g|0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;es(a,b);d=bs(a,b)|0;fs(a,b,e);return d|0}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=vH(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=vH(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;_r(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Zr(a,0,m,l)|0)<<1)|0);d=d+1|0}$r(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}D_(l);return}function fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;D_(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=i*i+g}return +(+C(+g))}function hs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46103]=a;_0(b+(d<<2)|0,1-d+e|0,4,76)}return}function is(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46103]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (ed&1)|0}function js(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){ks(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;js(a,b,d,f);g=g+1|0;js(a,b,g,e);if(!(ls(a,b,d,f)|0))js(a,b,d,f);if(!(ls(a,b,g,e)|0))js(a,b,g,e)}l=h;return}function ks(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0.0,m=0,n=0;g=g2()|0;g=b+(((((g2()|0)<<16|g)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;j=c[g>>2]|0;k=b+(d<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;l=+h[a+(j<<3)>>3];g=d+1|0;d=e;a:while(1){if((g|0)>=(d|0))break;while(1){if((g|0)>=(d|0))break;if(!(+h[a+(c[b+(g<<2)>>2]<<3)>>3]<=l))break;g=g+1|0}while(1){if((g|0)>=(d|0))continue a;e=b+(d<<2)|0;i=c[e>>2]|0;if(!(+h[a+(i<<3)>>3]>l))break;d=d+-1|0}n=b+(g<<2)|0;m=c[n>>2]|0;c[n>>2]=i;c[e>>2]=m;g=g+1|0;d=d+-1|0}n=g+((+h[a+(c[b+(g<<2)>>2]<<3)>>3]>l)<<31>>31)|0;c[f>>2]=n;n=b+(n<<2)|0;c[k>>2]=c[n>>2];c[n>>2]=j;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0.0;x=l;l=l+16|0;v=4;w=C_(40)|0;c[w>>2]=0;t=x;o=0;u=$(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=$(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;A=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=A;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=gA?i:A;j=j>y?j:y;k=k>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=D3(184416,1,w|0,v|0)|0;v=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=z;q=0;m=s;n=u}}else{d=z;q=0;m=0;n=0}while(1){if(d|0){o=0;ia(103,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=aa(77,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}if(!d){o=0;d=ca(24,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}}o=0;ia(103,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;D_(w|0);l=x;return d|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v;o=v+8|0;p=v+4|0;c[b+8>>2]=0;u=vH(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=a+(e*24|0);e=e+1|0}_0(u,f,4,78);m=0;g=0;f=0;h=0;a:while(1){if((m|0)>=(c[b>>2]|0)){s=0;d=g;t=h;break}n=u+(m<<2)|0;e=c[n>>2]|0;c[o>>2]=e;a=c[e+16>>2]|0;if((c[a>>2]|0)==(e|0))e=c[a+4>>2]|0;else e=e+-24|0;c[p>>2]=e;k=0;a=g;j=h;while(1){if((k|0)>=2)break;switch(ps(o,p)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(j|0))break;i=qs(c[h>>2]|0,e)|0;if(i|0){s=i;d=a;t=j;break a}g=g+1|0;h=c[h+4>>2]|0}g=vH(12)|0;if(!j){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[e+20>>2]=g;h=j+1|0;break}case 1:{e=e+20|0;g=c[e>>2]|0;if(!g){r=19;break a}do if((j|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;break}if((g|0)==(f|0)){f=c[f+8>>2]|0;c[f+4>>2]=0;break}else{i=g+4|0;h=c[g+8>>2]|0;c[h+4>>2]=c[i>>2];c[(c[i>>2]|0)+8>>2]=h;break}}else{a=0;f=0}while(0);D_(g);c[e>>2]=0;g=f;h=j+-1|0;break}default:{g=f;h=j}}e=c[n>>2]|0;f=c[e+16>>2]|0;if((e|0)==(c[f+4>>2]|0))f=c[f>>2]|0;else f=e+24|0;c[p>>2]=f;k=k+1|0;f=g;j=h}m=m+1|0;g=a;h=j}if((r|0)==19){Pw(1,92219,q)|0;bb(184416,1)}e=0;while(1){if((e|0)>=(t|0))break;r=c[d+4>>2]|0;D_(d);e=e+1|0;d=r}D_(u);l=v;return s|0}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+48|0;o=D+24|0;n=D+16|0;u=D;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}z=c[a+(e<<2)>>2]|0;A=c[z>>2]|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];A=e+1|0;B=d+(e*40|0)+8|0;p=d+(e*40|0)+24|0;q=d+(e*40|0)+32|0;g=d+(e*40|0)+16|0;e=A;while(1){if((e|0)>=(b|0)){e=A;continue a}i=c[a+(e<<2)>>2]|0;j=+h[B>>3];k=+h[d+(e*40|0)+24>>3];m=!(j<=k);f=+h[d+(e*40|0)+8>>3];if((((!(m|!(j>=f))?(r=+h[g>>3],s=+h[d+(e*40|0)+32>>3],r<=s):0)?(t=+h[d+(e*40|0)+16>>3],r>=t):0)?(E=+h[p>>3],!(!(E<=k)|!(E>=f))):0)?(E=+h[q>>3],!(!(E<=s)|!(E>=t))):0){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];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];if(wU(n,o)|0){e=1;break a}}else C=11;if((((((C|0)==11?(C=0,v=+h[p>>3],!(!(f<=v)|!(f>=j))):0)?(w=+h[d+(e*40|0)+16>>3],x=+h[q>>3],w<=x):0)?(y=+h[g>>3],!(!(w>=y)|(!(k<=v)|m))):0)?(E=+h[d+(e*40|0)+32>>3],!(!(E<=x)|!(E>=y))):0)?(m=c[i>>2]|0,c[n>>2]=c[z>>2],c[n+4>>2]=c[z+4>>2],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],wU(n,o)|0):0){e=1;break a}e=e+1|0}}l=D;return e|0}function ps(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;rs(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){rs(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ss(b,a,(d|0)>-1?d:0-d|0)|0}if(!(ts(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ss(a,b,0)|0;d=(ss(a,b,(d|0)<=(ss(a,b,1)|0)&1)|0)<<1}else d=ss(a,b,(d|0)>-1?d:0-d|0)|0;if(!(ts(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];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];d=us(a,b,g)|0}while(0);l=m;return d|0}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0)){a=c[e>>2]|0;e=a}else{e=a+24|0;a=a+24|0}g=+h[e>>3]-i;f=+h[a+8>>3]-j;e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0)){a=c[e>>2]|0;e=a}else{e=b+24|0;a=b+24|0}k=+h[e>>3]-i;l=+h[a+8>>3]-j;j=(+h[b+8>>3]-j)*g-(+h[b>>3]-i)*f;b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=l*g-k*f;a=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=a;c[d+8>>2]=O(a,b)|0;return}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j)if(k==g)b=(ws(l,e,i)|0)!=-1&1;else b=0;else b=ws(k,g,j)|0;return b|0}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do if((f|0)<1)g=0;else{n=+h[a>>3];p=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];m=+h[b>>3];o=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];b:do switch(f|0){case 3:{if(n==l){h[d>>3]=n;i=(o-i)/(m-k)*(n-k)+i;break b}if(m==k){h[d>>3]=m;i=(p-j)/(n-l)*(m-l)+j;break b}else{k=(o-i)/(m-k);l=(p-j)/(n-l);o=o-k*m;p=p-l*n;i=k-l;h[d>>3]=(p-o)/i;i=(k*p-o*l)/i;break b}}case 2:{if((ss(a,b,0)|0)==-1)if((ss(b,a,1)|0)==-1){f=(ss(b,a,0)|0)==-1;l=f?l:n;k=m;j=f?j:p;i=o}else{l=k;k=m;j=i;i=o}else if((ss(a,b,1)|0)!=-1)if((ss(b,a,0)|0)==-1){k=n;i=p}else{g=0;break a}else{l=m;j=o}h[d>>3]=(k+l)*.5;i=(i+j)*.5;break}case 1:if((o-p)*(n-l)==(m-n)*(p-j)){h[d>>3]=m;i=o;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;o=+h[a>>3];p=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))e=c[e>>2]|0;else e=a+24|0;m=+h[e>>3];j=+h[e+8>>3];k=+h[b>>3];n=+h[b+8>>3];e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0))e=c[e>>2]|0;else e=b+24|0;i=+h[e>>3];g=+h[e+8>>3];a:do if(!(o!=m&k!=i)){do if(o==m){f=+h[d>>3];if(o==f?p==+h[d+8>>3]:0)break;if(!(m==f)){r=18;break a}if(!(j==+h[d+8>>3])){r=18;break a}}while(0);if(k==i){f=+h[d>>3];if(k==f?n==+h[d+8>>3]:0){e=0;break}if(i==f?g==+h[d+8>>3]:0)e=0;else r=18}else e=0}else r=18;while(0);if((r|0)==18)if(0>1){e=c[15686]|0;p=+h[d+8>>3];h[q>>3]=+h[d>>3];h[q+8>>3]=p;g1(e,92248,q)|0;vs(1,a);vs(2,b);e=1}else e=1;l=s;return e|0}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0;k=l;l=l+48|0;j=k;f=c[15686]|0;g=+h[b>>3];i=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0)){d=c[d>>2]|0;e=d}else{e=b+24|0;d=b+24|0}n=+h[e>>3];m=+h[d+8>>3];c[j>>2]=a;h[j+8>>3]=g;h[j+16>>3]=i;h[j+24>>3]=n;h[j+32>>3]=m;g1(f,92276,j)|0;l=k;return}function ws(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;mv(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}D_(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ys(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=vH(q)|0;q=vH(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((g2()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;As(k,0,o,-+zs(g,0,o,k),g);d=d+1|0}j=+Bs(k,0,o)}while(j<1.0e-10);Cs(k,0,o,1.0/j,k);d=0;do{Ds(q,0,o,k);Es(a,b,b,k,p);Ds(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+Bs(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;Cs(k,0,o,1.0/j,k);l=+zs(k,0,o,q)}while(+B(+l)<.999);h[f+(i<<3)>>3]=l*j;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((g2()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}Cs(k,0,o,1.0/+Bs(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j>2]|0);s=e+(g<<2)|0;Ds(c[k>>2]|0,0,o,c[s>>2]|0);Ds(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}D_(p);D_(q);return (d|0)<=(r|0)|0}function zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=+h[d>>3]*+h[c>>3]+f;e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function As(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Bs(a,b,c){a=a|0;b=b|0;c=c|0;return +(+C(+(+zs(a,b,c,a))))}function Cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function Es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[k>>2]|0)+(i<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Fs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0;k=c[i>>2]|0;if(!k){o=d<<2;j=C_(O(o,f)|0)|0;o=C_(o)|0}else{o=d<<2;j=F_(c[k>>2]|0,O(o,f)|0)|0;o=F_(k,o)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;l=0.0}else break;while(1){if((j|0)>=(e|0))break;p=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0;l=p}g[(c[n>>2]|0)+(k<<2)>>2]=l;k=k+1|0}i=i+1|0}return}function Gs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;if(!k){j=C_(O(d<<3,f)|0)|0;o=C_(d<<2)|0}else{j=F_(c[k>>2]|0,O(d<<3,f)|0)|0;o=F_(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Hs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;if(!j){i=C_(O(d*20|0,e)|0)|0;q=C_(d<<2)|0}else{i=F_(c[j>>2]|0,O(d*20|0,e)|0)|0;q=F_(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3]*+g[m+(j<<2)>>2]+k;j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Is(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+h[d>>3]+c;d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Js(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((g2()|0)%500|0|0);c=c+1|0}Is(a,b);return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3]*+g[(c[l>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=+h[d+(i<<3)>>3]*+g[(c[k>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[c+(e<<3)>>3]+ +h[b+(e<<3)>>3];e=e+1|0}return}function Os(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=+h[c+(e<<3)>>3]*+h[b+(e<<3)>>3]+d;e=e+1|0}return +d}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+B(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Ts(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+g[d>>2]+c;d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=+g[a+(h<<2)>>2]*l;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=+g[c+(i<<2)>>2]*p+f;o=d+(i<<2)|0;g[o>>2]=+g[o>>2]+p*l;f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=+g[o>>2]+f;h=h+m|0;j=k;m=m+-1|0}return}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function Ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[c+(e<<2)>>2]+ +g[b+(e<<2)>>2];e=e+1|0}return}function Xs(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[d+(e<<2)>>2]*c+ +g[f>>2];e=e+1|0}return}function Ys(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function _s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[c+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0}return +d}function $s(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function at(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function bt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+B(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+C(+e);d=d+1|0}return}function ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+C(+e);c=c+1|0}return}function gt(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=O(4/((ht(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;D_(c[b+4>>2]|0);D_(b);b=d}while(0);c[a>>2]=0;return}function ht(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function it(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=vH(8)|0;f=vH(O(c[46085]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46085]|0))break;jt(f+(O(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function jt(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=uH(b<<3)|0;l=a+8|0;f=c[l>>2]|0;lt(a,b,m);Js(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=vH(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=Dq(a,d,m,b,.001,e)|0;D_(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}D_(m);return i>>>31|0}function lt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[j>>2]|0)+(f<<2)>>2]*+g[(c[m>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=vH(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=vH(i)|0;g=g+1|0}p=vH(f<<3)|0;q=vH(b<<2)|0;g=vH(O(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(O(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ys(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=+h[(c[l>>2]|0)+(g<<3)>>3]*+(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)+j;g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;D_(c[r+(g<<2)>>2]|0);g=g+1|0}D_(r);D_(p);D_(c[q>>2]|0);D_(q);return}function nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;$u(c[a>>2]|0,d,d<<2,j);Hs(c[j>>2]|0,a,d,b,i);Gs(a,c[i>>2]|0,b,d,b,h);D_(c[c[i>>2]>>2]|0);D_(c[i>>2]|0);e=(ys(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function ot(){c[46143]=0;D_(c[46144]|0);D_(c[46145]|0);D_(c[46146]|0);c[46144]=0;c[46145]=0;c[46146]=0;return}function pt(a){a=a|0;D_(c[a+36>>2]|0);return}function qt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=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=l;l=l+80|0;o=r+64|0;q=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;n=d+16|0;g=c[n>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{g=c[n>>2]|0;j=c[g+12>>2]|0;k=c[j+8>>2]|0;c[q>>2]=k;g=c[c[g+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))p=11;else p=8;break}case 112:{if((b$(g,102695)|0)==0?(rt(c[j+44>>2]|0,k)|0)!=0:0)p=11;else p=8;break}default:p=8}do if((p|0)==8)if((k|0)<3){c[b+40>>2]=(c[j>>2]|0)==0?0:2;p=17;break}else{g=b+40|0;c[g>>2]=0;break}else if((p|0)==11){g=b+40|0;c[g>>2]=1;if((k|0)<=2)p=17}while(0);if((p|0)==17){i=st(d,q,e,f)|0;p=21;break a}i=vH(k<<4)|0;j=j+44|0;if((c[g>>2]|0)==1){p=c[j>>2]|0;s=e;h[i>>3]=+h[p>>3]*.013888888888888888+s;e=f;h[i+8>>3]=+h[p+8>>3]*.013888888888888888+e;h[i+16>>3]=+h[p+16>>3]*.013888888888888888-s;h[i+24>>3]=+h[p+24>>3]*.013888888888888888+e;h[i+32>>3]=+h[p+32>>3]*.013888888888888888-s;h[i+40>>3]=+h[p+40>>3]*.013888888888888888-e;h[i+48>>3]=+h[p+48>>3]*.013888888888888888+s;h[i+56>>3]=+h[p+56>>3]*.013888888888888888-e;p=21;break a}g=0;while(1){if((g|0)>=(k|0)){p=21;break a}p=c[j>>2]|0;u=+h[p+(g<<4)>>3];s=+h[p+(g<<4)+8>>3];t=+C(+(s*s+u*u));h[i+(g<<4)>>3]=(e/t+1.0)*u*.013888888888888888;h[i+(g<<4)+8>>3]=(f/t+1.0)*s*.013888888888888888;g=g+1|0}}case 2:{c[q>>2]=4;p=vH(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;v=+h[d+32>>3];t=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];u=-e;s=-f;tt(i,o,d,u,s);c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];i=p+16|0;n=~~v;tt(j,n,d,e,s);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=p+32|0;d=~~t;tt(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=p+48|0;tt(m,o,d,u,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=p;p=21;break a}case 3:{c[b+40>>2]=2;i=st(d,q,e,f)|0;p=21;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];Pw(1,92312,o)|0;g=1;break a}}else{c[q>>2]=4;u=+h[g+32>>3]*.5+e;v=+h[g+40>>3]*.5+f;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;p=21}while(0);if((p|0)==21){c[b+36>>2]=i;g=c[q>>2]|0;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function rt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;do if((b|0)==4){c=+h[a+8>>3];b=a+16|0;d=+h[a+24>>3];if(c==d){if(!(+h[a+40>>3]==+h[a+56>>3])){b=0;break}if(!(+h[a>>3]==+h[a+48>>3])){b=0;break}b=+h[b>>3]==+h[a+32>>3];break}if((+h[a>>3]==+h[b>>3]?+h[a+32>>3]==+h[a+48>>3]:0)?c==+h[a+56>>3]:0)b=d==+h[a+40>>3];else b=0}else b=0;while(0);return b&1|0}function st(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0.0,l=0;f=xx(a,99679)|0;if(!f)f=0;else f=a2(f)|0;i=(f|0)<3?20:f;j=vH(i<<4)|0;a=a+16|0;g=1.0/+(i|0);f=0;while(1){if((f|0)>=(i|0))break;l=c[a>>2]|0;k=g*+(f|0)*6.283185307179586;h[j+(f<<4)>>3]=(+h[l+32>>3]*.5+d)*+E(+k);h[j+(f<<4)+8>>3]=(+h[l+40>>3]*.5+e)*+F(+k);f=f+1|0}c[b>>2]=i;return j|0}function tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)*.013888888888888888+d;h[a+8>>3]=+(c|0)*.013888888888888888+e;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function vt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=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=l;l=l+80|0;n=r+64|0;p=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;o=d+16|0;g=c[o>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[p>>2]=k;b:do if((k|0)>2){i=vH(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]*.013888888888888888;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]*.013888888888888888;g=g+1|0}}else i=st(d,p,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))g=1;else q=13;break}case 112:{if((b$(g,102695)|0)==0?(rt(i,c[p>>2]|0)|0)!=0:0)g=1;else q=13;break}default:q=13}do if((q|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[b+40>>2]=g;q=20;break a}case 2:{c[p>>2]=4;q=vH(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;t=+h[o+16>>3];v=+h[o+24>>3];u=+h[o+32>>3];s=+h[o+40>>3];wt(i,t,v);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;wt(j,u,v);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;wt(k,u,s);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;wt(m,t,s);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=q;q=20;break a}case 3:{c[b+40>>2]=2;i=st(d,p,0.0,0.0)|0;q=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];Pw(1,92348,n)|0;g=1;break a}}else{c[p>>2]=4;u=+h[g+32>>3]*.5;v=+h[g+40>>3]*.5;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;q=20}while(0);if((q|0)==20){g=c[p>>2]|0;if(e!=1.0|f!=1.0)xt(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function wt(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b*.013888888888888888;h[a+8>>3]=c*.013888888888888888;return}function xt(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=+h[a>>3]*c;f=a+8|0;h[f>>3]=+h[f>>3]*d;a=a+16|0;e=e+1|0}return}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0;r=l;l=l+128|0;o=r+112|0;n=r+96|0;m=r+80|0;f=r+64|0;p=r+48|0;q=r+32|0;j=r+16|0;k=r;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[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];xr(p,n,o);g=b+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[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];xr(q,n,o);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[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];xr(j,n,o);i=e+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[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];xr(k,n,o);c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[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[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+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];do if(zt(f,m,n,o)|0){f=c[b+40>>2]|0;if(f&1|0?c[e+40>>2]&1|0:0){f=1;break}if(f&2|0?c[e+40>>2]&2|0:0){s=+h[g>>3]-+h[b>>3]+ +h[i>>3]-+h[e>>3];t=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(u*u+t*t>s*s*.25);break}f=c[46144]|0;if(!f){c[46144]=vH(c[46143]<<4)|0;i=vH(c[46143]<<4)|0;c[46145]=i;f=c[46144]|0}else i=c[46145]|0;v=c[b+36>>2]|0;b=b+32|0;g=c[b>>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];At(v,g,o,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>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];At(a,e,o,i);if(!(Bt(f,i,c[b>>2]|0,c[g>>2]|0)|0)){f=c[46144]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+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];if(Ct(m,n,o)|0?(k=c[46145]|0,v=c[g>>2]|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],Dt(k,v,o)|0):0){f=1;break}f=c[46145]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];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];if(!(Ct(m,n,o)|0))f=0;else{q=c[46144]|0;v=c[b>>2]|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];f=(Dt(q,v,o)|0)!=0}}else f=1}else f=0;while(0);l=r;return f&1|0}function zt(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)a=+h[c+8>>3]<=+h[b+8>>3]&1;else a=0;return a|0}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[c>>3]+ +h[a>>3];h[d+8>>3]=+h[f>>3]+ +h[a+8>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,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=l;l=l+112|0;s=A+96|0;r=A+80|0;q=A+64|0;p=A+48|0;u=A+32|0;v=A+16|0;w=A;x=d+-1|0;y=e+-1|0;z=d<<1;t=e<<1;f=0;g=0;h=0;i=0;while(1){B=a+(f<<4)|0;C=a+(((x+f|0)%(d|0)|0)<<4)|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];c[s>>2]=c[C>>2];c[s+4>>2]=c[C+4>>2];c[s+8>>2]=c[C+8>>2];c[s+12>>2]=c[C+12>>2];wr(u,r,s);o=b+(g<<4)|0;n=b+(((y+g|0)%(e|0)|0)<<4)|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];wr(v,r,s);c[q>>2]=c[45770];c[q+4>>2]=c[45771];c[q+8>>2]=c[45772];c[q+12>>2]=c[45773];c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];j=+yr(q,r,s);c[q>>2]=c[C>>2];c[q+4>>2]=c[C+4>>2];c[q+8>>2]=c[C+8>>2];c[q+12>>2]=c[C+12>>2];c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[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];k=zr(q,r,s)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[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[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];m=zr(q,r,s)|0;c[p>>2]=c[C>>2];c[p+4>>2]=c[C+4>>2];c[p+8>>2]=c[C+8>>2];c[p+12>>2]=c[C+12>>2];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[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];if(Ar(p,q,r,s,w)|0){f=1;break}n=(k|0)==0;o=(m|0)==0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0))if(o){f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{g=(g+1|0)%(e|0)|0;i=i+1|0;break}else if(n){g=(g+1|0)%(e|0)|0;i=i+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0}while(0);if(!((i|0)<(t|0)&((h|0)<(z|0)&((i|0)<(e|0)|(h|0)<(d|0))))){f=0;break}}l=A;return f|0}function Ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3]&1;else a=0;return a|0}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0;e=c[46146]|0;if(!e){e=vH(c[46143]<<4)|0;c[46146]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}d=b+-1|0;f=0.0;a=0;a:while(1){if((a|0)>=(b|0)){l=19;break}g=(d+a|0)%(b|0)|0;j=+h[e+(a<<4)+8>>3];i=j==0.0;if(i?+h[e+(g<<4)+8>>3]==0.0:0){if(+h[e+(g<<4)>>3]*+h[e+(a<<4)>>3]<0.0){e=1;break}}else l=11;do if((l|0)==11){l=0;k=+h[e+(g<<4)+8>>3];if(!(j>=0.0)|!(k<=0.0)?!(k>=0.0)|!(j<=0.0):0)break;j=(k*+h[e+(a<<4)>>3]-j*+h[e+(g<<4)>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(k==0.0|i){f=f+.5;break}else{f=f+1.0;break}}while(0);a=a+1|0}if((l|0)==19)e=((~~f|0)%2|0|0)==1&1;return e|0}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=vH(b<<2)|0;i=O(b,b)|0;d=vH(i<<2)|0;c[j>>2]=d;at(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((O(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Ft(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=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=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;F=c[a+52>>2]|0;G=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Ht(M,C,E,F,G,j);H=c[a+28>>2]|0;I=c[a+32>>2]|0;J=c[a+36>>2]|0;K=c[a+12>>2]|0;L=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(G|0)){e=C;d=G}else e=c[F+(d<<2)>>2]|0}c[L+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}z=c[a+40>>2]|0;A=I+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){x=f;while(1){if((x|0)>=(C|0))break b;f=c[E+(x<<2)>>2]|0;y=+g[M+(f<<2)>>2];l=y;w=x;m=0.0;while(1){g[z+(f<<2)>>2]=m;f=w+1|0;if((f|0)>=(C|0)){v=0;break}l=(c[L+(f<<2)>>2]|0)>(c[L+(w<<2)>>2]|0)?l+j:l;a=c[E+(f<<2)>>2]|0;m=+g[M+(a<<2)>>2];if(+B(+(m-l))>1.0e-09){v=1;break}w=f;m=m-y;f=a}n=x;while(1){if((n|0)>(w|0)){a=0;o=x;break}o=c[E+(n<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;a=0;l=-+g[b+(o<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(o|0))l=+g[M+(a<<2)>>2]*+g[p+(a<<2)>>2]+l;a=a+1|0}g[H+(o<<2)>>2]=l/-+g[p+(o<<2)>>2]-+g[z+(o<<2)>>2];n=n+1|0}c:while(1){if((o|0)>(w|0)){m=0.0;q=0.0;r=0;break}n=c[L+(c[E+(o<<2)>>2]<<2)>>2]|0;if((n|0)==(G|0))r=f;else{r=c[F+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}p=o;while(1){if((p|0)>=(r|0)){p=o;break}n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]>2]=n;a=a+1|0}p=p+1|0}while(1){if((p|0)>=(r|0))break;n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]==y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((o|0)>=(r|0)){o=r;continue c}n=c[E+(o<<2)>>2]|0;if(+g[H+(n<<2)>>2]>y){c[K+(a<<2)>>2]=n;a=a+1|0}o=o+1|0}}while(1){if((r|0)>=(a|0))break;o=c[K+(r<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[p+(c[K+(n<<2)>>2]<<2)>>2];n=n+1|0}N=l*2.0;u=p+(o<<2)|0;s=+g[u>>2];l=N+m;s=(N*y+m*q-+g[H+(o<<2)>>2]*s)/(l-s);g[I+(r<<2)>>2]=s;m=l-+g[u>>2];q=s;r=r+1|0}p=(a|0)==(C|0);if(p)g[A>>2]=y;u=a+-1|0;m=0.0;q=0.0;o=u;while(1){if((o|0)<=-1)break;r=c[K+(o<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=o;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[K+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;N=+g[t>>2];s=l+m;N=(l*y+m*q-+g[H+(r<<2)>>2]*N)/(s-N);g[J+(o<<2)>>2]=N;m=s-+g[t>>2];q=N;o=o+-1|0}if(p){g[J>>2]=y;s=0.0;n=-1;p=0}else{s=0.0;n=-1;p=0}while(1){if((a|0)<=(p|0))break;q=+g[J+(p<<2)>>2];if((p|0)>0)l=+g[I+(p+-1<<2)>>2];else l=q;do if(qy;if(qs;s=t?N:s;n=t?p:n;p=p+1|0}if((n|0)>-1)break;if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0){k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;x=f;continue}k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];x=f}m=+g[J+(n<<2)>>2];if(!n)q=m;else q=+g[I+(n+-1<<2)>>2];if(v){t=c[E+(f<<2)>>2]|0;l=+g[M+(t<<2)>>2];l=((c[L+(t<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0)?l-j:l)-+g[z+(c[K+(u<<2)>>2]<<2)>>2]}else l=1.0e9;l=mk?q:k;do if(ly;if(l=(n|0))break;t=c[K+(o<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+l;o=o+1|0}while(1){if((n|0)>=(a|0))break;t=c[K+(n<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+m;n=n+1|0}if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0)k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;else k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];a=x;while(1){if((a|0)>(w|0))break;c[E+(a<<2)>>2]=c[K+(a-x<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+B(+(l-y))<.01:0)e=+B(+(m-y))<.01;else e=0;e=e&1}Ts(C,M);Gt(M,E,F,G,i);d=d+1|0}}while(0);return d|0}function Gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Ht(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;hs(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]>2]=i;k=l;m=m+1|0}return}function It(a){a=a|0;D_(c[c[a>>2]>>2]|0);D_(c[a>>2]|0);D_(c[a+8>>2]|0);D_(c[a+28>>2]|0);D_(c[a+32>>2]|0);D_(c[a+36>>2]|0);D_(c[a+40>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);D_(a);return}function Jt(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;k=vH(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Et(a,b)|0;i=b<<2;j=vH(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=vH(i)|0;c[k+32>>2]=vH(i)|0;c[k+36>>2]=vH(i)|0;c[k+40>>2]=vH(i)|0;c[k+12>>2]=vH(i)|0;c[k+16>>2]=vH(i)|0;c[k+20>>2]=vH(i)|0;c[k+24>>2]=vH(i)|0;return k|0}function Kt(){gt(184592,24);c[46151]=0;return}function Lt(){return it(184592)|0}function Mt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function Nt(a){a=a|0;var b=0;b=c[46151]|0;c[a+16>>2]=b;c[46151]=b+1;return}function Ot(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)jt(a,184592);return}function Pt(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Qt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0.0,j=0,k=0,m=0,n=0.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;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;v=vH(q)|0;m=b<<3;w=vH(m)|0;u=as(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;k=u+(a<<2)|0;j=0;while(1){if((j|0)==(b|0))break;s=(c[k>>2]|0)+(j<<2)|0;c[s>>2]=c[s>>2]<<8;j=j+1|0}a=a+1|0}if(!d)qa(92381,92389,283,92403);s=vH(m)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Rt(s,b);i=0.0;n=0.0;m=1;while(1){if((m|0)>=(b|0))break;j=u+(m<<2)|0;k=d+(m<<3)|0;a=0;while(1){if((a|0)==(m|0))break;y=c[(c[j>>2]|0)+(a<<2)>>2]|0;r=+h[k>>3]-+h[d+(a<<3)>>3];i=r*r*(1.0/+(O(y,y)|0))+i;n=+B(+r)*(1.0/+(y|0))+n;a=a+1|0}m=m+1|0}r=n/i;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*r;a=a+1|0}St(b,o,f,d,u);k=vH(O(q,b)|0)|0;j=0;while(1){if((j|0)>=(b|0)){k=1;break}m=k+((O(j,b)|0)<<2)|0;c[v+(j<<2)>>2]=m;o=u+(j<<2)|0;i=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[m+(a<<2)>>2]=p;i=i-p}a=a+1|0}g[m+(j<<2)>>2]=i;j=j+1|0}while(1){if((k|0)>=(b|0)){j=0;break}i=+h[d+(k<<3)>>3];j=u+(k<<2)|0;a=0;while(1){if((a|0)==(k|0))break;y=(c[j>>2]|0)+(a<<2)|0;n=+(c[y>>2]|0);p=i-+h[d+(a<<3)>>3];p=n*n-p*p;q=~~+C(+p);q=p>0.0?q:0;c[(c[u+(a<<2)>>2]|0)+(k<<2)>>2]=q;c[y>>2]=q;a=a+1|0}k=k+1|0}while(1){if((j|0)>=(b|0)){q=0;a=0;break}n=+h[e+(j<<3)>>3];m=w+(j<<3)|0;h[m>>3]=0.0;o=u+(j<<2)|0;k=v+(j<<2)|0;a=0;i=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+g[(c[k>>2]|0)+(a<<2)>>2]*+(c[(c[o>>2]|0)+(a<<2)>>2]|0);i=i+(n>=+h[e+(a<<3)>>3]?-p:p);h[m>>3]=i}a=a+1|0}j=j+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){t=42;break}if((Eq(v,e,w,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];k=u+(o<<2)|0;m=v+(o<<2)|0;i=0.0;j=0;while(1){if((j|0)==(b|0))break;do if((j|0)!=(o|0)){n=+g[(c[m>>2]|0)+(j<<2)>>2]*+(c[(c[k>>2]|0)+(j<<2)>>2]|0);if(!(p>=+h[e+(j<<3)>>3])){i=i+n;break}else{i=i+-n;break}}while(0);j=j+1|0}j=w+(o<<3)|0;p=+h[j>>3];if(i!=p?+B(+(1.0-i/p))>1.0e-05:0){h[j>>3]=i;a=0}o=o+1|0}q=q+1|0}a:do if((t|0)==42){i=1.0/r;a=0;while(1){if((a|0)>=(b|0)){a=0;break a}y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*i;y=e+(a<<3)|0;h[y>>3]=+h[y>>3]*i;a=a+1|0}}while(0);D_(c[u>>2]|0);D_(u);D_(c[v>>2]|0);D_(v);D_(s);D_(w);l=x;return a|0}function Rt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=+h[a+(c<<3)>>3]+d;c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;Cs(a,0,f,1.0/+Bs(a,0,f),a);return}function St(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Tt(f,a)|0;l=vH(8)|0;if(!e){f=0;j=0}else{g=vH(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Rt(g,a);f=g;j=g}Ut(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+C(+(+B(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=+h[m>>3]*d;f=f+1|0}e=e+1|0}D_(c[k>>2]|0);D_(k);D_(l);D_(j);return}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=vH(O(n,b)|0)|0;n=vH(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}m=Wt(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+ +g[i>>2]-p*p-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}D_(m);l=o;return n|0}function Ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=vH(r)|0;r=vH(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}if(k)i=0;else{As(l,0,p,-+zs(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p)}while(g<1.0e-10);Cs(l,0,p,1.0/g,l);do{Ds(r,0,p,l);Vt(a,b,b,l,q,f);Ds(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p);if(g<1.0e-10)break a;Cs(l,0,p,1.0/g,l);m=+zs(l,0,p,r)}while(+B(+m)>3]=m*g;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+zs(c[s>>2]|0,0,p,k);As(k,0,p,n,c[s>>2]|0);i=i+1|0}Cs(k,0,p,1.0/+Bs(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g>2]|0);s=d+(i<<2)|0;Ds(c[b>>2]|0,0,p,c[s>>2]|0);Ds(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}D_(q);D_(r);return}function Vt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=+h[e+(l<<3)>>3]*+g[(c[m>>2]|0)+(l<<2)>>2]+k;l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)As(f,0,j,-+zs(f,0,j,i),i);return}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=vH(b<<2)|0;k=1.0/+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=m+f;h=h+1|0;e=m+e}g[j+(i<<2)>>2]=k*f;i=i+1|0}g[d>>2]=e/+(O(b,b)|0);return j|0}function Xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=O(d,d)|0;r=vH(q<<3)|0;s=vH(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+B(+(+h[a+((O(e,d)|0)+o<<3)>>3]));m=t=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=O(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-+h[j>>3]*f;i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-+h[a+(i+n<<3)>>3]*f;i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+B(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=O(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[b+(g<<3)>>3]*+h[a+(g+k<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}D_(r);D_(s)}}if((l|0)==33){k3(92418)|0;D_(r);D_(s)}return}function Yt(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;nr();Kt();Ir();c[46147]=jb[d&3]()|0;Kr();q=r+8|0;p=jb[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(Er()|0)){Fr(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(Er()|0)break;g=+h[o>>3];if(g>3]>2]|0;Nt(j);rr(c[t+8>>2]|0,a[t+16>>0]|0,j);rr(c[v+8>>2]|0,a[v+16>>0]|0,j);Rr(t);Dr(v);Rr(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=or(k,v?m:u)|0;m=Lr(u,t)|0;Or(b,m);rr(u,(t^1)&255,j);Ot(j);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,k))}b=Mr(m,i)|0;if(!b)continue;Br(m,b,+Mt(b,k))}b=Pr(p)|0;k=Sr(b)|0;i=or(Vr(b)|0,p)|0;m=Lr(i,0)|0;Or(b,m);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,p))}i=Lr(i,1)|0;Or(m,i);b=Mr(i,k)|0;if(b|0)Br(i,b,+Mt(b,p));p=jb[d&3]()|0}b=c[46090]|0;while(1){b=Sr(b)|0;if((b|0)==(c[46091]|0))break;pr(c[b+8>>2]|0)}l=s;return}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+8|0;e=g;do if((ay(a)|0)!=1){_t(a);if(!b)b=$t(a)|0;d=au(a,b)|0;if(0){h=c[15686]|0;c[e>>2]=ry(b)|0;c[e+4>>2]=d;g1(h,92434,e)|0}if((d|0)<0){Pw(1,92468,f)|0;break}else{bu(a);cu(a,b);du(a,b);eu(a,d);break}}else{h=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}while(0);l=g;return b|0}function _t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=ay(a)|0;d=O(d,d)|0;b=Sy(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(mu(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=Ty(a,b)|0}return}function $t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(ay(a)|0)<3;b=Sy(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)lu(a,b,0);b=Ty(a,b)|0}d=0;b=0;e=Sy(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=Ty(a,e)|0}}while(0);return b|0}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;iu(a,b);d=Sy(a)|0;e=y3(0,e|0,32)|0;f=z;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=Ty(a,d)|0}return b|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0;d=Sy(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=z;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=Ty(a,d)|0}return}function cu(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;hu(a,b);return}function du(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;gu(a,b);return}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+16|0;f=i;g=fu(a,b)|0;if(0){e=c[15686]|0;D1(92524,e)|0;d=0;while(1){if((d|0)>(b|0))break;h[f>>3]=+h[g+(d<<3)>>3];g1(e,92543,f)|0;d=d+1|0}D1(150517,e)|0}d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+112>>2]|0;j=+h[g+(c[e+24>>2]<<3)>>3];e=e+48|0;k=+E(+(+h[e>>3]))*j;f=c[f+132>>2]|0;h[f>>3]=k;h[f+8>>3]=+F(+(+h[e>>3]))*j;d=Ty(a,d)|0}D_(g);l=i;return}function fu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=uH((d<<3)+8|0)|0;b=NL(b,nx(c[b+60>>2]|0,0,98262,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+c2(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=i+e;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(B$(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=e+f;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=Jx(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=j*.5+e;e=j+e;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))gu(a,f)}g=Kx(a,g,b)|0}return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=Jx(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)hu(a,d);f=Kx(a,f,b)|0}return}function iu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=nx(b,2,98515,0)|0;c[n+4>>2]=0;c[n>>2]=0;ju(n,d);j=(o|0)==0;a:while(1){k=ku(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=Jx(b,k)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)continue a;if(!((!j?(a[(yx(g,o)|0)>>0]|0)==48:0)?!(b$(yx(g,o)|0,135312)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=s3(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=z;ju(n,e)}}g=Kx(b,g,k)|0}}l=p;return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0;d=uH(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function ku(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];D_(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function lu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=Jx(a,b)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;lu(a,e,b)}g=Kx(a,g,b)|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=Jx(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=Kx(a,g,b)|0}return d|0}function nu(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=nx(a,1,92551,0)|0;g=nx(a,0,92551,0)|0;a=ou(a,g,d,nx(a,0,92556,0)|0)|0;d=a+16|0;f=+C(+(+h[a>>3]+.1));zu(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];pu(a);qu(a);ru(a);l=b;return}function ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=uH(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=ou(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=+h[g>>3]+f;if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=Sy(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=uu(n,d)|0;f=+h[k>>3]+f;if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=Ty(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+wu(a,b);else{h[o+8>>3]=f;f=+vu(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;p=l;l=l+176|0;f=p+144|0;n=p+64|0;k=p+32|0;i=p;o=c[a+64>>2]|0;a:do if(o|0){m=uH(o<<2)|0;b=a+48|0;e=0;d=b;while(1){d=c[d>>2]|0;if((e|0)>=(o|0))break;c[m+(e<<2)>>2]=d;e=e+1|0;d=d+52|0}_0(m,o,4,79);j=uH(o<<3)|0;d=0;while(1){if((d|0)>=(o|0))break;h[j+(d<<3)>>3]=+h[c[m+(d<<2)>>2]>>3];d=d+1|0}g=+h[a+8>>3];if(+h[a>>3]==g){i=a+16|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}else{q=+h[a+40>>3];r=+h[a+32>>3];h[i>>3]=+h[a+16>>3];h[i+8>>3]=+h[a+24>>3];s=q-r;g=(r+q-+C(+(g*4.0+s*s)))*.5;h[i+16>>3]=r-g;h[i+24>>3]=q-g;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[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}if(0){f=c[15686]|0;q=+h[a+24>>3];r=+h[a+32>>3];s=+h[a+40>>3];h[k>>3]=+h[a+16>>3];h[k+8>>3]=q;h[k+16>>3]=r;h[k+24>>3]=s;g1(f,92603,k)|0}e=c[15686]|0;d=0;while(1){if((d|0)>=(o|0))break;k=(c[m+(d<<2)>>2]|0)+16|0;f=i+(d<<5)|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[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];if(0){g=+h[f>>3];r=+h[i+(d<<5)+16>>3];u=r*.5;q=+h[i+(d<<5)+8>>3];s=+h[i+(d<<5)+24>>3];t=s*.5;h[n>>3]=+h[j+(d<<3)>>3];h[n+8>>3]=g-u;h[n+16>>3]=q-t;h[n+24>>3]=u+g;h[n+32>>3]=t+q;h[n+40>>3]=s*r;h[n+48>>3]=g;h[n+56>>3]=q;h[n+64>>3]=r;h[n+72>>3]=s;g1(e,92620,n)|0}d=d+1|0}D_(m);D_(j);D_(i);d=0;while(1){b=c[b>>2]|0;if((d|0)>=(o|0))break a;if(!(c[b+60>>2]|0))pu(b);b=b+52|0;d=d+1|0}}while(0);l=p;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;f=l;l=l+48|0;e=f;if(c[a+60>>2]|0){k=+h[a+24>>3];i=+h[a+32>>3];g=+h[a+40>>3];b=c[a+56>>2]|0;d=b+16|0;j=c[d>>2]|0;h[j+16>>3]=+h[a+16>>3];h[j+24>>3]=k;a=c[d>>2]|0;h[a+32>>3]=i*.013888888888888888;h[a+40>>3]=g*.013888888888888888;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);su(b);if(0){j=c[15686]|0;a=ry(b)|0;d=c[d>>2]|0;m=+h[d+16>>3];g=+h[d+24>>3];i=+h[d+80>>3];k=+h[d+96>>3]+ +h[d+88>>3];c[e>>2]=a;h[e+8>>3]=m;h[e+16>>3]=g;h[e+24>>3]=i;h[e+32>>3]=k;g1(j,92562,e)|0}}else{b=a+48|0;while(1){b=c[b>>2]|0;if(!b)break;qu(b);b=b+52|0}i=+h[a+32>>3];m=+h[a+40>>3];g=+h[a+16>>3]-i*.5;k=+h[a+24>>3]-m*.5;j=c[(c[a+56>>2]|0)+16>>2]|0;h[j+16>>3]=g;h[j+24>>3]=k;h[j+32>>3]=g+i;h[j+40>>3]=k+m}l=f;return}function ru(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ru(b);b=b+52|0;d=d+1|0}D_(a);return}function su(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[46380]|0;if(e|0?(a[(yx(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;Y0(d,92597,f)|0;rx(b,c[46380]|0,d)|0}dM(b);l=g;return}function tu(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function uu(a,b){a=a|0;b=b|0;var d=0;d=uH(72)|0;h[d>>3]=+wu(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function vu(a,b){a=a|0;b=b|0;var d=0.0;d=+LL(c[a+56>>2]|0,b,0.0,0.0);if(d==0.0)d=+h[a+8>>3];else{d=+C(+(+h[a+8>>3]))+d*2.0;d=d*d}return +d}function wu(a,b){a=a|0;b=b|0;var c=0.0;c=+LL(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=+h[b+(e<<3)>>3]+f;e=e+1|0;f=j}if(f>+h[d+24>>3]*+h[d+16>>3]+.001)e=0;else{e=uH(a<<5)|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];yu(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function yu(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=l;l=l+112|0;y=z+72|0;u=z+40|0;p=z+32|0;m=z;w=k+16|0;q=+h[w>>3];x=k+24|0;r=+h[x>>3];v=+h[k+16+((!(q>3];do if((a|0)>=1){if(0){A=c[15686]|0;B=+h[k+8>>3];h[m>>3]=+h[k>>3];h[m+8>>3]=q;h[m+16>>3]=B;h[m+24>>3]=r;g1(A,92657,m)|0;c[p>>2]=e;g1(A,92703,p)|0}if(!e){i=+h[b>>3];B=v*v;v=i/B;B=B/i;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];yu(a,b,d,1,i,i,i,v>B?v:B,y);break}if((a|0)>(e|0)?(t=+h[b+(e<<3)>>3],n=tg?g:t,t=t+i,o=t/v,o=o*o,B=o/s,o=n/o,o=B>o?B:o,o<=j):0){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];yu(a,b,d,e+1|0,n,s,t,o,y);break}q=i/v;if(0){A=c[15686]|0;c[u>>2]=e;h[u+8>>3]=i;h[u+16>>3]=v;h[u+24>>3]=q;g1(A,92728,u)|0}n=+h[w>>3];if(v==n){o=1.0/q;p=k+8|0;n=+h[k>>3]-n*.5;m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+24>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+16>>3]=B;h[d+(m<<5)+8>>3]=(+h[x>>3]-q)*.5+ +h[p>>3];h[d+(m<<5)>>3]=B*.5+n;n=B+n;m=m+1|0}h[p>>3]=+h[p>>3]-q*.5;m=1}else{o=1.0/q;n=+h[x>>3]*.5+ +h[k+8>>3];m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+16>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+24>>3]=B;h[d+(m<<5)>>3]=(q-+h[w>>3])*.5+ +h[k>>3];h[d+(m<<5)+8>>3]=n-B*.5;n=n-B;m=m+1|0}h[k>>3]=+h[k>>3]+q*.5;m=0}A=k+16+(m<<3)|0;h[A>>3]=+h[A>>3]-q;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];yu(a-e|0,b+(e<<3)|0,d+(e<<5)|0,0,0.0,0.0,0.0,1.0,y)}while(0);l=z;return}function zu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Au(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=l;l=l+96|0;C=D+48|0;B=D+24|0;A=D+16|0;z=D+8|0;u=D+80|0;v=D;w=a+16|0;x=d+4|0;y=u+4|0;s=Sy(a)|0;e=0;f=0;i=0;j=0;while(1){if(!s)break;t=Ex(a,s)|0;q=e;r=j;while(1){if(!t)break;e=(b[(c[t+16>>2]|0)+168>>1]|0)==0;do if((s|0)==(c[((c[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0))if(e){j=q;e=r}else{if(!f){e=uH(96)|0;c[e+84>>2]=uH(((ay(a)|0)<<5)+11520|0)|0;f=e}else e=r;Mm(f,t,c[(c[w>>2]|0)+248>>2]|0);j=q}else if(!e){i=Bu(t,d)|0;j=i+8|0;if(ms(c[j>>2]|0,c[i>>2]|0)|0){k=sU(c[j>>2]|0,c[i>>2]|0)|0;if(!k){Pw(0,92781,z)|0;j=1;e=r;break}else e=t;while(1){if(!e)break;E=e+16|0;F=(c[E>>2]|0)+144|0;Sm(v,e,k,0,c[j>>2]|0,c[i>>2]|0);H=v;G=c[H+4>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;Um(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[E>>2]|0)+172>>2]|0}Cu(i);j=q;e=r;break}if(!q){qq(u,a);e=YD(a,8,8)|0;Pw(0,92865,A)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];if(!(o>=n)&!(p>=n)){m=+g[u>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[C>>3]=m;h[C+8>>3]=n;h[C+16>>3]=o;h[C+24>>3]=p;Pw(3,92981,C)|0}}else{c[B>>2]=e;h[B+8>>3]=o;h[B+16>>3]=p;Pw(3,92931,B)|0}j=1;e=r}else{j=q;e=r}}else{j=q;e=r}while(0);t=Gx(a,t)|0;q=j;r=e}s=Ty(a,s)|0;e=q;j=r}Du(i);if(f|0){D_(c[f+84>>2]|0);D_(j)}l=D;return e|0}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=uH(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Eu(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Eu(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Fu(k,b,0,f,d);Fu(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Fu(k,h,e,f,d);l=p;return k|0}function Cu(a){a=a|0;c[a>>2]=0;return}function Du(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Eu(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;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Fu(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Fu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=Sy(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Gu(b,Pm(h,g,0)|0);h=Ty(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Gu(b,Hu(h,g)|0);d=d+1|0}return}function Gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=vH(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=xH(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Hu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0;m=uH(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[m+4>>2]=4;b=uH(64)|0;c[m>>2]=b;if(!(a[d+8>>0]|0)){p=+g[d>>2];o=+g[d+4>>2];i=(f+e)*.5*(p+-1.0);n=(k+l)*.5*(o+-1.0);j=e*p-i;i=f*p-i;f=k*o-n;e=l*o-n}else{i=+g[d>>2];p=+g[d+4>>2];j=e-i;i=f+i;f=k+p;e=l-p}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return m|0}function Iu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+160|0;n=o+16|0;j=o+8|0;g=o;k=o+24|0;m=uH(ay(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{p=ry(b)|0;i=c[46152]|0;c[g>>2]=p;c[g+4>>2]=i;Y0(k,93041,g)|0;i=vA(b,k,1)|0;Az(i,134401,280,1)|0;g=uH(56)|0;c[(c[i+16>>2]|0)+140>>2]=g;c[g>>2]=f;c[g+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,i,m);f=f+16|0}}while(0);h=0;i=Sy(b)|0;while(1){if(!i)break;p=c[i+16>>2]|0;if((a[m+(c[p+120>>2]|0)>>0]|0)==0?(a[p+119>>0]|0)==3:0){if(!g){p=ry(b)|0;g=(c[46152]|0)+f|0;c[j>>2]=p;c[j+4>>2]=g;Y0(k,93041,j)|0;g=vA(b,k,1)|0;Az(g,134401,280,1)|0;p=uH(56)|0;c[(c[g+16>>2]|0)+140>>2]=p;f=f+1|0}Ju(b,i,g,m);h=1}i=Ty(b,i)|0}if(g|0)vD(g)|0;g=Sy(b)|0;while(1){if(!g)break;if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){j=ry(b)|0;p=(c[46152]|0)+f|0;c[n>>2]=j;c[n+4>>2]=p;Y0(k,93049,n)|0;p=vA(b,k,1)|0;Az(p,134401,280,1)|0;j=uH(56)|0;c[(c[p+16>>2]|0)+140>>2]=j;Ju(b,g,p,m);vD(p)|0;f=f+1|0}g=Ty(b,g)|0}D_(m);c[46152]=(c[46152]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=h;i=uH((f<<2)+4|0)|0;h=i;g=wA(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=xA(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=o;return i|0}else qa(93057,93068,134,93075);return 0}function Ju(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;Xy(e,d,1)|0;i=Jx(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,e,f);i=Kx(b,i,d)|0}return}function Ku(a){a=a|0;var b=0;b=vH(24)|0;c[46153]=b;c[b>>2]=Cw(18100,c[4555]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Lu(a)|0;return b|0}function Lu(a){a=a|0;var b=0,d=0;b=vH(16)|0;c[b+12>>2]=0;d=vH(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;d=Ou(c[46153]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Lu(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)D_(d);c[b>>2]=vH(e<<3)|0;c[f>>2]=e}return}function Qu(a){a=a|0;var b=0;b=c[a>>2]|0;nb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ru(a){a=a|0;yw(c[a>>2]|0)|0;Su(c[a+4>>2]|0);D_(c[a+16>>2]|0);D_(a);return}function Su(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;h=g+12|0;c[h>>2]=b;c[h+4>>2]=d;i=c[a>>2]|0;h=(nb[c[i>>2]&63](i,h,1)|0)+8|0;c[h>>2]=Uu(a,e,c[h>>2]|0)|0;if(0>2){i=c[15686]|0;h=ry(e)|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;g1(i,93085,f)|0}l=g;return}function Uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Vu(a,b){a=a|0;b=b|0;Jw(c[a>>2]|0,b,a)|0;return}function Wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Xu(a,b){a=a|0;b=b|0;if((ay(a)|0)==1){a=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{Yu(a);if(!((QL(xx(b,93102)|0)|0)<<24>>24))b=tv(a,183128)|0;else b=Zu(a)|0;Cv(a,b,183128);_u(b)}return}function Yu(a){a=a|0;var b=0;b=ez(c[c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46154]|0;if((b|0)!=(a|0)){c[45785]=0;c[46154]=b;c[46155]=nx(b,0,93111,0)|0;c[46156]=nx(c[46154]|0,1,93119,0)|0;c[46157]=nx(c[46154]|0,1,93136,0)|0;a=c[46154]|0}c[46158]=xx(a,93136)|0;nv(183128);c[45784]=1;h[22895]=+LL(c[46154]|0,c[46155]|0,1.0,0.0);c[45786]=c[46156];c[45787]=c[46157];c[45788]=c[46158];return}function Zu(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[45785]|0;c[45785]=b+1;c[e>>2]=b;Y0(d,93152,e)|0;d=ov(vA(a,d,1)|0)|0;e=d+8|0;b=Sy(a)|0;while(1){if(!b)break;Xy(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=Ty(a,b)|0}l=f;return d|0}function _u(a){a=a|0;Bv(a);return}function $u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;av(f,c);bv(a,b,c,f);cv(b,f,d);dv(f);l=e;return}function av(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function bv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=vH(t)|0;C=vH(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=vH(t)|0;t=vH(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;js(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}fv(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((gv(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=F_(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|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];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}D_(A);D_(C);D_(s);D_(t);iv(u);l=D;return}function cv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=vH(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=vH(h)|0;h=vH(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=vH(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}D_(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ev(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function dv(a){a=a|0;D_(c[a>>2]|0);return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function fv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=vH(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;jv(a,e);e=e+-1|0}return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>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];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|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[d>>2]=(c[d>>2]|0)+-1;jv(a,0);a=1}return a|0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;j=a+4|0;g=c[j>>2]|0;d=a+8|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=g<<1;d=F_(c[a>>2]|0,g<<5)|0;c[a>>2]=d;k=a;i=c[j>>2]|0}else{k=a;i=g;d=c[a>>2]|0}c[j>>2]=i+1;j=d+(g<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];while(1){if((g|0)<=0)break;d=c[k>>2]|0;e=+h[d+(g<<4)+8>>3];a=g>>>1;f=+h[d+(a<<4)+8>>3];if(!(e>2]|0}j=d+(g<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];b=d+(a<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=(c[k>>2]|0)+(a<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];g=a}l=n;return}function iv(a){a=a|0;D_(c[a>>2]|0);return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|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];b=d}l=m;return}function kv(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=vH(b<<3)|0;if(!(kt(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=uH(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;js(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=a+(n-d>e&1)|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=vH(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=vH(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)D_(f);return a|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46159]|0;if(d|0)xn(d);c[46159]=wn(b,b,0.0)|0;d=c[46160]|0;if(d|0)D_(d);c[46160]=uH(b<<2)|0;d=c[46161]|0;if(d|0)D_(d);n=uH(b<<3)|0;c[46161]=n;o=c[46159]|0;p=c[46160]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+B(+j);f=f>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;k=d;f=0.0}else break;while(1){if((e|0)>=(b|0))break;a=c[p+(e<<2)>>2]|0;j=+B(+(+h[(c[o+(a<<2)>>2]|0)+(l<<3)>>3]));j=+h[n+(a<<3)>>3]*j;a=f>2]|0;a=p+(k<<2)|0;c[d>>2]=c[a>>2];c[a>>2]=i}g=c[o+(c[d>>2]<<2)>>2]|0;a=l+1|0;f=1.0/+h[g+(l<<3)>>3];e=a;while(1){if((e|0)>=(b|0)){d=k;l=a;continue b}i=c[o+(c[p+(e<<2)>>2]<<2)>>2]|0;d=i+(l<<3)|0;j=+h[d>>3]*f;h[d>>3]=j;c:do if(j!=0.0){d=a;while(1){if((d|0)>=(b|0))break c;q=i+(d<<3)|0;h[q>>3]=+h[q>>3]-+h[g+(d<<3)>>3]*j;d=d+1|0}}while(0);e=e+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[n+(i<<3)>>3]=0.0;d=0}while(0);return d|0}function mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46159]|0;l=c[46160]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[l+(j<<2)>>2]|0;i=k+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=+h[a+(e<<3)>>3]*+h[(c[i>>2]|0)+(e<<3)>>3]+f;e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=l+(b<<2)|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=+h[a+(e<<3)>>3]*+h[(c[k+(c[g>>2]<<2)>>2]|0)+(e<<3)>>3]+f;e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[(c[k+(c[g>>2]<<2)>>2]|0)+(b<<3)>>3];e=b}return}function nv(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function ov(a){a=a|0;var b=0;b=uH(64)|0;nv(b+36|0);c[b+8>>2]=a;return b|0}function pv(a){a=a|0;if(a|0){Lv(c[a+32>>2]|0);D_(a)}return}function qv(a){a=a|0;return ay(c[a+8>>2]|0)|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function sv(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;uv(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=Sy(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=Ty(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=Ty(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;rv((c[i+12>>2]|0)+36|0,h);h=k}nv(b);return j|0}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;g=i+8|0;e=c[b+24>>2]|0;if(!((e|0)!=0?(d=az(a,e,0)|0,(d|0)!=0):0))f=3;a:do if((f|0)==3){e=b+20|0;b:do if(c[e>>2]|0){d=Sy(a)|0;while(1){if(!d)break b;if((PL(c[c[(c[d+16>>2]|0)+112>>2]>>2]|0,c[e>>2]|0,0)|0)<<24>>24)break a;d=Ty(a,d)|0}}while(0);d=Sy(a)|0}while(0);if(0){f=c[15686]|0;c[h>>2]=ry(d)|0;g1(f,93141,h)|0}c[g+4>>2]=0;c[g>>2]=0;vv(a,d,b,1,g);l=i;return}function vv(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;l=d+8|0;k=c[l>>2]|0;c[l>>2]=k+1;l=b+16|0;c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]=k;c[(c[(c[l>>2]|0)+112>>2]|0)+24>>2]=k;k=(e|0)==0;j=Jx(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;g=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[g>>2]|0))c[g>>2]=-1}else{e=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[e>>2]|0)){c[e>>2]=1;e=g}else e=g}g=e+16|0;h=c[(c[g>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;wv(f,j);vv(a,e,d,0,f);i=(c[(c[l>>2]|0)+112>>2]|0)+24|0;c[i>>2]=c[(c[(c[((c[i>>2]|0)<(c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)?b:e)+16>>2]|0)+112>>2]|0)+24>>2];if((c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)>=(c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]|0)){e=0;do{h=xv(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=yv(a,d)|0;zv(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(qv(e)|0)>1:0)zv(e,b);if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){sv(d,e);break}rv(d,e)}}}else{g=c[(c[l>>2]|0)+112>>2]|0;if((c[g+8>>2]|0)!=(e|0)){h=g+24|0;g=c[h>>2]|0;c[h>>2]=(g|0)<(i|0)?g:i}}while(0);j=Kx(a,j,b)|0}if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){l=yv(a,d)|0;zv(l,b);sv(d,l)}return}function wv(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function xv(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)qa(135312,93172,65,93184);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else qa(93162,93172,61,93184);return 0}function yv(a,b){a=a|0;b=b|0;return ov(Av(a,b)|0)|0}function zv(a,b){a=a|0;b=b|0;Xy(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;Y0(e,93152,f)|0;b=vA(a,e,1)|0;Az(b,134401,280,1)|0;l=d;return b|0}function Bv(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Bv(b);b=d}pv(a);return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;Dv(a,b,+h[c+32>>3]);return}function Dv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Dv(a,e,d);e=e+4|0;f=f+1|0}e=Vv(a,b,d)|0;c[b+32>>2]=e;a=Sv(e)|0;if((f|0)>0)d=+Ev(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=uH(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=j*+(k|0);d=o+1|0;g=+Fv(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do switch(o|0){case 1:{h[u+40>>3]=1.0;d=0;break}case 2:{j=+h[u+64>>3]-+h[u+8>>3];Gv(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}default:{n=u+8|0;m=u;d=0;while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;if((d|0)==(o|0)){i=u;j=+h[n>>3]+6.283185307179586-+h[m+8>>3];k=m+56|0}else{k=m+56|0;i=k;j=+h[m+64>>3]-+h[m+8>>3]}Gv(m,i,j);m=k}}}while(0);while(1){if((d|0)>=(o|0))break;Hv(u+(d*56|0)|0,t,b,f);d=d+1|0}D_(u);if((a|0)==1){f=g+f*.5;Iv(e,-f,0.0,0.0);h[p>>3]=+h[p>>3]+f;u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[s>>3]+ +h[r>>3])*.5+-3.141592653589793)}function Fv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+d+k*2.0;g=g>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+d+ +h[b>>3];h[a+24>>3]=g;return +g}function Gv(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(d*+h[b+32>>3]+e*+h[a+32>>3])/(c*2.0*e*d);c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,G=0.0;z=b+8|0;y=+h[z>>3];A=b+24|0;k=+h[A>>3];B=b+32|0;j=+h[B>>3];f=+h[a+16>>3]*+h[a+40>>3];x=(d|0)==1;if(x){v=+h[a+32>>3];g=v*.15915494309189535;g=f>g?f:g;f=g*6.283185307179586-v;if(f>0.0){e=f/+(c[a+48>>2]|0)+e;l=0.0;f=g}else{l=0.0;f=g}}else l=+h[a+8>>3]-+h[a+32>>3]/(f*2.0);q=+h[a+24>>3]+f;r=q>y;s=a+48|0;t=((c[s>>2]|0)+1|0)/2|0;u=1.0/f;v=e/f*.5;w=a+8|0;n=b+40|0;o=0;p=0.0;g=l;while(1){n=c[n>>2]|0;if(!n)break;i=c[n>>2]|0;if(!i)i=0;else i=c[(c[(c[i+16>>2]|0)+112>>2]|0)+8>>2]|0;if((i|0)==(c[a>>2]|0)?(Sv(c[n+32>>2]|0)|0)>=1:0){l=+h[n+16>>3];m=l*u;do if(!x)if((c[s>>2]|0)==1){g=+h[w>>3];break}else{g=g+v+m;break}else{if(g!=0.0)g=(c[s>>2]|0)==2?3.141592653589793:m+g;j=g;k=k<0.0?g:k}while(0);G=+E(+g)*f;D=+F(+g)*f;Iv(n,G,D,+Jv(n,G,D,g));g=(x?(l+e)*u:m+v)+g;o=o+1|0;i=o;l=(o|0)==(t|0)?g:p}else{i=o;l=p}n=n+4|0;o=i;p=l}f=r?q:y;if((d|0)>1?(C=c[a>>2]|0,(C|0)==(c[b+44>>2]|0)):0)h[(c[(c[C+16>>2]|0)+112>>2]|0)+24>>3]=p;h[z>>3]=f;h[A>>3]=k;h[B>>3]=j;return}function Iv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=Sy(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;i=+h[k>>3];l=k+8|0;g=+h[l>>3];if(n){o=+E(+e);p=+F(+e);j=o*i-p*g;g=p*i+o*g}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=Ty(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Iv(f,b,d,e);f=f+4|0}return}function Jv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;m=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((Sv(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}l=c[a>>2]|0;n=l+16|0;i=c[(c[n>>2]|0)+132>>2]|0;f=+h[i>>3]+b;k=+h[i+8>>3]+d;f=k*k+f*f;i=Sy(m)|0;g=l;while(1){if(!i)break;if((i|0)!=(l|0)?(o=c[(c[i+16>>2]|0)+132>>2]|0,j=+h[o>>3]+b,k=+h[o+8>>3]+d,j=k*k+j*j,j>3];k=+h[a+16>>3]-j;g=c[n>>2]|0;i=c[g+132>>2]|0;f=+h[i>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){d=+C(+(d*d+b*b));b=+K(+(+h[i+8>>3]),+(f+k));f=+E(+b);f=e+1.5707963267948966-b-+I(+((k-j/f)/d*f));break}else{f=+K(+(+h[i+8>>3]),+f);f=e+3.141592653589793-f-+h[(c[g+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function Kv(){return uH(12)|0}function Lv(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;D_(b);b=d}D_(a)}return}function Mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Nv(d)|0;d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=a+4|0;e=c[d>>2]|0;if((b|0)==0|(e|0)==(b|0)){c[(e|0?e+4|0:a)>>2]=f;c[f+8>>2]=e;e=0}else{e=b+4|0;d=c[e>>2]|0;c[e>>2]=f;c[f+8>>2]=b;e=d;d=d+8|0}c[d>>2]=f;c[f+4>>2]=e;return}function Nv(a){a=a|0;var b=0;b=uH(12)|0;c[b>>2]=a;return b|0}function Ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a>>2]|0;d=b;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function Qv(a){a=a|0;var b=0,d=0,e=0;d=Kv()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;Mv(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0} - function Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(a){a=a|0;z=a}function Hb(){return z|0}function Ib(a){a=a|0;c[45884]=a;return 0}function Jb(){return c[45884]|0}function Kb(a,b){a=a|0;b=b|0;Oa(0,a|0,b|0)|0;return}function Lb(a){a=a|0;c[46369]=a;return}function Mb(a){a=a|0;if(a|0)c[46363]=a;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=ZC()|0;cD(h,10976);cD(h,17220);cD(h,17440);Ow(1)|0;Nw(18)|0;Tz(1);while(1){a=Gy(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){_C(h,a,d)|0;bD(h,a,b,f,g)|0;WB(h,a)|0}$x(a)|0;a=191979}l=i;return e|0}function Ob(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{uI(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)FM(f);break}case 4:case 5:case 6:{rI(f,e,d);Rb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Pb(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[45885]|0)){c[45885]=c[4652];c[45886]=57;c[45887]=19}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=183540;switch(c[a+64>>2]|0){case 2:{hI(a,d,a,0);break}case 3:{hI(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}case 6:case 5:case 4:{Qb(d);if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Qb(b){b=b|0;var d=0,e=0;d=c[45889]|0;if((d|0)!=(c[45888]|0)){e=c[c[45920]>>2]|0;if(!e){e=LM(b,0,96782,191979)|0;c[c[45920]>>2]=e;d=c[45889]|0}if(d>>>0>=(c[45890]|0)>>>0){Uw(183552,1)|0;d=c[45889]|0}a[d>>0]=0;d=c[45888]|0;c[45889]=d;rx(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[45920]|0)+4>>2]|0;d=c[45905]|0;if(d>>>0>=(c[45906]|0)>>>0){Uw(183616,1)|0;d=c[45905]|0}a[d>>0]=0;d=c[45904]|0;c[45905]=d;rx(b,e,d)|0}Ax(b,66649,c[(c[45920]|0)+8236>>2]|0,191979)|0;d=0;while(1){if((d|0)==8)break;Xw(183552+(d<<4)|0);d=d+1|0}D_(c[45920]|0);h[1]=1.0;h[5]=1.0;c[45921]=0;c[45925]=0;return}function Rb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=C_(8240)|0;c[45920]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=66665;break}case 5:{b[i+8232>>1]=12;g=66669;break}default:{g=xx(d,66649)|0;if((g|0?a[g>>0]|0:0)?(h=Sb(g)|0,(h&65535)>10):0){i=c[45920]|0;b[i+8232>>1]=h;break a}g=Sb(66661)|0;i=c[45920]|0;b[i+8232>>1]=g;g=66661}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=LM(d,0,96782,191979)|0;i=c[45920]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=LM(d,0,66673,191979)|0;c[(c[45920]|0)+4>>2]=g;i=LM(d,1,96782,191979)|0;c[(c[45920]|0)+8>>2]=i;i=LM(d,1,66673,191979)|0;c[(c[45920]|0)+12>>2]=i;i=LM(d,2,96782,191979)|0;g=c[45920]|0;c[g+16>>2]=i;if(!f)h=0;else{h=LM(d,2,66681,191979)|0;g=c[45920]|0}c[g+20>>2]=h;if(!e)h=0;else{h=LM(d,2,66689,191979)|0;g=c[45920]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=LM(d,2,66673,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=LM(d,2,66697,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=LM(d,2,66706,191979)|0;g=c[45920]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;Tw(183552+(g<<4)|0,1024,(c[45920]|0)+40+(g<<10)|0);g=g+1|0}return}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;Pw(0,66715,h)|0}a[g+f>>0]=0;i=(a2(g)|0)&65535;l=j;return i|0}function Tb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[45920]>>2]|0;b=c[45893]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[45920]|0)+4>>2]|0;b=c[45909]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[45922]=0;c[45926]=0;return}function Ub(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+8>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+12>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[45929]=0;c[45931]=0;return}function Vb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+16>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45897]|0;if((c[45896]|0)!=(b|0)){d=c[(c[45920]|0)+24>>2]|0;if(b>>>0>=(c[45898]|0)>>>0){Uw(183584,1)|0;b=c[45897]|0}a[b>>0]=0;b=c[45896]|0;c[45897]=b;rx(e,d,b)|0}b=c[45901]|0;if((c[45900]|0)!=(b|0)){d=c[(c[45920]|0)+20>>2]|0;if(b>>>0>=(c[45902]|0)>>>0){Uw(183600,1)|0;b=c[45901]|0}a[b>>0]=0;b=c[45900]|0;c[45901]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+28>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}b=c[45913]|0;if((c[45912]|0)!=(b|0)){d=c[(c[45920]|0)+36>>2]|0;if(b>>>0>=(c[45914]|0)>>>0){Uw(183648,1)|0;b=c[45913]|0}a[b>>0]=0;b=c[45912]|0;c[45913]=b;rx(e,d,b)|0}b=c[45917]|0;if((c[45916]|0)!=(b|0)){d=c[(c[45920]|0)+32>>2]|0;if(b>>>0>=(c[45918]|0)>>>0){Uw(183664,1)|0;b=c[45917]|0}a[b>>0]=0;b=c[45916]|0;c[45917]=b;rx(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[45930]=0;c[45932]=0;c[45923]=0;c[45924]=0;c[45927]=0;c[45928]=0;return}function Wb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11416+(o<<2)>>2]|0;Ww(p,66812)|0;g=f+4|0;dc(k,+h[(c[g>>2]|0)+16>>3]);Ww(p,k)|0;gc(d,191979,c[c[g>>2]>>2]|0);ac(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[45920]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11464+((i&65535)+-15<<2)>>2]&g,n=183684+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;Y0(k,66815,r)|0;Ww(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];Ww(p,66821)|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];cc(p,j);c[s>>2]=q;Y0(k,99194,s)|0;Ww(p,k)|0;dc(k,+h[f+32>>3]);Ww(p,k)|0;gc(d,191979,c[f>>2]|0);l=t;return}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;$b(a);ac(a);if(!d){a=c[11416+(e<<2)>>2]|0;Ww(a,66809)|0}else{if((d|1|0)==3)ic(a,d,b,2);else jc(a);a=c[11416+(e<<2)>>2]|0;Ww(a,66806)|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];cc(a,f);dc(g,+h[b+16>>3]-+h[b>>3]);Ww(a,g)|0;dc(g,+h[b+24>>3]-+h[b+8>>3]);Ww(a,g)|0;l=i;return}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$b(a);ac(a);if(!d)bc(a,112,b,c);else{if((d|1|0)==3)ic(a,d,b,c);else jc(a);bc(a,80,b,c)}return}function Zb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$b(a);ac(a);if(!f)bc(a,66,b,c);else{if((f|1|0)==3)ic(a,f,b,c);else jc(a);bc(a,98,b,c)}return}function _b(a,b,c){a=a|0;b=b|0;c=c|0;$b(a);ac(a);bc(a,76,b,c);return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;Tw(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;Ww(m,66778)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];Y0(f,66792,i)|0;ec(f,0);Ww(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;gc(b,66797,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(b$(d,108075)|0)){d=i;continue a}break}case 98:{if(!(b$(d,108057)|0)){d=i;continue a}break}case 115:{if(!(b$(d,108062)|0)){d=i;continue a}break}default:{}}Ww(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}Ww(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;gc(b,66797,d);d=i}Xw(m)}l=n;return}function ac(a){a=a|0;fc((c[a+16>>2]|0)+16|0);gc(a,75730,190678);return}function bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11416+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;Y0(i,66742,j)|0;Ww(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];cc(h,j);b=b+1|0}l=k;return}function cc(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,+h[b>>3]);Ww(a,d)|0;dc(d,+gI(+h[b+8>>3]));Ww(a,d)|0;l=c;return}function dc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;Y0(a,66747,d)|0;ec(a,1);l=c;return}function ec(b,c){b=b|0;c=c|0;var d=0,e=0;d=A$(b,46)|0;if(!d){if(c|0){d=b+(W_(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function fc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;Y0(190678,75610,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;Y0(190678,66760,i)|0}l=j;return}function gc(a,b,d){a=a|0;b=b|0;d=d|0;hc(c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=W_(e)|0;c[h>>2]=d;c[h+4>>2]=i;Y0(g,66753,h)|0;Ww(b,g)|0;Ww(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function ic(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[45920]|0)+8232>>1]|0)<14)jc(b);else{Tw(w,1024,x+96|0);v=(d|0)==2;if(v){aN(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];cc(w,t);s=k+16|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];cc(w,t)}else{aN(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;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];cc(w,t);kc(w,p);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];cc(w,t);kc(w,q)}Ww(w,66803)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){lc(w,j,f);lc(w,+g[d>>2],u+96|0)}else{lc(w,0.0,f);lc(w,1.0,u+96|0)}Yw(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;gc(b,66800,v);Xw(w)}l=x;return}function jc(a){a=a|0;fc((c[a+16>>2]|0)+56|0);gc(a,66800,190678);return}function kc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,b);Ww(a,d)|0;l=c;return}function lc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;Y0(e,92597,f)|0;ec(e,1);fc(c);hc(a,e,190678);l=d;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;Ww(g,66909)|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];cc(g,i);dc(f,+h[d+16>>3]-+h[d>>3]);Ww(g,f)|0;dc(f,+h[d+24>>3]-+h[d+8>>3]);Ww(g,f)|0;gc(a,191979,c[b+8>>2]|0);l=e;return}function nc(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=lC(c[a>>2]|0)|0;$C(b,c[(c[a+16>>2]|0)+8>>2]|0,67693,0)|0;mC(b);break}case 1:{uI(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function oc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[45933]|0)){c[45933]=c[4652];c[45934]=57;c[45935]=19}c[(c[e+64>>2]|0)+8>>2]=183732;pc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;qc(e,b,1,d);l=f;return}function pc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;pc(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Cw(11836,c[4555]|0)|0;Fz(a,1,137978,12,0);Fz(a,2,137978,12,0);Fz(a,0,137978,-12,0);f=rc(a,0,m)|0;j=Sy(a)|0;i=0;g=0;while(1){if(!j)break;if(!(z$(ry(j)|0,104980,7)|0)){k=g;g=sc(m,ry(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(yz(j,137978,0)|0)+8>>2]=g;h=Ex(a,j)|0;g=i;while(1){if(!h)break;c[(yz(h,137978,0)|0)+8>>2]=g;h=Gx(a,h)|0;g=g+1|0}j=Ty(a,j)|0;i=g;g=k}yw(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;tc(b,m);$B(b,94292)|0;uc(a,b,d,e);vc(a,b,e);$B(b,94263)|0;tc(b,c[e>>2]|0);if(n){c[o>>2]=f;fC(b,66912,o)}else{c[p>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66932,p)}xc(a,b,d,wc(a,b,d,e)|0,e);yc(a,b,d,e);$B(b,150517)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;tc(b,p);if(n)$B(b,107982)|0;else $B(b,75253)|0;l=q;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((fz(a)|0)!=(a|0)){e=b+1|0;c[(yz(a,137978,0)|0)+8>>2]=b;if(!(z$(ry(a)|0,104980,7)|0)){b=ry(a)|0;Kc(d,b,c[(yz(a,137978,0)|0)+8>>2]|0);b=e}else b=e}e=wA(a)|0;while(1){if(!e)break;a=rc(e,b,d)|0;e=xA(e)|0;b=a}return b|0}function sc(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function tc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;$B(a,90480)|0;b=b+-1|0}return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=ry(a)|0;tc(b,c[e>>2]|0);c[i>>2]=Bc(j,e)|0;fC(b,67020,i);if(d|0){$B(b,94263)|0;tc(b,c[e>>2]|0);j=(ey(a)|0)!=0;c[f>>2]=j?104626:134226;fC(b,67634,f);tc(b,c[e>>2]|0);j=(gy(a)|0)!=0;c[g>>2]=j?104626:134226;fC(b,67651,g)}l=h;return}function vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=fz(b)|0;j=c[b>>2]&3;f=sx(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=yx(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(b$(g,105198)|0)break}$B(d,94263)|0;tc(d,c[e>>2]|0);c[m>>2]=Bc(c[h>>2]|0,e)|0;fC(d,67070,m);if(a[k>>0]|0?Dc(c[h>>2]|0)|0:0){Ec(yx(b,f)|0,d,e);break}c[n>>2]=Bc(yx(b,f)|0,e)|0;fC(d,67077,n)}while(0);f=sx(i,j,f)|0}}while(0);l=o;return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=wA(a)|0;if(f){$B(b,94263)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(b,g);g=(d|0)!=0;if(g){$B(b,66994)|0;a=0;d=f}else{$B(b,67054)|0;tc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else $B(b,94263)|0;if(g)Cc(d,b,e);else{c[h>>2]=c[(yz(d,137978,0)|0)+8>>2];fC(b,134313,h)}d=xA(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0;a=1}}else a=0;l=i;return a|0}function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Sy(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}}else{$B(b,94263)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,66994)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,67008)|0;tc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(z$(ry(g)|0,104980,7)|0){do if(e)if(h){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else e=1;while(0);Ac(g,b,d,f)}g=Ty(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}return}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,i=0;f=Sy(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Ex(a,f)|0)break;f=Ty(a,f)|0}$B(b,94263)|0;i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,66944)|0;i=(d|0)!=0;if(i)g=0;else{tc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Ex(a,f)|0;while(1){if(!h)break;do if(g)if(i){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else g=1;while(0);zc(h,b,d,e);h=Gx(a,h)|0}f=Ty(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0}while(0);return}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,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=c[(yz(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66970,g);tc(b,c[e>>2]|0);c[h>>2]=c[(yz(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66983,h);vc(a,b,e);$B(b,150517)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;tc(b,i);$B(b,75253)|0}l=j;return}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;tc(b,h);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=Bc(ry(a)|0,e)|0;fC(b,67020,g);vc(a,b,e);$B(b,150517)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;tc(b,h);$B(b,75253)|0}l=i;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=RM(b)|0;if(!(c[45936]|0)){Tw(183744,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{Ww(183744,67033)|0;break}case 92:{Ww(183744,93534)|0;break}case 47:{Ww(183744,67036)|0;break}case 8:{Ww(183744,67039)|0;break}case 12:{Ww(183744,67042)|0;break}case 10:{Ww(183744,67045)|0;break}case 13:{Ww(183744,67048)|0;break}case 9:{Ww(183744,67051)|0;break}default:{d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}c[45937]=d+1;a[d>>0]=f}}e=e+1|0}d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}a[d>>0]=0;d=c[45936]|0;c[45937]=d;if(a[g>>0]|0)D_(b);return d|0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;qc(a,b,0,c);a=wA(a)|0;while(1){if(!a)break;$B(b,94263)|0;Cc(a,b,c);a=xA(a)|0}return}function Dc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(b$(c,67591)|0)){b=1;break a}break}case 2:{if(!(b$(c,67597)|0)){b=1;break a}break}case 1:{if(!(b$(c,67604)|0)){b=1;break a}return (b$(c,67618)|0)==0|0}case 4:{if(!(b$(c,67611)|0)){b=1;break a}b=(b$(c,67626)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=oE(b)|0;if(!h){c[f>>2]=b;Pw(0,67082,f)|0;break}$B(d,150517)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(d,g);$B(d,67109)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else $B(d,94263)|0;Fc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;$B(d,150517)|0;tc(d,c[e>>2]|0);$B(d,94258)|0;pE(h)}while(0);l=i;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;tc(b,e);$B(b,94292)|0;tc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;fC(b,67112,f);tc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;fC(b,67125,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;fC(b,67112,z);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;fC(b,67112,i);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 6:{fC(b,67160,A+56|0);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 7:{fC(b,67172,A+64|0);tc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;fC(b,67184,j);tc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;fC(b,67206,k);tc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];fC(b,67222,m);tc(b,c[d>>2]|0);c[n>>2]=Bc(c[a+40>>2]|0,d)|0;fC(b,67239,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;fC(b,67112,o);tc(b,c[d>>2]|0);fC(b,67253,A+120|0);tc(b,c[d>>2]|0);c[p>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67270,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;fC(b,67112,q);tc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{fC(b,67253,A+144|0);tc(b,c[d>>2]|0);c[r>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67270,r);break a}case 1:{fC(b,67285,A+160|0);tc(b,c[d>>2]|0);Hc(b,a+16|0,d);break a}default:{fC(b,67304,A+168|0);tc(b,c[d>>2]|0);Ic(b,a+16|0,d);break a}}}case 10:{fC(b,67323,s);tc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];fC(b,67335,t);tc(b,c[d>>2]|0);c[u>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67351,u);break}case 11:{fC(b,67365,v);tc(b,c[d>>2]|0);c[w>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67377,w);break}case 15:{fC(b,67392,x);tc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];fC(b,67404,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;tc(b,z);$B(b,75253)|0;l=A;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;fC(a,67565,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)fC(a,97973,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;fC(a,67577,g);b=b+1|0}fC(a,67518,i);l=j;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;fC(a,67521,i);tc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;fC(a,67543,f);tc(a,c[d>>2]|0);Jc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;fC(a,67420,j);tc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,67448,f);tc(a,c[d>>2]|0);Jc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;fC(a,67476,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)fC(a,97973,i);o=+g[d+(f<<3)>>2];n=Bc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;fC(a,67487,j);f=f+1|0}fC(a,67518,k);l=m;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=nb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;Pw(0,67664,f)|0}}else{f=E_(1,16)|0;c[f+8>>2]=n1(b)|0;c[f+12>>2]=d;nb[c[a>>2]&63](a,f,1)|0}l=g;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function Nc(a){a=a|0;$B(a,68500)|0;return}function Oc(a){a=a|0;c[45940]=2;return}function Pc(a){a=a|0;c[45940]=1;return}function Qc(a){a=a|0;c[45940]=2;return}function Rc(a){a=a|0;c[45940]=0;return}function Sc(a){a=a|0;c[45940]=2;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[45940]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((W_(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=bd(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;fC(b,68445,o);l=p;return}function Uc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(ad(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}default:qa(135312,67785,163,67816)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45940]|0;_c(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45940]|0;_c(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);$c(a,b,d,1);l=f;return}function Xc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[45940]|0;if((d|0)<=3)qa(67778,67785,360,67805);t=C_((d*140|0)+140|0)|0;_c(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;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];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45940]|0;_c(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);$c(a,b,d,0);l=e;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function $c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function ad(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45941]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[187600+(g<<1)>>1]|0)-d|0;n=(b[188112+(g<<1)>>1]|0)-e|0;j=(b[188624+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45941]=k+1;if((k|0)==256)g=i;else{b[187600+(g<<1)>>1]=d;b[188112+(g<<1)>>1]=e;b[188624+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45942]|0;if(!d){c[45943]=64;d=C_(64)|0;c[45942]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45943]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45943]=d;d=F_(c[45942]|0,d)|0;c[45942]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45942]|0}function cd(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{$B(b,68116)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,150517)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,99578)|0;$B(b,qH(ry(c[e+8>>2]|0)|0)|0)|0;$B(b,150517)|0}break}case 3:{f=qH(ry(c[e+8>>2]|0)|0)|0;$B(b,68139)|0;$B(b,f)|0;$B(b,68149)|0;$B(b,f)|0;$B(b,68104)|0;break}default:{}}return}function dd(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);$B(a,68108)|0;break}default:{}}return}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;fd(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function fd(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[45944]|0)<(f|0)){c[45944]=m;o=F_(c[45945]|0,m<<3)|0;c[45945]=o}else o=c[45945]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;fC(b,67850,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;fC(b,67871,v);break a}case 2:{c[q>>2]=g;fC(b,67891,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[45945]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;fC(b,67899,w);m=m+1|0}$B(b,150517)|0;break a}default:qa(135312,67906,63,67926)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;fC(b,67943,r);break}else qa(135312,67906,75,67926)}if((m&-2|0)==2){switch(d|0){case 1:{$B(b,67976)|0;break}case 0:{$B(b,67997)|0;break}case 2:{$B(b,68016)|0;break}default:qa(135312,67906,91,67926)}if(k|0?a[k>>0]|0:0){$B(b,73496)|0;$B(b,tH(k)|0)|0;$B(b,95669)|0}if(e?a[g>>0]|0:0){$B(b,68035)|0;$B(b,tH(g)|0)|0;$B(b,95669)|0}if(j|0?a[j>>0]|0:0){$B(b,74455)|0;$B(b,qH(j)|0)|0;$B(b,95669)|0}if(i|0?a[i>>0]|0:0){$B(b,68043)|0;$B(b,qH(i)|0)|0;$B(b,95669)|0}$B(b,68052)|0;$B(b,68060)|0;b:do switch(d|0){case 1:{f=c[45945]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;fC(b,68070,s);break}case 0:{v=c[45945]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;fC(b,68079,t);break}case 2:{w=c[45945]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;fC(b,68091,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[45945]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;fC(b,68097,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){$B(b,73320)|0;break}else{$B(b,68104)|0;break}}}while(0);l=y;return}function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function hd(a){a=a|0;$B(a,68500)|0;return}function id(a){a=a|0;c[45946]=2;return}function jd(a){a=a|0;c[45946]=1;return}function kd(a){a=a|0;c[45946]=2;return}function ld(a){a=a|0;c[45946]=0;return}function md(a){a=a|0;c[45946]=2;return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[45946]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=xd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;fC(b,68445,m);l=n;return}function od(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(wd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}case 0:{f=0;k=10;break}default:qa(135312,68409,168,68428)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45946]|0;ud(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45946]|0;ud(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);vd(a,b,d,1);l=f;return}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[45946]|0;t=C_((d*140|0)+140|0)|0;ud(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;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];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45946]|0;ud(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);vd(a,b,d,0);l=e;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function wd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45947]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[189136+(g<<1)>>1]|0)-d|0;n=(b[189648+(g<<1)>>1]|0)-e|0;j=(b[190160+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45947]=k+1;if((k|0)==256)g=i;else{b[189136+(g<<1)>>1]=d;b[189648+(g<<1)>>1]=e;b[190160+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function xd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45948]|0;if(!d){c[45949]=64;d=C_(64)|0;c[45948]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45949]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45949]=d;d=F_(c[45948]|0,d)|0;c[45948]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45948]|0}function yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;$B(a,73228)|0;if((c[a+64>>2]|0)==2)$B(a,73243)|0;else $B(a,150517)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;fC(a,73254,b);l=d;return}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;$B(a,73182)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];fC(a,73193,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;fC(a,69562,f)}$B(a,73208)|0;$B(a,73221)|0;l=g;return}function Ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[190688]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=ry(c[h>>2]|0)|0;fC(b,69493,i);d=b+64|0;if((c[d>>2]|0)==2)$B(b,69526)|0;else $B(b,69508)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;fC(b,69562,f);break}else{$B(b,69538)|0;break}while(0);$B(b,69592)|0;jJ(b,c[(c[e>>2]|0)+24>>2]|0,13e3);lJ(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;jJ(b,0,i)}}c[45950]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[190688]|0)){$B(b,69612)|0;a[190688]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=mJ(d,c[45950]|0)|0;fC(b,69625,j)}l=k;return}function Bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;fC(a,69477,f);l=b;return}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;fC(a,69104,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;fC(a,69121,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69155:69165;fC(a,69174,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;fC(a,69199,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;fC(a,69238,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;fC(a,69258,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;fC(a,69298,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;ub[t&63](69341,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;fC(a,69436,r)}l=s;return}function Dd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){$B(a,69028)|0;jJ(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}$B(a,69045)|0;$B(a,69072)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];fC(a,69087,d);l=e;return}function Ed(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,69021,d);$B(a,69014)|0;l=b;return}function Fd(a){a=a|0;$B(a,84457)|0;return}function Gd(a){a=a|0;$B(a,69014)|0;return}function Hd(a){a=a|0;$B(a,84457)|0;return}function Id(a){a=a|0;$B(a,69014)|0;return}function Jd(a){a=a|0;$B(a,84457)|0;return}function Kd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){$B(a,68910)|0;jC(a,c[g>>2]|0,2);$B(a,68921)|0;c[d>>2]=mJ(b,c[45950]|0)|0;fC(a,68925,d)}l=e;return}function Ld(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Sd(b,f+16|0);i=e+4|0;gC(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];fC(b,68869,j);i=mJ(c[e>>2]|0,c[45950]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];iC(b,j);$B(b,68884)|0;gC(b,+h[f>>3]);c[k>>2]=i;fC(b,68893,k)}l=m;return}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;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];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Sd(a,e+56|0);jC(a,f,2);$B(a,68827)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[b>>2]|0)+16|0);jC(a,f,2);$B(a,68847)|0}l=g;return}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Sd(a,f+56|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68793)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[g>>2]|0)+16|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68809)|0}l=j;return}function Od(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,68748)|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];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68793)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,68748)|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];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68775)|0}l=k;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[e>>2]|0)+16|0);$B(a,68748)|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];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|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];iC(a,f);$B(a,68766)|0;e=e+1|0}$B(a,68775)|0}l=g;return}function Qd(a,b){a=a|0;b=b|0;$B(a,68745)|0;$B(a,b)|0;$B(a,150517)|0;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,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|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];iC(a,g);c[k>>2]=e;c[k+4>>2]=b;fC(a,68662,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|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];iC(a,g);c[m>>2]=e;c[m+4>>2]=b;fC(a,68678,m)}l=n;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=108412;break}case 2:{d=108399;break}case 3:{d=108368;break}default:d=68714}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;fC(a,68721,e)}l=f;return}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;gC(b,+h[i+152>>3]);$B(b,68695)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(b$(f,108062)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;fC(b,68710,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(b$(f,131253)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;fC(b,93588,k);d=i}l=m;return}function Ud(b){b=b|0;var d=0;$B(b,74734)|0;d=xx(c[(c[b>>2]|0)+168>>2]|0,74790)|0;if(d|0?a[d>>0]|0:0){$B(b,74801)|0;$B(b,d)|0;$B(b,74825)|0}$B(b,74846)|0;$B(b,74894)|0;$B(b,74948)|0;d=b+12|0;$B(b,qH(c[c[c[d>>2]>>2]>>2]|0)|0)|0;$B(b,78077)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;$B(b,78087)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;$B(b,75330)|0;$B(b,75354)|0;return}function Vd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;$B(b,74569)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,74574,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;fC(b,74590,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;fC(b,74623,g);$B(b,74654)|0;$B(b,74690)|0;$B(b,76284)|0;l=i;return}function Wd(a){a=a|0;$B(a,74561)|0;return}function Xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;se(a,b,0,98484,c[(c[a+16>>2]|0)+8>>2]|0);$B(a,76284)|0;return}function Yd(a){a=a|0;$B(a,74409)|0;return}function Zd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;se(b,c[g+212>>2]|0,0,108412,c[d>>2]|0);$B(b,74513)|0;gC(b,+h[b+488>>3]);$B(b,99578)|0;gC(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);fC(b,74532,f);gC(b,+h[b+504>>3]);$B(b,99578)|0;gC(b,-+h[b+512>>3]);$B(b,74556)|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,74465)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0;$B(b,74473)|0}l=e;return}function _d(a){a=a|0;$B(a,74409)|0;return}function $d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,104980,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[b>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ae(a){a=a|0;$B(a,74409)|0;return}function be(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;se(a,c[d+212>>2]|0,b,108399,c[e>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[e>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ce(a){a=a|0;$B(a,74409)|0;return}function de(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,108368,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;b=pH(99069,c[b>>2]|0)|0;$B(a,qH(b)|0)|0;D_(b);$B(a,74473)|0;return}function ee(a){a=a|0;$B(a,74409)|0;return}function fe(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$B(b,74415)|0;if(f|0){$B(b,74418)|0;$B(b,qH(f)|0)|0;$B(b,95669)|0}$B(b,74308)|0;$B(b,76245)|0;if(c|0?a[c>>0]|0:0){$B(b,74426)|0;$B(b,c)|0;$B(b,95669)|0}if(d|0?a[d>>0]|0:0){$B(b,74440)|0;$B(b,rH(d,1)|0)|0;$B(b,95669)|0}if(e|0?a[e>>0]|0:0){$B(b,74455)|0;$B(b,qH(e)|0)|0;$B(b,95669)|0}$B(b,76284)|0;return}function ge(a){a=a|0;$B(a,76239)|0;$B(a,74409)|0;return}function he(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;$B(e,73940)|0;switch(a[g+48>>0]|0){case 108:{$B(e,73946)|0;break}case 114:{$B(e,73967)|0;break}default:$B(e,73986)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){$B(e,74008)|0;gC(e,+h[f>>3]);$B(e,74013)|0;gC(e,-G);$B(e,95669)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];fC(e,74019,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;fC(e,74036,p)}$B(e,95669)|0;if(f|0){c[r>>2]=f;fC(e,74040,r)}if(k|0){c[s>>2]=k;fC(e,74058,s)}if(!j)j=0;else{c[q>>2]=j;fC(e,74077,q)}}else{c[i>>2]=c[f>>2];fC(e,74094,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))fC(e,74112,t);if(!((j|0)!=0|(z&2|0)==0))fC(e,74132,u);if(z&100|0){fC(e,74153,v);if(!(z&4))f=0;else{fC(e,102960,w);f=1}if(z&64){c[y>>2]=f|0?97973:191979;fC(e,74172,y);f=1}if(z&32|0){c[A>>2]=f|0?97973:191979;fC(e,74183,A)}fC(e,95669,B)}if(z&8|0)fC(e,74198,C);if(z&16|0)fC(e,74222,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];fC(e,74244,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(O$(f,134232)|0){c[J>>2]=f;fC(e,74262,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;fC(e,74273,F);break}default:qa(135312,73454,486,74295)}$B(e,74308)|0;if(b[H>>1]&512){c[K>>2]=qH(c[I+212>>2]|0)|0;fC(e,74310,K);$B(e,74359)|0;gC(e,-G);$B(e,74377)|0}$B(e,rH(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)fC(e,74380,L);$B(e,74400)|0;l=M;return}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=pe(a,b,2)|0;break}case 3:{d=qe(a)|0;break}default:d=0}$B(a,73904)|0;ne(a,c,d);$B(a,73913)|0;gC(a,+h[b>>3]);$B(a,73919)|0;c=b+8|0;gC(a,-+h[c>>3]);$B(a,73926)|0;gC(a,+h[b+16>>3]-+h[b>>3]);$B(a,73933)|0;gC(a,+h[b+24>>3]-+h[c>>3]);$B(a,73320)|0;return}function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=pe(a,b,c)|0;break}case 3:{e=qe(a)|0;break}default:e=0}$B(a,73895)|0;ne(a,d,e);$B(a,73310)|0;e=0;while(1){if((e|0)>=(c|0))break;gC(a,+h[b+(e<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(e<<4)+8>>3]);$B(a,99578)|0;e=e+1|0}gC(a,+h[b>>3]);$B(a,97973)|0;gC(a,-+h[b+8>>3]);$B(a,73320)|0;return}function ke(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=pe(a,d,e)|0;break}case 3:{f=qe(a)|0;break}default:f=0}$B(a,73490)|0;if(b[g+260>>1]&512){$B(a,73496)|0;$B(a,qH(c[g+212>>2]|0)|0)|0;$B(a,73502)|0}ne(a,h,f);$B(a,73507)|0;re(a,d,e);$B(a,73320)|0;return}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;$B(a,73300)|0;ne(a,0,0);$B(a,73310)|0;d=0;while(1){if((d|0)>=(c|0))break;gC(a,+h[b+(d<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(d<<4)+8>>3]);$B(a,99578)|0;d=d+1|0}$B(a,73320)|0;return}function me(a,b){a=a|0;b=b|0;$B(a,73294)|0;$B(a,qH(b)|0)|0;$B(a,75354)|0;return}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;$B(b,73325)|0;a:do switch(d|0){case 2:{c[f>>2]=e;fC(b,73333,f);break}case 3:{c[g>>2]=e;fC(b,73344,g);break}case 0:{$B(b,132627)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,73355,j)}}}while(0);$B(b,73374)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);d=m+152|0;if(+h[d>>3]!=1.0){$B(b,73385)|0;gC(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73425;fC(b,73402,o);break}case 2:{c[n>>2]=73429;fC(b,73402,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;fC(b,73433,p)}while(0);$B(b,95669)|0;l=q;return}function oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,134297)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,73454,117,73474)}while(0);l=g;return}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[45952]|0;c[45952]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;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;aN(d,k,e,f,0);c[o>>2]=q;fC(b,73727,o);$B(b,73792)|0;gC(b,+h[k>>3]);$B(b,73797)|0;gC(b,+h[k+8>>3]);$B(b,73804)|0;gC(b,+h[k+16>>3]);$B(b,73811)|0;gC(b,+h[k+24>>3]);$B(b,73818)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;fC(b,73823,i)}else $B(b,73599)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;fC(b,96586,m)}else s=7;while(0);if((s|0)==7)$B(b,73650)|0;$B(b,73653)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;fC(b,73823,n)}else $B(b,73659)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;fC(b,96586,r)}else s=14;while(0);if((s|0)==14)$B(b,73650)|0;$B(b,73863)|0;l=t;return q|0}function qe(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[45951]|0;c[45951]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;fC(b,73515,k);$B(b,73599)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,96586,j)}else p=6;while(0);if((p|0)==6)$B(b,73650)|0;$B(b,73653)|0;$B(b,73659)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;fC(b,96586,o)}else p=10;while(0);if((p|0)==10)$B(b,73650)|0;$B(b,73695)|0;l=q;return n|0}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;fC(a,73512,g);gC(a,+h[b+(f<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function se(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;$B(b,74483)|0;$B(b,qH(d)|0)|0;if(e|0){c[h>>2]=qH(e)|0;fC(b,74491,h)}c[i>>2]=f;fC(b,74495,i);d=xx(g,74507)|0;if(d|0?a[d>>0]|0:0){$B(b,99578)|0;$B(b,qH(d)|0)|0}$B(b,95669)|0;l=j;return}function te(a){a=a|0;var b=0;$B(a,75314)|0;b=a+12|0;$B(a,De(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,75330)|0;return}function ue(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;$B(b,75291)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,De(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,75302,e);c[45953]=0;l=f;return}function ve(a){a=a|0;c[45953]=1;return}function we(a){a=a|0;c[45953]=-1;return}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){Ee(b);$B(b,75230)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;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];iC(b,i);$B(b,75244)|0;$B(b,c[e>>2]|0)|0;$B(b,75253)|0;$B(b,75051)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Fe(b,i);$B(b,75255)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;$B(b,95669)|0;$B(b,k)|0;$B(b,95669)|0;c[m>>2]=j;fC(b,75264,m);switch(a[e+48>>0]|0){case 108:{$B(b,75269)|0;break}case 114:{$B(b,75280)|0;break}default:{}}Ge(b);$B(b,150517)|0}l=n;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;Ee(a);$B(a,75216)|0;jC(a,b,2);$B(a,75051)|0;do if(!d)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+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));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+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));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){Ee(a);$B(a,75188)|0;jC(a,b,d);$B(a,75051)|0;do if(!e)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+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));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+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));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Fe(a,i);$B(a,75162)|0;gC(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){$B(a,75059)|0;e=c[k>>2]|0}if((e|0)==2)$B(a,75068)|0;$B(a,75171)|0;Ge(a);$B(a,150517)|0}l=m;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Fe(a,g);b=c[h>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[h>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=i;return}function Ce(a,b){a=a|0;b=b|0;$B(a,75034)|0;$B(a,De(b)|0)|0;$B(a,150517)|0;return}function De(a){a=a|0;return a|0}function Ee(b){b=b|0;if(!(a[b+144>>0]|0))$B(b,75159)|0;else $B(b,c[b+148>>2]|0)|0;return}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,94227)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75077,49,75141)}while(0);l=g;return}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=108399;e=f+8|0;break}case 10:{b=0;d=108399;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=108368;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=108368;e=f+8|0;break}case 0:{b=1;d=108412;e=f+8|0;break}case 4:{b=0;d=75113;e=f+8|0;break}case 1:{b=1;d=108412;e=f+8|0;break}case 5:{b=0;d=108412;e=f+8|0;break}default:qa(135312,75077,106,75096)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;fC(a,75125,g);l=h;return}function He(a){a=a|0;var b=0;$B(a,78049)|0;$B(a,78057)|0;b=a+12|0;$B(a,Se(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,78090)|0;return}function Ie(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[45957]=~~(+h[b+232>>3]-+h[b+216>>3]);c[45956]=~~(+h[b+224>>3]-+h[b+208>>3]);$B(b,76736)|0;$B(b,76743)|0;d=ry(c[d+8>>2]|0)|0;if(a[d>>0]|0){$B(b,76812)|0;$B(b,Se(d)|0)|0;$B(b,76820)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,76829,e);$B(b,76849)|0;$B(b,76884)|0;$B(b,76912)|0;$B(b,76918)|0;$B(b,76961)|0;$B(b,77002)|0;$B(b,77021)|0;$B(b,77038)|0;$B(b,77086)|0;$B(b,77139)|0;$B(b,77215)|0;$B(b,77291)|0;$B(b,77300)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77614)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77627)|0;$B(b,77635)|0;$B(b,77641)|0;$B(b,77655)|0;$B(b,77663)|0;$B(b,77696)|0;e=(c[45957]|0)+10|0;c[f>>2]=c[45956];c[f+4>>2]=e;fC(b,77773,f);$B(b,77803)|0;$B(b,77812)|0;$B(b,77870)|0;$B(b,77880)|0;$B(b,77945)|0;f=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=f;fC(b,77982,g);g=c[45957]|0;c[i>>2]=c[45956];c[i+4>>2]=g;fC(b,78010,i);l=j;return}function Je(a){a=a|0;$B(a,76287)|0;$B(a,76299)|0;$B(a,76307)|0;$B(a,76370)|0;$B(a,76299)|0;$B(a,76415)|0;$B(a,76464)|0;$B(a,76518)|0;$B(a,76299)|0;$B(a,76618)|0;$B(a,76667)|0;$B(a,76299)|0;$B(a,76719)|0;return}function Ke(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;$B(b,76245)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Se(d)|0;fC(b,76248,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Se(e)|0;fC(b,76259,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Se(f)|0;fC(b,76271,i)}$B(b,76284)|0;l=j;return}function Le(a){a=a|0;$B(a,76239)|0;return}function Me(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i>3]=i}B=j+-8.0;k=+((c[45957]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);fC(b,75901,n);h[o>>3]=B;h[o+8>>3]=k;fC(b,75838,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;fC(b,75862,p);$B(b,75936)|0;$B(b,75970)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];fC(b,76060,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;fC(b,76079,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;fC(b,76096,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;fC(b,76114,v)}}else{c[q>>2]=c[g>>2];fC(b,76060,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];fC(b,76130,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(O$(g,134232)|0){c[z>>2]=g;fC(b,76150,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;fC(b,76160,y);break}default:qa(135312,75624,438,76181)}$B(b,76194)|0;$B(b,Se(c[f>>2]|0)|0)|0;$B(b,76205)|0;$B(b,76228)|0;l=A;return}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;$B(a,75802)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[45957]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;fC(a,75838,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;fC(a,75862,f);We(a,d);$B(a,75684)|0;Ue(a);$B(a,75890)|0;l=e;return}function Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;$B(a,75407)|0;n=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=n;fC(a,75660,g);We(a,e);$B(a,75684)|0;Ue(a);$B(a,75687)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){$B(a,75714)|0;h[j>>3]=i;h[j+8>>3]=f;fC(a,75780,j);$B(a,75791)|0}else{h[k>>3]=i;h[k+8>>3]=f;fC(a,75780,k)}if((e|0)==(g|0))$B(a,75794)|0;e=e+1|0}$B(a,75523)|0;l=m;return}function Pe(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;f=l;l=l+16|0;e=f;$B(a,75407)|0;h=c[45957]|0;c[e>>2]=c[45956];c[e+4>>2]=h;fC(a,75660,e);We(a,g);$B(a,75684)|0;Ue(a);$B(a,75687)|0;Xe(a,b,d);$B(a,75700)|0;l=f;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;$B(a,75407)|0;g=c[45957]|0;c[f>>2]=c[45956];c[f+4>>2]=g;fC(a,75444,f);$B(a,75484)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){$B(a,75496)|0;m=+((c[45957]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;fC(a,75500,i);$B(a,75511)|0}else{m=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;fC(a,75500,j)}if((e|0)==(f|0))$B(a,75515)|0;e=e+1|0}$B(a,75519)|0;Ue(a);$B(a,75523)|0;l=k;return}function Re(a,b){a=a|0;b=b|0;$B(a,75342)|0;$B(a,Se(b)|0)|0;$B(a,75354)|0;return}function Se(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[45954]|0;if(!d){c[45955]=64;d=vH(64)|0;c[45954]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[45955]|0;if((q|0)>(b+-8|0)){d=b<<1;c[45955]=d;d=xH(c[45954]|0,d)|0;c[45954]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=99127;t=26;break b}case 62:{e=4;b=99110;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=99121;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=99090;t=26;break b}case 39:{e=5;b=99115;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=A3(j|0,f|0,6)|0;g=s3(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Te(p)|0)==0;e=b?5:1;b=b?99104:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?99097:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=x3(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=w3(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){E1(75360,46,1,c[15686]|0)|0;Sa(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[45954]|0}return 0}function Te(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Ue(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;$B(a,75535)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ve(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;fC(a,75553,j)}switch(c[i+144>>2]|0){case 1:{$B(a,75570)|0;break}case 2:{$B(a,75588)|0;break}default:{}}$B(a,75605)|0;l=k;return}function Ve(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,132627)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75624,94,75644)}while(0);l=g;return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)$B(a,75763)|0;else{d=c[a+16>>2]|0;$B(a,75733)|0;b=f;d=d+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));Ve(a,f);$B(a,75760)|0}l=g;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=75714;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[45957]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;fC(a,75717,g);e=(f|0)==0?75730:191979;f=f+1|0}$B(a,95669)|0;l=i;return}function Ye(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;$B(a,80347)|0;$B(a,80362)|0;$B(a,80401)|0;$B(a,80450)|0;c[e>>2]=134232;c[e+4>>2]=80538;fC(a,80519,e);c[d>>2]=134116;c[d+4>>2]=80544;fC(a,80519,d);l=b;return}function Ze(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79300,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;fC(a,79322,d);$B(a,79469)|0;$B(a,80299)|0;l=b;return}function _e(a){a=a|0;$B(a,79283)|0;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;fC(a,79253,h);g[45958]=+(O(d,-10)|0);l=f;return}function af(a){a=a|0;$B(a,79236)|0;return}function bf(a){a=a|0;$B(a,79218)|0;return}function cf(a){a=a|0;$B(a,79202)|0;return}function df(a){a=a|0;$B(a,79181)|0;g[45958]=+g[45958]+-2.0;return}function ef(a){a=a|0;$B(a,79162)|0;return}function ff(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79140,d);l=b;return}function gf(a){a=a|0;$B(a,79124)|0;return}function hf(a){a=a|0;$B(a,79106)|0;g[45958]=+g[45958]+-5.0;return}function jf(a){a=a|0;$B(a,79090)|0;g[45958]=+g[45958]+5.0;return}function kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;fC(b,78936,n);g[45959]=+g[45958]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=qf(b,78988,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=qf(b,78205,m)|0;f=+g[45959];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=qf(b,78237,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=rf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79075;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=qf(b,79e3,q)|0;$B(b,q)|0;D_(q);D_(i);D_(o);D_(d);D_(n);l=r;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;$B(a,78813)|0;g[45959]=+g[45958]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=qf(a,78173,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=qf(a,78205,e)|0;A=+g[45959];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=qf(a,78237,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=rf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=qf(a,78828,n)|0;$B(a,w)|0;D_(b);D_(e);D_(f);D_(v);D_(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=qf(a,78173,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=qf(a,78205,r)|0;A=+g[45959];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=qf(a,78237,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=rf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=qf(a,78874,y)|0;$B(a,y)|0;D_(f);D_(e);D_(b);D_(x);D_(y)}l=z;return}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;$B(a,78678)|0;g[45959]=+g[45958]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=qf(a,78173,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=qf(a,78205,m)|0;L=+g[45959]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=qf(a,78237,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,0.0)|0;c[f>>2]=78300;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=qf(a,78269,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=qf(a,78314,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=qf(a,78343,r)|0;D_(M);D_(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=qf(a,78314,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=qf(a,78343,t)|0;D_(x);D_(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=qf(a,78693,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=qf(a,78398,v)|0;D_(x);$B(a,M)|0;D_(k);D_(m);D_(n);D_(j);D_(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=qf(a,78173,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=qf(a,78205,z)|0;N=+g[45959]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=qf(a,78237,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,.25)|0;c[D>>2]=d;i=0;f=qf(a,78738,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=qf(a,78753,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=qf(a,78775,H)|0;D_(D);D_(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=qf(a,78785,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=qf(a,78398,J)|0;D_(I);$B(a,M)|0;D_(n);D_(m);D_(k);D_(j);D_(M)}l=K;return}function nf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;$B(a,78605)|0;g[45959]=+g[45958]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=qf(a,78173,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=qf(a,78205,s)|0;C=+g[45959]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=qf(a,78237,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=rf(a,e,0.0)|0;c[k>>2]=78619;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=qf(a,78269,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=qf(a,78314,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=qf(a,78343,w)|0;D_(k);D_(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=qf(a,78314,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=qf(a,78343,y)|0;D_(k);D_(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=qf(a,78628,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=qf(a,78398,A)|0;D_(b);$B(a,d)|0;D_(r);D_(s);D_(t);D_(n);D_(d);l=B;return}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;$B(a,78157)|0;g[45959]=+g[45958]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=qf(a,78173,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=qf(a,78205,n)|0;w=+g[45959];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=qf(a,78237,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=rf(a,e,0.0)|0;c[m>>2]=78300;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=qf(a,78269,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=qf(a,78314,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=qf(a,78343,s)|0;D_(x);D_(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=qf(a,78352,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=qf(a,78398,u)|0;D_(t);$B(a,x)|0;D_(q);D_(n);D_(o);D_(i);D_(x);l=v;return}function pf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,78138,e);l=d;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=q0(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=C_(g+1|0)|0;c[f>>2]=d;Z0(a,b,f)|0;break}else{a=n1(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=c$(c[(O_()|0)>>2]|0)|0;ub[a&63](78583,h);a=n1(191979)|0}while(0);l=i;return a|0}function rf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(b$(f,133220)|0)){c[k>>2]=78420;h[k+8>>3]=e;f=qf(a,78403,k)|0;break a}if(!(b$(f,130350)|0)){c[m>>2]=78424;h[m+8>>3]=e;f=qf(a,78403,m)|0;break a}if(!(b$(f,128349)|0)){c[p>>2]=78430;h[p+8>>3]=e;f=qf(a,78403,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=qf(a,78403,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=qf(a,78435,i)|0;break}default:{p=c[15686]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;g1(p,78474,j)|0;qa(135312,78524,436,78544)}}while(0);c[o>>2]=f;p=qf(a,78561,o)|0;D_(f);l=q;return p|0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=80990;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;fC(a,83609,g);f=ry(c[f+8>>2]|0)|0;c[e>>2]=80990;c[e+4>>2]=f;fC(a,83641,e);c[d>>2]=80990;fC(a,83655,d);l=b;return}function tf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=80990;fC(a,83557,d);l=b;return}function uf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4025]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}Gf();c[4025]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;fC(a,81177,m);c[n>>2]=80990;fC(a,81192,n);if(d>0.0){b=+j$(d);h[18829]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[18829]=b;h[B>>3]=b;h[B+8>>3]=b;fC(a,81361,B);c[S>>2]=80990;fC(a,81396,S);c[o>>2]=80990;fC(a,81454,o);c[p>>2]=80990;fC(a,81514,p);c[q>>2]=80990;fC(a,81563,q);c[r>>2]=80990;fC(a,81602,r);c[s>>2]=80990;fC(a,81653,s);c[t>>2]=80990;fC(a,81715,t);c[u>>2]=80990;fC(a,81825,u);c[v>>2]=80990;fC(a,81916,v);c[w>>2]=80990;fC(a,81970,w);c[x>>2]=80990;fC(a,82039,x);fC(a,82075,y);c[z>>2]=80990;fC(a,82200,z);c[A>>2]=80990;fC(a,82229,A);fC(a,82269,C);c[E>>2]=80990;fC(a,82362,E);c[F>>2]=80990;fC(a,82421,F);c[G>>2]=80990;fC(a,82502,G);fC(a,82572,H);c[I>>2]=80990;fC(a,82661,I);c[J>>2]=80990;fC(a,82766,J);c[K>>2]=80990;fC(a,82842,K);c[L>>2]=80990;fC(a,82881,L);c[M>>2]=80990;fC(a,82980,M);c[N>>2]=80990;fC(a,83026,N);fC(a,83115,O);c[P>>2]=80990;fC(a,83156,P);c[Q>>2]=80990;fC(a,83239,Q);c[R>>2]=80990;fC(a,83340,R);h[T>>3]=e;h[T+8>>3]=d;fC(a,83404,T);fC(a,83432,U);fC(a,83440,V);l=W;return}function vf(a){a=a|0;var b=0;b=l;l=l+16|0;fC(a,81170,b);l=b;return}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[45960]|0;if(d|0?(b$(d,f)|0)==0:0)break;c[o>>2]=Ef(f)|0;fC(b,81069,o);o=c[m>>2]|0;c[45960]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[45961]|0)){j=+h[18829];c[p>>2]=f;h[p+8>>3]=j;fC(b,81077,p);c[45961]=f}c[q>>2]=Ff(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;fC(b,81098,q);l=r;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?81011:191979;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;fC(a,81017,f);l=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,1);l=e;return}function zf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=C_((d*140|0)+140|0)|0;Cf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(Y0(j,80995,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;fC(a,81002,q);D_(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,s);e=e+1|0}$B(a,150517)|0;l=t;return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,0);l=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=80990;c[e+4>>2]=b;fC(a,80983,e);l=d;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function Ef(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15828;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(b$(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81151;c[f+4>>2]=b;Pw(1,81125,f)|0;d=o1(b,45)|0;if(!d){d=81168;break}a[d>>0]=0}l=h;return d|0}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45962]|0;if(!d){c[45963]=64;d=C_(64)|0;c[45962]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45963]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45963]=d;d=F_(c[45962]|0,d)|0;c[45962]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45962]|0}function Gf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81151;c[b+4>>2]=83548;Pw(0,83530,b)|0;l=a;return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;fC(a,84128,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,84170,f);l=e;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;fC(a,84215,f);$B(a,84307)|0;l=e;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)qa(108200,84312,212,84331);if(!b)qa(108230,84312,213,84331);p=b+8|0;if(!(c[p>>2]|0))qa(108233,84312,214,84331);if(c[b+52>>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];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){fC(a,84352,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;fC(a,84355,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;fC(a,84355,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;fC(a,84362,n)}fC(a,84352,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;fC(a,84355,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;fC(a,84355,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;fC(a,84377,s)}l=t;return}function Lf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)qa(108200,84312,153,84393);if(!d)qa(108230,84312,154,84393);if(!(c[d+8>>2]|0))qa(108233,84312,155,84393);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==98)g=18;else{tb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((zC(d)|0)<<24>>24))break;f=j3(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){J1(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=U_(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=98;AC(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;fC(b,84411,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];fC(b,84442,m)}else kJ(b,d);fC(b,84457,n)}l=o;return}function Mf(a){a=a|0;S_(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)qa(108200,84312,121,84467);e=c[a+16>>2]|0;if(!e)qa(96876,84312,123,84467);if(!b)qa(108230,84312,124,84467);d=b+8|0;if(!(c[d>>2]|0))qa(108233,84312,125,84467);if(!(c[e+8>>2]|0))qa(135797,84312,128,84467);else{fC(a,84487,g);fC(a,84496,g+8|0);fC(a,84523,g+16|0);fC(a,84548,g+24|0);fC(a,84577,g+32|0);fC(a,84605,g+40|0);c[f>>2]=c[d>>2];fC(a,84612,f);fC(a,84651,g+56|0);fC(a,107982,g+64|0);l=g;return}}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)qa(108200,84312,97,84656);if(!b)qa(108230,84312,98,84656);e=c[b+8>>2]|0;if(!e)qa(108233,84312,99,84656);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;fC(a,84675,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;fC(a,84733,g);l=i;return}}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)qa(108200,84312,53,84765);if(!b)qa(108230,84312,54,84765);e=b+8|0;if(!(c[e>>2]|0))qa(108233,84312,55,84765);$B(a,84784)|0;$B(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;fC(a,84913,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;fC(a,84804,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;fC(a,84883,m)}$B(a,84992)|0;l=o;return}function Qf(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;Rf(b);b=Ty(a,b)|0}c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;Sf(b);b=Gx(a,b)|0}c=Ty(a,c)|0}return}function Rf(a){a=a|0;var b=0,d=0;Az(a,134365,304,1)|0;dM(a);bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=uH(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=uH(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=uH(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=uH(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=uH(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Sf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;Az(d,134378,176,1)|0;eM(d)|0;h=KL(d,c[46404]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=NL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[46398]|0,191979)|0;i=NL(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[46398]|0,191979)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Ok(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(KL(d,c[46417]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(KL(d,c[46405]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Tf(a){a=a|0;var b=0,d=0;Uf(c[(c[a+16>>2]|0)+192>>2]|0);d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}Vf(d);d=Ty(a,d)|0}Wf(a);return}function Uf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Xf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}D_(d);D_(b);b=g}return}function Vf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){D_(d);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)tb[c[(c[b+4>>2]|0)+4>>2]&127](a);Cz(a,134365)|0;return}function Wf(a){a=a|0;var d=0,e=0,f=0;d=wA(a)|0;while(1){if(!d)break;Wf(d);d=xA(d)|0}if(Az(a,134401,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){D_(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;D_(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){D_(e+-64|0);break}else{D_(e);break}}while(0);if((fz(a)|0)!=(a|0)){nH(c[(c[f>>2]|0)+12>>2]|0);Cz(a,134401)|0}}return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a}return}function Yf(a){a=a|0;if(ay(a)|0)Zf(a);eJ(a);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=YD(a,-1,8)|0;d=ZD(a,0,f)|0;XD(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)_f(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=rD(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){_f(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){_f(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;$f(b,a);_f(b);d=d+1|0;b=c[g>>2]|0}ag(a);WD(c[g>>2]|0,e,a,f)|0;bg(a);cg(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;D_(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Wf(c[f>>2]|0);dz(a,c[f>>2]|0)|0;b=b+1|0}D_(e)}l=h;return}function _f(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=KL(a,nx(a,0,85007,0)|0,-1,1)|0;$M(a,10);d=Nk(a,e)|0;eg(a,a);Qf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){zj(a,d);if(f){d=3;break}if(c[g>>2]|0){Pw(0,85013,k)|0;c[e>>2]=0;d=0}Jh(a,(d|0)!=0&1);if(h){d=7;break}Mi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)fg(a,1);else if((d|0)==7)fg(a,2);else if((d|0)==9)fg(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)gg(a);tk(a);kg(a);if((QL(xx(a,85104)|0)|0)<<24>>24)nl(a)}l=m;return}function $f(b,d){b=b|0;d=d|0;var e=0,f=0;Az(b,134401,280,1)|0;e=uH(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function ag(a){a=a|0;var b=0,d=0,e=0;b=uH((ay(a)|0)<<4)|0;d=Sy(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=Ty(a,d)|0}return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=Ty(a,d)|0}D_(e);return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=uH((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=qD(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;dg(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Az(d,134401,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>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[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=uH((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=qD(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;dg(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function eg(a,b){a=a|0;b=b|0;if((fz(a)|0)!=(a|0))Az(a,134401,280,1)|0;if((a|0)==(b|0))c[(c[(fz(a)|0)+16>>2]|0)+188>>2]=a;a=wA(a)|0;while(1){if(!a)break;eg(a,b);a=xA(a)|0}return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=nx(a,1,87076,191979)|0;g=nx(a,1,85147,191979)|0;h=(b|0)>0;d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],Y0(e,134313,j)|0,rx(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];Y0(e,134313,k)|0;rx(b,g,e)|0}b=Ty(a,b)|0}l=m;return}function gg(a){a=a|0;var b=0,c=0,d=0;c=vA(a,86580,0)|0;if(c|0){b=Sy(c)|0;while(1){if(!b)break;d=Ty(c,b)|0;sh(a,b);hg(a,b);Vf(b);cz(a,b)|0;b=d}zA(a,c)|0}return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)qa(85113,85120,248,85130);return}function ig(a){a=a|0;return c[(c[(fz(a)|0)+16>>2]|0)+188>>2]|0}function jg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function kg(a){a=a|0;lg(a,1);return}function lg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.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;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{Pw(0,85153,f)|0;A=9}}else if(X<<16>>16==8){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){cN(d,0);n=0;m=0;k=0;break}else{ng(d);cN(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){ll(d);if(qJ()|0)break;W=uH(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=uH(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?(kb[c[17300>>2]&63](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{og(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=xH(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;og(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=xH(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}og(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=xH(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)qa(85221,85234,313,85247);c[Y>>2]=H;c[F>>2]=I;_0(E,L,4,58);c[W+84>>2]=uH((D<<5)+11520|0)|0;c[Y+16>>2]=uH(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=rg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(rg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=uH(w<<2)|0;c[f>>2]=rg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}AJ(d,f,w,P,17296);if((w|0)>1)D_(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){sg(d,Y,W,M,x,w,P);x=u;continue}else{tg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);YK(W,M,x,w,y,+((f|0)/2|0|0),17296);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)kM(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);kM(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{ug(d);n=W;k=W}}f:do if((c[46427]|0)!=0|(c[46428]|0)!=0?(c[46433]|0)!=0|(c[46432]|0)!=0:0){j=Sy(d)|0;while(1){if(!j)break f;g:do if(c[46427]|0){f=Hx(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){eL(i,1)|0;kM(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Ix(d,f)|0}}while(0);h:do if(c[46428]|0){f=Ex(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?eL(f,0)|0:0)kM(d,c[(c[g>>2]|0)+104>>2]|0);f=Gx(d,f)|0}}while(0);j=Ty(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{D_(m);D_(c[n+84>>2]|0);D_(k);D_(c[Y+16>>2]|0);rJ()}}c[46367]=1;c[46368]=1}while(0);l=Z;return}function mg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=Ty(a,b)|0}return}function ng(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;qg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+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];a[e+81>>0]=1;d=e}kM(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)qa(85421,85234,234,85440);else if((d|0)==12)return}function og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=rg(C)|0;r=rg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){F3(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{F3(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function qg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function rg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function sg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){F3(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Sg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Tg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Vg(b,d,e,o,q,y,1);Vg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[18830]=G;h[18831]=E;k=k+1|0;C=+(k|0);D=v*C;h[18832]=F+D;C=E+m*C;h[18833]=C;h[18834]=G;h[18835]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[18836]=G;h[18837]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[18840]=G;h[18839]=F;h[18838]=E-D;h[18841]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=150640+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];SK(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);o=n}if(p)n=sJ(e,A)|0;else n=yJ(e,A)|0;o=c[A>>2]|0;if(!o)break a;QK(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17296);c[q>>2]=0}}Ug(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Rg(b,f,g,i,q,j);l=B;return}function tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[45964]|0)){c[45964]=vH(32e3)|0;c[45965]=vH(32e3)|0;c[45966]=2e3;c[45967]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;F3(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{F3(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=rg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=xg(b,K,c[45964]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;yg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];TK(e,K,1,T,zg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(A,S,1,m);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[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;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];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if((kb[c[17300>>2]&63](p)|0)<<24>>24)break b;o=t|1;ca=150640+(t<<5)|0;Bg(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=Cg(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=150640+(o<<5)|0;yg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}yg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];WK(e,u,1,U,zg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;Dg(e,I,u,T,U,o);if(!G){k=yJ(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];G3(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=sJ(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[45966]|0)){c[45966]=p<<1;t=xH(c[45964]|0,p<<5)|0;c[45964]=t;o=c[X>>2]|0}else t=c[45964]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=Eg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;Fg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;yg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);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];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];TK(e,o,1,T,zg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=150640+(t<<5)|0;Bg(Q,d,b,c[(c[s+16>>2]|0)+232>>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[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];yg(R,b,d,p,u,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];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];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[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;WK(e,r?Y:u,1,U,zg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(W,S,4,m);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[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}Dg(e,I,u,T,U,k);if(G)q=sJ(e,X)|0;else q=yJ(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];G3(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[45966]|0)){c[45966]=n<<1;p=xH(c[45964]|0,n<<5)|0;c[45964]=p;k=c[X>>2]|0}else p=c[45964]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;Fg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){QK(K,c[_>>2]|0,c[45964]|0,v,17296);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[45966]|0;if((k|0)>(c[45967]|0)){c[45967]=k;o=xH(c[45965]|0,k<<4)|0;c[45965]=o;n=c[45964]|0}else o=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}QK(K,c[_>>2]|0,o,v,17296);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;F3(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}QK(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17296);q=q+1|0}}while(0);l=ba;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;if((kb[c[4324]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)vg(e);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=vH(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}wg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;D_(c[d+(b*48|0)>>2]|0);b=b+1|0}D_(d);c[a>>2]=g;return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=vH(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+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=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+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];Pg(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;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];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];Pg(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+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];Pg(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;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];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];Pg(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;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];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];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|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[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[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[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=(Qg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|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[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];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];g=e+80|0;y=e+96|0;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];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];g=7}while(0);l=x;return g|0}function yg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=Lg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=Mg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=Lg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=Mg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function zg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{Kg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{Kg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}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];l=g;return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function Cg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function Dg(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;k=l;l=l+32|0;j=k;h=Hg(b,-1)|0;b=Hg(b,1)|0;if(!((h|0)!=0?!(fL(h)|0):0))i=3;do if((i|0)==3){if(b|0?(fL(b)|0)==0:0)break;h=Ig(d,-1)|0;b=Ig(d,1)|0;if(h|0?(fL(h)|0)==0:0)break;if(b|0?(fL(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];SK(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=150640+(b<<5)|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[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];SK(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];SK(a,j);h=b}Jg(a,d,i)}while(0);l=k;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<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];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|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=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+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];return a|0}function Fg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if((kb[c[17300>>2]&63](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){Gg(j,i,~~((f+g)*.5),~~f);break}else{Gg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0>3]=e+16.0;g=j}return}function Kg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Lg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Og(b,d,e,f)|0)<<24>>24!=0);return b|0}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ng(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ng(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function Og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Rg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((HJ(J)|0)!=2?(HJ(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Tg(J,B,d,e,f,i);break}else{Yg(J,B,d,e,f,i,g);break}y=uH(156)|0;z=Zg(b,y)|0;t=vA(z,85383,1)|0;Az(t,134401,280,1)|0;zx(t,87076,87090)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=_g(t,q)|0;u=_g(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=$g(z,t,u,o)|0;else k=$g(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=Rx(z,t,u,0,1)|0;else x=g;rx(x,c[46404]|0,85387)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;$M(z,i);Qf(z);zj(z,0);Jh(z,0);Mi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}tk(z);lg(z,0);eJ(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=PK(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[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];ah(L,C,D,S);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[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;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];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];ah(M,C,D,k);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];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(E,C,D,S);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[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];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[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];ah(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[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];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;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];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];ah(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[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];ah(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];YE((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;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];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];ah(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;kM(b,T)}}r=r+1|0}bh(z,y)}else Q=3;while(0);if((Q|0)==3?(c[45968]|0)==0:0){c[45968]=1;Pw(0,85260,O)|0;Q=ry(J)|0;S=(ey(b)|0)!=0;T=ry(B)|0;c[P>>2]=Q;c[P+4>>2]=S?134656:138665;c[P+8>>2]=T;Pw(3,85366,P)|0}l=R;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Vg(b,d,e,p,f,t,1);Vg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[18830]=A;h[18831]=+h[t+56+(m<<5)+24>>3];h[18832]=E;h[18833]=B;h[18834]=A;h[18835]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[18836]=A;h[18837]=D;h[18838]=C;h[18841]=B;h[18839]=+h[v+56+(i<<5)+24>>3];h[18840]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;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];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];SK(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=150640+(i<<5)|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];SK(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];SK(e,u);j=i}if((g|0)==10)j=sJ(e,w)|0;else j=yJ(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|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[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];Pg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[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];Pg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;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[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;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[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)QK(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17296);l=z;return}function Tg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.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.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;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[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];Pg(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[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];Pg(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Xg(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Xg(E,t,i);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];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Xg(F,r,i);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];Xg(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Xg(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Xg(I,t,i);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];Xg(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Xg(K,t,i);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];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;QK(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17296);i=i+z;b=b+1|0}l=N;return}function Ug(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Wg(a,d,e,q,j,w,1);Wg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[18830]=D;h[18833]=B;m=m+1|0;z=+(m|0);A=s*z;h[18832]=C+A;z=B-n*z;h[18831]=z;h[18834]=D;h[18837]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[18836]=D;h[18835]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[18840]=D;h[18841]=C;h[18838]=B-A;h[18839]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=150640+(o<<5)|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];SK(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);p=o}if(a)o=yJ(e,v)|0;else o=sJ(e,v)|0;p=c[v>>2]|0;if(!p)break;QK(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17296);c[d>>2]=0}l=x;return}function Vg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);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];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+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];c[g+48>>2]=4;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,4,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];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|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]}l=n;return}function Wg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);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];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+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];c[g+48>>2]=1;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,1,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];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|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]}l=n;return}function Xg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Yg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.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;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=uH(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}_0(U,g,4,59);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|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];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Pg(m,Q,R);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=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|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];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];Pg(n,Q,R);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];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;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];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|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];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];QK(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17296);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&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];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];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];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];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];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&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];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;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];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];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];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0;p=t}D_(U)}while(0);l=Y;return}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(ey(b)|0)==0;j=j?18488:18480;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=Xx(85398,f,0)|0;Az(f,134401,280,1)|0;nx(f,0,87076,191979)|0;j=uH(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=sx(fz(b)|0,1,0)|0;while(1){if(!e)break;nx(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,1,e)|0}e=sx(fz(b)|0,2,0)|0;while(1){if(!e)break;nx(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,2,e)|0}if(!(nx(f,2,108382,0)|0))nx(f,2,108382,191979)|0;if(!(nx(f,2,108373,0)|0))nx(f,2,108373,191979)|0;ch(f,d);l=g;return f|0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=az(a,ry(b)|0,1)|0;Az(a,134365,304,1)|0;Bx(b,a)|0;if((HJ(b)|0)==2){f=b+16|0;b=vH((W_(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];Y0(b,85393,d)|0;zx(a,105198,b)|0}l=e;return a|0}function $g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=Rx(a,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(d,c)|0;return c|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};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]=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];Pg(a,f,g);l=i;return}function bh(a,b){a=a|0;b=b|0;c[46419]=c[b>>2];c[46423]=c[b+4>>2];c[46424]=c[b+8>>2];c[46404]=c[b+12>>2];c[46405]=c[b+16>>2];c[46411]=c[b+20>>2];c[46410]=c[b+24>>2];c[46409]=c[b+28>>2];c[46435]=c[b+32>>2];c[46427]=c[b+36>>2];c[46412]=c[b+40>>2];c[46422]=c[b+44>>2];c[46431]=c[b+48>>2];c[46430]=c[b+52>>2];c[46429]=c[b+56>>2];c[46434]=c[b+60>>2];c[46428]=c[b+64>>2];c[46413]=c[b+68>>2];c[46375]=c[b+72>>2];c[46376]=c[b+76>>2];c[46377]=c[b+80>>2];c[46387]=c[b+84>>2];c[46380]=c[b+88>>2];c[46381]=c[b+92>>2];c[46382]=c[b+96>>2];c[46384]=c[b+100>>2];c[46385]=c[b+104>>2];c[46388]=c[b+108>>2];c[46391]=c[b+112>>2];c[46389]=c[b+116>>2];c[46390]=c[b+120>>2];c[46393]=c[b+124>>2];c[46392]=c[b+128>>2];c[46394]=c[b+132>>2];c[46395]=c[b+136>>2];c[46386]=c[b+140>>2];c[46398]=c[b+144>>2];c[46370]=c[b+148>>2];c[46367]=c[b+152>>2];D_(b);Tf(a);$x(a)|0;return}function ch(a,b){a=a|0;b=b|0;c[b>>2]=c[46419];c[b+4>>2]=c[46423];c[b+8>>2]=c[46424];c[b+12>>2]=c[46404];c[b+16>>2]=c[46405];c[b+20>>2]=c[46411];c[b+24>>2]=c[46410];c[b+28>>2]=c[46409];c[b+32>>2]=c[46435];c[b+36>>2]=c[46427];c[b+40>>2]=c[46412];c[b+44>>2]=c[46422];c[b+48>>2]=c[46431];c[b+52>>2]=c[46430];c[b+56>>2]=c[46429];c[b+60>>2]=c[46434];c[b+64>>2]=c[46428];c[b+68>>2]=c[46413];c[b+72>>2]=c[46375];c[b+76>>2]=c[46376];c[b+80>>2]=c[46377];c[b+84>>2]=c[46387];c[b+88>>2]=c[46380];c[b+92>>2]=c[46381];c[b+96>>2]=c[46382];c[b+100>>2]=c[46384];c[b+104>>2]=c[46385];c[b+108>>2]=c[46388];c[b+112>>2]=c[46391];c[b+116>>2]=c[46389];c[b+120>>2]=c[46390];c[b+124>>2]=c[46393];c[b+128>>2]=c[46392];c[b+132>>2]=c[46394];c[b+136>>2]=c[46395];c[b+140>>2]=c[46386];c[b+144>>2]=c[46398];c[b+152>>2]=c[46367];c[b+148>>2]=c[46370];c[46419]=0;c[46423]=nx(a,2,87317,0)|0;c[46424]=nx(a,2,87326,0)|0;b=nx(a,2,98515,0)|0;c[46404]=b;if(!b)c[46404]=nx(a,2,98515,191979)|0;c[46405]=0;c[46411]=0;c[46410]=nx(a,2,98411,0)|0;c[46409]=nx(a,2,98402,0)|0;c[46435]=nx(a,2,98691,0)|0;c[46427]=0;c[46412]=nx(a,2,105198,0)|0;c[46422]=nx(a,2,85403,0)|0;c[46431]=0;c[46430]=nx(a,2,98591,0)|0;c[46429]=nx(a,2,98577,0)|0;c[46434]=nx(a,2,98682,0)|0;c[46428]=0;c[46413]=0;c[46375]=nx(a,1,137966,0)|0;c[46376]=nx(a,1,138034,0)|0;c[46377]=nx(a,1,105204,0)|0;c[46387]=0;c[46380]=nx(a,1,98402,0)|0;c[46381]=nx(a,1,98411,0)|0;c[46382]=0;c[46384]=nx(a,1,105198,0)|0;c[46385]=0;c[46388]=0;c[46391]=nx(a,1,98383,0)|0;c[46389]=nx(a,1,137994,0)|0;c[46390]=nx(a,1,98446,0)|0;c[46393]=nx(a,1,98458,0)|0;c[46392]=nx(a,1,98322,0)|0;c[46394]=nx(a,1,98463,0)|0;c[46395]=nx(a,1,85415,0)|0;c[46386]=0;c[46398]=0;c[46370]=nx(a,0,98383,0)|0;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(fg)a=-1;else a=i>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>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=gh(a,f,b,e)|0;l=d;return b|0}function gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>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=gh(a,f,b,e)|0;l=d;return b|0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=vH((c[d+184>>2]<<2)+8|0)|0;else b=xH(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function kh(a){a=a|0;if(!a)qa(85456,85466,117,85475);else{jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function lh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=vH((c[d+208>>2]<<2)+8|0)|0;else b=xH(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function mh(a){a=a|0;nh(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=vH((e<<2)+8|0)|0;else d=xH(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function oh(d,e,f){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;n=uH(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=uH(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;return ih(oh(a,b,c)|0)|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))qa(85492,85466,215,85508);else return}function rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))qa(85518,85466,220,85525);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)qa(85538,85466,221,85525);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(th(a,b)|0))qa(85557,85466,231,85578);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function th(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function uh(b){b=b|0;var d=0,e=0,f=0,g=0;d=uH(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=uH(304)|0;c[d+24>>2]=fz(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=uH(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=uH(20)|0;c[(c[e>>2]|0)+180>>2]=f;qh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=vH((c[e+192>>2]<<2)+8|0)|0;else e=xH(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=vH((c[e+200>>2]<<2)+8|0)|0;else e=xH(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(ig(b)|0)+16>>2]|0)+240>>0]=1;return}function wh(a){a=a|0;var b=0,d=0;if(!a)qa(85456,85466,269,85595);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;yh(a,b);break}else qa(87498,85466,340,85633);else Pw(0,85612,f)|0;while(0);l=f;return}function yh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function zh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;Ah(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))Bh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;Ah(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function Ah(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)qa(85456,85466,128,85646);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))jh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){jh(d,a);b=c[a>>2]|0}f=f+1|0}return}function Ch(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[18484]|0;a[n+1>>0]=a[18485]|0;a[n+2>>0]=a[18486]|0;a[n+3>>0]=a[18487]|0;d=Xx(85668,n,0)|0}c[o>>2]=g;Y0(m,134313,o)|0;t=az(d,m,1)|0;Az(t,91080,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((ay(d)|0)>1)Dh(d,h);$x(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function Dh(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;d=0;h=Sy(a)|0;a:while(1){if(!h)break;i=Ty(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))Rx(a,h,g,0,1)|0}else{Rx(a,g,h,0,1)|0;d=1}g=Ty(a,g)|0}}do if(d|0){h=vA(a,85671,1)|0;j=uH((ay(a)|0)<<2)|0;i=uH((ay(a)|0)<<2)|0;f=b+4|0;e=Sy(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?cy(a,e,1,1)|0:0){c:do if(Eh(a,e,h,i)|0){g=ay(h)|0;if((Fh(a,h,j)|0)!=(g|0)){d=17;break b}_0(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Hh(h)}e=Ty(a,e)|0}if((d|0)==17)qa(85676,85686,265,85697);else if((d|0)==23){D_(j);break}}while(0);return}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((ay(d)|0)<<2)>>2]=h;Xy(d,b,1)|0;h=Ex(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Gx(a,h)|0}h=Hx(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Ix(a,h)|0}return f|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Ih(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];cz(b,e)|0;e=Ex(a,e)|0;while(1){if(!e)break;g=Gx(a,e)|0;Ux(a,e)|0;e=g}f=f+1|0}return f|0}function Gh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Hh(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;c=Ty(a,b)|0;cz(a,b)|0;b=c}return}function Ih(a,b){a=a|0;b=b|0;var c=0;c=Sy(b)|0;while(1){if(!c){c=0;break}if(!(cy(a,c,1,0)|0))break;c=Ty(b,c)|0}return c|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Kh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Lh(b,f);f=f+1|0;e=(Mh(b,0,d)|0)+e|0}Nh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Oh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=xx(b,85711)|0;if(f|0?(QL(f)|0)<<24>>24==0:0)break;ll(b);a[190689]=1;e=Mh(b,2,d)|0}while(0);Ph(b,e);return}function Kh(d){d=d|0;var e=0;if(0)EL();a[190689]=0;c[45971]=d;e=((by(ig(d)|0)|0)<<2)+4|0;c[45970]=uH(e)|0;c[45969]=uH(e)|0;Fi(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Gi(d);Uk(d);Il(d,1);Hi(d);Wh(d);e=c[e>>2]|0;c[45972]=b[e+236>>1];c[45973]=b[e+238>>1];return}function Lh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=ki(0)|0;li(a)}else e=2147483647;m=c[15686]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[46365]|0;if((k|0)==2)if((e|0)>(b|0)){ni(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((ig(a)|0)==(a|0))mi(a,k);if(!k)Xh(a);Yh(a);g=ki(0)|0;if((g|0)>(b|0)){f=e;e=g}else{li(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;g1(m,86104,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[45974]|0))break;oi(a,j);e=ki(0)|0;if((e|0)>(b|0))g=i;else{li(a);g=+h[22830]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))ni(a);if((b|0)>0){pi(a,0);e=ki(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;qi(a);b=b+1|0}}while(0);l=o;return e|0}function Nh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;ji(a);k=a+16|0;d=c[k>>2]|0;m=c[15686]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=ry(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;g1(m,86054,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;fl(a);Wh(a);Xh(a);Yh(a);f=a+16|0;d=Mh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Oh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Zh(a);return d|0}function Ph(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[45969]|0;if(f|0){D_(f);c[45969]=0}f=c[45970]|0;if(f|0){D_(f);c[45970]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Qh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){wh(i);D_(c[j>>2]|0);D_(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Rh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[15686]|0;d=ry(d)|0;r=+FL();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;g1(o,85722,p)|0}l=q;return}function Qh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Sh(a,j,-1)|0;j=Sh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Rh(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Th(b,c)|0;if(!b)break;if(Uh(a,b)|0){d=b;continue}e=(Vh(a,b)|0)==0;d=e?d:b}return d|0}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)qa(85761,85686,1023,85763);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else qa(85772,85686,1029,85763);else g=0}return g|0}function Uh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(oz(b,d)|0)!=0&1;else b=0;return b|0}function Vh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(oz(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Wh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[46370]|0;a:do if((d|0)!=0|(c[46391]|0)!=0){d=NL(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(b$(d,85974)|0)){ei(b,1);break a}break}case 105:{if(!(b$(d,95660)|0)){ei(b,0);break a}break}default:{}}c[e>>2]=d;Pw(1,85978,e)|0;break}d=wA(b)|0;while(1){if(!d)break;if(!(Rj(d)|0))Wh(d);d=xA(d)|0}if(c[46391]|0)fi(b)}while(0);l=f;return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=ci(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){di(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Yh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=vH(e)|0;else p=xH(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((_h(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((_h(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=($h(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(_h(d,g)|0){t=37;break a}wh(g);ai(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)qa(85820,85686,1561,85859);if(h|0)D_(q)}return}function Zh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function _h(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(bi(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(bi(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function $h(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;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((_h(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=($h(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else qa(85872,85686,1490,85888);return 0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}xh(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=vH((c[e+208>>2]<<2)+8|0)|0;else e=xH(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=oh(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];vh(b,m)}return}function bi(a,b){a=a|0;b=b|0;var c=0;c=Uh(a,b)|0;return Vh(a,b)|0|c|0}function ci(a,b){a=a|0;b=b|0;var d=0;d=uH(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=uH(O(b,a)|0)|0;return d|0}function di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(ig(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((oz(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(oz(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;wh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;ai(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;di(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)qa(85898,85686,1251,85930);else if((q|0)==12)qa(85942,85686,1252,85930);else if((q|0)==16)qa(85898,85686,1260,85930);else if((q|0)==18)qa(85942,85686,1261,85930)}else p=e;while(0);a[p+158>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c)break;gi(a,c,b);c=Ty(a,c)|0}return}function fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=Sy(b)|0;while(1){if(!d)break;e=NL(d,c[46391]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(b$(e,85974)|0)){gi(b,d,1);break a}break}case 105:{if(!(b$(e,95660)|0)){gi(b,d,0);break a}break}default:{}}h=ry(d)|0;c[f>>2]=e;c[f+4>>2]=h;Pw(1,86009,f)|0}while(0);d=Ty(b,d)|0}l=g;return}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[45970]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;_0(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(hh(e,d)|0)break a;i=oh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;vh(b,i);f=f+1|0}}}while(0);return}function hi(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function ii(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ji(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[45972];b[f+238>>1]=c[45973]}return}function ki(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[45971]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=Di(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function li(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function mi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=GL(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;IL(o,g);while(1){f=JL(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){kl(d,f,e,o);continue}else{Bi(d,f);Ci(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(JL(o)|0)Pw(1,86217,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;vi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((ig(d)|0)==(d|0)?(ki(0)|0)>0:0)pi(d,0);HL(o);l=r;return}function ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;_0(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[45971]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[45971]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;yi(a,d,g,(xi(a,d,d-f|0)|0)&255);d=d+f|0}pi(a,g^1);return}function pi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(wi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function qi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(ri(d,i,j)|0)continue;if(p){f=si(i,j)|0;h=si(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(ti(i,j)|0)+f|0;h=(ti(j,i)|0)+h|0}if((h|0)<=(f|0))break}ui(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)qa(86168,85686,721,86194);else if((e|0)==16)return}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[190689]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ti(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}vi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))vi(e,f)}return}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[45971]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function wi(d,e,f){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;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(ri(d,j,k)|0)continue;if(r){f=si(j,k)|0;g=si(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(ti(j,k)|0)+f|0;g=(ti(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}vi(j,k);i=f-g+i|0;g=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)qa(86168,85686,770,86202);else if((f|0)==17)return i|0;return 0}function xi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[45969]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{_0(p,a,4,60);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(zi(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(ri(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}vi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function zi(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function Ai(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Bi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))qa(86282,85686,1346,86318);g=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=ry(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;Pw(1,86334,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;Pw(1,86407,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=ry(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;Pw(1,86468,o)|0}}else{n=ry(a)|0;o=ry(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;Pw(1,86227,f)|0}while(0);l=p;return}function Ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function Di(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[45975]|0)>(d|0))q=c[45976]|0;else{d=d+1|0;c[45975]=d;f=c[45976]|0;if(!f)d=vH(d<<2)|0;else d=xH(f,d<<2)|0;c[45976]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(Ei(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(Ei(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function Ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Fi(a){a=a|0;var b=0.0,d=0.0;c[45974]=8;c[46365]=24;h[22830]=.995;a=xx(a,86590)|0;if(a|0?(b=+b2(a),b>0.0):0){d=b*+(c[45974]|0);c[45974]=~~(d>1.0?d:1.0);b=b*+(c[46365]|0);c[46365]=~~(b>1.0?b:1.0)}return}function Gi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=uH(e<<2)|0;Ii(a,d,e,0)|0;D_(d);return}function Hi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=uH((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=Sy(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Gx(a,f)|0}g=Ty(a,g)|0}f=uH((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=uH((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}D_(i);return}function Ii(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Ii(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((ig(a)|0)!=(a|0)){H3(d|0,0,e<<2|0)|0;g=Sy(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Ex(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Gx(a,i)|0}g=Ty(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=vA(ig(a)|0,86580,1)|0;g=az(f,0,1)|0;Az(g,134365,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=uH(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=uH(20)|0;c[(c[l>>2]|0)+180>>2]=k;Xy(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ji(a){a=a|0;var b=0,d=0;Zh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ji(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Ki(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Li(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17308+(d*12|0)+((Li(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function Li(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Mi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){ll(b);Ni(b);if(a[191874]|0)zl(b);Oi(b);if(Rl(b)|0)Ni(b);Pi(b);if(fI(b,2,Qi(b)|0)|0?(Ri(b),fI(b,2,Qi(b)|0)|0):0)qa(86598,86626,134,86637);Si(b);Ti(b,d);Ui(b)}return}function Ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]>3]=j;h[p>>3]=j}if(+h[r>>3]>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=KL(f,c[46374]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=tj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){uj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Oi(a){a=a|0;var b=0,d=0,e=0;pj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){qj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{qj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Pi(a){a=a|0;bj(a);cj(a);dj(a);ej(a);fj(a);return}function Qi(a){a=a|0;var b=0,c=0.0;b=xx(a,86826)|0;if(!b)a=2147483647;else{c=+b2(b);a=~~(c*+(ay(a)|0))}return a|0}function Ri(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=uh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;$i(o,f,0.0,0)|0;$i(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)qa(86734,86626,111,86737);else if((s|0)==19)return}function Si(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Ti(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Vi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Wi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Xi(a,f,i)}while(0);if(d|0)Yi(a,d);return}function Ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;D_(c[e+16>>2]|0);D_(e);d=d+1|0}if(f){D_(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){D_(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;D_(e);D_(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Vi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}_i(a,b);return}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Zi(r,d,e),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],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[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],Zi(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Xi(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Xi(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Yi(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[15686]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;g1(n,86650,f)|0;c[g>>2]=zk(a)|0;g1(n,86675,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){E1(86685,34,1,c[15686]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[15686]|0;c[j>>2]=c[b+24>>2];g1(n,86720,j)|0}l=m;return}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function _i(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(ig(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function $i(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=uH(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=uH(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){aj(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;ih(i)|0;return i|0}function aj(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;Pw(1,86750,d)|0;l=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=uH((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=uH(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function cj(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(XK(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];$i(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(nj(g,f)|0))$i(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(nj(d,f)|0)){$i(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=fh(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))$i(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i65535){aj(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function dj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=uh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;$i(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;$i(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function ej(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){ij(a);jj(a);kj(a);lj(a)}return}function fj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){gj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;$i(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function gj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=KL(a,c[46374]|0,8,0)|0;hj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=ry(a)|0;c[m+4>>2]=e;Pw(1,86834,m)|0;break}else{$i(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;$i(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function hj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=uh(ig(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=uh(ig(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(ig(b)|0)!=(b|0):0)?(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;$i(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function ij(a){a=a|0;var b=0,d=0;do if((ig(a)|0)!=(a|0)){gj(a);a=a+16|0;b=c[a>>2]|0;b=fh(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;$i(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;ij(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function jj(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=KL(d,c[46374]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(mj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;$i(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(mj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}$i(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;jj(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function kj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=KL(a,c[46374]|0,8,0)|0;hj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;hj(e);f=c[b>>2]|0;g=e+16|0;$i(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;$i(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;kj(e);a=a+1|0}return}function lj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=KL(a,c[46374]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;hj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);$i(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}lj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function mj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(oz(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(oz(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function nj(a,b){a=a|0;b=b|0;return oj(a,b)|0}function oj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(oj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function pj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=vH((i<<2)+4|0)|0;else d=xH(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];rj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Hx(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=vH((c[e+176>>2]<<2)+8|0)|0;else e=xH(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Ix(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Ex(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=vH((c[e+184>>2]<<2)+8|0)|0;else e=xH(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Gx(a,i)|0}}}while(0);l=o;return}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(ez(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function sj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=ig(b)|0;g=SL(d)|0;if((g|0)!=(d|0))rh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];rj(a,d,h);l=i;return}function tj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))j=8.0;else j=+(KL(a,c[46374]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=tj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((ig(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(fz(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((ig(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function uj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))e=0;else e=KL(a,c[46374]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;uj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((ig(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)vj(a,~~p,d);if((ig(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function vj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(ig(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function xj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=Sy(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=Ty(a,h)|0}c[e+264>>2]=d;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=xx(a,86879)|0;if(!b)b=2147483647;else{g=+b2(b);b=~~(g*+(ay(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];fI(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function zj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(xx(a,86888)|0))Bj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;Aj(a,d)}if(0){g=c[15686]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;g1(g,86896,e)|0}l=f;return}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[45977]=0;a[h>>0]=a[18484]|0;a[h+1>>0]=a[18485]|0;a[h+2>>0]=a[18486]|0;a[h+3>>0]=a[18487]|0;h=Xx(87106,h,0)|0;Az(h,87135,280,1)|0;mz(h,17404,17344);Cj(b);e=xx(b,86879)|0;if(!e)f=2147483647;else{j=+b2(e);f=~~(j*+(ay(b)|0))}Sj(b,0);Tj(b,h);Uj(b,h);Vj(b,h,0,0);Wj(h);g=Xj(h)|0;Yj(h);if(d|0){Mk(h);Ak(h)}e=xx(b,99560)|0;if(!e)e=-1;else e=a2(e)|0;yH(h,1,f,e)|0;Zj(b,h,g);$x(h)|0;l=i;return}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;Cj(a);do if(!b){Dj(a,a);Pk(a);Ej(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Il(a,0);b=0}else{Mk(a);Ak(a);Dj(a,a);Pk(a);Ej(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Il(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);xk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Fj(a,f)|0)Il(a,0);if(!b)yj(a);else Bk(a,b);Gj(a,b);Hj(a);l=g;return}function Cj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=Sy(d)|0;while(1){if(!g)break;f=Ex(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Gx(d,f)|0}g=Ty(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function Dj(a,b){a=a|0;b=b|0;var d=0;b=wA(b)|0;while(1){if(!b)break;d=Pj(b)|0;do if(d)if((d|0)==7&(c[46364]|0)==100){Lj(a,b);break}else{Qj(a,b,d);break}else Dj(a,b);while(0);b=xA(b)|0}return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=SL(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=SL(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(SL(h)|0)){g=9;break}wk(d);d=c[e>>2]|0}if((g|0)==9)qa(86999,86939,346,87031);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(SL(i)|0))break;wk(d);d=c[e>>2]|0}qa(87044,86939,353,87031)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=Sy(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(SL(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=ph(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=ph(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=Ty(a,g)|0}}while(0);return (d|0)!=0|0}function Gj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=Sy(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=SL(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:UL(g)}g=Ty(d,g)|0}if((ig(d)|0)==(d|0)){if((c[46364]|0)==100)e=1;else{Kj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Jj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Ij((c[i>>2]|0)+172|0);Ij((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=Sy(b)|0;while(1){if(!i)break;h=Ex(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=Sy(b)|0;while(1){if(!d)break;e=Ex(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Gx(b,e)|0}d=Ty(b,d)|0}D_(c[k>>2]|0);D_(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Gx(b,h)|0}i=Ty(b,i)|0}D_(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Ij(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Jj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Jj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Kj(b){b=b|0;var d=0;d=wA(ig(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Lj(b,d);d=xA(d)|0}return}function Lj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Mj(a,b),Sy(b)|0):0){Nj(a,b);if((c[46364]|0)==100){Bj(b,0);Oj(b);break}else{xj(b);break}}while(0);return}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=Sy(d)|0;while(1){if(!g)break;i=Ty(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{dz(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(oz(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))dz(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=Sy(d)|0;while(1){if(!e)break;b=Ex(ig(d)|0,e)|0;while(1){if(!b)break;if(oz(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)Vx(d,b,1)|0;b=Gx(ig(d)|0,b)|0}e=Ty(d,e)|0}return}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function Oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)qa(86924,86939,238,86946);c[g+264>>2]=h;d=Sy(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}TL(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=Ty(b,d)|0}if((d|0)==11)qa(86961,86939,242,86946);else if((d|0)==13)return}function Pj(b){b=b|0;var d=0;if(!(Rj(b)|0)){d=aM(xx(b,87076)|0,17356,17380)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=Sy(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=Ty(d,f)|0;if(!f)break;TL(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Rj(a){a=a|0;return (z$(ry(a)|0,104980,7)|0)==0|0}function Sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(lk(b)|0)){do if(qM(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;mk(b,d);d=b;break}while(0);e=wA(b)|0;while(1){if(!e)break;Sj(e,d);e=xA(e)|0}a:do if(qM(b)|0){e=Sy(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=Ty(b,e)|0}}while(0);switch(nk(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{ok(b)|0;break}case 6:break;default:{e=ry(b)|0;f=xx(b,87076)|0;c[g>>2]=e;c[g+4>>2]=f;Pw(0,87259,g)|0}}if((k|0)==19){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((qM(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=ok(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0;c[45977]=0;d=Sy(a)|0;while(1){if(!d)break;if((_j(d)|0)==(d|0)){e=bk(b,ry(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=Ty(a,d)|0}d=Sy(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(_j(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=Ty(a,d)|0}return}function Uj(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;h=Sy(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Ex(a,h)|0;while(1){if(!i)break;do if((gk(i)|0)==0?(j=i+-48|0,k=c[(c[(_j(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(hk(i)|0)){if((fk(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(fk(f)|0)==0:0){ik(b,d,k,i);break}jk(b,d,k,i);break}else{f=_j(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=_j(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}ik(b,d,e,i);break}}while(0);i=Gx(a,i)|0}h=Ty(a,h)|0}return}function Vj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((qM(a)|0)!=0?(fk(a)|0)!=0:0){g=Sy(a)|0;while(1){if(!g)break;if(!(Hx(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=bk(b,87157)|0;Rx(b,d,f,0,1)|0}if(!(Ex(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=bk(b,87162)|0;Rx(b,f,e,0,1)|0}g=Ty(a,g)|0}if((e|0)!=0&(d|0)!=0){ek(Rx(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=wA(a)|0;while(1){if(!d)break;Vj(d,b,f,e);d=xA(d)|0}return}function Wj(b){b=b|0;var d=0,e=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=Ty(b,d)|0}d=Sy(b)|0;while(1){if(!d)break;ck(b,d);d=Ty(b,d)|0}return}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=Ty(a,b)|0}b=0;e=Sy(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){ak(a,e,d);b=d}e=Ty(a,e)|0}a:do if((b|0)>1){f=bk(a,87151)|0;d=1;e=Sy(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){Rx(a,f,e,0,1)|0;d=d+1|0}e=Ty(a,e)|0}}while(0);return b|0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=Sy(a)|0;while(1){if(!g)break;h=g+16|0;f=Ex(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=vH((c[b+184>>2]<<2)+8|0)|0;else b=xH(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Gx(a,f)|0}g=Ty(a,g)|0}return}function Zj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=uH((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=Sy(a)|0;while(1){if(!h)break;j=c[(c[(c[(_j(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=Ty(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=Sy(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=Ty(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=Sy(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=Ty(a,f)|0}}while(0);$j(a,f);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){D_(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)D_(f);i=Ty(d,i)|0}D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);f=Sy(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=Ty(a,f)|0}if(j)D_(o);return}function _j(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=_j(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function $j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;$j(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=Sy(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=Ty(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Ex(a,b)|0;while(1){if(!e)break;ak(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break a;ak(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Ix(a,e)|0}}while(0);return}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=az(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=uH(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=uH(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[45977]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[45977]=f;c[b+164>>2]=0;return f|0}function ck(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Ex(b,d)|0;while(1){if(!d)break;e=Gx(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){dk(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}ck(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function dk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;ek(d,e[g+170>>1]|0,c[g+156>>2]|0);dz(a,b)|0;return}function ek(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function fk(a){a=a|0;return (RL(xx(a,87167)|0,0)|0)&255|0}function gk(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function hk(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=kk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function ik(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=Rx(a,b,d,0,0)|0;if(!g){g=Rx(a,d,b,0,0)|0;if(!g){g=Rx(a,b,d,0,1)|0;if(!g){b=ry(b)|0;f=ry(d)|0;c[h>>2]=b;c[h+4>>2]=f;Pw(1,87184,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;ek(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function jk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Hx(a,d)|0;while(1){if(!h){k=6;break}n=Ex(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Ix(a,h)|0}if((k|0)==6){n=c[45978]|0;c[45978]=n+1;c[j>>2]=n;Y0(i,87175,j)|0;i=bk(a,i)|0;n=Rx(a,i,d,0,1)|0;i=Rx(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function lk(a){a=a|0;return (Sy(a)|0)==0|0}function mk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Nj(b,a);Mj(b,a);return}function nk(b){b=b|0;var c=0;b=xx(b,87076)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(b$(b,87086)|0)if(b$(b,87090)|0)if(b$(b,87097)|0)if(b$(b,87101)|0)if(!(b$(b,87081)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function ok(a){a=a|0;var b=0,c=0;c=Sy(a)|0;a:do if(!c)b=0;else{b=_j(c)|0;while(1){c=Ty(a,c)|0;if(!c)break a;pk(b,c)|0}}while(0);return b|0}function pk(a,b){a=a|0;b=b|0;if(b){a=_j(a)|0;c[(c[(_j(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function qk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87135,c[d>>2]|0,1)|0;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87302,c[d+4>>2]|0,1)|0;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87287,c[d+8>>2]|0,1)|0;return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[46423]=nx(b,2,87317,0)|0;k=nx(b,2,87326,0)|0;c[46424]=k;a:do if((k|0)!=0|(c[46423]|0)!=0){k=Sy(b)|0;while(1){if(!k)break a;j=0;d=0;i=Jx(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[46423]|0;do if((f|0)==(k|0)&(g|0)!=0){f=yx(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=uk(m,d,k,i,f)|0;break b}}while(0);f=c[46424]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=yx(i,f)|0,(a[o>>0]|0)!=0):0)e=uk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Kx(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)vk(k,e);e=c[e>>2]|0;if(e|0)D_(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)vk(k,d);d=c[d>>2]|0;if(d|0)D_(d);e=e+1|0}k=Ty(b,k)|0}}while(0);l=p;return}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(b$(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=vH((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=xH(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=ry(e)|0;c[k>>2]=5;c[k+4>>2]=r;Pw(1,87335,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=uH(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){sE(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+wE(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+u$(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+u$(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;NK(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;sE(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function wk(a){a=a|0;var b=0,d=0,e=0;kh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=fh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;ph(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else xh(a,b);return}function xk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;yk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function yk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))yk(d)}else{wk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function zk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=Sy(a)|0;b=0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Gx(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=Ty(a,e)|0}return b|0}function Ak(b){b=b|0;var d=0,e=0,f=0,g=0;e=Sy(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=Ty(b,e)|0}return}function Bk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;Ck(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[15686]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=Sy(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=Ty(a,d)|0}yj(a);e=+Dk(a);h[m>>3]=e;if(0){h[o>>3]=e;g1(n,87387,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}Ek(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}yj(a);Fk(a);Gk();h[m>>3]=+Dk(a);l=q;return}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[45982]=vH((ay(a)|0)*24|0)|0;c[45981]=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=Ty(a,b)|0}i=Sy(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=uH(4)|0;g=c[45982]|0;k=c[45981]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[45981]=k+1}else{g=SL(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[45982]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l>2]=d;break}d=uH(c[b+216>>2]<<2)|0;e=c[45982]|0;f=c[45981]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[45981]=f+1}while(0);i=Ty(a,i)|0}return}function Dk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Fk(a);g=c[45979]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[45980]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d=(ay(a)|0))break;c[(c[45983]|0)+(b<<2)>>2]=b;b=b+1|0}Fk(a);Hk(a);Ik(a);return}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[45979]=0;b=c[45980]|0;if(b|0){e=0;while(1){if((e|0)>=(c[45981]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){D_(d);b=c[45980]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){D_(d);b=c[45980]|0}e=e+1|0}D_(b)}c[45980]=uH((c[45981]|0)*40|0)|0;b=0;while(1){d=c[45981]|0;if((b|0)>=(d|0))break;k=uH(d<<2)|0;c[(c[45980]|0)+(b*40|0)+4>>2]=k;k=uH(c[45981]<<2)|0;l=c[45980]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[45980]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Gx(a,d)|0}e=Ty(a,e)|0}i=c[45981]|0;k=c[45982]|0;l=c[45980]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[45979]|0))c[45979]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Gk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[45979]|0;l=c[45980]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Hk(a){a=a|0;var b=0;b=c[45983]|0;_0(b,ay(a)|0,4,63);return}function Ik(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[45979]|0;k=c[45980]|0;g=c[45983]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){_0(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,64);g=c[45980]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(ph(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[45980]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function Jk(a,b){a=a|0;b=b|0;a=Kk(c[a>>2]|0)|0;b=Kk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=ez(e)|0;e=Ex(g,e)|0;while(1){if(!e)break;e=Gx(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Lk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[45980]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e>2]|0)+216>>2]=0;b=Ty(a,b)|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=xx(a,96579)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(N1(a,87402,e)|0)>=1):0)Pw(0,87409,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Ok(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;il(a);b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Ok(d)|0)==0:0)?(e=d+48|0,f=SL(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=SL(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=fh(f,h)|0;if(!i){ph(f,h,d)|0;break}else{xh(d,i);break}}i=c[d>>2]&3;Qk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function Qk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=uh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=SL(d)|0;d=SL(f)|0;f=$i(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[($i(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Rk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)qa(87498,87520,148,87529);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Sk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Sk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(wj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Uk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;il(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;jl(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=Sy(b)|0;while(1){if(!h)break;g=Ex(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Gx(b,g)|0}h=Ty(b,h)|0}m=Sy(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(SL(m)|0):0){qh(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Ex(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Vk(l)|0){if(!(Tk(d,l)|0)){Wk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Rk(b,l,e,0);lh(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xh(l,d);lh(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){xh(l,d);lh(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(wj(l,d)|0)!=0:0)if(!(a[191874]|0)){Rk(b,l,c[(c[o>>2]|0)+172>>2]|0,1);lh(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){lh(l);d=l;break}e=SL(e)|0;f=SL(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){vh(b,l);d=l;break}if((h|0)>(g|0)){Xk(b,e,f,l);d=l;break}e=Rx(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Xk(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(wj(l,e)|0))break;if(!(a[191874]|0)){lh(l);Rk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Xk(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Gx(b,l)|0}m=Ty(b,m)|0}if((ig(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=vH(4)|0;else d=xH(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Vk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=_k(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=_k(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=fh(f,e)|0;if(h|0){Rk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Xk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);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,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)qa(87541,87520,89,87566);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Yk(a,e)|0;else f=Zk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Ki(ph(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))qa(87577,87520,103,87566);else return}function Yk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=uh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(fz(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Zk(a){a=a|0;var b=0;b=uh(a)|0;Sk(a,b);return b|0}function _k(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=SL(b)|0;return b|0}function $k(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;j=ig(a)|0;h=Sy(a)|0;while(1){if(!h)break;b=Jx(j,h)|0;i=0;while(1){if(!b)break;l=Kx(j,b,h)|0;if(oz(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Tk(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Rk(a,k,b,0);mh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){al(b,e,k);b=l;i=k;continue}else{al(e,b,k);b=l;i=k;continue}b=hh(b,e)|0;if(!b){vh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}mh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}xh(k,b);m=i;b=l;i=m}h=Ty(a,h)|0}return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=bl(a)|0;e=bl(b)|0;cl(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function bl(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function cl(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))qa(87602,87630,81,87640);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=fh(d,e)|0,j|0):0)?wj(f,j)|0:0){xh(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=ig(d)|0;j=g+-48|0;i=dl(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(ph(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=fh(d,e)|0;if(g|0?wj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=ph(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=ph(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;kh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(ph(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;kh(g)}}}while(0);return}function dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;el(a,e,c[b+236>>2]|0,2);b=uh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function el(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function fl(a){a=a|0;var b=0;Uk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Hi(a);mi(a,0);gl(a);$k(a);hl(a);return}function gl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ig(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;el(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=fz(k)|0;sh(d,e);qh(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function hl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;kh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;kh(d);d=c[g>>2]|0}sh(ig(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=Sy(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){UL(f);d=c[e>>2]|0}c[d+212>>2]=0;f=Ty(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=Sy(h)|0;a:while(1){if(!d)break;j=Ty(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=ry(d)|0;g=ry(b)|0;c[n>>2]=f;c[n+4>>2]=g;Pw(0,87649,n)|0;dz(h,d)|0;d=j;continue}VL(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Ex(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(h,g)|0}}k=k+1|0}l=o;return}function jl(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=uH((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=uh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(ph(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=Sy(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Gx(e,f)|0}j=Ty(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function kl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;Bi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;Ci(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Sy(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Ex(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(b,g)|0}h=Ty(b,h)|0}ml(b);return}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;ml(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=Sy(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Ex(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Gx(b,h)|0}i=Ty(b,i)|0}return}function nl(a){a=a|0;var b=0,c=0,d=0;d=tM(a)|0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;ol(b,d);b=Gx(a,b)|0}c=Ty(a,c)|0}yw(d)|0;return} - function yH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=C_(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ka(62,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[15686]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=99176;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;ca(29,j|0,99132,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ha(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=$(27,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ha(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[46441]=(e|0)>-1?e:30;t=D3(185768,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ha(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[15686]|0;m=0;while(1){o=0;j=_(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=$(28,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ja(25,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;aa(91,99176,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;ca(29,a|0,99194,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;ca(29,a|0,99194,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ha(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ha(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ha(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[46481]|0;g=c[46482]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=99176;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;ca(29,a|0,99198,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);D_(t|0);l=u;return f|0}function zH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function AH(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[46484]=b;c[46491]=0;c[46482]=0;c[46481]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[46481]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[46482]=k;b=b+1|0;f=k}b=g+164|0}b=c[46492]|0;if(!b)b=vH(h<<2)|0;else b=xH(b,h<<2)|0;c[46492]=b;c[46493]=0;b=c[46486]|0;if(!b)b=vH(c[46481]<<2)|0;else b=xH(b,c[46481]<<2)|0;c[46486]=b;c[46485]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=uH((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=uH(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function BH(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=GL(c[46481]|0)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){IL(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=JL(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){IL(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[46481]|0)){Pw(1,99530,k)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=ry(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;Pw(3,99552,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);HL(m);l=o;return}function CH(){var b=0,d=0,e=0;b=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function DH(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=uH(c[46481]<<2)|0;e=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=QH(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=RH(f,e)|0;while(1){if((SH(a)|0)<=1)break;WH(a,c[(VH(UH(TH(a)|0)|0)|0)+8>>2]|0)}D_(a);a=0;while(1){if((a|0)>=(e|0))break;D_(c[f+(a<<2)>>2]|0);a=a+1|0}D_(f);if((c[46485]|0)==((c[46481]|0)+-1|0)){XH();return}else qa(99275,99305,523,99310)}function EH(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[46491]|0;f=c[46485]|0;j=c[46486]|0;k=c[46441]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[46491]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[46491]=f}return a|0}function FH(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[46487]=0;c[46488]=2147483647;d=c[a+16>>2]|0;c[46489]=c[d+284>>2];c[46490]=c[d+288>>2];if(b)PH(a);else OH(a);return c[46487]|0}function GH(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){KH(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){KH(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){KH(h,g);break}else{KH(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=LH(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((LH(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;MH(a,b);n=c[g+16>>2]|0;NH(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{Pw(1,99236,n)|0;bb(185768,1)}}function HH(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;JH();m=uH((c[46483]<<2)+4|0)|0;d=c[46483]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[46484]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[46483]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){D_(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}D_(m);return}function IH(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[46485]|0))break;a=c[(c[46486]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=FH(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){KH(g,f>>>1);break}else{KH(a,(f|0)/-2|0);break}}while(0);b=b+1|0}CH();return}function JH(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[46483]=-2147483647;b=(c[(c[46484]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[46483]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[46483]=f-g;c[h>>2]=0}l=i;return}function KH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function LH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function MH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[46486]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function NH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function OH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))OH(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){OH(b);a=c[i>>2]|0}d=d+1|0}return}function PH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))PH(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){PH(b);a=c[i>>2]|0}d=d+1|0}return}function QH(a){a=a|0;var b=0;b=uH(16)|0;c[b>>2]=a;c[b+4>>2]=eI(a,b)|0;c[b+12>>2]=b;return b|0}function RH(a,b){a=a|0;b=b|0;var d=0,e=0;e=uH(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;WH(e,d);d=d+-1|0}return e|0}function SH(a){a=a|0;return c[a+4>>2]|0}function TH(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;WH(a,0);return b|0}function UH(a){a=a|0;return dI(c[a>>2]|0,0,0)|0}function VH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)qa(99324,99305,463,99338);g=a+48|0;d=$H(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=$H(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)aI(c[d>>2]|0,0,b);else aI(c[f>>2]|0,0,0-b|0);bI(a);return cI(d,f)|0}function WH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function XH(){NH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0,1)|0;YH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0);return}function YH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))YH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){YH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)ZH(b);return}function ZH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(_H(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(_H(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function _H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function $H(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function bI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){Pw(1,99427,h)|0;bb(185768,1)}g=c[46485]|0;c[d>>2]=g;d=c[46486]|0;c[46485]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){Pw(1,99461,h+8|0)|0;bb(185768,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){Pw(1,99496,h+16|0)|0;bb(185768,1)}else{l=h;return}}function cI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else qa(99350,99305,327,99397);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else qa(99408,99305,335,99397)}else i=a;return i|0}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$H(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=dI(h,a,d)|0}else if(($H(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=dI(i,a,d)|0}else if(($H(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function eI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){bI(g);a=(eI(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){bI(f);a=(eI(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,99560)|0;if(!d)d=30;else d=a2(d)|0;return yH(a,b,c,d)|0}function gI(a){a=+a;return +((c[46369]|0)==0?a:+h[22916]-a)}function hI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[46494]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];iI(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];jI(e,99571,+h[b+352>>3]);jI(e,99578,t*.013888888888888888);jI(e,99578,s*.013888888888888888);kI(e);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){lI(e,99580,JA(ry(i)|0)|0);p=(c[g>>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];mI(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=ez(i)|0;b=nI(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=JA(yx(i,c[46384]|0)|0)|0;jI(e,99578,+h[(c[g>>2]|0)+32>>3]);jI(e,99578,+h[(c[g>>2]|0)+40>>3]);lI(e,99578,b);lI(e,99578,OL(i,c[46387]|0,108041)|0);lI(e,99578,c[c[(c[g>>2]|0)+8>>2]>>2]|0);lI(e,99578,OL(i,c[46378]|0,134232)|0);b=OL(i,c[46379]|0,191979)|0;if(!(a[b>>0]|0))b=OL(i,c[46378]|0,131718)|0;lI(e,99578,b);kI(e)}i=Ty(d,i)|0}o=f<<24>>24==0;n=Sy(d)|0;while(1){if(!n)break;m=Ex(d,n)|0;while(1){if(!m)break;if(o){f=191979;j=191979}else{j=xx(m,108373)|0;f=xx(m,108382)|0;f=f|0?f:191979;j=j|0?j:191979}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}lI(e,0,108368);oI(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);oI(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);pI(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<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];mI(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=ez(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;lI(e,99578,nI(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|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];mI(e,q)}lI(e,99578,OL(m,c[46415]|0,108041)|0);lI(e,99578,OL(m,c[46406]|0,134232)|0);kI(e);m=Gx(d,m)|0}n=Ty(d,n)|0}qI(99586,e);l=r;return}function iI(a){a=a|0;var b=0.0;if(c[46369]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[22916]=b;h[22917]=b*.013888888888888888}return}function jI(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)qI(b,a);h[e>>3]=c;Y0(d,99592,e)|0;qI(d,a);l=f;return}function kI(b){b=b|0;a[191875]=10;lb[c[46494]&127](b,191875)|0;return}function lI(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)qI(b,a);qI(c,a);return}function mI(a,b){a=a|0;b=b|0;var d=0.0;jI(a,99578,+h[b>>3]*.013888888888888888);if(!(c[46369]|0))d=+h[b+8>>3];else d=+h[22916]-+h[b+8>>3];jI(a,99578,d*.013888888888888888);return}function nI(a,b){a=a|0;b=b|0;var c=0;c=Oz(a,b)|0;b=JA(c)|0;Qz(a,c)|0;return b|0}function oI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=JA(ry(d)|0)|0;else{f=ez(d)|0;d=nI(f,(A$(ry(d)|0,58)|0)+1|0)|0}lI(b,99578,d);if(e|0?a[e>>0]|0:0)lI(b,104958,JA(e)|0);return}function pI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;qI(99578,a);c[f>>2]=b;Y0(e,134313,f)|0;qI(e,a);l=d;return}function qI(a,b){a=a|0;b=b|0;lb[c[46494]&127](b,a)|0;return}function rI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;CG(1);iI(d);Tw(H,1024,Y+240|0);LM(d,1,99597,191979)|0;LM(d,1,99601,191979)|0;c[46376]=LM(d,1,138034,191979)|0;c[46375]=LM(d,1,137966,191979)|0;LM(d,2,99597,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){LM(d,1,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){LM(d,2,99611,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){LM(d,2,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){LM(d,2,99614,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){LM(d,2,99622,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=LM(d,0,99611,191979)|0;w=LM(d,0,99630,191979)|0;v=LM(d,0,99637,191979)|0}z=LM(d,0,99645,191979)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=Sy(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[46369]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;Y0(G,99648,J)|0;Ww(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;Y0(G,99663,Q)|0;Ww(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;zx(y,99597,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;Y0(G,99669,X)|0;zx(y,99597,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;Y0(G,99592,K)|0;rx(s,c[46375]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;Y0(G,99592,L)|0;rx(s,c[46376]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;Y0(G,99669,M)|0;zx(s,99607,G)|0;j=c[t>>2]|0}if(b$(c[c[j+8>>2]>>2]|0,103194)|0){if(c[46400]|0?(UJ(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=xx(s,99679)|0;if(!j)j=8;else j=a2(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[46369]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[22917]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;Y0(G,99692,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[46369]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[22917]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;Y0(G,99692,O)|0}Ww(H,G)|0;n=n+1|0}k=c[46400]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;rx(s,k,t)|0}}else{sI(y,c[j+12>>2]|0,H);Yw(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;zx(s,99601,t)|0}a:do if((c[46367]|0)>0){t=Ex(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[22916]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;Y0(G,99702,P)|0;Ww(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[22916]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;Y0(G,99715,R)|0;Ww(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;Y0(G,99669,S)|0;Ww(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;zx(t,99597,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;Y0(G,99669,T)|0;zx(t,99611,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;Y0(G,99669,U)|0;zx(t,99607,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;Y0(G,99669,V)|0;zx(t,99614,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;Y0(G,99669,W)|0;zx(t,99622,G)|0}while(0);t=Gx(d,t)|0}}else j=u;while(0);u=j;y=Ty(d,y)|0}tI(d,z,x,w,v);Xw(H);if(b[(c[I>>2]|0)+136>>1]&1)FM(d);c[f>>2]=i;c[g>>2]=u;CG(0);l=Y;return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[46369]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[22916]-+h[b+24>>3]-g;g=+h[22916]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;Y0(j,99753,k)|0;Ww(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;sI(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function tI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[46369]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[22916];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;Y0(n,99728,j)|0;rx(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[46369]|0)==0?t:+h[22916]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;Y0(n,99669,p)|0;rx(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;Y0(n,99748,q)|0;rx(b,f,n)|0;h[o>>3]=t*.013888888888888888;Y0(n,99748,o)|0;rx(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;tI(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function uI(a){a=a|0;var b=0;b=l;l=l+16|0;rI(a,b,b+4|0);l=b;return}function vI(){return Cw(20636,c[4555]|0)|0}function wI(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function xI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function yI(a){a=a|0;yw(a)|0;return}function zI(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=AI(e)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=d;return}function AI(a){a=a|0;var b=0,d=0,e=0;b=uH(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function BI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=AI(f)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=e;return}function CI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(nb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function DI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(nb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function EI(a){a=a|0;return Ew(a)|0}function FI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH((Ew(a)|0)<<3)|0;b=d;a=Aw(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function GI(){var a=0,b=0,d=0,e=0;a=vH(40)|0;b=a;d=20672;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Cw(a,c[4555]|0)|0}function HI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=vH(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function JI(a){a=a|0;nb[c[a>>2]&63](a,0,64)|0;return}function KI(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;yw(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;D_(a);a=d}D_(b);return}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(nb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function MI(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){NI(j,e,i);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];OI(d,q);p=d+16|0;NI(k,g,f);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];OI(m,q);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]}else{NI(n,e,f);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];OI(d,q);n=d+16|0;NI(o,g,i);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];OI(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+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];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];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|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];OI(r,q);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];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;MI(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function NI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[46495]|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];ZG(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[22918];e=b+8|0;h[e>>3]=+h[e>>3]-+h[22919];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function PI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=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;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[46495]=m&3;m=m&1;a[191877]=m;if(!(m<<24>>24))RI(b);else QI(b);SI(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[191877]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[46495]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[46495]|0){case 0:{q=m+16|0;c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}case 1:{NI(o,-+h[m+40>>3],+h[m+16>>3]);c[45836]=c[o>>2];c[45837]=c[o+4>>2];c[45838]=c[o+8>>2];c[45839]=c[o+12>>2];break}case 2:{NI(p,+h[m+16>>3],-+h[m+40>>3]);c[45836]=c[p>>2];c[45837]=c[p+4>>2];c[45838]=c[p+8>>2];c[45839]=c[p+12>>2];break}case 3:{NI(q,+h[m+24>>3],+h[m+16>>3]);c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}default:{}}TI(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){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];UI(b,s)}if(!0){l=w;return}if(!(a[191877]|0)){n=+h[22919];k=+h[22918];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;Y0(s,99989,v)|0}else{k=+h[22918];n=+h[22919];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;Y0(s,99774,u)|0}n1(s)|0;ab()}function QI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((fz(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;QI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function RI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((fz(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;RI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function SI(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[46368]|0)!=0:0)){u=g<<16>>16==0;n=Sy(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Ex(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=WI(e)|0;t=j+i|0;if(t|0){q=h+j+o+(ay(e)|0)|0;r=uH(q*40|0)|0;s=uH(t*40|0)|0;NI(M,2147483647.0,2147483647.0);g=M+16|0;NI(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=Sy(e)|0;while(1){if(!n)break;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];XI(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|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];ZI(h,i,g,0,L);g=g+40|0;break}else{i=i+40|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];YI(D,h,i,L);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[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Ex(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(F,e,m);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];ZI(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];Pw(0,100801,H)|0;break a}else{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];YI(E,j,i,L);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];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){_I(w,m);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];ZI(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];Pw(0,100836,I)|0;break b}else{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];YI(G,j,i,L);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[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$I(y,m);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];ZI(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];Pw(0,100876,J)|0;break b}else{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];YI(x,j,i,L);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];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(A,e,m);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];ZI(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];Pw(0,100916,K)|0;break b}else{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];YI(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0}if(o|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[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));aJ(N,e,L);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]}a[O+32>>0]=PL(e,nx(e,0,100952,0)|0,1)|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];SP(r,q,s,t,O)|0;if(0)bJ(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;cJ(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];kM(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;Pw(0,100997,R)|0}}else{R=c[15686]|0;c[Q>>2]=f;c[Q+4>>2]=t;g1(R,100964,Q)|0}D_(r);D_(s)}}l=S;return}function TI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[22918]!=0.0|+h[22919]!=0.0|(c[46495]|0)!=0){d=Sy(a)|0;while(1){if(!d)break;if(c[46495]|0)bN(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[46367]|0)==1){b=Ex(a,d)|0;while(1){if(!b)break a;VI(b);b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}MI(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function UI(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function VI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[191874]|0)==0?(a[d+112>>0]|0)!=6:0){q=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;Pw(1,100784,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|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];OI(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|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];OI(n,q);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[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|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];OI(o,q);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];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(r,q);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]}}l=s;return}function WI(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((fz(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(WI(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function XI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function YI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|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];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function ZI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[191877]|0)){g=b+24|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]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function _I(a,b){a=a|0;b=b|0;b=fL(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>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];break}else{b=b+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];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function $I(a,b){a=a|0;b=b|0;var d=0;b=fL(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|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];break}else{d=d+(b*48|0)+32|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];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function aJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));aJ(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((fz(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=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];YI(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function bJ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15686]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;g1(q,101039,o)|0;a:do if(0>=2){E1(101099,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=191979;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;g1(q,101108,p)|0;o=o+1|0;a=a+40|0}E1(101151,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;g1(q,101160,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function cJ(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function dJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+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];l=e;return}function eJ(a){a=a|0;PI(a,1);return}function fJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=ZL(xx(a,102500)|0)|0;if(b){b=gJ(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=uH(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=ry(a)|0;Pw(0,101208,d)|0}l=e;return}function gJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[46496]|0;if(!d){d=Cw(20708,c[4555]|0)|0;c[46496]=d}d=nb[c[d>>2]&63](d,b,512)|0;do if(!d){g=L1(b,135739)|0;if(!g){c[e>>2]=b;Pw(0,101257,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(O0(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(N1(f,101285,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(P0(f,101314)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;Pw(0,101319,i)|0;d=0}else f=12;if((f|0)==12){q=vH(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[46497]|0;c[46497]=o+1;c[q+12>>2]=o;J1(j3(g)|0,j)|0;o=c[j+36>>2]|0;n=vH(o+1|0)|0;c[q+52>>2]=n;Z1(g,0,0)|0;g3(n,o,1,g)|0;a[n+o>>0]=0;o=c[46496]|0;nb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}s1(g)|0}while(0);l=p;return d|0}function hJ(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+52>>2]|0);return}function iJ(a){a=a|0;D_(c[(c[a+16>>2]|0)+12>>2]|0);return}function jJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;$B(b,f)|0;$B(b,150517)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=ZL(f)|0;if(!e){c[k>>2]=f;Pw(0,101358,k)|0;break}g=L1(e,135739)|0;if(!g){c[m>>2]=e;Pw(0,101386,m)|0;break}while(1){f=YL(g)|0;if(!f)break;$B(b,f)|0}$B(b,150517)|0;s1(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function kJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((V$(e,101414,3)|0)!=0?(V$(e,101418,5)|0)!=0:0)?(V$(e,101424,3)|0)!=0:0)?(V$(e,101428,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}aC(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;aC(b,10)|0}return}function lJ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[46496]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];fC(b,101436,e);$B(b,101454)|0;kJ(b,d);$B(b,101472)|0;$B(b,101487)|0}g=c[46496]|0;d=nb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function mJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=SM(b)|0;break}default:{switch(nJ(b)|0){case 2:break;case 1:{f=SM(b)|0;break a}default:{f=b;break a}}if(!(c[46498]|0)){Pw(0,101499,e)|0;c[46498]=1;f=b}else f=b}}while(0);if(!(c[46499]|0))Tw(185996,0,0);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=92;break}default:{}}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}h=a[e>>0]|0;c[46500]=d+1;a[d>>0]=h;e=e+1|0}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=41;if((f|0)!=(b|0))D_(f);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}a[d>>0]=0;h=c[46499]|0;c[46500]=h;l=g;return h|0}function nJ(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function oJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((TU(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[46504]|0;if((a|0)>(c[46503]|0)){if(!f)a=vH(a<<5)|0;else a=xH(f,a<<5)|0;c[46504]=a;g=c[b>>2]|0;c[46503]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|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];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<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];a=d}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;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((xU(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];oV(i,m)}a=m+4|0;if(!(pJ(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[46505]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|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];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function pJ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46506]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=xH(c[46505]|0,a<<4)|0;c[46505]=b;if(!b){Pw(1,101589,d)|0;a=1;break}else{c[46506]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function qJ(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+1;do if((d|0)<=0){d=vH(4800)|0;c[46505]=d;if(!d){Pw(1,101612,a)|0;a=1;break}c[46506]=300;c[46508]=0;c[46509]=0;if(0){EL();a=0}else a=0}else a=0;while(0);l=b;return a|0}function rJ(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+-1;if((d|0)<=1?(D_(c[46505]|0),0):0){d=c[15686]|0;g=c[46508]|0;f=c[46509]|0;e=+FL();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;g1(d,101650,a)|0}l=b;return}function sJ(a,b){a=a|0;b=b|0;return tJ(a,b,0)|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[46508]=(c[46508]|0)+1;H=c[b+80>>2]|0;c[46509]=(c[46509]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){Pw(1,101693,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(uJ(H,B,b)|0)){g=H<<3;if((g|0)>(c[46510]|0)){f=c[46511]|0;if(!f)f=vH(H<<7)|0;else f=xH(f,H<<7)|0;c[46511]=f;c[46510]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=ry(f)|0;Pw(1,101800,i)|0;f=0;break}o=H+-1|0;q=c[46511]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;Pw(1,101735,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;Pw(1,101735,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((TU(t,u,I)|0)<0){Pw(1,101839,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[46504]|0;if((g|0)>(c[46503]|0)){if(!f)f=vH(g<<5)|0;else f=xH(f,g<<5)|0;c[46504]=f;g=c[i>>2]|0;c[46503]=g}j=c[46511]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|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];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;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];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((xU(f,g,G,w,y)|0)<0){Pw(1,101878,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,y)}n=y+4|0;if(!(pJ(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[46505]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<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];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;vJ(B,H,c[46505]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=ry(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=ry(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;Pw(0,101916,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,J);vJ(B,H,c[J>>2]|0,c[J+4>>2]|0,10);D_(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[46505]|0}else f=0}else f=0}while(0);l=L;return f|0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[15686]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;g1(M,102116,I)|0;wJ(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=xJ(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=xJ(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;Pw(1,102070,H)|0;wJ(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){E1(102159,42,1,M)|0;wJ(d);g=+h[b>>3];f=+h[d>>3]}if(f>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){E1(102202,39,1,M)|0;wJ(d);g=+h[e>>3];f=+h[i>>3]}if(f>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){Pw(1,102025,k)|0;wJ(d);e=1}l=R;return e|0}function vJ(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,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]>3]=m}f=f+1|0}g=g+1|0}}return}function wJ(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15686]|0;f=b+80|0;c[g>>2]=c[f>>2];g1(e,102242,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;g1(e,102253,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?102284:102296;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;g1(e,102312,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?102284:102296;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;g1(e,102363,j)|0;l=m;return}function xJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function yJ(a,b){a=a|0;b=b|0;return tJ(a,b,1)|0}function zJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=uH(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}AJ(a,g,i,d,e);if((i|0)>20)D_(g);l=j;return}function AJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.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.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+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];BJ(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[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[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];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];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];BJ(y,z,A);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];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[191874]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[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];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|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];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<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];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<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];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];oV(A,B);QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);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[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){CJ(i,b);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];DJ(G,A)}QK(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);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[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,j,z,A)}while(0);l=K;return}function BJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function CJ(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[22920]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[22921]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[45840];c[a+4>>2]=c[45841];c[a+8>>2]=c[45842];c[a+12>>2]=c[45843];return}function DJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function EJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.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,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)FJ(a,b,d,f);else{D=uH((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|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];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|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[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o=(d|0))break;g=b+(i<<4)|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];if((i|0)<(p|0)){g=b+(i+1<<4)|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]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){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];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(y,m*.5,s,t);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]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;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];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(z,m,s,t);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];g=e+3|0;G=D+(e+2<<4)|0;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];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;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];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(v,1.0-m*.5,s,t);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];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|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];e=D+(e+2<<4)|0;k=D+32|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];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=uH(192)|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];p=G+16|0;t=b+16|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];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|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];k=G+176|0;b=b+48|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];_O(a,G,12,f);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];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;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];bP(a,B,4);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];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;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];bP(a,B,4);D_(G);break}else qa(102412,102423,737,102432)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=uH(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=uH(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=uH(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;_O(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=vH((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|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];G=i+(j<<4)|0;B=D+((b|1)<<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];G=i+(g+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];G=i+(g+3<<4)|0;B=D+((b|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];G=i+(g+4<<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];G=i+(g+5<<4)|0;b=D+((b|3)<<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];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];aP(a,G,j,0,0,f&255);D_(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}_O(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|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];G=D+(G+4<<4)|0;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];bP(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=uH(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<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];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|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];d=i+(d<<4)|0;G=D+(b+-1<<4)|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];_O(a,i,g,f);D_(i);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];G=B+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];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];bP(a,G,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];bP(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-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];e=e+1|0}_O(a,i,g,f);D_(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|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];bP(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=uH(96)|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];d=G+16|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];d=G+32|0;A=D+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];d=G+48|0;b=b+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];b=G+64|0;d=D+128|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];b=G+80|0;z=D+160|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];_O(a,G,6,f);D_(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+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];bP(a,B,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];bP(a,B,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];bP(a,B,2);break}else qa(102412,102423,714,102432)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<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];e=e+1|0}_O(a,i,g,f);D_(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=uH(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;_O(a,w,d,f);D_(w);G=uH(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=uH(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);y=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;_O(a,y,d,f);D_(y);y=uH(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);G=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;_O(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;bP(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 268435456:break;default:break a}G=uH(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];_O(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;bP(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;bP(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;bP(a,B,2);D_(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=uH(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;_O(a,y,d,f);D_(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+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];bP(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;bP(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;bP(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=uH(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;_O(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=uH(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;_O(a,G,x,f);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];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];_O(a,G,d,f);D_(G);break}}while(0);D_(D)}l=E;return}function FJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*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];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];aP(a,b,d,0,0,e&255);aP(a,g,7,0,0,0);l=f;return}function GJ(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function HJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=89)if((a|0)==92)a=2;else return ((a|0)==91?3:(a|0)==94?4:0)|0;else a=1}else a=0;return a|0}function IJ(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=uH(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1616;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(QL(xx(b,102485)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+SJ(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=KL(b,c[46390]|0,d,0)|0;V=+LL(b,c[46392]|0,0.0,-360.0)+m;if(!e){U=+LL(b,c[46393]|0,0.0,-100.0);I=KL(b,c[46389]|0,4,0)|0;T=+LL(b,c[46394]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=xx(b,102470)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=N1(d,102477,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(ez(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+TJ(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+TJ(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=xx(b,105999)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){CC(A,ez(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[G>>2]=e;c[G+4>>2]=d;Pw(0,102561,G)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(b$(d,102493)|0)==0:0){e=xx(b,102500)|0;CC(D,ez(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[H>>2]=e|0?e:102510;c[H+4>>2]=d;Pw(0,102516,H)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=xx(b,102602)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];ub[p&63](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=NL(b,c[46395]|0,134226)|0;if((a[g>>0]|0)==115?(b$(g,105204)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((QL(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=ry(b)|0;M=ry(ez(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;Pw(0,102611,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((QL(NL(b,c[46386]|0,134226)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P1;g=j?W:1;a:do if((e|0)<3){g=uH(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=uH(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+u$(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;w$((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;w$(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;w$(+K(+o,+x)+v,R,S);x=+u$(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{ub[c[i+4>>2]&63](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);w$(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function JJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[46512]=f;f=W_(f)|0;f=uH(((f|0)>1?f:1)+1|0)|0;b=LJ(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];Pw(1,102446,e)|0;c[46512]=102467;b=LJ(a,d,1,f)|0}D_(f);MJ(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((QL(NL(a,c[46395]|0,134226)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(QL(NL(a,c[46386]|0,134226)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];NJ(b,j,a);OJ(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];PJ(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function KJ(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=uH(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+LL(a,c[46376]|0,1797693134862315708145274.0e284,0.0);b=+LL(a,c[46375]|0,1797693134862315708145274.0e284,0.0);f=f0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=KL(a,c[46390]|0,g,0)|0;i=uH((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function LJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=uH(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[46512]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=uH(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[46512]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[46512]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[46512]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=LJ(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=n1(f)|0;c[46512]=(c[46512]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[46512]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=uH(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=n1(f)|0;c[k+52>>2]=kH(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[46512]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[46512]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[46512]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[46512]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[46512]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[46512]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){QJ(g,r);g=0}else if((E|0)==27){QJ(g,r);g=0}else if((E|0)==34){QJ(g,r);g=0}else if((E|0)==36){QJ(g,r);g=0}else if((E|0)==38){QJ(g,r);g=0}else if((E|0)==51){c[46512]=i+1;c[g+48>>2]=m}else if((E|0)==59){QJ(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function MJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;MJ(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=xx(d,102470)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=N1(j,102477,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(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];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];l=u;return}function NJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+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];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))OJ(p,q,+h[b+8>>3]+ +(d|0));else OJ(p,+h[b>>3]+ +(d|0),r);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];NJ(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function OJ(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function PJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];OJ(n,s,r-+h[b+8>>3]);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];k=b+32|0;OJ(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];PJ(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function QJ(a,b){a=a|0;b=b|0;RJ(a);D_(b);return}function RJ(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;RJ(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}D_(c[a+60>>2]|0);nH(c[a+52>>2]|0);D_(c[e>>2]|0);D_(a);return}function SJ(a){a=a|0;var b=0.0,d=0.0;d=+LL(a,c[46376]|0,0.0,.01);b=+LL(a,c[46375]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function TJ(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==89&1;return a|0}function VJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[46513]|0;a:do if(!f)d=0;else{g=c[46514]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(b$(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function WJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(ZL(xx(d,102500)|0)|0)if((a[b>>0]|0)==101?(b$(b,102659)|0)==0:0){d=101;g=6}else{b=102493;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(b$(b,102493)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=20744;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(b$(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=XJ(b)|0;return b|0}function XJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=VJ(b)|0;if(!d){f=c[46514]|0;d=f+1|0;c[46514]=d;e=c[46513]|0;if(!e)d=vH(d<<2)|0;else d=xH(e,d<<2)|0;c[46513]=d;d=uH(16)|0;c[(c[46513]|0)+(f<<2)>>2]=d;c[d>>2]=c[5186];c[d+4>>2]=c[5187];c[d+8>>2]=c[5188];c[d+12>>2]=c[5189];e=n1(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(b$(b,102493)|0)==0:0){e=1;break}c[g>>2]=c[5186];c[g+4>>2]=e;Pw(0,102664,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function YJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function ZJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function _J(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){D_(c[a+44>>2]|0);D_(a)}return}function $J(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4208;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?103330:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=_Q(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(nK(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=ry(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;Pw(0,103332,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1664)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(nK(d,0,g,e,c[n>>2]|0,h)|0)oK(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function aK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[46517]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];ZG(f,n,i);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];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[46517]|0)){f=c[46518]|0;g=c[46520]|0;i=c[46519]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[46521]=g;i=c[g+44>>2]|0;c[46519]=i;f=c[g+8>>2]|0;c[46518]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[46520]=g;c[46517]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<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];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;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[p>>2]=c[45844];c[p+4>>2]=c[45845];c[p+8>>2]=c[45846];c[p+12>>2]=c[45847];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];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];b=b+((mK(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function bK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=bR(b,d,0,f,g)|0;else b=0;return b|0}function cK(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.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;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){PO(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[46515]|0)<(K|0)){i=K+5|0;c[46515]=i;j=c[46516]|0;if(!j)i=vH(i<<4)|0;else i=xH(j,i<<4)|0;c[46516]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=dK(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=OL(f,0,103230)|0;UO(e,s);WO(e,OL(f,0,103238)|0);j=0;i=1;break}if(i&8|0){s=OL(f,0,103246)|0;UO(e,s);WO(e,OL(f,0,103254)|0);j=0;i=1;break}if(i&4|0){s=OL(f,0,103262)|0;UO(e,s);WO(e,OL(f,0,103270)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=eK(f)|0;i=1}else{j=eK(f)|0;if(!((uG(j,L,n)|0)<<24>>24)){WO(e,j);i=1}else{WO(e,c[L>>2]|0);i=c[L+4>>2]|0;m=KL(f,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(e,134232,m,k);else XO(e,i,m,k);i=(D&2)>>>1|2}}s=fK(e,f)|0}else{s=OL(f,0,103214)|0;UO(e,s);WO(e,OL(f,0,103222)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(b$(m,102493)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{UO(e,134297);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,o,j)|0)>1){c[z>>2]=ry(f)|0;Pw(3,103278,z)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(!y)gK(e,f)}else{if(!x){if((t|0)==0?(WE(e,o,j,1)|0)>1:0){c[A>>2]=ry(f)|0;Pw(3,103278,A)|0}_O(e,c[46516]|0,K,0);break}if(!p){UO(e,134297);_O(e,c[46516]|0,K,i&255);UO(e,s);bP(e,(c[46516]|0)+32|0,2);break}i=i&255;if(q){_O(e,o,K,i);break}else{EJ(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=xx(f,105999)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(b$(m,102493)|0)==0:0){m=xx(f,102500)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,n,j)|0)>1){c[G>>2]=ry(f)|0;Pw(3,103278,G)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(y)break;gK(e,f);break}if(x)if(!(D&12)){_O(e,n,K,m);break}else{EJ(e,n,K,D,m);break}else{if((WE(e,n,j,1)|0)>1){c[H>>2]=ry(f)|0;Pw(3,103278,H)|0}_O(e,c[46516]|0,K,0);break}}while(0);R=c[46516]|0;dP(e,o,R,K,i,NL(f,c[46396]|0,134226)|0)}D_(c[L>>2]|0);oH(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)PO(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);QO(e)}l=P;return}function dK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=jK(d,f)|0;if(e|0)YO(b,e);e=c[46402]|0;if((e|0?(g=yx(d,e)|0,g|0):0)?a[g>>0]|0:0)fP(b,+LL(d,c[46402]|0,1.0,0.0));l=h;return c[f>>2]|0}function eK(a){a=a|0;return iK(a,131718)|0}function fK(b,d){b=b|0;d=d|0;d=OL(d,c[46378]|0,191979)|0;d=a[d>>0]|0?d:134232;UO(b,d);return d|0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];hK(g,k,j);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=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;bP(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;bP(a,e,2);l=d;return}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function iK(b,d){b=b|0;d=d|0;var e=0;e=OL(b,c[46379]|0,191979)|0;if(!(a[e>>0]|0)){e=OL(b,c[46378]|0,191979)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function jK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=OL(b,c[46387]|0,191979)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=AF(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(b$(f,108075)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(b$(f,103290)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(b$(f,103308)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(b$(f,103298)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(b$(f,131253)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((b$(f,103315)|0)==0?kK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((b$(f,103323)|0)==0?lK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function kK(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function lK(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function mK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function nK(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];OJ(m,(q+k)*.5,(r+t)*.5);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];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{pK(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(A,i,-u,j);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]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(n,i,-u,u);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]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;pK(o,i,u,u);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]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{pK(p,i,s,-u);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]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(v,i,u,j);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]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(w,i,u,u);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]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{pK(x,i,u,-u);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]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)*90|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];YG(D,B,H);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(!(f<<24>>24))g=qK(g,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+rK(j,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function oK(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=ry(a)|0;c[e+4>>2]=b;Pw(0,103393,e)|0;l=d;return}function pK(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){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];YG(m,g,i*90|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]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=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[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];MK(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];ZG(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function qK(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function rK(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function sK(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|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];ZG(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function tK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){PO(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;g1(g,103424,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+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];oH(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)PO(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);QO(a)}}l=n;return}function uK(a){a=a|0;RJ(c[(c[a+16>>2]|0)+12>>2]|0);return}function vK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4208;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?103330:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=BK(i,f)|0;if(!j){if(nK(e,i+16|0,h,f,15,0)|0)oK(e,f)}else if(nK(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=ry(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;Pw(0,103332,k)|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))}l=m;return}function wK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(ez(a)|0)+16>>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];ZG(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function xK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];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];_G(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function yK(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|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[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)PO(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=dK(d,e)|0;fK(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=eK(e)|0;if(!((uG(i,s,n)|0)<<24>>24)){WO(d,i);i=1}else{WO(d,c[s>>2]|0);i=c[s+4>>2]|0;j=KL(e,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(d,134232,j,k);else XO(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(b$(j,103201)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];$O(d,n,i)}else{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];p=r+32|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[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];EJ(d,r,4,f,i)}zK(d,e,o);D_(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)PO(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);QO(d)}l=w;return}function zK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|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[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];AK(g,o,p);f=d+16|0;m=(c[f>>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[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];hK(i,o,p);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];oH(b,10,c[j>>2]|0);fK(b,d)|0}k=(c[f>>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];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|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];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];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];hK(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];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[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];hK(t,o,p);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];bP(b,q,2)}zK(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function BK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(b$(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=BK(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function CK(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;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 DK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|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];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|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[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|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];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[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];return}function EK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];ZG(g,u,o);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];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[46522]|0)){d=+h[22924];e=+h[22925];i=+h[22926]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[46523]=b;c[46524]=c[b+44>>2];c[46525]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?183416:183424)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?183424:183416)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{jM(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?183416:183424)>>3]=i;h[(o?183424:183416)>>3]=f}d=+h[22927];if(d==0.0){h[22927]=1.0;d=1.0}e=+h[22928];if(e==0.0){h[22928]=1.0;e=1.0}d=i/d;h[22924]=d;e=f/e;h[22925]=e;i=i*.5;h[22926]=i;h[22929]=f*.5;o=O((c[(c[46523]|0)+4>>2]|0)+-1|0,c[46525]|0)|0;c[46526]=(o|0)>0?o:0;c[46522]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[22929],!(e>p)):0){o=c[46525]|0;if((o|0)<3){a=+u$(f/i,d/p)<1.0;break}b=(c[46527]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[46524]|0;m=c[46526]|0;n=k+(m+b<<4)|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];n=k+(m+a<<4)|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[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];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];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];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(mK(s,v,t,u)|0){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];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[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[u>>2]=c[45860];c[u+4>>2]=c[45861];c[u+8>>2]=c[45862];c[u+12>>2]=c[45863];n=(mK(s,v,t,u)|0)!=0;if(n?(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],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[t>>2]=c[45860],c[t+4>>2]=c[45861],c[t+8>>2]=c[45862],c[t+12>>2]=c[45863],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],(mK(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;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];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];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];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(!(mK(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[46527]=g;a=0;break}else if((b|0)==31){c[46527]=j;a=1;break}}else a=0}else a=0}else{c[46522]=0;a=0}while(0);l=x;return a&1|0}function FK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|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];ZG(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[46530]|0))d=+h[22932];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[22932]=d;c[46530]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+u$(g,e)<=d&1}else{c[46530]=0;a=0}l=j;return a|0}function GK(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){PO(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[46528]|0)<(p|0)){g=p+2|0;c[46528]=g;i=c[46529]|0;if(!i)g=vH(g<<4)|0;else g=xH(i,g<<4)|0;c[46529]=g}jK(f,j)|0;if(!(c[j>>2]&32))YO(e,21916);else YO(e,21912);g=c[46402]|0;if(g|0)fP(e,+LL(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){UO(e,OL(f,0,103230)|0);g=OL(f,0,103238)|0;WO(e,g);break}if(g&8|0){UO(e,OL(f,0,103246)|0);g=OL(f,0,103254)|0;WO(e,g);break}if(!(g&4)){g=iK(f,134232)|0;WO(e,g);fK(e,f)|0;break}else{UO(e,OL(f,0,103262)|0);g=OL(f,0,103270)|0;WO(e,g);break}}else{UO(e,OL(f,0,103214)|0);g=OL(f,0,103222)|0;WO(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{UO(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[46529]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}ZO(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);QO(e)}l=t;return}function HK(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=IK(b,e,f)|0;c[h+36>>2]=c[f+36>>2];nK(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function IK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(ez(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|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];JK(g,y,x);w=(c[d+16>>2]|0)+16|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];JK(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function JK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function KK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;f=i+40|0;h=i;g=b+16|0;e=c[g>>2]|0;d=e+16|0;if(a[e+47>>0]|0){e=c[b>>2]&3;HK(f,c[((e|0)==3?b:b+48|0)+40>>2]|0,c[((e|0)==2?b:b+-48|0)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;HK(h,c[((e|0)==2?b:b+-48|0)+40>>2]|0,c[((e|0)==3?b:b+48|0)+40>>2]|0,d);e=h;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=i;return}function LK(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];EK(0,b)|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];FK(0,b)|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];aK(0,b)|0;l=a;return}function MK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=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;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{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];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;XL(w,d,3,f,n,o);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];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];a:do if(!((lb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|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];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|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];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|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];e=e+1|0}}while(0);l=z;return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=lb[k&127](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;OK(f,a,b,k)}l=m;return}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}MK(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function PK(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=uH(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=vH(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=xH(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=uH(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function QK(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=ez(m)|0;B=PK(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[q&127](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;OK(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[g&127](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;OK(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;RK(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];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];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|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[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|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[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];z=j+3|0;y=f+(z<<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];YE((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function RK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=(kb[c[i>>2]&63](o)|0)&255;else j=0;sE(o,m,n);k=i+4|0;if((kb[c[k>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if((kb[c[k>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=HE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=FE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)IE(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function SK(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(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]}return}function TK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.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.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){HK(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|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[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];UK(q,o,u);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];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+VK(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|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];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=pb[n&127](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|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];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,569,103498);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function VK(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function WK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.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.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){HK(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];UK(t,p,w);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];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+VK(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else qa(103508,103488,606,103532)}a[b+69>>0]=q;t=f+32|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];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=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[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];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;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];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;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];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;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];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;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];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;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];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;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[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];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;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];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;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];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;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];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;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];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;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];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=pb[o&127](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|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];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,765,103532);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function XK(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function YK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){_K(d,e,f,g,h,i);break}if(!(k&1))qa(135312,103488,1231,103540);else{aL(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){$K(d,e,f,g,h,i);break}_K(d,e,f,g,h,i)}while(0);if((l|0)==6)ZK(d,e,f,g,h,i);return}function ZK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,n*.3333333333333333+E,Q);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];R=p+C;cL(N,R,Q);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];cL(O,R,z);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];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,m*.3333333333333333+G,Q);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];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function _K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;cL(N,s,p*.3333333333333333+G);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];R=o+D;cL(O,s,R);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];cL(P,A,R);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];s=H-k;cL(K,s,R);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];cL(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function $K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,E-n*.3333333333333333,Q);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];R=C-p;cL(N,R,Q);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];cL(O,R,z);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];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,G-m*.3333333333333333,Q);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];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function aL(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;cL(M,Q,y-m*.3333333333333333);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];R=v-o;cL(N,Q,R);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];cL(O,F,R);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];Q=z-k;cL(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];cL(K,Q,A-n*.3333333333333333);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];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;QK(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function bL(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21940+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21940+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21972+(d<<5)+(b<<2)>>2]|0;return d|0}function cL(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function dL(b){b=b|0;var d=0,e=0;if((c[46433]|0)!=0|(c[46432]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,1)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,0)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function eL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[46433]|0;if(!((e|0)!=0?(a[(yx(b,e)|0)>>0]|0)!=0:0)){e=c[46432]|0;if(!e){e=0;break}if(!(a[(yx(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=fL(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|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];e=e+1|0}XL(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|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];e=e+1|0}XL(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+LL(b,c[46433]|0,-25.0,-180.0)*.017453292519943295+r;j=+LL(b,c[46432]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function fL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;Pw(1,103553,f)|0;d=0}l=h;return d|0}function gL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;hL(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){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]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>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];bM(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{iL(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(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];l=s;return}function hL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|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];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){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{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]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|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];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|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]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)qa(135630,103488,1316,103615)}function jL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dL(b);return}function kL(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=lL(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+mL(+(n+-1|0),C);A=n+1|0;L=~~+mL(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+nL(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+nL(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+hb[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+mL(q+-1.5707963267948966,6.283185307179586);b=1;p=+mL(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=uH(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];oL(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)pL(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)qL(o,m,l,j,i,k);else{oL(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;oL(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)pL(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)qL(o,k,l,j,i,i+3.141592653589793);rL(J);return o|0}function lL(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=sL()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];tL(o,i,0.0);g=m+48|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];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;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];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;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];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}XL(n,m,3,+(a|0)*.05,0,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[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+uL(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];tL(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}vL(o);l=q;return o|0}function mL(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function nL(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function oL(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=xH(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function pL(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){qL(h,a,b,c,e+i,i);break}else{oL(h,+E(+i)*c+a,+F(+i)*c+a);break}}else oL(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function qL(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;oL(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);oL(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function rL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function sL(){var a=0;a=uH(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=uH(128e3)|0;return a|0}function tL(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=xH(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function uL(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function vL(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=xH(c[a>>2]|0,b<<6)|0;return}function wL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)qa(103632,103643,203,103654);e=c[h>>2]|0;if(!e)qa(103668,103643,206,103654);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=xL(e)|0;if(!0)e=0;else{e=(AG(c[h>>2]|0)|0)==0;e=e?0:g}if(!((OP(b,d,e)|0)<<24>>24))yL(d,e);do if(e|0){f=c[g>>2]|0;b=c[15686]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;g1(b,103711,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;g1(b,103679,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function xL(a){a=a|0;var b=0;b=c[46531]|0;if((b|0)!=0?(O$(b,a)|0)==0:0)a=c[46540]|0;else{D_(b);c[46531]=n1(a)|0;a=e2(186124,22228,35,36,93)|0;c[46540]=a}return a|0}function yL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(V$(e,103745,4)|0)if((V$(e,103750,5)|0)!=0?(V$(e,103756,9)|0)!=0:0){g=4248;e=103766}else{g=8344;e=103802}else{g=6296;e=103783}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function zL(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function AL(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=30;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Cw(b,c[4555]|0)|0;c[a+144>>2]=b;return b|0}function BL(a,b,d){a=a|0;b=b|0;d=d|0;d=E_(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=n1(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=n1(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function CL(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b>>2]|0);D_(c[b+4>>2]|0);D_(b);return}function DL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=b$(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=b$(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(gf&1}}while(0);return a|0}function EL(){eb(186164)|0;return}function FL(){var a=0,b=0;b=l;l=l+16|0;a=b;eb(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[46541]|0)-(c[46542]|0)|0)*.016666666666666666)}function GL(a){a=a|0;var b=0,d=0;b=uH(16)|0;a=(a|0)>2?a:2;d=uH(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function HL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function IL(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function JL(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function KL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=i1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function LL(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+c2(h,g);e=(h|0)==(c[g>>2]|0)?e:j0.0)){b=+LL(a,nx(a,0,104612,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function NL(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=yx(a,b)|0;return c|0}function OL(b,c,d){b=b|0;c=c|0;d=d|0;b=NL(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=QL(yx(a,b)|0)|0;return a|0}function QL(a){a=a|0;return RL(a,0)|0}function RL(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((O$(b,134226)|0)!=0?(O$(b,104623)|0)!=0:0)if((O$(b,104626)|0)!=0?(O$(b,104631)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(a2(b)|0)&255}else c=1;else c=0;return c|0}function SL(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=SL(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=SL(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function UL(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function VL(a,b){a=a|0;b=b|0;if((SL(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else qa(104643,104635,194,104659)}function WL(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function XL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|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];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|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];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|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];i=i+1|0}}while(0);p=n+(d*96|0)|0;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];l=o;return}function YL(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[46545]|0;f=d+1024|0;if((d-e|0)<1024){c[46545]=f;f=xH(c[46546]|0,f)|0;c[46546]=f;d=c[46545]|0}else f=c[46546]|0;d=O0(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(W_(d)|0)+e|0;d=c[46546]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[46546]|0;return ((e|0)>0?d:0)|0}function ZL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[46362]|0;e=c[46548]|0;if((c[46547]|0)==(d|0))d=e;else{if(e){D_(c[e>>2]|0);D_(c[46548]|0);c[46548]=0;d=c[46362]|0}c[46547]=d;if(!d)break;if(!(a[d>>0]|0))break;d=_L(d)|0;c[46548]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=$L(d,c[46549]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function _L(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=n1(a)|0;d=0;while(1){b=k1(b,104958)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=vH(a)|0;else a=xH(d,a)|0;c[a+(g<<2)>>2]=b;f=W_(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[46549]=e;return f|0}function $L(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[46550]|0;c[46550]=F_(h,b+2+(W_(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[46550]|0;c[e>>2]=b;c[e+4>>2]=104956;c[e+8>>2]=d;Y0(h,104949,e)|0;if(!(K1(c[46550]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[46550]|0;l=g;return a|0}function aM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(b$(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function bM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;XL(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k>3]=m;h[a+8>>3]=n;l=z;return}function cM(){return 0}function dM(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+LL(b,c[46376]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+LL(b,c[46375]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=WJ(OL(b,c[46377]|0,104960)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=yx(b,c[46384]|0)|0;d=+LL(b,c[46380]|0,14.0,1.0);e=OL(b,c[46381]|0,104968)|0;f=OL(b,c[46382]|0,134232)|0;i=(Rz(l)|0)!=0;k=(HJ(b)|0)==2;i=kH(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[46385]|0;if((i|0?(j=yx(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(Rz(j)|0)!=0;l=kH(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(ez(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(KL(b,c[46388]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;tb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function eM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=ez(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[46412]|0;if(((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){fM(b,m);t=(Rz(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=kH(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=QL(NL(b,c[46422]|0,134226)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[46413]|0;if((f|0?(j=yx(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){fM(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(Rz(j)|0)!=0;j=kH(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[46427]|0;if(((d|0)!=0?(k=yx(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){gM(b,m,n);j=(Rz(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=kH(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[46428]|0;if((f|0?(q=yx(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){gM(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(Rz(q)|0)!=0;q=kH(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=xx(b,108373)|0;d=d|0?d:191979;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;hM(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46434]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=xx(b,108382)|0;d=d|0?d:191979;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;hM(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46435]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function fM(a,b){a=a|0;b=b|0;h[b>>3]=+LL(a,c[46409]|0,14.0,1.0);c[b+8>>2]=OL(a,c[46410]|0,104968)|0;c[b+12>>2]=OL(a,c[46411]|0,134232)|0;return}function gM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))fM(a,b);h[d>>3]=+LL(a,c[46429]|0,+h[b>>3],1.0);c[d+8>>2]=OL(a,c[46430]|0,c[e>>2]|0)|0;c[d+12>>2]=OL(a,c[46431]|0,c[b+12>>2]|0)|0;return}function hM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=A$(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function iM(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=yx(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(QL(d)|0)<<24>>24==0&1;else b=0;return b|0}function jM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[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];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|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];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function kM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;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];lM(e,g,b,f);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];l=d;return}function lM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;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];return}function mM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,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.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((ay(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){nM(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;nM(e,0.0,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]}else{nM(f,2147483647.0,2147483647.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];F=K+16|0;nM(g,-2147483647.0,-2147483647.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];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=Sy(b)|0;while(1){if(!n)break;WL(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;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[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];oM(u,t,H);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[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];pM(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;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];lM(w,H,d,m);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]}m=Ex(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|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];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;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];lM(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;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];lM(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;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];lM(z,H,e,d);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];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;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];lM(A,H,d,k);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]}}m=Gx(b,m)|0}n=Ty(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;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];lM(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function nM(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function qM(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(V$(ry(a)|0,104980,7)|0)==0&1;return a|0}function rM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(pz(b)|0){case 0:{e=nx(a,0,c,191979)|0;break a}case 1:{e=nx(a,1,c,191979)|0;break a}case 2:{e=nx(a,2,c,191979)|0;break a}default:{e=0;break a}}while(0);rx(b,e,d)|0;return e|0}function sM(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=tM(d)|0;h=Cw(23488,c[4555]|0)|0;j=vA(d,104988,1)|0;Az(j,134401,280,1)|0;Tw(g,128,k+16|0);e=Sy(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=Ex(d,e)|0;while(1){if(!f)break a;uM(f,j,g,h,i);f=Gx(d,f)|0}}while(0);e=Ty(d,e)|0}Xw(g);yw(h)|0;f=ay(j)|0;e=Sy(j)|0;while(1){if(!e)break;h=Ty(j,e)|0;dz(d,e)|0;e=h}$x(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}yw(i)|0;l=k;return f|0}function tM(a){a=a|0;var b=0;b=Cw(23524,c[4555]|0)|0;DM(a,b);return b|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(z$(ry(m)|0,104980,7)|0))o=vM(g,ry(m)|0)|0;else o=0;if(!(z$(ry(n)|0,104980,7)|0))i=vM(g,ry(n)|0)|0;else i=0;h=(o|0)!=0;j=(i|0)!=0;if(h|j){if((o|0)==(i|0)){r=ry(m)|0;s=ry(m)|0;c[k>>2]=r;c[k+4>>2]=s;Pw(0,105003,k)|0;break}g=wM(f,b)|0;if(g|0){xM(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!j)if(!(oz(o,n)|0)){zM(f,m,n,xM(b,yM(m,o,e,d)|0,n)|0);break}else{r=ry(n)|0;s=ry(o)|0;c[q>>2]=r;c[q+4>>2]=s;Pw(0,105158,q)|0;break}if(!h)if(!(oz(i,m)|0)){zM(f,m,n,xM(b,m,yM(n,i,e,d)|0)|0);break}else{r=ry(m)|0;s=ry(i)|0;c[p>>2]=r;c[p+4>>2]=s;Pw(0,105121,p)|0;break}if(oz(i,o)|0){q=ry(o)|0;s=ry(i)|0;c[r>>2]=q;c[r+4>>2]=s;Pw(0,105041,r)|0;break}if(!(oz(o,i)|0)){s=yM(m,o,e,d)|0;zM(f,m,n,xM(b,s,yM(n,i,e,d)|0)|0);break}else{q=ry(i)|0;r=ry(o)|0;c[s>>2]=q;c[s+4>>2]=r;Pw(0,105081,s)|0;break}}}while(0);l=t;return}function vM(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function wM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=nb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;c=Rx(ez(b)|0,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(a,c)|0;return c|0}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;Ww(e,105195)|0;i=c[46551]|0;c[46551]=i+1;c[g>>2]=i;Y0(j,134313,g)|0;Ww(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;Ww(e,ry(d)|0)|0;h=fz(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=az(h,e,1)|0;Az(j,134365,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;Xy(d,j,1)|0;Xy(f,b,1)|0;f=ez(j)|0;c[46384]=rM(f,j,105198,191979,c[46384]|0)|0;f=ez(j)|0;c[46387]=rM(f,j,138e3,131253,c[46387]|0)|0;f=ez(j)|0;c[46377]=rM(f,j,105204,105210,c[46377]|0)|0;l=k;return j|0}function zM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];nb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];nb[c[a>>2]&63](a,g,1)|0;l=f;return}function AM(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function BM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function DM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=ry(a)|0;if(!(nb[c[b>>2]&63](b,d,512)|0)){i=uH(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;nb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;Pw(0,105214,g)|0}DM(a,b);e=e+1|0}l=h;return}function EM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function FM(a){a=a|0;var b=0,c=0,d=0;d=vA(a,104988,1)|0;Az(d,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;GM(c,d);c=Gx(a,c)|0}b=Ty(a,b)|0}b=Sy(d)|0;while(1){if(!b)break;c=Ty(d,b)|0;HM(b);dz(a,b)|0;b=c}$x(d)|0;return}function GM(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=IM(f,d)|0;e=xM(b,f,IM(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;JM(b)}return}function HM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){tb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);Cz(a,134365)|0;return}function IM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=ez(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){Xy(d,b,1)|0;b=A$(ry(b)|0,58)|0;if(!b)qa(108182,104635,1225,105266);d=b+1|0;b=az(f,d,0)|0;if(!b){b=az(f,d,1)|0;Az(b,134365,304,1)|0;d=sx(f,1,0)|0;while(1){if(!d)break a;g=yx(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))rx(b,d,e)|0;d=sx(f,1,d)|0}}}while(0);return b|0}function JM(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+144>>2]|0);KM(a);nH(c[(c[b>>2]|0)+96>>2]|0);nH(c[(c[b>>2]|0)+108>>2]|0);nH(c[(c[b>>2]|0)+100>>2]|0);nH(c[(c[b>>2]|0)+104>>2]|0);Cz(a,134378)|0;return}function KM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;D_(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}D_(a);D_(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function LM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=nx(a,b,c,0)|0;if(!e)e=nx(a,b,c,d)|0;return e|0}function MM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=A$(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(U0(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e2(h,23560,252,8,94)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];Y0(j,134313,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;Ww(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function NM(a,b){a=a|0;b=b|0;return b$(c[a>>2]|0,c[b>>2]|0)|0}function OM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[46552]|0)!=(d|0)){c[46552]=d;a[191878]=0}Tw(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=QM(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[191878]|0)){c[j>>2]=ry(d)|0;Pw(0,106681,j)|0;a[191878]=1}h=-1;e=PM(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[191878]|0)){g=ry(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;Pw(0,106802,k)|0;a[191878]=1}e=PM(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=n1(n)|0;Xw(o);l=q;return p|0}function PM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=RM(g)|0;h=d+4|0;i=d+8|0;e=W_(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;D_(g);l=j;return k|0}function QM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=e2(h,23560,252,8,94)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function RM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;Tw(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=QM(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=n1(h)|0;Xw(i);l=k;return j|0}function SM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;Tw(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=n1(f)|0;Xw(g);l=i;return h|0}function TM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[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];UM(g,d,e);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]=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];oM(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=lb[d&127](f,e)|0}else d=0;l=n;return d|0}function UM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function VM(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+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[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];oM(n,k,j);i=+h[n>>3];f=+h[n+8>>3];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[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];pM(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>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[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],(XM(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|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];if(!((YM(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|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],(VM(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function XM(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function YM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)qa(106911,104635,1637,106919);e=c[a>>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];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[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];if((VG(i,j,k)|0)!=-1){d=1;break};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];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[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],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],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],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function ZM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];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];JE(n,f,g,1.0,d);if(((o>=+h[n>>3]?(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],JE(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],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],JE(j,f,g,1.0,d),o>=+h[j+8>>3]):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],JE(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function _M(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(O$(e,106934)|0)){d=4;break a}if(!(O$(e,106940)|0)){d=12;break a}break}case 70:case 102:{if(!(O$(b+1|0,106948)|0)){d=2;break a}break}case 76:case 108:{if(!(O$(b+1|0,106953)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(O$(e,106957)|0)){d=0;break a}if(!(O$(e,106961)|0)){d=2;break a}break}case 79:case 111:{if(!(O$(b+1|0,106963)|0)){d=8;break a}break}case 80:case 112:{if(!(O$(b+1|0,106968)|0)){d=6;break a}break}case 83:case 115:{if(!(O$(b+1|0,106976)|0)){d=10;break a}break}case 84:case 116:{if(!(O$(b+1|0,106982)|0)){d=10;break a}break}case 89:case 121:{if(!(O$(b+1|0,106986)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;Pw(0,106989,f)|0}while(0);l=g;return d|0}function $M(d,f){d=d|0;f=f|0;var g=0;g=xx(d,107030)|0;if(g)if(!(a[g>>0]|0))f=0;else f=_M(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function aN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function bN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function cN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=C_(40)|0;c[w>>2]=0;s=y;o=0;e=$(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=$(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=E3(c[f>>2]|0,w|0,x|0)|0;if(!e)bb(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[191874]|0))t=0;else{o=0;e=_(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=aa(95,b|0,107038)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[46553]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[46553]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;ca(20,0,107042,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=aa(96,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[46553]&2|0){o=0;ja(26,c[15686]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=$(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=aa(97,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[46363]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[191874]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=ca(31,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=ca(31,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=$(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=aa(98,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=aa(84,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=$(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ma(28,v|0,n|0,8,99);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;ia(107,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15686]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[46553]&16|0:0){o=0;ja(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ma(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ka(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ka(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=ca(32,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ma(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;ia(108,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ha(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=$(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=$(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ka(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=D3(186216,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;ia(109,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[46553]&4|0){o=0;na(8,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;oa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[191874]|0))e=0;else{o=0;ia(110,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;ia(103,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;ia(103,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(111,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(103,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}D_(w|0);l=y;return}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;D1(107909,a)|0;D1(107920,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){YN(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{_N(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;g1(a,107940,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;g1(a,107960,p)|0;d=d+1|0}D1(107982,a)|0;l=q;return}function eN(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function fN(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function gN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;YN(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){WN(j,h,c[h+24>>2]|0);pO(b,f,h,0.0)|0;break}else{WN(j,h,i);pO(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function hN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;YN(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;WN(h,g,e);pO(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function iN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=uH((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;WN(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=XN(j,i)|0;NR(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){WN(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{YN(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}ZN(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){WN(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];ZN(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=F_(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function jN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];RN(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function kN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];RN(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function lN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;QN(uN(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function mN(a){a=a|0;var b=0,d=0;d=a+20|0;wN(c[d>>2]|0);b=a+24|0;wN(c[b>>2]|0);xN(c[d>>2]|0);xN(c[b>>2]|0);yN(c[d>>2]|0,a);yN(c[b>>2]|0,a);zN(c[d>>2]|0);zN(c[b>>2]|0);return}function nN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;D1(107157,a)|0;c[n>>2]=10;c[n+4>>2]=10;g1(a,107563,n)|0;D1(135183,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|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];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;g1(a,135202,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];vN(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}D1(107580,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|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];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;g1(a,135239,y)|0;h[u>>3]=+h[(+h[u>>3]>3];h[v>>3]=+h[(+h[v>>3]>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;g1(a,107605,x)|0;l=z;return}function oN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[15686]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[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];pN(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];pN(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)D_(i);p=vH(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(rN(u,d)|0);j=+h[I>>3]}else{j=+qN(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;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];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(rN(q,d)|0);else j=+qN(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;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[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];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(rN(q,d)|0);j=+h[J>>3]}else{j=+qN(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;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(0>1){P=ry(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=ry(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;g1(G,107116,M)|0}QK(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,25576);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];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];jL(b,z,E,F)}v=v+1|0}D_(o);l=N;return}function pN(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 qN(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=uN(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function rN(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=uN(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function sN(a){a=a|0;return 0}function tN(a){a=a|0;return 0}function uN(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)qa(107129,107135,423,107143);a=c[a+16>>2]|0;a=nb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)qa(107154,107135,425,107143);else return a|0;return 0}function vN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=rN(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+qN(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;g1(d,107656,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=rN(m,g)|0;else f=~~+qN(m,g);B=+(f|0);D=p>3]=D;k=+(j|0);C=q>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;g1(d,107678,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=rN(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+qN(m,g)}A=~~k;C=+(A|0);h[i>>3]=p>3]=q>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;g1(d,107692,y)|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[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function wN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=$N(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function xN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)PN(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function yN(a,b){a=a|0;b=b|0;var d=0;d=Aw(a)|0;while(1){if(!d)break;a=Aw(c[d+16>>2]|0)|0;while(1){if(!a)break;DN(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function zN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Aw(a)|0;while(1){if(!e)break;i=e+8|0;f=Aw(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[46553]&8|0)AN(f,~~+h[i>>3]);g=f+32|0;eO(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15686]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;g1(i,107713,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Ew(e)|0){BN(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);D1(107733,i)|0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;D1(107738,i)|0;BN(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);D1(150517,i)|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function BN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=CN(c[d+32>>2]|0)|0;e=CN(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;g1(b,107744,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=CN(c[d+32>>2]|0)|0;i=CN(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;g1(b,107744,e)|0}l=g;return}function CN(a){a=a|0;switch(a|0){case 0:{a=107795;break}case 1:{a=107790;break}case 2:{a=107783;break}case 3:{a=107776;break}case 4:{a=107768;break}default:a=0}return a|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((dO(u,j,k)|0)==0?(dO(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,EN(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;FN(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;FN(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function EN(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))qa(107866,107135,843,107897);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function FN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=IN(b,e)|0;if(!b){h=0;break}d=IN(d,f)|0;if(!d){i=6;break}if(!(EN(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)qa(135312,107135,871,107815);else if((i|0)==7)h=KN(b,JN(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function GN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=uN(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;bO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=IN(b,e)|0;m=IN(d,f)|0;do if(!(a[b>>0]|0)){j=uN(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=uN(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function HN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(EN(b,d)|0))break;g=IN(b,1)|0;d=IN(d,e)|0;b=g}g=c[(uN(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;cO(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function IN(a,b){a=a|0;b=b|0;if(!a)qa(107802,107135,798,107806);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function JN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=LN(b,c,3,1)|0;else b=LN(b,c,4,2)|0;l=f;return b|0}Pw(1,107828,e)|0;bb(186216,1);return 0}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=IN(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j>3],i=+h[b+24>>3],!(g>i)):0){if(k>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j>2]|0)==(d|0);d=ON(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=ON(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=NN(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(NN(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=NN(f,o,d)|0;break}else{b=0-(NN(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=ON(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(ON(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function ON(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function PN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(JN(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{bO(d,a,b);break}case -1:{bO(d,b,a);break}default:{}}b=b+1|0}}return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=vH(d<<2)|0;else a=xH(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function RN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=nb[c[a>>2]&63](a,f,512)|0;if(!e){e=uH(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Cw(25624,c[4555]|0)|0;nb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;nb[c[f>>2]&63](f,b,1)|0;l=g;return}function SN(a,b,d){a=a|0;b=b|0;d=d|0;aO(c[b+32>>2]|0);D_(c[b+28>>2]|0);D_(b);return}function TN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+16>>2]|0)|0;D_(b);return}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f>31)|0}function WN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function XN(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function YN(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function ZN(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function $N(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=uH(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=yR()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function aO(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;yw(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}D_(e);D_(a);return}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,1)|0;l=e;return}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;nb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,2)|0;l=e;return}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(nb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function eO(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=fO(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=gO(a,d,b,e)|0;d=d+1|0}while(1){d=hO(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}iO(e)}}return}function fO(a){a=a|0;var b=0;b=uH(8)|0;c[b+4>>2]=uH(a<<2)|0;c[b>>2]=-1;return b|0}function gO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Aw(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=gO(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;jO(e,b);return d+1|0}function hO(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function iO(a){a=a|0;D_(c[a+4>>2]|0);D_(a);return}function jO(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function kO(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function lO(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=uH(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=uH((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function nO(a){a=a|0;var b=0;b=uH(24)|0;c[b>>2]=0;c[b+16>>2]=uH(a*40|0)|0;return b|0}function oO(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function pO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;qO(b,f);qO(d,f);return a|0}function qO(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function rO(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+28>>2]|0);D_(c[b>>2]|0);D_(c[a+20>>2]|0);D_(a);return}function sO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}GR();a:do if(!(JR(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=LR()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=tO(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(JR(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;MR(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function tO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function uO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;wC(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function vO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(XB(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){tb[d&127](a);a=0}else a=0;else a=1;return a|0}function wO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;dC(a);return}function xO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function yO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function zO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)tb[d&127](a);return}function AO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)tb[d&127](a);cC(a);return}function BO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)tb[d&127](a);return}function CO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)tb[d&127](a);return}function DO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function EO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)tb[d&127](a);return}function FO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)tb[d&127](a);return}function GO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)tb[d&127](a);return}function HO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)tb[d&127](a);return}function IO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)tb[d&127](a);return}function JO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)tb[d&127](a);return}function KO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)tb[d&127](a);return}function LO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)tb[d&127](a);return}function MO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)tb[d&127](a);return}function NO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)tb[d&127](a);return}function OO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)tb[d&127](a);return}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)yb[h&15](a,b,d,e,f);return}function QO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)tb[d&127](a);return}function RO(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)ub[e&63](a,b);return}function SO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)tb[d&127](a);return}function TO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){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];xO(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{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]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vb[g&127](b,f,e)}}while(0);l=k;return}function UO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=iQ(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e2(e,f,c[a+20>>2]|0,4,100)|0)!=0:0))h=3;a:do if((h|0)==3){switch(jQ(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{Pw(1,108020,g)|0;break a}}a=vH((W_(b)|0)+16|0)|0;c[i>>2]=b;Y0(a,107985,i)|0;if(AG(a)|0){c[j>>2]=b;Pw(0,107994,j)|0}D_(a)}while(0);l=k;return}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(VO(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)ub[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function YO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(b$(b,108041)|0)){c[j>>2]=3;b=f;continue b}if(!(b$(b,108062)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+b2(d);b=f;continue b}break}case 100:{if(!(b$(b,134245)|0)){c[j>>2]=1;b=f;continue b}if(!(b$(b,134238)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(b$(b,131253)|0?b$(b,108047)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(b$(b,108057)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(b$(b,108075)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(b$(b,108082)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(b$(b,108091)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;Pw(0,108099,k)|0;b=f}}while(0);l=m;return}function ZO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+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[a+152>>2]&8192)){yO(a,g,g,2)|0;f=c[i>>2]|0}vb[f&127](a,g,e)}l=j;return}function _O(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;xb[c[n>>2]&31](a,e,d,f)}else xb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function $O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;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];g=f+32|0;b=b+16|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+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];_O(a,f,4,d);l=e;return}function aP(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;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){zb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=h;h=xH(c[46594]|0,h<<4)|0;c[46594]=h}else h=c[46594]|0;yO(a,b,h,d)|0;zb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){vb[f&127](a,b,d);break}e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;vb[c[g>>2]&127](a,e,d)}while(0);return}function cP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)ub[f&63](b,d);return}function dP(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)qa(108200,108152,691,108163);if(!d)qa(108182,108152,692,108163);if(!(a[d>>0]|0))qa(108187,108152,693,108163);D=yC(d)|0;if(!D){if((C|0)!=0&(VJ(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)yb[m&15](b,d,e,f,g&255)}else{s=b+432|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];BC(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=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];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(eP(i)|0){case 1:if(q>3]=j;k=k-t;h[n>>3]=k}if(o>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){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];xO(x,b,B);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];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];xO(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>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];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];gP(b,D,B,g,G)}}}l=F;return}function eP(b){b=b|0;if(a[b>>0]|0)if(O$(b,138034)|0)if(O$(b,137966)|0)if(!(O$(b,108195)|0))b=4;else b=(QL(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function fP(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return} - function SX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-20;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=26;break b}else h=4;break}default:{h=29;break b}}e=e+h|0}if((h|0)==17){c[g>>2]=e;f=0;break}else if((h|0)==20){c[g>>2]=e;f=0;break}else if((h|0)==23){c[g>>2]=e;f=0;break}else if((h|0)==26){c[g>>2]=e;f=0;break}else if((h|0)==28){c[g>>2]=e;f=20;break}else if((h|0)==29){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function TX(){return 58116}function UX(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;i=l;l=l+16|0;g=i;c[g>>2]=d;h=c[b>>2]|0;a=f-(c[e>>2]|0)|0;if((d-h|0)>(a|0)){a=h+a|0;c[g>>2]=a;f=1}else{f=0;a=d}fX(h,g);h=c[g>>2]|0;d=c[b>>2]|0;g=h-d|0;F3(c[e>>2]|0,d|0,g|0)|0;c[b>>2]=(c[b>>2]|0)+g;c[e>>2]=(c[e>>2]|0)+g;l=i;return (f?2:h>>>0>>0&1)|0}function VX(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+72|0;k=f;l=h;m=c[e>>2]|0;n=c[g>>2]|0;a:while(1){d=m>>>0>>0;if(!(n>>>0>>0&d)){o=12;break}d=a[m>>0]|0;i=d&255;switch(a[j+i>>0]|0){case 5:{if((k-m|0)<2){d=1;break a}b[n>>1]=(d&31)<<6|a[m+1>>0]&63;m=m+2|0;n=n+2|0;continue a}case 6:{if((k-m|0)<3){d=1;break a}b[n>>1]=(a[m+1>>0]&63)<<6|i<<12|a[m+2>>0]&63;m=m+3|0;n=n+2|0;continue a}case 7:{if((l-n|0)<4){d=2;break a}if((k-m|0)<4){d=1;break a}i=((a[m+1>>0]&63)<<12|(d&7)<<18|(a[m+2>>0]&63)<<6|a[m+3>>0]&63)+-65536|0;b[n>>1]=i>>>10|55296;b[n+2>>1]=i&1023|56320;m=m+4|0;n=n+4|0;continue a}default:{b[n>>1]=d<<24>>24;m=m+1|0;n=n+2|0;continue a}}}if((o|0)==12)d=d?2:0;c[e>>2]=m;c[g>>2]=n;return d|0}function WX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function XX(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function YX(a,b){a=a|0;b=b|0;return 0}function ZX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function _X(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function $X(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)return 1;else{b=d[b+1>>0]|0;return b>>>7^1|(b&192|0)==192|0}return 0}function aY(b,c){b=b|0;c=c|0;var d=0;b=a[c+2>>0]|0;do if(b<<24>>24>-1)b=1;else{d=a[c>>0]|0;if(d<<24>>24==-17?(a[c+1>>0]|0)==-65:0)if((b&255)>189){b=1;break}else{b=191;c=-65}else{if((b&255)>191){b=1;break}c=a[c+1>>0]|0;b=c&255;if(d<<24>>24==-32){b=(c&255)<160|(b&192|0)==192;break}}b=(b&128|0)==0?1:d<<24>>24==-19?(c&255)>159:(b&192|0)==192}while(0);return b&1|0}function bY(b,c){b=b|0;c=c|0;var e=0;e=d[c+3>>0]|0;do if(!((e&128|0)==0|(e&192|0)==192)?(e=d[c+2>>0]|0,!((e&128|0)==0|(e&192|0)==192)):0){e=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;if(e<<24>>24==-16){b=(b&255)<144|(c&192|0)==192;break}else{b=(c&128|0)==0?1:e<<24>>24==-12?(b&255)>143:(c&192|0)==192;break}}else b=1;while(0);return b&1|0}function cY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e+1>>0]|0;if(!(f<<24>>24)){h=a[e>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=EY(12,b,e+2|0,m,g)|0;break a}case 13:{f=EY(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 16:{f=FY(b,e+4|0,m,g)|0;break a}case 15:{f=AY(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=uY(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+5>>0]|0)==0?(a[e+4>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=GY(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[i+3>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[h+3>>0]|0;i=a[k>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function dY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;do switch(f|0){case 2:{f=xY(b,e+2|0,i,g)|0;break a}case 3:{f=tY(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[b+3>>0]|0){b=h;continue b}if((a[h>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[b+5>>0]|0){b=h;continue b}if((a[i>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function eY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b+1>>0]|0;h=a[b>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function fY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}h=(a[b>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function gY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function hY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=uY(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function iY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function jY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function kY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function lY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;i=e+3|0;h=a[i>>0]|0;j=h<<24>>24==0;k=a[l>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+5>>0]|0;b=a[e+4>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function mY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=jX(b)|0;return b|0}function nY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+3>>0]|0)==0?(a[c+2>>0]|0)==116:0){if(!(a[c+1>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c+1>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[c+3>>0]|0)==0:0)?(a[c+2>>0]|0)==109:0)?(a[c+5>>0]|0)==0:0)?(a[c+4>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c+1>>0]|0))switch(a[c>>0]|0){case 113:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=117){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=112){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function oY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[e+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function pY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+72|0;f=e;a:while(1){h=f+2|0;if((j-h|0)<=1){f=1;break}f=a[f+3>>0]|0;b=f<<24>>24==0;e=a[h>>0]|0;if(b)f=d[i+(e&255)>>0]|0;else f=sY(f,e)|0;switch(f|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:{f=h;continue a}case 21:if(b&e<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!b){k=12;break a}if(e<<24>>24>=0){f=h;continue a}break}default:if(!b){k=12;break a}}switch(e<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function qY(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;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j>>0]|0;b=a[j+1>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[b>>0]|0;f=(o<<4&48|i>>>6|a[j+3>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function rY(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k+1>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0>>0;k=c[h>>2]|0;if(!(j&k>>>0>>0))break;j=((d[g+1>>0]|0)<<8|(d[g>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function sY(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function tY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=vY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[j+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))f=d[k+(h&255)>>0]|0;else f=sY(b,h)|0;switch(f|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else j=i}if((h|0)==22){c[g>>2]=i;b=0;break}else if((h|0)==23){c[g>>2]=i;b=0;break}else if((h|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==28){c[g>>2]=j+4;b=9;break}else if((h|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function uY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function vY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e+1>>0]|0;h=a[e>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=wY(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[b+3>>0]|0;f=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function wY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function xY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[e+3>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[i>>0]|0)>>0]|0;else h=sY(h,a[i>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+4|0,f,g)|0;break a}case 20:{h=zY(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=AY(b,e+2|0,f,g)|0;break a}case 17:{h=BY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h+1>>0]|0;k=a[h>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}k=h+2|0;e=o-k|0;if((e|0)<=1){h=-1;break a}l=a[h+3>>0]|0;i=a[k>>0]|0;if(!(l<<24>>24))j=d[m+(i&255)>>0]|0;else j=sY(l,i)|0;switch(j|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140706+(l&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=k;h=0;break a}case 49:{c[g>>2]=k;h=0;break a}case 50:{if((e|0)<3){h=-2;break a}c[g>>2]=k;h=0;break a}case 52:{if((e|0)<4){h=-2;break a}c[g>>2]=k;h=0;break a}case 54:{c[g>>2]=k;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[h+3>>0]|0;e=a[i>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=CY(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function yY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h+1>>0]|0;b=a[h>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[h+3>>0]|0){h=f;continue b}if((a[f>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[h+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function zY(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function AY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;j=o-e|0;a:do if((j|0)>1){f=a[e+1>>0]|0;if(!(f<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(f,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(f&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[k+3>>0]|0;j=a[f>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j+1>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[j+3>>0]|0){j=f;continue c}if((a[f>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[k+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function BY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[j+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function CY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e+1>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[h>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}e=a[e+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[o+(h&255)>>0]|0;else e=sY(e,h)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=tY(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[i>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function DY(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function EY(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;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f+1>>0]|0;i=a[f>>0]|0;if(!(e<<24>>24))e=d[k+(i&255)>>0]|0;else e=sY(e,i)|0;switch(e|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{i=f+2|0;if((e|0)==(b|0)){l=12;break a}else{f=i;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-i|0)>1){c[h>>2]=i;g=a[f+3>>0]|0;f=a[i>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function FY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+5>>0]|0;h=a[e+4>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function GY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}h=a[h+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[b+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function HY(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function IY(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(qZ(a,c[59964+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function JY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,0,b,c,d)|0}function KY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,1,b,c,d)|0}function LY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;BX(58480,b,c,d);return}function MY(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;a:do if(f>>>0>>0){l=c[d+72>>2]|0;i=f+1|0;b:do if((i|0)==(g|0)){i=a[d+69>>0]|0;if(((i<<24>>24)+-3|0)>>>0<3){i=-1;break a}switch(a[f>>0]|0){case 60:case 0:{i=-1;break a}case -17:case -1:case -2:break;default:break b}if(!((e|0)==1&i<<24>>24==0)){i=-1;break a}}else{k=a[f>>0]|0;i=a[i>>0]|0;j=((k&255)<<8|i&255)&65535;c:do if(j<<16>>16<-2){if(j<<16>>16>=-257){switch(j<<16>>16){case -257:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+16>>2];i=14;break a}switch(j<<16>>16){case -4165:break;default:break c}if((e|0)==1)switch(a[d+69>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}i=f+2|0;if((i|0)==(g|0)){i=-1;break a}if((a[i>>0]|0)!=-65)break b;c[h>>2]=f+3;c[l>>2]=c[b+8>>2];i=14;break a}else{if(j<<16>>16<15360){switch(j<<16>>16){case -2:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+20>>2];i=14;break a}switch(j<<16>>16){case 15360:break;default:break c}i=a[d+69>>0]|0;if(i<<24>>24==4){if((e|0)==1)break b}else if((e|0)==1&i<<24>>24==3)break b;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);if(k<<24>>24){if((e|0)==1|i<<24>>24!=0)break;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}if((e|0)==1?(a[d+69>>0]|0)==5:0)break;i=c[b+16>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);i=c[b+(a[d+69>>0]<<2)>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0}else i=-4;while(0);return i|0}function NY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e>>0]|0;if(!(f<<24>>24)){h=a[e+1>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=mZ(12,b,e+2|0,m,g)|0;break a}case 13:{f=mZ(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 16:{f=nZ(b,e+4|0,m,g)|0;break a}case 15:{f=iZ(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=cZ(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+4>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=oZ(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[j>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[k>>0]|0;i=a[h+3>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function OY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;do switch(f|0){case 2:{f=fZ(b,e+2|0,i,g)|0;break a}case 3:{f=bZ(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[h>>0]|0){b=h;continue b}if((a[b+3>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[i>>0]|0){b=h;continue b}if((a[b+5>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function PY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b>>0]|0;h=a[b+1>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function QY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}h=(a[f+5>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+5>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function RY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function SY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=cZ(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function TY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function UY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function VY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function WY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;h=a[l>>0]|0;j=h<<24>>24==0;i=e+3|0;k=a[i>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+4>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function XY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if(!(a[b>>0]|0))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){e=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8)b=d+-48|b<<4;else if((e|0)==9)b=(b<<4)+-55+d|0;else if((e|0)==10)b=(b<<4)+-87+d|0;if((b|0)<1114112)c=c+2|0;else{b=-1;e=19;break}}}else{c=b;b=0;e=13}else{d=b;b=0;c=-1;e=16}while(0);while(1)if((e|0)==13){if(a[c>>0]|0){d=c;c=-1;e=16;continue}if((a[c+1>>0]|0)==59){e=18;continue}d=c;c=a[c+1>>0]|0;e=16;continue}else if((e|0)==16){b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;e=19;continue}c=d+2|0;e=13;continue}else if((e|0)==18){b=jX(b)|0;e=19;continue}else if((e|0)==19)return b|0;return 0}function YY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+2>>0]|0)==0?(a[c+3>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[c+1>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[c+1>>0]|0)==97:0)?(a[c+2>>0]|0)==0:0)?(a[c+3>>0]|0)==109:0)?(a[c+4>>0]|0)==0:0)?(a[c+5>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c>>0]|0))switch(a[c+1>>0]|0){case 113:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=117){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=112){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function ZY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[i>>0]|0;h=a[e+3>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function _Y(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+72|0;a:while(1){h=e+2|0;if((k-h|0)<=1){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|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:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function $Y(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;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j+1>>0]|0;b=a[j>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[j+3>>0]|0;f=(o<<4&48|i>>>6|a[b>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function aZ(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0>>0;k=c[h>>2]|0;if(!(j&k>>>0>>0))break;j=((d[g>>0]|0)<<8|(d[g+1>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function bZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=dZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[i>>0]|0;f=a[j+3>>0]|0;if(!(b<<24>>24))h=d[k+(f&255)>>0]|0;else h=sY(b,f)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{f=23;break b}case 6:{f=24;break b}case 7:{f=26;break b}case 18:{f=28;break b}case 29:break;default:{f=29;break b}}e=f&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else j=i}if((f|0)==22){c[g>>2]=i;b=0;break}else if((f|0)==23){c[g>>2]=i;b=0;break}else if((f|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==28){c[g>>2]=j+4;b=9;break}else if((f|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function cZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function dZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e>>0]|0;h=a[e+1>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=eZ(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[i>>0]|0;f=a[b+3>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function eZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function fZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[i>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+3>>0]|0)>>0]|0;else h=sY(h,a[e+3>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+4|0,f,g)|0;break a}case 20:{h=hZ(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=iZ(b,e+2|0,f,g)|0;break a}case 17:{h=jZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h>>0]|0;k=a[h+1>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}e=h+2|0;l=o-e|0;if((l|0)<=1){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[56836+((l>>>5|d[140706+(i&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=e;h=0;break a}case 49:{c[g>>2]=e;h=0;break a}case 50:{if((l|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 52:{if((l|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 54:{c[g>>2]=e;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[i>>0]|0;e=a[h+3>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=kZ(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function gZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h>>0]|0;b=a[h+1>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[f>>0]|0){h=f;continue b}if((a[h+3>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[h+5>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function hZ(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function iZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;i=o-e|0;a:do if((i|0)>1){j=a[e>>0]|0;if(!(j<<24>>24)){h=a[e+1>>0]|0;f=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;f=sY(j,h)|0}switch(f|0){case 29:{m=h&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[f>>0]|0;j=a[k+3>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j>>0]|0;h=a[j+1>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[f>>0]|0){j=f;continue c}if((a[j+3>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[k+5>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function jZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[j>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[j+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function kZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e>>0]|0;j=a[e+1>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[h>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}h=a[i>>0]|0;e=a[e+3>>0]|0;if(!(h<<24>>24))e=d[o+(e&255)>>0]|0;else e=sY(h,e)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=bZ(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[i>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function lZ(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function mZ(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;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f>>0]|0;i=a[f+1>>0]|0;if(!(e<<24>>24))i=d[k+(i&255)>>0]|0;else i=sY(e,i)|0;switch(i|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{e=f+2|0;if((i|0)==(b|0)){l=12;break a}else{f=e;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-e|0)>1){c[h>>2]=e;g=a[e>>0]|0;f=a[f+3>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function nZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+4>>0]|0;h=a[e+5>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function oZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}j=a[k>>0]|0;h=a[h+3>>0]|0;if(!(j<<24>>24))i=d[b+(h&255)>>0]|0;else i=sY(j,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(j&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function pZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;while(1){b=c[d>>2]|0;h=b>>>0>>0;i=c[f>>2]|0;if(!(h&i>>>0>>0))break;c[d>>2]=b+1;h=a[b>>0]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[i>>0]=h}return ((i|0)!=(g|0)|h^1?0:2)|0}function qZ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function rZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(36,a,b,c,d,e,f,g,h,i,j)|0}function sZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[58844+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function tZ(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+64|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(uZ(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+24|0;f=c[p>>2]|0;do if(!(ob[c[r>>2]&127](d,n,f,141258)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];if(!i)e=c[t>>2]|0;else{e=c[t>>2]|0;c[i>>2]=e}if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}f=c[o>>2]|0;if(f|0){e=f;n=f;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(ob[c[r>>2]&127](d,n,f,141266)|0){f=c[q>>2]|0;e=f;if((((vZ(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=nb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if((b|0)!=0|(ob[c[r>>2]&127](d,n,f,141275)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=f;if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104631)|0)){if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104623)|0)){c[g>>2]=n;e=0;break}if(m)c[m>>2]=0}else if(m)c[m>>2]=1;while(1){if(!(wZ(vZ(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function uZ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(wZ(vZ(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+64|0;do b=b+(c[j>>2]|0)|0;while((wZ(vZ(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=vZ(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(wZ(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=vZ(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function vZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+1|0)|0;l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function wZ(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function xZ(){return 59988}function yZ(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function zZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,0,b,c,d)|0}function AZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,1,b,c,d)|0}function BZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(37,a,b,c,d,e,f,g,h,i,j)|0}function CZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[60352+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function DZ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=iX(b,c,d,e)|0;if(b|0)a[b+72+58>>0]=23;return b|0}function EZ(a){a=a|0;c[a>>2]=15;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function FZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=16;a=0;break}case 12:{c[a>>2]=16;a=1;break}case 11:{c[a>>2]=16;a=55;break}case 13:{c[a>>2]=16;a=56;break}case 14:{a=0;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=9;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function GZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=7;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=7}if((g|0)==7)a=JZ(a,b)|0;return a|0}function HZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=19;a=4;break}default:a=JZ(a,b)|0}return a|0}function IZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function JZ(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=18;a=-1}return a|0}function KZ(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;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=22;a=3;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=8;else{c[a>>2]=23;a=3}break}default:h=8}while(0);if((h|0)==8)a=JZ(a,b)|0;return a|0}function LZ(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;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141308)|0){c[a>>2]=24;a=11;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141315)|0){c[a>>2]=25;a=33;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141323)|0){c[a>>2]=26;a=39;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141331)|0))i=14;else{c[a>>2]=27;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=28;a=3;break}default:i=14}while(0);if((i|0)==14)a=JZ(a,b)|0;return a|0}function MZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=18;a=2;break}default:a=JZ(a,b)|0}return a|0}function NZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=29;a=5;break}default:a=JZ(a,b)|0}return a|0}function OZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=22;a=6;break}default:a=JZ(a,b)|0}return a|0}function PZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function QZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=30;a=11;break}case 18:{c[a>>2]=31;a=9;break}default:a=JZ(a,b)|0}return a|0}function RZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=32;a=34;break}default:a=JZ(a,b)|0}return a|0}function SZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=33;a=40;break}default:a=JZ(a,b)|0}return a|0}function TZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=34;a=18;break}default:a=JZ(a,b)|0}return a|0}function UZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function VZ(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;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=35;a=17;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=6;else{c[a>>2]=36;a=17}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function WZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}default:a=JZ(a,b)|0}return a|0}function XZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=38;a=21;break}default:a=JZ(a,b)|0}return a|0}function YZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=20;break}default:a=JZ(a,b)|0}return a|0}function ZZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=c[a+8>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=c[a+8>>2]|0;break}default:a=JZ(a,b)|0}return a|0}function _Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 33:{c[a>>2]=40;d=0;break}case 34:{d=a+12|0;e=c[d>>2]|0;if(!e)g=7;else{c[d>>2]=e+-1;d=0}break}case 15:{d=0;break}case 26:{g=7;break}case -4:{if(!(c[a+12>>2]|0))d=0;else g=7;break}default:d=LZ(a,b,d,e,f)|0}if((g|0)==7)d=JZ(a,b)|0;return d|0}function $Z(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;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141340)|0){c[a>>2]=41;a=0;break a}if(!(ob[c[g>>2]&127](f,d,e,141348)|0))h=6;else{c[a>>2]=42;a=0}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function a_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=JZ(a,b)|0}return a|0}function b_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=58;break}default:a=JZ(a,b)|0}return a|0}function c_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141355)|0){c[a>>2]=37;c[a+8>>2]=39;a=42;break a}if(!(ob[c[g>>2]&127](f,d,e,141361)|0))h=7;else{c[a>>2]=37;c[a+8>>2]=39;a=41}break}case 23:{c[a>>2]=43;c[a+4>>2]=1;a=44;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function d_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]|0)|0,e,141365)|0))g=9;else{c[a>>2]=44;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=45;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function e_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{c[a>>2]=37;c[a+8>>2]=39;a=45;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function f_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:a=JZ(a,b)|0}return a|0}function g_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=45}else a=45;break}case 36:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=46}else a=46;break}case 35:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=47}else a=47;break}case 37:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=48}else a=48;break}case 38:{c[a>>2]=45;a=50;break}case 21:{c[a>>2]=45;a=49;break}default:a=JZ(a,b)|0}return a|0}function h_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=48;a=51;break}default:a=JZ(a,b)|0}return a|0}function i_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=33;break}case 41:case 18:{c[a>>2]=49;a=22;break}default:a=JZ(a,b)|0}return a|0}function k_(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;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+24|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(ob[i&127](f,d,e,c[62200+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=50;g=g+23|0;break a}if(!(ob[i&127](f,d,e,141331)|0))j=10;else{c[a>>2]=51;g=33}break}case 23:{c[a>>2]=52;g=33;break}default:j=10}while(0);if((j|0)==10)g=JZ(a,b)|0;return g|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,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141372)|0){c[a>>2]=32;a=35;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141380)|0){c[a>>2]=32;a=36;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141389)|0))i=9;else{c[a>>2]=53;a=33}break}case 27:{c[a>>2]=32;a=37;break}default:i=9}while(0);if((i|0)==9)a=JZ(a,b)|0;return a|0}function m_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function n_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=55;a=31;break}default:a=JZ(a,b)|0}return a|0}function o_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=52;a=33;break}default:a=JZ(a,b)|0}return a|0}function p_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=56;a=32;break}default:a=JZ(a,b)|0}return a|0}function q_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function r_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=32;a=38;break}default:a=JZ(a,b)|0}return a|0}function s_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=57;a=10;break}default:a=JZ(a,b)|0}return a|0}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,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=58;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=59;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function u_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=60;a=13;break}default:a=JZ(a,b)|0}return a|0}function v_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=58;a=14;break}default:a=JZ(a,b)|0}return a|0}function w_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}case 18:{if(!(ob[c[f+24>>2]&127](f,d,e,141443)|0))g=5;else{c[a>>2]=61;a=11}break}default:g=5}if((g|0)==5)a=JZ(a,b)|0;return a|0}function x_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=37;c[a+8>>2]=11;a=16;break}default:a=JZ(a,b)|0}return a|0}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;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=62;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=63;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function z_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=64;a=13;break}default:a=JZ(a,b)|0}return a|0}function A_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=62;a=14;break}default:a=JZ(a,b)|0}return a|0}function B_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}default:a=JZ(a,b)|0}return a|0}function C_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[46749]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=187036+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46749]=o&~(1<>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[46751]|0;if(m>>>0>n>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=187036+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=f;w=i;l=x;return w|0}j=c[46750]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[187300+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=187300+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46750]=j&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[46750]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(n|o|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[187300+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[187300+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[46751]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=187300+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=187300+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[46751]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[46754]|0;if(b>>>0>15){w=a+n|0;c[46754]=w;c[46751]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[46751]=0;c[46754]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[46752]|0;if(i>>>0>n>>>0){u=i-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[46867]|0)){c[46869]=4096;c[46868]=4096;c[46870]=-1;c[46871]=-1;c[46872]=0;c[46860]=0;c[46867]=p&-16^1431655768;a=4096}else a=c[46869]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[46859]|0;if(a|0?(o=c[46857]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[46860]&4)){d=c[46755]|0;c:do if(d){e=187444;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=I3(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=I3(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[46868]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[46857]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[46859]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=I3(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[46869]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((I3(a|0)|0)==(-1|0)){I3(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[46860]=c[46860]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=I3(m|0)|0,s=I3(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[46857]|0)+h|0;c[46857]=b;if(b>>>0>(c[46858]|0)>>>0)c[46858]=b;j=c[46755]|0;do if(j){b=187444;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[46752]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[46756]=c[46871];break}if(g>>>0<(c[46753]|0)>>>0)c[46753]=g;a=g+h|0;b=187444;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=187444;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[46754]|0)==(b|0)){w=(c[46751]|0)+i|0;c[46751]=w;c[46754]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=187300+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[46750]=c[46750]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=187300+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46750]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[46752]|0)+i|0;c[46752]=w;c[46755]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=187444;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[46756]=c[46871];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46861];c[b+4>>2]=c[46862];c[b+8>>2]=c[46863];c[b+12>>2]=c[46864];c[46861]=g;c[46862]=h;c[46864]=0;c[46863]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=187300+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[46750]|0;a=1<>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[46753]|0;if((w|0)==0|g>>>0>>0)c[46753]=g;c[46861]=g;c[46862]=h;c[46864]=0;c[46758]=c[46867];c[46757]=-1;c[46762]=187036;c[46761]=187036;c[46764]=187044;c[46763]=187044;c[46766]=187052;c[46765]=187052;c[46768]=187060;c[46767]=187060;c[46770]=187068;c[46769]=187068;c[46772]=187076;c[46771]=187076;c[46774]=187084;c[46773]=187084;c[46776]=187092;c[46775]=187092;c[46778]=187100;c[46777]=187100;c[46780]=187108;c[46779]=187108;c[46782]=187116;c[46781]=187116;c[46784]=187124;c[46783]=187124;c[46786]=187132;c[46785]=187132;c[46788]=187140;c[46787]=187140;c[46790]=187148;c[46789]=187148;c[46792]=187156;c[46791]=187156;c[46794]=187164;c[46793]=187164;c[46796]=187172;c[46795]=187172;c[46798]=187180;c[46797]=187180;c[46800]=187188;c[46799]=187188;c[46802]=187196;c[46801]=187196;c[46804]=187204;c[46803]=187204;c[46806]=187212;c[46805]=187212;c[46808]=187220;c[46807]=187220;c[46810]=187228;c[46809]=187228;c[46812]=187236;c[46811]=187236;c[46814]=187244;c[46813]=187244;c[46816]=187252;c[46815]=187252;c[46818]=187260;c[46817]=187260;c[46820]=187268;c[46819]=187268;c[46822]=187276;c[46821]=187276;c[46824]=187284;c[46823]=187284;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[46756]=c[46871]}while(0);b=c[46752]|0;if(b>>>0>n>>>0){u=b-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(O_()|0)>>2]=12;w=0;l=x;return w|0}function D_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46753]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[46754]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46751]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=187300+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46750]=c[46750]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46755]|0)==(j|0)){j=(c[46752]|0)+b|0;c[46752]=j;c[46755]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(j|0)){j=(c[46751]|0)+b|0;c[46751]=j;c[46754]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46749]=c[46749]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=187300+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46750]=c[46750]&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=187036+(a<<1<<2)|0;b=c[46749]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;a=14-(g|h|a)+(j<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=187300+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46750]|0;d=1<>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[46750]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[46757]|0)+-1|0;c[46757]=j;if(!j)a=187452;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46757]=-1;return}function E_(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=C_(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;H3(a|0,0,d|0)|0;return a|0}function F_(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=C_(b)|0;return b|0}if(b>>>0>4294967231){c[(O_()|0)>>2]=12;b=0;return b|0}d=G_(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=C_(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;F3(d|0,a|0,(e>>>0>>0?e:b)|0)|0;D_(a);b=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,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46869]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;H_(k,d);return a|0}if((c[46755]|0)==(i|0)){k=(c[46752]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46755]=e;c[46752]=d;return a|0}if((c[46754]|0)==(i|0)){e=(c[46751]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46751]=d;c[46754]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46750]=c[46750]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;H_(i,k);return a|0}return 0}function H_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46754]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46751]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46750]=c[46750]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46755]|0)==(i|0)){i=(c[46752]|0)+b|0;c[46752]=i;c[46755]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(i|0)){i=(c[46751]|0)+b|0;c[46751]=i;c[46754]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=187300+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46750]=c[46750]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;b=14-(e|g|b)+(i<>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=187300+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46750]|0;d=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function I_(a,b){a=a|0;b=b|0;if(a>>>0<9){b=C_(b)|0;return b|0}else{b=J_(a,b)|0;return b|0}return 0}function J_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(O_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=C_(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;H_(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;H_(f,i)}i=b+8|0;return i|0}function K_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(c[a+60>>2]|0)|0;a=N_(Ja(6,d|0)|0)|0;l=b;return a|0}function L_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=N_(ya(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function M_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((N_(xa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function N_(a){a=a|0;if(a>>>0>4294963200){c[(O_()|0)>>2]=0-a;a=-1}return a|0}function O_(){return 187492}function P_(a){a=a|0;return a|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ia(54,f|0)|0):0)a[b+75>>0]=-1;f=R_(b,d,e)|0;l=g;return f|0}function R_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=N_(za(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=N_(za(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function S_(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ka(91,e|0)|0)|0;l=d;return b|0}function T_(){return}function U_(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;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(O_()|0)>>2]=12;a=-1;break}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;a=N_(Aa(192,h|0)|0)|0}else{c[(O_()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function V_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(W_(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function W_(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 X_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ha(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}i=N_(e)|0;l=h;return i|0}function Y_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[141449+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=141537;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=141537;else{f=141537;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return Z_(f,c[e+20>>2]|0)|0}function Z_(a,b){a=a|0;b=b|0;return __(a,b)|0}function __(a,b){a=a|0;b=b|0;if(!b)b=0;else b=$_(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function $_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=a$(c[b+8>>2]|0,o)|0;f=a$(c[b+12>>2]|0,o)|0;g=a$(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=a$(c[b+(g<<2)>>2]|0,o)|0;g=a$(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=b$(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=a$(c[b+(f<<2)>>2]|0,o)|0;f=a$(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function a$(a,b){a=a|0;b=b|0;var c=0;c=C3(a|0)|0;return ((b|0)==0?a:c)|0}function b$(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function c$(a){a=a|0;return Y_(a,c[(d$()|0)+188>>2]|0)|0}function d$(){return e$()|0}function e$(){return 62872}function f$(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function g$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function h$(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z3(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+h$(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function i$(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 j$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function k$(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z3(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);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=l$(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|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.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[63116+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[63132+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+m$(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+m$(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[63132+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+m$(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+m$(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10904+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function m$(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=A3(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function n$(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=s3(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function o$(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function p$(a,b){a=+a;b=+b;return +(+o$(a,b))}function q$(a,b){a=+a;b=b|0;return +(+m$(a,b))}function r$(a,b){a=+a;b=+b;return +(+s$(a,b))}function s$(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z3(i|0,l|0,52)|0;e=e&2047;m=z3(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=A3(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=t$(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=A3(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=A3(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=A3(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=A3(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=A3(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=A3(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=A3(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=A3(f|0,d|0,1)|0;g=z;e=e+-1|0;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=A3(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=s3(f|0,d|0,0,-1048576)|0;d=z;e=A3(e|0,0,52)|0;d=d|z;e=o|e}else{e=z3(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function t$(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function u$(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0>>0|(g|0)==(f|0)&t>>>0>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z3(s|0,r|0,52)|0;i=z3(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}v$(m,n,b);v$(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function v$(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function w$(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+f$(a,0.0,0);h[d>>3]=+i$(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=k$(a,g)|0;m=g+8|0;e=+f$(+h[g>>3],+h[m>>3],1);a=+i$(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function x$(a,b){a=+a;b=b|0;return +(+h$(a,b))}function y$(a){a=a|0;if(a>>>0<131072)a=(d[143341+((d[143341+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function z$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=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);f=(f&255)-(d[c>>0]|0)|0}return f|0}function A$(b,c){b=b|0;c=c|0;b=V_(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function B$(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function C$(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-1,0)|0;return c|0}function D$(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=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function E$(a){a=a|0;return (a+-48|0)>>>0<10|0}function F$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;G$(h,0);d=H$(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function G$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(O_()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while((B$(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=I$(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((d[146510+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){G$(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[146510+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;G$(b,0);c[(O_()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=r3(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=s3(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=I$(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[146766+((e*23|0)>>>5&7)>>0]|0;f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=z3(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0>>0|(m|0)==(k|0)&l>>>0>>0)){f=k;n=72;break}else j=k;while(1){i=A3(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=w3(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=r3(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=s3(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[146510+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while(e>>>0>(d[146510+i>>0]|0)>>>0);c[(O_()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(O_()|0)>>2]=34;g=s3(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(O_()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t3(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function I$(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=J$(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function J$(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((K$(a)|0)==0?(nb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function K$(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)nb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function L$(a){a=a|0;return (a+-48|0)>>>0<10|0}function M$(a){a=a|0;if(!(N$(a)|0))a=(E$(a)|0)!=0&1;else a=1;return a|0}function N$(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function O$(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))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=P$(f)|0,(f|0)!=(P$(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=P$(b&255)|0;return g-(P$(d[c>>0]|0)|0)|0}function P$(a){a=a|0;var b=0;b=(Q$(a)|0)==0;return (b?a:a|32)|0}function Q$(a){a=a|0;return (a+-65|0)>>>0<26|0}function R$(a){a=a|0;return S$(a,0)|0}function S$(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T$(c)|0)==0)))){g=(f|0)!=0;if(g&(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&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66242+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66242+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[66242+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[65754+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[65754+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[65754+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function T$(a){a=a|0;if(a>>>0<131072)a=(d[146775+((d[146775+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U$(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 V$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=P$(f)|0,(g|0)!=(P$(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=P$(b&255)|0;b=b-(P$(d[c>>0]|0)|0)|0}return b|0}function W$(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&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function X$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?187560:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[($$()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(O_()|0)>>2]=84;f=-1}l=k;return f|0}function Y$(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Z$(a,b,0)|0;return a|0}function Z$(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(!(c[c[(_$()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(O_()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(O_()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function _$(){return e$()|0}function $$(){return e$()|0}function a0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Ta(149751)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149758+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149830)|0;if(d|0?a[d>>0]|0:0)break;d=149835}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=149835;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((b$(k,149835)|0)!=0?(b$(k,149843)|0)!=0:0){d=c[46891]|0;if(d|0)do{if(!(b$(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);ta(187568);d=c[46891]|0;c:do if(d|0){while(1){if(!(b$(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}La(187568);break b}while(0);d:do if(((c[46876]|0)==0?(g=Ta(149849)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=V_(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){F3(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;F3(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=ua(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=C_(28)|0;if(!d){S_(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d;break}}else m=41;while(0);if((m|0)==41){d=C_(28)|0;if(d){c[d>>2]=c[15558];c[d+4>>2]=c[15559];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d}}La(187568);d=(b|0)==0&(d|0)==0?62232:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62232;break}d=0}while(0);l=p;return d|0}function b0(a,b){a=a|0;b=b|0;c0(a,b)|0;return a|0}function c0(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|0)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 d0(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function e0(a){a=a|0;if(!a)a=0;else a=(f0(63396,a)|0)!=0&1;return a|0}function f0(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((U$(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function g0(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=h0(a)|0;break}case 2:{a=T$(a)|0;break}case 3:{a=i0(a)|0;break}case 4:{a=j0(a)|0;break}case 5:{a=L$(a)|0;break}case 6:{a=k0(a)|0;break}case 7:{a=l0(a)|0;break}case 8:{a=W$(a)|0;break}case 9:{a=y$(a)|0;break}case 10:{a=e0(a)|0;break}case 11:{a=m0(a)|0;break}case 12:{a=n0(a)|0;break}default:a=0}while(0);return a|0}function h0(a){a=a|0;if(!(L$(a)|0))a=(T$(a)|0)!=0&1;else a=1;return a|0}function i0(a){a=a|0;return d0(a)|0}function j0(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function k0(a){a=a|0;if(!(e0(a)|0))a=(W$(a)|0)!=0&1;else a=0;return a|0}function l0(a){a=a|0;return (R$(a)|0)!=(a|0)|0}function m0(a){a=a|0;return (o0(a)|0)!=(a|0)|0}function n0(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function o0(a){a=a|0;return S$(a,1)|0}function p0(a){a=a|0;return (a+-97|0)>>>0<26|0}function q0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63484;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(O_()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=r0(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function r0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((s0(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=t0(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=s0(b,d,n,q,p)|0;if(h){nb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=s0(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)u0(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function s0(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(O_()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)v0(d,r,j);if(j|0)continue;u=(E$(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<>24==42){if((E$(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=w0(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=w0(D)|0;j=c[D>>2]|0;break}if(E$(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(149862+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}x0(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=z0(j,k,x)|0;m=y-o|0;q=0;n=150326;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=t3(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=150326;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?150326:150328):150327;v=67;break d}}case 117:{k=E;m=0;n=150326;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=150326;o=x;k=1;break}case 109:{k=c$(c[(O_()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:150336;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){B0(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=C0(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=150326;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=y0(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?150326:150326+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=A0(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=D$(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=150326;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=Y$(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}B0(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=Y$(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}v0(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;B0(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;B0(d,32,m,s,j);v0(d,n,q);B0(d,48,m,s,j^65536);B0(d,48,o,p,0);v0(d,r,p);B0(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;x0(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function t0(a){a=a|0;return 0}function u0(a){a=a|0;return}function v0(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))E0(b,d,a)|0;return}function w0(b){b=b|0;var d=0,e=0;if(!(E$(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((E$(a[e>>0]|0)|0)!=0)}return d|0}function x0(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 y0(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[150374+(b&15)>>0]|0|f;b=z3(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function z0(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z3(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function A0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=x3(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=w3(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function B0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;H3(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{v0(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}v0(a,f,e)}l=g;return}function C0(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;D0(e)|0;if((z|0)<0){e=-e;C=1;B=150343}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?150344:150349):150346}D0(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;B0(b,32,f,j,h&-65537);v0(b,B,C);v0(b,e!=e|0.0!=0.0?(G?150511:150370):G?150362:150366,3);B0(b,32,f,j,h^8192)}else{r=+x$(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=A0(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[150374+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;B0(b,32,f,F,h);v0(b,s,q);B0(b,48,f,F,h^65536);v0(b,G,k);B0(b,48,j-k|0,0,0);v0(b,o,E);B0(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=A3(c[j>>2]|0,0,o|0)|0;x=s3(x|0,z|0,m|0,0)|0;y=z;v=x3(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=w3(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=A0(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;B0(b,32,f,j,h);v0(b,B,C);B0(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=A0(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)v0(b,150390,1);if(n>>>0>>0&(k|0)>0)while(1){m=A0(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0>>0&(k|0)>9)){k=m;break}else k=m}B0(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=A0(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;v0(b,m,1);if(s&(k|0)<1){m=n;break}v0(b,150390,1);m=n}else{if(m>>>0<=G>>>0)break;H3(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;v0(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}B0(b,48,k+18|0,18,0);v0(b,v,E-v|0)}B0(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function D0(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function E0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(F0(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=nb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=nb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);F3(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function F0(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function G0(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;F3(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function H0(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=150392;f=97;while(1){if(e<<24>>24==f<<24>>24?(b$(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function I0(a){a=a|0;var b=0;b=(p0(a)|0)==0;return (b?a:a&95)|0}function J0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{ta(187576);if((b|0)!=6){d=K0(b,d)|0;La(187576);break}if(!d){d=194052;b=0}else{b=g;e=150465;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=V_(d,59)|0;e=b-d|0;if((e|0)<16){F3(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}K0(f,g)|0;f=f+1|0}while((f|0)!=6);d=194052;b=0}while(1){f=c[187536+(b<<2)>>2]|0;f=f|0?f+8|0:150481;e=W_(f)|0;F3(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;La(187576);d=194052}while(0);l=h;return d|0}function K0(a,b){a=a|0;b=b|0;if(!b)a=c[187536+(a<<2)>>2]|0;else{b=a0(a,b)|0;c[187536+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:150481)|0}function L0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function M0(a){a=a|0;return N0(a)|0}function N0(a){a=a|0;return B3(a|0)|0}function O0(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;if((c[f+76>>2]|0)>-1)m=t0(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)u0(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=D$(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0>>0?i:g;F3(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=J$(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)u0(f)}return b|0}function P0(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=A$(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=Q0(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=R0(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=S0(b,c)|0;break}else{b=T0(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function Q0(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function R0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function S0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function T0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(L0(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0>>0){i=D$(g,0,k)|0;if(i)if((i-h|0)>>>0>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;V0(a,b,c)|0;return a|0}function V0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);H3(b|0,0,e|0)|0;return b|0}function W0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function X0(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(a)|0;a=Ja(6,d|0)|0;a=N_((a|0)==-4?0:a)|0;l=b;return a|0}function Y0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Z0(a,b,f)|0;l=e;return d|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return q0(a,2147483647,b,c)|0}function _0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)$0(a,d,e,f,j);else b1(a,d,e,k,f,0,j);if((f|0)==1){c1(k,1);f=0;break}else{c1(k,b);f=1;break}}else{$0(a,d,e,f,j);a1(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}b1(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){c1(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;a1(k,1);b1(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);c1(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;b1(h,d,e,k,n,1,j);a=h;f=n;continue}b=d1(k)|0;a1(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}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,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((lb[d&127](a,g)|0)>-1?(lb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((lb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f1(b,m,e);l=n;return}function a1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b1(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((lb[d&127](g,j)|0)>-1){i=10;break a}if((lb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=d1(n)|0;a1(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((lb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){f1(b,o,e);$0(a,b,d,f,h)}l=p;return}function c1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=e1(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e1(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;F3(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;F3(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r0(a,b,f)|0;l=e;return d|0}function h1(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;sa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-2147483648,0)|0;return c|0}function j1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){H3(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=V_(b,e<<24>>24)|0;l=h;return e-b|0}function k1(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[46896]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[46896]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[46896]=d;if(!(a[d>>0]|0)){c[46896]=0;break}else{c[46896]=d+1;a[d>>0]=0;break}}while(0);return b|0}function l1(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 m1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function n1(a){a=a|0;var b=0,c=0;b=(W_(a)|0)+1|0;c=C_(b)|0;if(!c)a=0;else a=F3(c|0,a|0,b|0)|0;return a|0}function o1(a,b){a=a|0;b=b|0;return l1(a,b,(W_(a)|0)+1|0)|0}function p1(a,b){a=a|0;b=b|0;b0(a+(W_(a)|0)|0,b)|0;return a|0}function q1(b,c){b=b|0;c=c|0;c=b+(j1(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function r1(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function s1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=t0(a)|0;else f=0;t1(a);g=(c[a>>2]&1|0)!=0;if(!g){e=u1()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;v1()}b=w1(a)|0;b=kb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)D_(d);if(g){if(f|0)u0(a)}else D_(a);return b|0}function t1(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(y1()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function u1(){ta(187588);return 187596}function v1(){La(187588);return}function w1(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=x1(a)|0;break}d=(t0(a)|0)==0;b=x1(a)|0;if(!d)u0(a)}else{if(!(c[15685]|0))b=0;else b=w1(c[15685]|0)|0;a=c[(u1()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=t0(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=x1(a)|0|b;if(d|0)u0(a);a=c[a+56>>2]|0}while((a|0)!=0);v1()}while(0);return b|0}function x1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)nb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function y1(){return e$()|0}function z1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(A$(150498,a[d>>0]|0)|0){e=C_(1156)|0;if(!e)e=0;else{H3(e|0,0,124)|0;if(!(A$(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(A$(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;Ea(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=Ea(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;Ea(221,h|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+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ia(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=15;c[e+36>>2]=18;c[e+40>>2]=16;c[e+12>>2]=17;if(!(c[46875]|0))c[e+76>>2]=-1;A1(e)|0}}else{c[(O_()|0)>>2]=22;e=0}l=k;return e|0}function A1(a){a=a|0;var b=0,d=0;b=u1()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;v1();return a|0}function B1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(C1()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62280+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(O_()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function C1(){return e$()|0}function D1(a,b){a=a|0;b=b|0;var c=0;c=W_(a)|0;return ((E1(a,1,c,b)|0)!=(c|0))<<31>>31|0}function E1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(t0(e)|0)==0;a=E0(a,f,e)|0;if(!g)u0(e)}else a=E0(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function F1(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(F0(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((nb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function G1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=N_(Fa(3,f|0)|0)|0;l=e;return d|0}function H1(){var a=0,b=0;b=l;l=l+16|0;a=Da(20,b|0)|0;l=b;return a|0}function I1(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=150483;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function J1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ca(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ea(221,e|0)|0)>=0):0){I1(e,a);c[f>>2]=e;c[f+4>>2]=b;b=N_(Ba(195,f|0)|0)|0}else b=N_(d)|0;l=g;return b|0}function K1(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ga(33,e|0)|0)|0;l=d;return b|0}function L1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(A$(150498,a[d>>0]|0)|0){f=M1(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=N_(Ha(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}b=z1(e,d)|0;if(!b){c[h>>2]=e;Ja(6,h|0)|0;b=0}}else b=0}else{c[(O_()|0)>>2]=22;b=0}l=i;return b|0}function M1(b){b=b|0;var c=0,d=0,e=0;d=(A$(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(A$(b,120)|0)==0;d=e?d:d|128;b=(A$(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 N1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=O1(a,b,f)|0;l=e;return d|0}function O1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=38;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Q1(e,b,d)|0;l=g;return h|0}function P1(a,b,c){a=a|0;b=b|0;c=c|0;return Y1(a,b,c)|0}function Q1(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=t0(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(B$(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(E$(n&255)|0?(a[p+2>>0]|0)==36:0){w=R1(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(E$(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((E$(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{S1(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{G$(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0}while((B$(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}G$(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0>>0)c[y>>2]=p+1;else{if((I$(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){H3(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;H3(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=C_(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(X$(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=F_(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(T1(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=C_(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=F_(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+U1(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=H$(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{S1(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;G$(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(B$(d[k>>0]|0)|0))break;else m=k}G$(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0}while((B$(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){D_(j);D_(i)}}else e=0;while(0);if(K|0)u0(b);l=L;return e|0}function R1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function S1(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function T1(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function U1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0}while((B$(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=I$(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[150502+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[150511+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=I$(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|32|0)==120){g=+V1(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+W1(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function V1(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=I$(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=I$(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=I$(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=I$(a)|0;l=s3(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=s3(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=I$(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else G$(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=s3(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=X1(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){G$(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=A3(q|0,p|0,2)|0;l=s3(l|0,z|0,-32,-1)|0;l=s3(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(O_()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(O_()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=s3(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=t3(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=s3(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+p$(+m$(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(O_()|0)>>2]=34;h=+q$(h,l)}while(0);return +h}function W1(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=I$(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48){k=0;b=0;while(1){k=s3(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=s3(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=X1(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){G$(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=s3(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(O_()|0)>>2]=22;G$(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(O_()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0>>0){c[(O_()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[63608+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63608+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63608+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=A3(c[p>>2]|0,0,29)|0;k=s3(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=w3(k|0,m|0,1e9,0)|0;k=x3(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[63640+(p<<2)>>2]|0;if(n>>>0>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+p$(+m$(1.0,105-n|0),j);r=+r$(j,+m$(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+r$(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(O_()|0)>>2]=34}while(0);i=+q$(i,b)}while(0);l=J;return +i}function X1(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-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{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=r3(g|0,b|0,10,0)|0;g=z;e=s3(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=s3(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=t3(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function Y1(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=D$(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;F3(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 Z1(a,b,c){a=a|0;b=b|0;c=c|0;return _1(a,b,c)|0}function _1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(t0(a)|0)==0;b=$1(a,b,d)|0;if(!e)u0(a)}else b=$1(a,b,d)|0;return b|0}function $1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((nb[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 a2(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(B$(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(E$(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((E$(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function b2(a){a=a|0;return +(+c2(a,0))}function c2(a,b){a=a|0;b=b|0;return +(+d2(a,b,1))}function d2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|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;G$(h,0);e=+U1(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function e2(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+(O(g,d)|0)|0;f=lb[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 f2(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=r3((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=s3(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=z3(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function g2(){var a=0,b=0,d=0;b=183528;b=r3(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=s3(b|0,z|0,1,0)|0;a=z;d=183528;c[d>>2]=b;c[d+4>>2]=a;a=z3(b|0,a|0,33)|0;return a|0}function h2(a){a=a|0;F3(190672,65740,6)|0;F3(65740,a|0,6)|0;return 190672}function i2(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;h2(d)|0;l=c;return}function j2(a){a=a|0;var b=0;b=f2(a,65746)|0;b=A3(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function k2(){return +(+j2(65740))}function l2(a,b){a=a|0;b=b|0;if(!a)b=E_(1,24)|0;else H3(b|0,0,24)|0;return b|0}function m2(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{D_(c[b>>2]|0);d=b;b=c[b+4>>2]|0;D_(d)}while((b|0)!=0);D_(a);return}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,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=C_(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=C_(g)|0;c[j>>2]=b;d=b;if(!b){D_(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)H3(b|0,0,d|0)|0}else b=0;while(0);return b|0}function o2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=p2()|0;a:do if(!t)b=12;else{u=l2(0,0)|0;if(!u){q2(t);b=12;break}H3(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=r2(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=E_(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=s2(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=C_((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;H3(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=E_(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=E_(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=s2(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=t2(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=u2(u,0,0,b)|0;if((b|0)!=0?(s=v2(u,i,b)|0,(s|0)!=0):0){b=w2(u,t,s)|0;if(!b){o=C_(c[p>>2]<<2)|0;if(o){q=C_(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)H3(o|0,0,b<<2|0)|0;x2(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=E_(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=x2(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=E_(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=C_(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}F3(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;m2(u);q2(t);D_(o);D_(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);m2(u);q2(t);if(h|0)D_(f);if(i|0)D_(e);c[a+4>>2]=g;y2(a)}while(0);l=v;return b|0}function p2(){var a=0,b=0;a=C_(20)|0;do if(a){b=C_(2048)|0;c[a+16>>2]=b;if(!b){D_(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function q2(a){a=a|0;D_(c[a+16>>2]|0);D_(a);return}function r2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=C2(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=u2(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=R2(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=S2(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=u2(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=M2(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=v2(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=N2(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=N2(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=T2(b,d,D2(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=E2(t)|0;h=h+-1|0;i=E2(t)|0}if((j|0)==40){f=1;d=N2(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=B2(t,f)|0;if(d|0)break a;d=B2(t,g)|0;if(d|0)break a;d=C2(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function s2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=A2(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=C_((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=C_((c[g>>2]<<2)+4|0)|0;if(!A){D_(z);g=12;break}c[A>>2]=-1;B=C_((c[g>>2]<<3)+8|0)|0;if(!B){D_(z);D_(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);B2(d,e)|0;g=C2(d,0)|0;a:do if((g|0)!=0|(A2(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(D2(d)|0){case 6:{i=D2(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=E2(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=C_((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=C2(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=C2(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=B2(d,q)|0;if(!g){g=C2(d,5)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(!g){i=k+20|0;g=C2(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=C2(d,g)|0;if(!g){g=C2(d,4)|0;if(!g){g=B2(d,k)|0;if(!g){p=i;g=C2(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=C2(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=C2(d,m)|0;if(g|0){p=t;o=s;break c}g=C2(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=B2(d,q)|0;if(!g){g=C2(d,1)|0;if(!g){g=B2(d,c[i>>2]|0)|0;if(!g){g=C2(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=C2(d,i?p:t)|0;if(!g){g=C2(d,i?t:m)|0;if(!g){g=B2(d,e)|0;if(!g){g=C2(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=B2(d,q)|0;if(!g){g=B2(d,j)|0;if(!g){g=B2(d,k)|0;if(!g){g=C2(d,3)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(g|0){p=t;o=s;break c}g=C2(d,2)|0;if(g|0){p=t;o=s;break c}g=B2(d,k)|0;if(g|0){p=t;o=s;break c}g=C2(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=E2(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(D2(d)|0)+i;i=0;l=-1}else{q=D2(d)|0;r=D2(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=D2(d)|0;j=D2(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=E2(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=E2(d)|0;o=E2(d)|0;g=E2(d)|0;e=D2(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=E2(d)|0;i=D2(d)|0;k=D2(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=Q2(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=Q2(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(A2(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(P2(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;D_(z);D_(A);D_(B)}while(0);return g|0}function t2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=A2(b)|0;c[t>>2]=0;c[x>>2]=0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d){b:do if((A2(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=D2(b)|0;r=E2(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=C2(b,j)|0;if(d|0)break b;d=B2(b,r)|0;if(d|0)break b;d=C2(b,1)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=C2(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=D2(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=L2(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=v2(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=L2(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=M2(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=v2(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=u2(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=N2(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=v2(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((A2(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function u2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=n2(a,0,0,1,20)|0;a=K2(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function v2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function w2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=A2(b)|0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d)if((A2(b)|0)>(m|0)){b:while(1){h=D2(b)|0;i=E2(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=F2(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=G2(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=G2(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=F2(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,1)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 1:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,2)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 2:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,3)|0;if(d|0)break a;d=B2(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=H2(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=H2(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=H2(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=H2(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((A2(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)D_(e);else if((n|0)==52)D_(e)}else d=0}while(0);l=o;return d|0}function x2(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=z2(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=x2(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=z2(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=x2(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 y2(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|0){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){D_(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){D_(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)D_(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)D_(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}D_(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){D_(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0>>0)}D_(a)}a=c[h+32>>2]|0;if(a|0)D_(a);a=c[h+20>>2]|0;if(a|0)D_(a);a=c[h+36>>2]|0;if(a|0)D_(a);D_(h)}return}function z2(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;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=C_(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)D_(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=C_((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function A2(a){a=a|0;return c[a+12>>2]|0}function B2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function C2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function D2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function E2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function F2(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=n2(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 G2(a){a=a|0;a=n2(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 H2(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)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=n2(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){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=n2(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;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)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=n2(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;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 I2(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;o=A2(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=B2(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((A2(a)|0)>(o|0))while(1){b=E2(a)|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(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)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){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=B2(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=B2(a,k)|0,g|0):0)break a;if((A2(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function J2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=F_(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];J2(a,g)|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}l=k;return d|0}function K2(a,b,d){a=a|0;b=b|0;d=d|0;a=n2(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function L2(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=A2(d)|0;B2(d,e)|0;e=C2(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(D2(d)|0){case 1:{i=7;break c}case 0:{e=E2(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((A2(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=E2(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=M2(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=u2(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=N2(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,m+4|0)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=C2(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=v2(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,k)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=C2(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function M2(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=n2(b,0,0,1,16)|0;b=K2(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function O2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function Q2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function R2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=V2(b,d+1|0)|0;break}case 92:{e=d+1|0;f=W2(e)|0;if(f|0){e=R2(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=u2(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=u2(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=u2(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=u2(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=X2(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=u2(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=u2(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=u2(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=u2(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=N2(c[b>>2]|0,f,e)|0;else e=0}else e=u2(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=u2(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=u2(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=B1(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((m0(c[j>>2]|0)|0)==0?(l0(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=R$(c[j>>2]|0)|0;g=R$(c[j>>2]|0)|0;f=b+24|0;g=u2(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=o0(c[j>>2]|0)|0;d=o0(c[j>>2]|0)|0;d=u2(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=N2(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=u2(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function S2(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;j=l;l=l+16|0;i=j+4|0;g=j;b=U2(b,i)|0;if((a[b>>0]|0)==44){b=U2(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function T2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=u2(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=v2(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function U2(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(E$(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(E$(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function V2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=C_(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=Y2(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){_0(c[r>>2]|0,c[h>>2]|0,4,109);d=_2(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=n2(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}F3(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=K2(c[b>>2]|0,0,j)|0;e=N2(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);D_(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function W2(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[63648+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[63648+(b<<3)+4>>2]|0}function X2(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function Y2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=B1(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}F3(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=H0(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=B1(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=_2(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?($2(e,m,g)|0)!=0:0){g=12;break a}}j=B1(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function Z2(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function _2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=F_(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=n2(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function $2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(l0(b)|0)){if(!(m0(b)|0)){b=b+1|0;break}f=o0(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((o0(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=R$(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((R$(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=_2(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function a3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=C_(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=c3(i,b,g,f,k)|0;else a=b3(i,b,g,f,k)|0;if(!a)d3(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)D_(d)}l=n;return a|0}function b3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=l2(0,0)|0;a:do if(U){p=n2(U,0,0,0,32)|0;if(!p){m2(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=C_(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=C_(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=C_(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)H3(g|0,0,n<<2|0)|0;G=e+q|0;e=B1(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(h0(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(h0(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(h0(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(h0(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(h0(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(h0(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(h0(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(h0(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=n2(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=n2(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(f3(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;d3(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(z$(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(h0(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(h0(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(h0(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(h0(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(h0(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(h0(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(h0(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(h0(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(g0(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=o0(q)|0;e=w+24|0;if(g0(x,c[e>>2]|0)|0)break;x=R$(q)|0;if(!(g0(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(e3(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=n2(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=n2(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==60){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==145){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==152){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);m2(U);if(j|0)D_(i);if(m|0)D_(h);if(k)D_(g)}else e=12;while(0);l=V;return e|0}function c3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=C_(e)|0;if(!U)e=12;else{H3(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=B1(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(h0(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(h0(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(h0(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(h0(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(h0(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(h0(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(h0(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)H3(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=B1(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(h0(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(h0(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(h0(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(h0(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(h0(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(h0(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(h0(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(g0(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=o0(h)|0;a=k+24|0;if(g0(A,c[a>>2]|0)|0)break;A=R$(h)|0;if(!(g0(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(e3(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(f3(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);D_(U)}l=W;return e|0}function d3(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;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0>>0&j>>>0>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0>>0&d>>>0>>0)}else d=0}else d=0;if(d>>>0>>0)H3(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function e3(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)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(g0(b,d)|0){d=1;break a}}else{e=R$(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}e=o0(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function f3(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){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function g3(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;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=t0(f)|0;else j=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:k;F3(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(K$(f)|0)break;h=nb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)u0(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)u0(f);return e|0}function h3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=i3(a)|0}else a=i3(a)|0;return a|0}function i3(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=nb[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 j3(a){a=a|0;(c[a+76>>2]|0)>-1?t0(a)|0:0;return c[a+60>>2]|0}function k3(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15653]|0;if((c[f+76>>2]|0)>-1)g=t0(f)|0;else g=0;do if((D1(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(F1(f,10)|0)>>31}while(0);if(g|0)u0(f);return b|0}function l3(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=150604;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){h1(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=N_(Ha(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;wa(10,h|0)|0;b=z1(f,150624)|0;if(!b){c[i>>2]=f;Ja(6,i|0)|0;b=0}}l=k;return b|0}function m3(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(t0(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=J$(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=J$(a)|0;break}}while(0);return b|0}function n3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(t0(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=F1(d,b)|0;u0(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=F1(d,b)|0}while(0);return e|0}function o3(a){a=a|0;return h3(a)|0}function p3(){}function q3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function r3(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=q3(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function s3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function t3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function u3(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0} - function v3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=u3(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((u3(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=s3(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t3(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t3(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function w3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return v3(a,b,c,d,0)|0}function x3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;v3(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function y3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>c;return a>>>c|(b&(1<>c-32|0}function z3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<>>c-32|0}function A3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<>>32-c;return a<>8&255|0}function C3(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function D3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=F_(d|0,8*(e+1|0)|0)|0;d=D3(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function E3(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 F3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ra(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function G3(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 F3(b,c,d)|0;return b|0}function H3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function I3(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;va(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;va(12);return -1}return d|0}function J3(a){a=a|0;return +gb[a&1]()}function K3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +hb[a&7](+b,+c,+d)}function L3(a,b){a=a|0;b=b|0;return +ib[a&1](b|0)}function M3(a){a=a|0;return jb[a&3]()|0}function N3(a,b){a=a|0;b=b|0;return kb[a&63](b|0)|0}function O3(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&127](b|0,c|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return mb[a&3](b|0,c|0,+d,+e)|0}function Q3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nb[a&63](b|0,c|0,d|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ob[a&127](b|0,c|0,d|0,e|0)|0}function S3(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 pb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function T3(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 qb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function U3(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 rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function V3(a){a=a|0;sb[a&15]()}function W3(a,b){a=a|0;b=b|0;tb[a&127](b|0)}function X3(a,b,c){a=a|0;b=b|0;c=c|0;ub[a&63](b|0,c|0)}function Y3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&127](b|0,c|0,d|0)}function Z3(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;wb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function $3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&15](b|0,c|0,d|0,e|0,f|0)}function a4(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;zb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function b4(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;Ab[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function c4(){S(0);return 0.0}function d4(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function e4(a){a=a|0;S(2);return 0.0}function f4(){S(3);return 0}function g4(a){a=a|0;S(4);return 0}function h4(a,b){a=a|0;b=b|0;S(5);return 0}function i4(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;S(6);return 0}function j4(a,b,c){a=a|0;b=b|0;c=c|0;S(7);return 0}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(9);return 0}function m4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(10);return 0}function n4(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;S(11);return 0}function o4(){S(12)}function p4(a){a=a|0;S(13)}function q4(a,b){a=a|0;b=b|0;S(14)}function r4(a,b,c){a=a|0;b=b|0;c=c|0;S(15)}function s4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(16)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(17)}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(18)}function v4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(19)}function w4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(20)} - - // EMSCRIPTEN_END_FUNCS - var gb=[c4,FL];var hb=[d4,RF,QF,SF,TF,d4,d4,d4];var ib=[e4,ML];var jb=[f4,eq,EH,vI];var kb=[g4,eh,zg,Nm,Om,Fy,Iy,sN,tN,iP,jP,kP,lP,mP,nP,oP,pP,K_,Ib,bC,Al,Dl,an,vH,ay,Sy,$x,AH,FH,by,eN,uH,jN,kN,bV,C_,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4];var lb=[h4,hy,Ey,Jy,EK,FK,wK,sK,aK,KT,LT,MT,NT,OT,PT,RT,ST,TT,UT,VT,WT,XT,YT,ZT,_T,$T,aU,bU,cU,dU,eU,fU,gU,hU,iU,jU,kU,lU,mU,nU,wX,xX,zX,WX,XX,YX,ZX,_X,$X,aY,bY,UY,VY,XY,jY,kY,mY,$B,pg,dh,Gh,ii,Ai,Lk,Jk,Bl,El,$o,oq,Kq,Mq,Oq,Pq,Rq,Qq,ar,is,ns,ps,tu,mB,lB,kB,gD,Ty,xH,tD,JD,ED,FD,GE,D1,n3,zL,NM,xx,PR,Ex,Gx,fN,b$,oQ,JT,ZU,_U,F_,kX,lX,mX,Z2,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4];var mb=[i4,qt,vt,i4];var nb=[j4,Jm,Mu,kw,sw,Bw,Gw,Dy,Hy,HI,AM,zR,AX,YY,nY,L_,M_,Q_,R_,G0,Pw,Zm,Au,tp,os,Iw,eD,Y0,vA,g1,BL,DI,sO,WU,HY,yZ,sZ,CZ,P1,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4];var ob=[k4,Lm,Wq,Nu,mw,uw,Cx,AA,Dx,Wx,jy,ly,wy,vy,Ky,Oy,Qy,xI,CM,VN,TN,PP,BR,XR,WR,pX,qX,rX,sX,tX,uX,vX,yX,CX,NY,OY,PY,QY,RY,SY,TY,WY,_Y,cY,dY,eY,fY,gY,hY,iY,lY,pY,Lw,Az,iD,DL,QV,TV,_V,jW,sW,yW,wW,zW,iX,DZ,XW,JY,KY,zZ,AZ,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4];var pb=[l4,iy,bK,xK,DX,EX,UX,VX,pZ,$Y,aZ,qY,rY,nX,oX,FZ,GZ,HZ,IZ,KZ,LZ,MZ,NZ,OZ,QZ,RZ,SZ,TZ,UZ,PZ,s_,t_,j_,c_,VZ,WZ,XZ,ZZ,YZ,_Z,$Z,a_,b_,d_,e_,f_,g_,h_,i_,k_,l_,m_,n_,r_,p_,o_,q_,y_,u_,v_,w_,x_,z_,A_,B_,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4];var qb=[m4,AU];var rb=[n4,rZ,BZ,n4];var sb=[o4,EL,BH,CH,DH,HH,IH,JH,FR,o4,o4,o4,o4,o4,o4,o4];var tb=[p4,Ob,Pb,Tb,Ub,Vb,nc,oc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,cd,dd,gd,hd,id,jd,kd,ld,md,yd,zd,Ad,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Ud,Vd,Wd,Yd,Zd,_d,$d,ae,be,ce,de,ee,ge,te,ue,ve,we,He,Ie,Je,Le,Ye,Ze,_e,af,bf,cf,df,ef,ff,gf,hf,jf,sf,tf,uf,vf,Yf,Tf,rm,bm,fp,Go,ao,co,Np,Op,Zl,_l,fo,no,po,Ao,my,IJ,_J,KJ,JJ,uK,fJ,iJ,qP,vP,Mf,Fl,Ko,Oo,gp,D_,ax,jD,cF,ER,lO,mN,yI,YR,zU,UU,VU,$U,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4];var ub=[q4,Uc,Zc,od,td,Qd,me,Ce,Re,pf,Bf,Ly,cK,GK,yK,tK,YJ,ZJ,CK,DK,tP,xP,PI,Sw,fD,GH,dN,AT,yU,XU,YU,aV,cV,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4];var vb=[r4,Wb,Xb,_b,Lc,Tc,Vc,Yc,nd,pd,sd,Ld,Md,Pd,he,ie,le,xe,ye,Be,Me,Ne,Qe,kf,lf,of,wf,xf,Af,qk,rk,sk,Km,lw,tw,Zw,ny,Py,wz,BA,YC,BG,wI,II,hJ,BM,EM,UN,SN,rP,sP,uP,wP,yP,AR,nT,mT,qx,Sx,bz,Ez,Hz,zH,CL,BI,hN,lN,oT,qT,rT,zT,BT,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4];var wb=[s4,xE,yE,zE,AE,BE,CE,DE,EE,s4,s4,s4,s4,s4,s4,s4];var xb=[t4,Yb,Wc,qd,Bd,Nd,Xd,je,ze,Oe,$e,mf,yf,Pf,Of,Nf,Lf,Kf,Jf,mc,If,Hf,ky,$J,vK,BX,ZY,oY,_0,gN,iN,LY];var yb=[u4,ed,Kd,Rd,fe,Ke,Cl,hD,nN,u4,u4,u4,u4,u4,u4,u4];var zb=[v4,Zb,Xc,rd,Od,ke,Ae,Pe,nf,zf,oN,v4,v4,v4,v4,v4];var Ab=[w4];return{___errno_location:O_,___muldi3:r3,___udivdi3:w3,___uremdi3:x3,_bitshift64Ashr:y3,_bitshift64Lshr:z3,_bitshift64Shl:A3,_dtextract:zw,_free:D_,_htons:M0,_i64Add:s3,_i64Subtract:t3,_llvm_bswap_i16:B3,_llvm_bswap_i32:C3,_malloc:C_,_memalign:I_,_memcpy:F3,_memmove:G3,_memset:H3,_realloc:F_,_saveSetjmp:D3,_sbrk:I3,_testSetjmp:E3,_vizCreateFile:Kb,_vizLastErrorMessage:Jb,_vizRenderFromString:Nb,_vizSetNop:Mb,_vizSetY_invert:Lb,dynCall_d:J3,dynCall_dddd:K3,dynCall_di:L3,dynCall_i:M3,dynCall_ii:N3,dynCall_iii:O3,dynCall_iiidd:P3,dynCall_iiii:Q3,dynCall_iiiii:R3,dynCall_iiiiii:S3,dynCall_iiiiiii:T3,dynCall_iiiiiiiiiii:U3,dynCall_v:V3,dynCall_vi:W3,dynCall_vii:X3,dynCall_viii:Y3,dynCall_viiiddi:Z3,dynCall_viiii:_3,dynCall_viiiii:$3,dynCall_viiiiii:a4,dynCall_viiiiiiiii:b4,establishStackSpace:Eb,getTempRet0:Hb,runPostSets:p3,setTempRet0:Gb,setThrew:Fb,stackAlloc:Bb,stackRestore:Db,stackSave:Cb}}) - - - // EMSCRIPTEN_END_ASM - (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _free=Module["_free"]=asm["_free"];var _htons=Module["_htons"]=asm["_htons"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _vizSetNop=Module["_vizSetNop"]=asm["_vizSetNop"];var _vizSetY_invert=Module["_vizSetY_invert"]=asm["_vizSetY_invert"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["Pointer_stringify"]=Pointer_stringify;Module["UTF8ToString"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() - - - - - return Module; - }; - - function render(instance, src, options) { - var i; - for (i = 0; i < options.files.length; i++) { - instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]); - } - - instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]); - instance['ccall']('vizSetNop', 'number', ['number'], [options.nop ? options.nop : 0]); - - var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]); - var resultString = instance['Pointer_stringify'](resultPointer); - instance['ccall']('free', 'number', ['number'], [resultPointer]); - - var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []); - var errorMessageString = instance['Pointer_stringify'](errorMessagePointer); - instance['ccall']('free', 'number', ['number'], [errorMessagePointer]); - - if (errorMessageString != '') { - throw new Error(errorMessageString); - } - - return resultString; - } - - if (typeof importScripts === "function") { - var instance = Module(); - - onmessage = function(event) { - var id = event.data.id; - var src = event.data.src; - var options = event.data.options; - - try { - var result = render(instance, src, options); - postMessage({ id: id, result: result }); - } catch (e) { - var error; - if (e instanceof Error) { - error = { message: e.message, fileName: e.fileName, lineNumber: e.lineNumber }; +(function (global) { + var Module = function (Module) { + Module = Module || {}; + var Module = typeof Module !== "undefined" ? Module : {}; + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } + } + Module["arguments"] = []; + Module["thisProgram"] = "./this.program"; + Module["quit"] = (function (status, toThrow) { + throw toThrow + }); + Module["preRun"] = []; + Module["postRun"] = []; + var ENVIRONMENT_IS_WEB = false; + var ENVIRONMENT_IS_WORKER = false; + var ENVIRONMENT_IS_NODE = false; + var ENVIRONMENT_IS_SHELL = false; + if (Module["ENVIRONMENT"]) { + if (Module["ENVIRONMENT"] === "WEB") { + ENVIRONMENT_IS_WEB = true + } else if (Module["ENVIRONMENT"] === "WORKER") { + ENVIRONMENT_IS_WORKER = true + } else if (Module["ENVIRONMENT"] === "NODE") { + ENVIRONMENT_IS_NODE = true + } else if (Module["ENVIRONMENT"] === "SHELL") { + ENVIRONMENT_IS_SHELL = true + } else { + throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.") + } + } else { + ENVIRONMENT_IS_WEB = typeof window === "object"; + ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; + ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER + } + if (ENVIRONMENT_IS_NODE) { + var nodeFS; + var nodePath; + Module["read"] = function shell_read(filename, binary) { + var ret; + ret = tryParseAsDataURI(filename); + if (!ret) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename) + } + return binary ? ret : ret.toString() + }; + Module["readBinary"] = function readBinary(filename) { + var ret = Module["read"](filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/") + } + Module["arguments"] = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", (function (ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + })); + process["on"]("unhandledRejection", (function (reason, p) { + process["exit"](1) + })); + Module["inspect"] = (function () { + return "[Emscripten Module object]" + }) + } else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + Module["read"] = function shell_read(f) { + var data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data) + } + return read(f) + } + } + Module["readBinary"] = function readBinary(f) { + var data; + data = tryParseAsDataURI(f); + if (data) { + return data + } + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + Module["arguments"] = scriptArgs + } else if (typeof arguments != "undefined") { + Module["arguments"] = arguments + } + if (typeof quit === "function") { + Module["quit"] = (function (status, toThrow) { + quit(status) + }) + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module["read"] = function shell_read(url) { + try { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data) + } + throw err + } + }; + if (ENVIRONMENT_IS_WORKER) { + Module["readBinary"] = function readBinary(url) { + try { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data + } + throw err + } + } + } + Module["readAsync"] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + if (typeof arguments != "undefined") { + Module["arguments"] = arguments + } + Module["setWindowTitle"] = (function (title) { + document.title = title + }) + } + Module["print"] = typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null; + Module["printErr"] = typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || Module["print"]; + Module.print = Module["print"]; + Module.printErr = Module["printErr"]; + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } + } + moduleOverrides = undefined; + var STACK_ALIGN = 16; + + function staticAlloc(size) { + assert(!staticSealed); + var ret = STATICTOP; + STATICTOP = STATICTOP + size + 15 & -16; + return ret + } + + function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + HEAP32[DYNAMICTOP_PTR >> 2] = end; + if (end >= TOTAL_MEMORY) { + var success = enlargeMemory(); + if (!success) { + HEAP32[DYNAMICTOP_PTR >> 2] = ret; + return 0 + } + } + return ret + } + + function alignMemory(size, factor) { + if (!factor) factor = STACK_ALIGN; + var ret = size = Math.ceil(size / factor) * factor; + return ret + } + + function getNativeTypeSize(type) { + switch (type) { + case"i1": + case"i8": + return 1; + case"i16": + return 2; + case"i32": + return 4; + case"i64": + return 8; + case"float": + return 4; + case"double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits / 8 + } else { + return 0 + } + } + } + } + + function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + Module.printErr(text) + } + } + + var jsCallStartIndex = 1; + var functionPointers = new Array(0); + var funcWrappers = {}; + + function dynCall(sig, ptr, args) { + if (args && args.length) { + return Module["dynCall_" + sig].apply(null, [ptr].concat(args)) + } else { + return Module["dynCall_" + sig].call(null, ptr) + } + } + + var GLOBAL_BASE = 8; + var ABORT = 0; + var EXITSTATUS = 0; + + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } + } + + function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func + } + + var JSfuncs = { + "stackSave": (function () { + stackSave() + }), "stackRestore": (function () { + stackRestore() + }), "arrayToC": (function (arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + }), "stringToC": (function (str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }) + }; + var toC = {"string": JSfuncs["stringToC"], "array": JSfuncs["arrayToC"]}; + + function ccall(ident, returnType, argTypes, args, opts) { + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + if (returnType === "string") ret = Pointer_stringify(ret); + if (stack !== 0) { + stackRestore(stack) + } + return ret + } + + function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case"i1": + HEAP8[ptr >> 0] = value; + break; + case"i8": + HEAP8[ptr >> 0] = value; + break; + case"i16": + HEAP16[ptr >> 1] = value; + break; + case"i32": + HEAP32[ptr >> 2] = value; + break; + case"i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case"float": + HEAPF32[ptr >> 2] = value; + break; + case"double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } + } + + var ALLOC_STATIC = 2; + var ALLOC_NONE = 4; + + function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [typeof _malloc === "function" ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret + } + + function Pointer_stringify(ptr, length) { + if (length === 0 || !ptr) return ""; + var hasUtf = 0; + var t; + var i = 0; + while (1) { + t = HEAPU8[ptr + i >> 0]; + hasUtf |= t; + if (t == 0 && !length) break; + i++; + if (length && i == length) break + } + if (!length) length = i; + var ret = ""; + if (hasUtf < 128) { + var MAX_CHUNK = 1024; + var curr; + while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); + ret = ret ? ret + curr : curr; + ptr += MAX_CHUNK; + length -= MAX_CHUNK + } + return ret + } + return UTF8ToString(ptr) + } + + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + + function UTF8ArrayToString(u8Array, idx) { + var endPtr = idx; + while (u8Array[endPtr]) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var u0, u1, u2, u3, u4, u5; + var str = ""; + while (1) { + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + u3 = u8Array[idx++] & 63; + if ((u0 & 248) == 240) { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u3 + } else { + u4 = u8Array[idx++] & 63; + if ((u0 & 252) == 248) { + u0 = (u0 & 3) << 24 | u1 << 18 | u2 << 12 | u3 << 6 | u4 + } else { + u5 = u8Array[idx++] & 63; + u0 = (u0 & 1) << 30 | u1 << 24 | u2 << 18 | u3 << 12 | u4 << 6 | u5 + } + } + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + } + + function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8, ptr) + } + + function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 2097151) { + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 67108863) { + if (outIdx + 4 >= endIdx) break; + outU8Array[outIdx++] = 248 | u >> 24; + outU8Array[outIdx++] = 128 | u >> 18 & 63; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 5 >= endIdx) break; + outU8Array[outIdx++] = 252 | u >> 30; + outU8Array[outIdx++] = 128 | u >> 24 & 63; + outU8Array[outIdx++] = 128 | u >> 18 & 63; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx + } + + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) { + ++len + } else if (u <= 2047) { + len += 2 + } else if (u <= 65535) { + len += 3 + } else if (u <= 2097151) { + len += 4 + } else if (u <= 67108863) { + len += 5 + } else { + len += 6 + } + } + return len + } + + var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret + } + + function demangle(func) { + return func + } + + function demangleAll(text) { + var regex = /__Z[\w\d_]+/g; + return text.replace(regex, (function (x) { + var y = demangle(x); + return x === y ? x : x + " [" + y + "]" + })) + } + + function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() + } + + function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) + } + + var PAGE_SIZE = 16384; + var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + + function updateGlobalBufferViews() { + Module["HEAP8"] = HEAP8 = new Int8Array(buffer); + Module["HEAP16"] = HEAP16 = new Int16Array(buffer); + Module["HEAP32"] = HEAP32 = new Int32Array(buffer); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer) + } + + var STATIC_BASE, STATICTOP, staticSealed; + var STACK_BASE, STACKTOP, STACK_MAX; + var DYNAMIC_BASE, DYNAMICTOP_PTR; + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + function abortOnCannotGrowMemory() { + abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") + } + + function enlargeMemory() { + abortOnCannotGrowMemory() + } + + var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880; + var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216; + if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); + if (Module["buffer"]) { + buffer = Module["buffer"] } else { - error = { message: e.toString() }; + { + buffer = new ArrayBuffer(TOTAL_MEMORY) + } + Module["buffer"] = buffer + } + updateGlobalBufferViews(); + + function getTotalMemory() { + return TOTAL_MEMORY + } + + HEAP32[0] = 1668509029; + HEAP16[1] = 25459; + if (HEAPU8[2] !== 115 || HEAPU8[3] !== 99) throw"Runtime error: expected the system to be little-endian!"; + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } + } + + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATMAIN__ = []; + var __ATEXIT__ = []; + var __ATPOSTRUN__ = []; + var runtimeInitialized = false; + var runtimeExited = false; + + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) + } + + function ensureInitRuntime() { + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__) + } + + function preMain() { + callRuntimeCallbacks(__ATMAIN__) + } + + function exitRuntime() { + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true + } + + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) + } + + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) + } + + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) + } + + function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer) + } + + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 + } + + 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"]; + if (!Math["trunc"]) Math["trunc"] = (function (x) { + return x < 0 ? Math.ceil(x) : Math.floor(x) + }); + Math.trunc = Math["trunc"]; + var Math_abs = Math.abs; + var Math_cos = Math.cos; + var Math_sin = Math.sin; + var Math_tan = Math.tan; + var Math_acos = Math.acos; + var Math_asin = Math.asin; + var Math_atan = Math.atan; + var Math_atan2 = Math.atan2; + var Math_exp = Math.exp; + var Math_log = Math.log; + var Math_sqrt = Math.sqrt; + var Math_ceil = Math.ceil; + var Math_floor = Math.floor; + var Math_pow = Math.pow; + var Math_imul = Math.imul; + var Math_fround = Math.fround; + var Math_round = Math.round; + var Math_min = Math.min; + var Math_max = Math.max; + var Math_clz32 = Math.clz32; + var Math_trunc = Math.trunc; + var runDependencies = 0; + var runDependencyWatcher = null; + var dependenciesFulfilled = null; + + function getUniqueRunDependency(id) { + return id + } + + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + } + + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } + } + + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + var memoryInitializer = null; + var dataURIPrefix = "data:application/octet-stream;base64,"; + + function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 + } + + var ASM_CONSTS = [(function ($0, $1) { + var path = Pointer_stringify($0); + var data = Pointer_stringify($1); + FS.createPath("/", PATH.dirname(path)); + FS.writeFile(PATH.join("/", path), data) + })]; + + function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1) + } + + STATIC_BASE = GLOBAL_BASE; + STATICTOP = STATIC_BASE + 194160; + __ATINIT__.push(); + memoryInitializer = "data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqQVQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP1ioNc07TtU/JXUCmggb2j8AAAAAAADgPwAAAAAAAOA/LNSa5h2n6j9q3nGKjuToP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAOA/XdxGA3gL4j8AAAAAAADQP1ioNc07TtU/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T/TvOMUHcnRP13cRgN4C+I/XdxGA3gL4j9d3EYDeAviPw1xrIvbaNw/ZF3cRgN47T/Sb18HzhnnPxB6Nqs+V+U/EHo2qz5X5T/Sb18HzhnnP3gLJCh+jOM/tRX7y+7J4T/Sb18HzhnnP9JvXwfOGec/WKg1zTtO1T+IhVrTvOPYP9JvXwfOGec/eAskKH6M4z/EQq1p3nHsP9JvXwfOGec/0m9fB84Z5z+1FfvL7snhP9JvXwfOGec/EHo2qz5X5T+1FfvL7snhP3gLJCh+jOM/0m9fB84Z5z/Sb18HzhnnP4Y41sVtNO4/0m9fB84Z5z/Sb18HzhnnP3gLJCh+jOM/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/pgpGJXUC3j8AAAAAAADgP1ioNc07TtU/DXGsi9to3D8AAAAAAADgPw1xrIvbaNw/AAAAAAAA4D8NcayL22jcP1ioNc07TtU/AAAAAAAA4D8AAAAAAADgP9O84xQdydE/07zjFB3J0T8AAAAAAADgP9O84xQdydE/at5xio7k6D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgP1ioNc07TtU/iIVa07zj2D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D/Sb18HzhnnPwAAAAAAAOA/AAAAAAAA4D8NcayL22jcP/RsVn2utt4/ETY8vVKWyT/0bFZ9rrbePzsBTYQNT+E/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D9YqDXNO07VPwAAAAAAAOA/AAAAAAAA4D8+6Nms+lzFPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/gnNGlPYGxz8NcayL22jcPwAAAAAAAOA/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADQPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8H8BZIUPzcP6K0N/jCZNY/WKg1zTtO1T8NcayL22jcPw1xrIvbaNw/AAAAAAAA4D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA0D8NcayL22jcPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/AAAAAAAA8D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP8RCrWnecew/AAAAAAAA0D9/2T15WKjRPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/eAskKH6M4z/Sb18HzhnnP8RCrWnecew/E/JBz2bV0z8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/EHo2qz5X5T8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP/RsVn2uttY/tRX7y+7J4T+1FfvL7snhP8RCrWnecew/EHo2qz5X5T/129eBc0bMP1ioNc07TtU/WKg1zTtO1T+IhVrTvOPYPwFNhA1Pr+I/07zjFB3J0T9YqDXNO07VP9O84xQdydE/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP9O84xQdydE/07zjFB3J0T8BTYQNT6/iPwFNhA1Pr+I/AU2EDU+v4j+1FfvL7snhP8xdS8gHPfA/EHo2qz5X5T8QejarPlflP9JvXwfOGec/0m9fB84Z5z8QejarPlflP3gLJCh+jOM/at5xio7k6D/Sb18HzhnnP9O84xQdydE/AAAAAAAA4D8QejarPlflP7UV+8vuyeE/LNSa5h2n6j/Sb18HzhnnP2recYqO5Og/EHo2qz5X5T9q3nGKjuToP9JvXwfOGec/EHo2qz5X5T94CyQofozjP9JvXwfOGec/EHo2qz5X5T+GONbFbTTuPxB6Nqs+V+U/EHo2qz5X5T94CyQofozjP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP6YKRiV1At4/tRX7y+7J4T9Iv30dOGfMP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADgP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP7UV+8vuyeE/tRX7y+7J4T9Iv30dOGfMP0i/fR04Z8w/AAAAAAAA4D9Iv30dOGfMPyzUmuYdp+o/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T9YqDXNO07VPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8Cmggbnl7VP+C+DpwzotA/ApoIG55e1T8BTYQNT6/iP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/WKg1zTtO1T+1FfvL7snhP7UV+8vuyeE/PujZrPpcxT+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhPx04Z0Rpb8g/WKg1zTtO1T+1FfvL7snhP1ioNc07TtU/WKg1zTtO1T8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP9O84xQdydE/5x2n6Egu4T+itDf4wmTWP0i/fR04Z8w/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/AAAAAAAA8D8AAAAAAADwP9O84xQdydE/eAskKH6M4z/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAPA/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T8AAAAAAADwP9O84xQdydE/6pWyDHGs1z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP7UV+8vuyeE/at5xio7k6D8AAAAAAADwP5jdk4eFWtc/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP8RCrWnecew/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/SL99HThnzD94CyQofozjP4Y41sVtNO4/eAskKH6M4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP1GgT+RJ0g5AtMh2vp86NcA6It+l1CXVv/OCPkeaLoo/n+V5cHfW+b9+/RAbLJzmP5bs2AjE68w/zc6idyrg0D+w479AECDtv62h1F5E29g/O6F85lGWdj/TbnD5eoR7P4HMzqJ3KuS/0a3X9KCgyD9q3zcZsD+EP77KkBle/4Q/HJYGflTDxL+lSSno9uIjQKnZA63AkME/CMSQQZNpiT/6RJ4kXTPQvwHwmTYtwl4/DZx9L8+Ulz+JtfgUAOOJP+WpWEY0y7G/jwDJz6Fnpr9ctcb7zLSIP02kj1Q6s5A/5scEoWHWoL/HaWccE/eCvyp/a+UtcFy/5FdiVAiadT/R8YdVcgS3P5XUCWgiPDPAZCMQr+t3EMCnIarwZ3jHP9r/AGvVrsE/TihEwCFU97+qSIWxhSD1P51oVyHlJ/Y/TS7GwDqOzT9Zayi1F9HcvwM/qmG/J8w/pkdTPZl/2j+2gTtQpzyuP1FM3gAz37m/9XaV/9oLpj/UpTW8D/aUPx+tILws3JA/KCzxgLLJI0AjWuFMAoq3P0ijZVGWKX8/u7SG98Gekz8XqHtTR32gvyErruBtlIs/M3PchNYetb+geISJ9fyPP2k1JO6x9JG/uM0zel6/aj+SPq2iPzTNv36w58ZPPpi/ByObUC3HpD8+GMJ7WLmRvy18fa1LjcY/AAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAPC/VAQBAOgqAAADAAAAEC0AAAMAAADoLwAAAwAAALAwAAADAAAAADIAAAMAAAB4NQAAAwAAALQ4AAADAAAAxC4AAAMAAAB8OQAAAwAAAIQ6AAADAAAAED8AAAMAAAA0PQAAAAAAANQsAAAAAAAAwC8AAAAAAAAQMAAAAAAAANgxAAAAAAAAKDIAAAAAAACMOAAAAAAAAGAuAAAAAAAAVDkAAAAAAABcOgAAAAAAAOg+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAAzQIAEM0CACDNAgAwzQIAQM0CAFDNAgBgzQIAcM0CABDNAgAQzQIAUM0CAFDNAgAfAAAAPwAAAH8AAAAAAAAA0HkBAAEAAACoKwAAaAAAAAQAAABtCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAUBAAEAAAAAAAAA4AAAAAAAAAAQBQEAAQAAAAAAAADgAAAAAQAAABcFAQABAAAAAAAAAKgAAAACAAAAIQUBAAEAAAAAAAAA4AAAAAMAAAArBQEAAQAAAAAAAADgAAAABAAAADkFAQABAAAAAAAAAOAAAAAFAAAAQwUBAAEAAAAAAAAA4AAAAAYAAABQBQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcggBAAEAAADELQAAGAEAAAEAAAB3CAEAAQAAAMQtAAAYAQAAAgAAAH0IAQABAAAAxC0AABgBAAADAAAAhggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAIAQABAAAAAAAAAHABAAABAAAAmggBAAEAAAAAAAAAcAEAAAIAAAClCAEAAQAAAAAAAAA4AQAAAwAAALMIAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAFgMAgBd9QEA7vYBAC79AQAlBAIAZAgCAOQLAgD1CwIAAAAAAPoIAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+CAEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAD4KAQABAAAAAAAAACACAAACAAAASAoBAAEAAAAAAAAAWAIAAAAAAABRCgEAAQAAAAAAAABYAgAAAwAAAFoKAQABAAAAAAAAAFgCAAAAAAAAZAoBAAEAAAAAAAAAIAIAAAMAAABwCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABYDAIAXfUBAC79AQDu9gEAZAgCACUEAgD1CwIA5AsCAAAAAAAAAAAALQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWgQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAAAtEAEAOxABAFEQAQDr7QIAXxABAG4QAQBzEAEAkRABAOvtAgCjEAEA0xABAOvtAgDxEAEAGREBACcRAQBWEQEAihEBAJsRAQDAEQEA4xEBAOkRAQAFEgEAIhIBAD0SAQBeEgEAeBIBAJoSAQC5EgEA3xIBAPcSAQAXEwEANBMBAFgTAQBkEwEA6+0CAG8TAQCVEwEAuRMBAN8TAQDr7QIAFRQBAC0UAQA6FAEAaRQBAGQTAQDr7QIAdhQBAH8UAQCgFAEA2xQBACYVAQB6FQEAnBUBALEVAQDIFQEA3hUBAPYVAQDr7QIADBYBACcWAQBLFgEAbxYBAJQWAQDr7QIAtRYBAM8WAQDhFgEA7hYBAPsWAQAPFwEAHhcBACYXAQA7FwEASRcBAIcXAQCSFwEAZBMBAOvtAgCYFwEApBcBALMXAQDjEQEA6+0CAMYXAQDvFwEADRgBAB0YAQAuGAEANRgBAEQYAQBUGAEAmBgBAJ8YAQDjEQEA6+0CAKkYAQDVGAEA4BgBAOkYAQDyGAEAAxkBABQZAQAoGQEAZBMBAOvtAgA0GQEARBkBAFIZAQBgGQEAbRkBAHoZAQCQGQEAmRkBAKgZAQC1GQEAxhkBAGQTAQDr7QIA0RkBAPAZAQDr7QIAAhoBABEaAQBBGgEASxoBAFgaAQBlGgEAchoBAH8aAQCCGgEA6+0CAIYaAQDr7QIAqRoBANoaAQAJGwEAIBsBADsbAQBWGwEAZBMBAOvtAgByGwEA6+0CAJobAQCmGwEAuRsBAMwbAQDhGwEA9hsBAPobAQDjEQEA6+0CAAYcAQDr7QIAFhwBACQcAQAwHAEAPRwBAF0cAQBzHAEA6+0CAIccAQDQHAEAFh0BAEYdAQB5HQEAgB0BAKcdAQDOHQEA6+0CANMdAQAAAAAAAAAAAJFHAQABAAAAAAAAAAgDAAABAAAARx4BAAEAAAAAAAAACAMAAAIAAACKRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB19AEAf/QBABExAQDE9AEA//QBACH1AQAn9QEAWAwCAE71AQBd9QEAevUBAIX1AQCn9QEA3fUBABP2AQBO9gEAhPYBAKb2AQC19gEA5vYBAO72AQDXJAEA4CQBAAv3AQDpJAEAVfcBAPIkAQBf9wEA+yQBAGn3AQC49wEA8/cBAAclAQAu+AEAOfgBAH74AQCM+AEA1vgBAOT4AQDy+AEA/fgBAC75AQBu+QEAdvkBAH75AQC5+QEA7/kBAPv5AQAWMQEAB/oBABH6AQAc+gEAOfoBAG/6AQAu/QEAUP0BAFz9AQAbAAIATAACAHgAAgCuAAIAuwACAN0AAgD/AAIACAECAFIBAgBcAQIAoQECANcBAgDiAQIAZwICAHwCAgAPJQEAhgICAJACAgDGAgIABgMCABQDAgBoAwIAdwMCAIYDAgDVAwIAHjEBABUEAgAfBAIAJQQCAFEEAgB4BAIAiQQCAJQEAgDZBAIAHgUCAC0FAgA9BQIATwUCAF8FAgBvBQIAfAUCAIYFAgC8BQIAxQUCAAUGAgAYBgIAIzEBACAGAgBWBgIAfQYCALMGAgDaBgIA6AYCAB4HAgBoBwIAsgcCAL0HAgDzBwIA+AcCABUIAgAyCAIAPQgCAGQIAgB8CAIAsggCAOgIAgD0CAIAGwkCACYJAgBXCQIAiAkCABA8AQCvCQIA2wkCABEKAgBHCgIAUQoCAG4KAgCuCgIA5AoCACkxAQD8CgIAKAsCAE8LAgCFCwIAwgsCAOQLAgDqCwIA9QsCABwMAgAAAAAA2YEBAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAABFJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAETEBAFgMAgBd9QEAFjEBAG/6AQAu/QEAHjEBAFEEAgAFBgIAIzEBAD0IAgBkCAIAEDwBACkxAQDkCwIA9QsCAAAAAAAuMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAxPQBAKY6AQBYDAIAXfUBAHr1AQCxOgEAtzoBAMI6AQDJOgEAhfUBAN31AQDROgEA1zoBAOI6AQCE9gEApvYBAO72AQDpOgEAVfcBAGn3AQDz9wEA8zoBAH74AQCM+AEA1vgBAP46AQDk+AEABjsBAA87AQAdOwEAJzsBALn5AQAwOwEA+/kBABz6AQA5+gEANjsBAID6AQCr+gEA1PoBAPf6AQAg+wEAQ/sBAGz7AQCP+wEAuPsBANv7AQAE/AEAJ/wBAFD8AQBz/AEAnPwBAL/8AQDo/AEAC/0BAC79AQA9OwEAUP0BAEk7AQB4AAIA3QACAKEBAgBWOwEAhgMCAGM7AQAVBAIAJQQCAG07AQBRBAIAeAQCAIkEAgB8OwEAjjsBAJQEAgAeBQIALQUCAD0FAgBPBQIAXwUCAJ47AQCpOwEAtDsBAG8FAgAFBgIACgYCALk7AQDCOwEAyzsBANs7AQDiOwEAVgYCAH0GAgCzBgIA6AYCAPgHAgAVCAIA6jsBAGQIAgDxOwEA9AgCAPo7AQAmCQIAAjwBAIgJAgAQPAEArwkCANsJAgAXPAEAbgoCAK4KAgAhPAEA5AoCAPwKAgBPCwIAKzwBADk8AQCFCwIAjAsCAMILAgDkCwIA9QsCABwMAgAAAAAASzwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE88AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAADelQEAQUkAALiVAQBBUgAAi5UBAEFYAADzlQEAQiAAAC+YAQBCSQAAQJgBAENCAAB4lgEAQ08AAGaWAQBDWAAAhZYBAEggAACplgEASEIAALOWAQBISQAAP5cBAEhYAADClgEASGIAAPOWAQBIaQAAJpcBAEhyAADYlgEASHgAAAmXAQBJIAAAUZgBAEtCAAAKlgEAS0kAAFKWAQBLUgAAPpYBAEtYAAArlgEATkIAAFGXAQBOSQAAmJcBAE5SAACwlwEATlgAAHyXAQBQQQAAEZgBAFBCAADNlwEAUEkAAAGYAQBQWAAA7ZcBAFIgAAAImgEAUyAAACCYAQBaRAAAjpgBAAAAAAAAAAAAAQAAAAAAAAD+RgEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAApHAQABAAAAIEMAAAAAAAAQAAAAEkcBAAEAAAAgQwAAAAAAABEAAAAaRwEAAQAAACBDAAAAAAAAEQAAACNHAQABAAAAIEMAAAAAAAARAAAAK0cBAAEAAAAgQwAAAAAAABMAAAAzRwEAAQAAACRDAAAAAAAAFAAAADtHAQABAAAAJEMAAAAAAAAVAAAAQ0cBAAEAAAAkQwAAAAAAABUAAABMRwEAAQAAACRDAAAAAAAAFQAAAFRHAQABAAAAJEMAAAAAAAAWAAAAXEcBAAEAAAAoQwAAAAAAABcAAABlRwEAAQAAAChDAAAAAAAAGAAAAG5HAQABAAAAKEMAAAAAAAAYAAAAeEcBAAEAAAAoQwAAAAAAABgAAACBRwEAAQAAAChDAAAAAAAAGQAAAIpHAQABAAAALEMAAAAAAAAZAAAAkUcBAAEAAAAsQwAAAAAAABoAAACXRwEAAQAAADBDAAAAAAAACgAAAKBHAQABAAAANEMAAAAAAAALAAAAqEcBAAEAAAA0QwAAAAAAAAwAAACwRwEAAQAAADRDAAAAAAAADAAAALlHAQABAAAANEMAAAAAAAAMAAAAwUcBAAEAAAA0QwAAAAAAAA4AAADJRwEAAQAAADRDAAAAAAAADgAAANBHAQABAAAANEMAAAAAAAANAAAA2EcBAAEAAAA0QwAAAAAAAAUAAADgRwEAAQAAADRDAAAAAAAABgAAAOhHAQABAAAANEMAAAAAAAAHAAAA8EcBAAEAAAA0QwAAAAAAAAcAAAD5RwEAAQAAADRDAAAAAAAABwAAAAFIAQABAAAANEMAAAAAAAAJAAAACUgBAAEAAAA0QwAAAAAAAAkAAAAQSAEAAQAAADRDAAAAAAAACAAAABhIAQABAAAANEMAAAAAAAAAAAAAIEgBAAEAAAA4QwAAAAAAAAEAAAApSAEAAQAAADhDAAAAAAAAAgAAADJIAQABAAAAOEMAAAAAAAACAAAAPEgBAAEAAAA4QwAAAAAAAAIAAABFSAEAAQAAADhDAAAAAAAABAAAAE5IAQABAAAAOEMAAAAAAAAEAAAAVkgBAAEAAAA4QwAAAAAAAAMAAABfSAEAAQAAADhDAAAAAAAAEgAAAGhIAQABAAAAIEMAAAAAAAAbAAAAcEgBAAEAAAA8QwAAAAAAABwAAAB4SAEAAQAAADxDAAAAAAAAHQAAAIBIAQABAAAAPEMAAAAAAAAdAAAAiUgBAAEAAAA8QwAAAAAAAB0AAACRSAEAAQAAADxDAAAAAAAAHgAAAJlIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAARMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAADQeQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAAApVAEALlQBADJUAQA5VAEAPVQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAyWQEAKEQAAAEAAAB4RAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABLAAAAUwAAAEsAAABUAAAAVQAAAFYAAABXAAAAAAAAAD9ZAQAAAAAAOEQAACDPAgABAAAARVkBAAAAAABARAAAIM8CAAMAAABJWQEAAAAAAEhEAAAgzwIABAAAAE9ZAQAAAAAAUEQAACDPAgAFAAAAVVkBAAAAAABoRAAAIM8CAAYAAABfWQEAAAAAAHBEAAAgzwIABwAAAGVZAQAAAAAAWEQAACDPAgAHAAAAaVkBAAAAAABYRAAAIM8CAAcAAABuWQEAAAAAAGBEAAAgzwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAMAAAAAAAAAABAAAAIAAAAAEAAAAAAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAA6+0CAAAAAAATBgIAAQAAAHRkAQAHAAAAOGQBAAMAAAC8GQIABQAAAHxkAQAPAAAAvoEBAAgAAAC+gQEAEAAAAIRkAQAEAAAAhGQBABEAAACJZAEABQAAAIlkAQACAAAAj2QBAAYAAACWZAEABAAAAKJkAQAHAAAAqmQBAAcAAAC6ZAEABQAAAMBkAQAIAAAA12QBAAgAAADAZAEACQAAAOBkAQAHAAAA6GQBAAoAAAACZQEABwAAAAplAQALAAAAJGUBAAYAAAArZQEADAAAAEllAQAJAAAAK2UBAA0AAABTZQEACAAAAFxlAQAOAAAAfWUBAAgAAACGZQEAEgAAAKdlAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAADAAAAIQAAAAQAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAQAAAACBHAAAwRwAABgAAAAQAAAA8RwAABgAAAAgAAAAGAAAABAAAAERHAAAABAAACAAAAP////8AAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAAIAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAkAAAALAAAACAAAAAoAAADISAAATEgAALBIAAABAAAAAQAAAAoAAAAWAAAACwAAAFgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAANAAAAAAAAAAcAAAAAAAAABwAAAAIAAAAFAAAACAAAAAAAAAAAAAAABgAAAAMAAAAOAAAACwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABAAAAAAAAAABwAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA/////wAAAAAAAAAAJwAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAMAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAb6cBAFCnAQAWcAEAfKcBAHSnAQCCpwEAAAAAABx0AQAldAEALHQBADp0AQBBdAEAmKcBAEh0AQBPdAEAAQAAAAgAAAD/////AAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAO11AQAIAAAAAwAAAPZ1AQD6dQEACwAAAAYAAADWgQEABnYBAAIAAAABAAAACXYBAA12AQAEAAAAAgAAABJ2AQAWdgEABAAAAAQAAAAbdgEAIHYBAAUAAAAFAAAAJnYBACp2AQAEAAAABwAAAC92AQAzdgEABQAAAAkAAAA5dgEAPXYBAAQAAAAKAAAAQnYBAEd2AQAEAAAADAAAAEx2AQAQewEAAAAAAAEAAAAYewEAAQAAAAAAAACjpgEAAQAAAAEAAAATBgIAAAAAAAAAAAAAAAAAAAAAAAAAAAD5eQEAMQAAAAAAAAAAAAAA0aEBABAAAAA7EgIAgAAAAPJ5AQBAAAAAPJQBABAAAAD0eQEAQAAAAAAAAAAAAAAAwHkBAAEAAADHeQEAAgAAAMx5AQADAAAA+poBAAQAAABekQEABQAAANB5AQAGAAAAEwYCAAgAAADUeQEAIQAAANh5AQAiAAAA3HkBACIAAADgeQEAAQAAAOV5AQAHAAAA63kBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAArfwEAMn8BAAAAAADTgQEA1oEBANmBAQAAAAAAAAAAAAEAAAACAAAA/////5aBAQCcgQEAEwYCAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACoAAAARAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACQAAACsAAAARAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAA+poBAPhUAACABgAAAAAAACeRAQD4VAAAsAYAAAAAAAAAmgEA+FQAAOAGAAAAAAAAL5EBAPhUAADgBgAAAAAAADSRAQD4VAAAEAcAAAAAAAA7kQEAEFUAABAHAAAAAAAAQZEBAPhUAABABwAAAAAAAEWRAQD4VAAAcAcAAAAAAAATBgIA+FQAAKAHAAAAAAAATpEBAPhUAACgBwAAAAAAAFiRAQD4VAAAUAYAAAAAAABekQEA+FQAANAHAAAAAAAAZpEBAPhUAAAACAAAAAAAAHCRAQD4VAAAMAgAAAAAAAB+kQEA+FQAAGAIAAAAAAAAhJEBAPhUAACQCAAAAAAAAI2RAQD4VAAAwAgAAAAAAACVkQEA+FQAAPAIAAAAAAAAnpEBAPhUAAAgCQAAAAAAAKaRAQD4VAAAUAkAAAAAAACrkQEA+FQAAIAJAAAAAAAAr5EBAPhUAACwCQAAAAAAALaRAQD4VAAA4AkAAAAAAAC8kQEA+FQAABAKAAAAAAAAxpEBAChVAABACgAAAAAAAM+RAQD4VAAAgAYAAAAAAADUkQEA+FQAAIAGAAAAAAAA3pEBAPhUAABwCgAAAAAAAOWRAQD4VAAAoAoAAAAAAADykQEA+FQAANAKAAAAAAAAAJIBAPhUAAAACwAAAAAAAA6SAQD4VAAAMAsAAAAAAAAakgEA+FQAAGALAAAAAAAAJ5IBAPhUAACQCwAAAAAAADCSAQD4VAAAwAsAAAAAAAA6kgEA+FQAAPALAAAAAAAAQ5IBAPhUAAAgDAAAAAAAAEuSAQD4VAAAUAwAAAAAAABTkgEA+FQAAIAMAAAAAAAAXJIBAPhUAACwDAAAAAAAAGCSAQD4VAAA4AwAAAAAAABrkgEA+FQAABANAAAAAAAAb5IBAPhUAABADQAAAAAAAHmSAQD4VAAAcA0AAAAAAACCkgEA+FQAAKANAAAAAAAAipIBAPhUAADQDQAAAAAAAJeSAQD4VAAAAA4AAAAAAACjkgEA+FQAADAOAAAAAAAArpIBAPhUAABgDgAAAAAAAL6SAQD4VAAAkA4AAAAAAADMkgEA+FQAAMAOAAAAAAAA25IBAPhUAADwDgAAAAAAAOWSAQD4VAAAIA8AAAAAAADukgEA+FQAAFAPAAAAAAAA+JIBAPhUAACADwAAAAAAAAKTAQD4VAAAsA8AAAAAAAAJkwEA+FQAAOAPAAAAAAAAEJMBAPhUAAAQEAAAAAAAABqTAQBAVQAAAAAAAAAAAAAhkwEAQFUAAAAAAAAAAAAAA5EBAFhVAAAAAAAAAAAAACmTAQBwVQAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAWwAAAFoAAAAXAAAABQAAAAAAAAANAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAXAAAAF0AAAAYAAAABgAAAAMAAAAOAAAAXgAAAF8AAAAXAAAABwAAAAAAAAAPAAAAWQAAAFoAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAACuUAQAylAEAAAAAADqUAQA8lAEAdRICAD6UAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAACLlQEAm5UBAKiVAQAAAAAAAAAAAAQAAACtlQEAAAAAAAAAAAC4lQEAm5UBAKiVAQAAAAAAz5UBAAUAAACtlQEAAAAAANeVAQDelQEAm5UBAO6VAQAAAAAAAAAAAAYAAACtlQEAGaYBAAAAAADzlQEAm5UBAO6VAQAAAAAAz5UBAAcAAACtlQEAGaYBANeVAQAKlgEAF5YBAO6VAQAAAAAAAAAAAAoAAAAllgEAGaYBAAAAAAArlgEAF5YBAO6VAQAAAAAA15UBAAsAAAAllgEAGaYBANeVAQA+lgEAF5YBAEyWAQAAAAAAAAAAAAgAAAAllgEAAAAAAAAAAABSlgEAF5YBAEyWAQAAAAAA15UBAAkAAAAllgEAAAAAANeVAQBmlgEAZpYBAAAAAAAAAAAAAAAAAAwAAABulgEAAAAAAAAAAAB4lgEAZpYBABmmAQAAAAAAAAAAAA4AAABulgEAGaYBAAAAAACFlgEAZpYBABmmAQAAAAAAz5UBAA8AAABulgEAGaYBANeVAQCZlgEAZpYBAAAAAAAAAAAAz5UBAA0AAABulgEAAAAAANeVAQCplgEAqZYBAAAAAAAAAAAAAAAAABAAAACtlQEAAAAAAAAAAACzlgEAqZYBABmmAQAAAAAAAAAAABIAAACtlQEAGaYBAAAAAADClgEAqZYBABmmAQAAAAAAz5UBABMAAACtlQEAGaYBANeVAQDYlgEAqZYBAAAAAADplgEAAAAAABQAAACtlQEAAAAAAAAAAADzlgEAqZYBABmmAQDplgEAAAAAABYAAACtlQEAGaYBAAAAAAAJlwEAqZYBABmmAQDplgEAz5UBABcAAACtlQEAGaYBANeVAQAmlwEAqZYBAAAAAADplgEAz5UBABUAAACtlQEAAAAAANeVAQA/lwEAqZYBAAAAAAAAAAAAz5UBABEAAACtlQEAAAAAANeVAQBRlwEAZ5cBABmmAQAAAAAAAAAAABoAAAAllgEAGaYBAAAAAAB8lwEAZ5cBABmmAQAAAAAA15UBABsAAAAllgEAGaYBANeVAQCYlwEAZ5cBAAAAAAAAAAAA15UBABkAAAAllgEAAAAAANeVAQCwlwEAZ5cBAMeXAQAAAAAAAAAAABgAAAAllgEAAAAAAAAAAADNlwEA25cBABmmAQAAAAAAAAAAAB4AAAAllgEAGaYBAAAAAADtlwEA25cBABmmAQAAAAAA15UBAB8AAAAllgEAGaYBANeVAQABmAEA25cBAAAAAAAAAAAA15UBAB0AAAAllgEAAAAAANeVAQARmAEA25cBAMeXAQAAAAAAAAAAABwAAAAllgEAAAAAAAAAAAAgmAEAIJgBAAAAAAAAAAAAAAAAACAAAAAnmAEAAAAAAAAAAAAvmAEAOpgBABmmAQAAAAAAAAAAAAIAAAAllgEAGaYBAAAAAABAmAEAOpgBABmmAQAAAAAA15UBAAMAAAAllgEAGaYBANeVAQBRmAEAOpgBAAAAAAAAAAAA15UBAAEAAAAllgEAAAAAANeVAQAImgEAOpgBAAAAAAAAAAAAAAAAAAAAAAAllgEAAAAAAAAAAABemAEAeJgBAIeYAQAAAAAA15UBACEAAAAllgEAAAAAANeVAQCOmAEAm5gBAAAAAAAAAAAAAAAAACIAAAAnmAEAAAAAAAAAAAAIAAAABAAAAAAAAAAKAAAALQAAABIAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALgAAAAAAAAAAAAAAAAAAAAAAAAA3mwEAxgAAAD2bAQDBAAAARJsBAMIAAABKmwEAwAAAAFGbAQCRAwAAV5sBAMUAAABdmwEAwwAAAGSbAQDEAAAAaZsBAJIDAABumwEAxwAAAHWbAQCnAwAAeZsBACEgAACAmwEAlAMAAIabAQDQAAAAipsBAMkAAACRmwEAygAAAJebAQDIAAAAnpsBAJUDAACmmwEAlwMAAKqbAQDLAAAAr5sBAJMDAAC1mwEAzQAAALybAQDOAAAAwpsBAMwAAADJmwEAmQMAAM6bAQDPAAAA05sBAJoDAADZmwEAmwMAAOCbAQCcAwAA45sBANEAAADqmwEAnQMAAO2bAQBSAQAA85sBANMAAAD6mwEA1AAAAACcAQDSAAAAB5wBAKkDAAANnAEAnwMAABWcAQDYAAAAHJwBANUAAAAjnAEA1gAAACicAQCmAwAALJwBAKADAAAvnAEAMyAAADWcAQCoAwAAOZwBAKEDAAA9nAEAYAEAAEScAQCjAwAASpwBAN4AAABQnAEApAMAAFScAQCYAwAAWpwBANoAAABhnAEA2wAAAGecAQDZAAAAbpwBAKUDAAB2nAEA3AAAAHucAQCeAwAAfpwBAN0AAACFnAEAeAEAAIqcAQCWAwAAj5wBAOEAAACWnAEA4gAAAJycAQC0AAAAopwBAOYAAAConAEA4AAAAK+cAQA1IQAAt5wBALEDAAC9nAEAJgAAAMGcAQAnIgAAxZwBACAiAADJnAEA5QAAAM+cAQBIIgAA1ZwBAOMAAADcnAEA5AAAAOGcAQAeIAAA55wBALIDAADsnAEApgAAAPOcAQAiIAAA+JwBACkiAAD8nAEA5wAAAAOdAQC4AAAACZ0BAKIAAAAOnQEAxwMAABKdAQDGAgAAF50BAGMmAAAdnQEARSIAACKdAQCpAAAAJ50BALUhAAAtnQEAKiIAADGdAQCkAAAAOJ0BANMhAAA9nQEAICAAAESdAQCTIQAASZ0BALAAAABNnQEAtAMAAFOdAQBmJgAAWZ0BAPcAAABgnQEA6QAAAGedAQDqAAAAbZ0BAOgAAAB0nQEABSIAAHqdAQADIAAAf50BAAIgAACEnQEAtQMAAIydAQBhIgAAkp0BALcDAACWnQEA8AAAAJqdAQDrAAAAn50BAKwgAACknQEAAyIAAKqdAQCSAQAAr50BAAAiAAC2nQEAvQAAAL2dAQC8AAAAxJ0BAL4AAADLnQEARCAAANGdAQCzAwAA150BAGUiAADanQEAPgAAAN2dAQDUIQAA4p0BAJQhAADnnQEAZSYAAO6dAQAmIAAA9Z0BAO0AAAD8nQEA7gAAAAKeAQChAAAACJ4BAOwAAAAPngEAESEAABWeAQAeIgAAG54BACsiAAAfngEAuQMAACSeAQC/AAAAK54BAAgiAAAwngEA7wAAADWeAQC6AwAAO54BANAhAABAngEAuwMAAEeeAQApIwAATJ4BAKsAAABSngEAkCEAAFeeAQAIIwAAXZ4BABwgAABjngEAZCIAAGaeAQAKIwAAbZ4BABciAAB0ngEAyiUAAHieAQAOIAAAfJ4BADkgAACDngEAGCAAAImeAQA8AAAAjJ4BAK8AAACRngEAFCAAAJeeAQC1AAAAnZ4BALcAAAA8pwEAEiIAAKSeAQC8AwAAp54BAAciAACtngEAoAAAALKeAQATIAAAuJ4BAGAiAAC7ngEACyIAAL6eAQCsAAAAwp4BAAkiAADIngEAhCIAAM2eAQDxAAAA1J4BAL0DAADXngEA8wAAAN6eAQD0AAAA5J4BAFMBAADqngEA8gAAAPGeAQA+IAAA954BAMkDAAD9ngEAvwMAAAWfAQCVIgAAC58BACgiAAAOnwEAqgAAABOfAQC6AAAAGJ8BAPgAAAAfnwEA9QAAACafAQCXIgAALZ8BAPYAAAAynwEAtgAAADefAQACIgAAPJ8BADAgAABDnwEApSIAAEifAQDGAwAATJ8BAMADAABPnwEA1gMAAFOfAQCxAAAAWp8BAKMAAABgnwEAMiAAAGafAQAPIgAAa58BAB0iAABwnwEAyAMAAHSfAQAiAAAAeZ8BANIhAAB+nwEAGiIAAISfAQAqIwAAiZ8BALsAAACPnwEAkiEAAJSfAQAJIwAAmp8BAB0gAACgnwEAHCEAAKWfAQCuAAAAqZ8BAAsjAACwnwEAwQMAALSfAQAPIAAAuJ8BADogAAC/nwEAGSAAAMWfAQAaIAAAy58BAGEBAADSnwEAxSIAANefAQCnAAAA3J8BAK0AAADgnwEAwwMAAOafAQDCAwAA7Z8BADwiAADxnwEAYCYAAPifAQCCIgAA/J8BAIYiAAABoAEAESIAAAWgAQCDIgAACaABALkAAAAOoAEAsgAAABOgAQCzAAAAGKABAIciAAAdoAEA3wAAACOgAQDEAwAAJ6ABADQiAAAuoAEAuAMAADSgAQDRAwAAPaABAAkgAABEoAEA/gAAAEqgAQDcAgAAUKABANcAAABWoAEAIiEAAFygAQDRIQAAYaABAPoAAABooAEAkSEAAG2gAQD7AAAAc6ABAPkAAAB6oAEAqAAAAH6gAQDSAwAAhKABAMUDAACMoAEA/AAAAJGgAQAYIQAAmKABAL4DAACboAEA/QAAAKKgAQClAAAApqABAP8AAACroAEAtgMAALCgAQANIAAAtKABAAwgAAAHAAAACAAAAAEBAAAIAAAACAAAAAAAAAAAAAAALwAAABMAAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAMAAAABQAAAAAAAAAAAAAAAAAAAD8pgEACQAAAP6mAQAKAAAAA6cBAAoAAAALpwEACwAAABGnAQALAAAAGqcBAAwAAAAdpwEADAAAACOnAQANAAAAKKcBAA0AAAAwpwEADgAAADWnAQAOAAAAPKcBAA8AAABCpwEADwAAAE6nAQAQAAAAYAAAADEAAAAyAAAAFAAAADMAAABhAAAANAAAABUAAAA1AAAACAAAAAQAAAD/////AAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAmagBAFVdyX/Jf/8ApKgBALst1L6u1P8Ar6gBABR3/f3Ahv8AuqgBAFVdyX/Jf/8AxagBALst1L6u1P8A0KgBABR3/f3Ahv8A26gBACpm////mf8A5qgBAFVdyX/Jf/8A8agBALst1L6u1P8A/KgBABR3/f3Ahv8AB6kBACpm////mf8AEqkBAJetsDhssP8AHakBAFVdyX/Jf/8AKKkBALst1L6u1P8AM6kBABR3/f3Ahv8APqkBACpm////mf8ASakBAJetsDhssP8AVKkBAOj88PACf/8AX6kBAFVdyX/Jf/8AaqkBALst1L6u1P8AdakBABR3/f3Ahv8AgKkBACpm////mf8Ai6kBAJetsDhssP8AlqkBAOj88PACf/8AoakBABHgv79bF/8ArKkBAFVdyX/Jf/8At6kBALst1L6u1P8AwqkBABR3/f3Ahv8AzakBACpm////mf8A2KkBAJetsDhssP8A46kBAOj88PACf/8A7qkBABHgv79bF/8A+akBAAAAZmZmZv8ABKoBAJMZ997r9/8ADqoBAI5L4Z7K4f8AGKoBAJG8vTGCvf8AIqoBAJ8Q/+/z//8ALKoBAI8u573X5/8ANqoBAI9/1muu1v8AQKoBAJPQtSFxtf8ASqoBAJ8Q/+/z//8AVKoBAI8u573X5/8AXqoBAI9/1muu1v8AaKoBAJG8vTGCvf8AcqoBAJXxnAhRnP8AfKoBAJ8Q/+/z//8AhqoBAJQr78bb7/8AkKoBAI5L4Z7K4f8AmqoBAI9/1muu1v8ApKoBAJG8vTGCvf8ArqoBAJXxnAhRnP8AuKoBAJ8Q/+/z//8AwqoBAJQr78bb7/8AzKoBAI5L4Z7K4f8A1qoBAI9/1muu1v8A4KoBAJCpxkKSxv8A6qoBAJPQtSFxtf8A9KoBAJfxlAhFlP8A/qoBAJQI//f7//8ACKsBAJMZ997r9/8AEqsBAJQr78bb7/8AHKsBAI5L4Z7K4f8AJqsBAI9/1muu1v8AMKsBAJCpxkKSxv8AOqsBAJPQtSFxtf8ARKsBAJfxlAhFlP8ATqsBAJQI//f7//8AWKsBAJMZ997r9/8AYqsBAJQr78bb7/8AbKsBAI5L4Z7K4f8AdqsBAI9/1muu1v8AgKsBAJCpxkKSxv8AiqsBAJPQtSFxtf8AlKsBAJXxnAhRnP8AnqsBAJjrawgwa/8AqKsBABfvVFQwBf8AsqsBAHf/PAA8MP8AvasBABfsjIxRCv8Ax6sBABjCv7+BLf8A0asBAB1w39/Cff8A26sBAB409vbow/8A5asBAHkm6sfq5f8A76sBAHhfzYDNwf8A+asBAHyllzWXj/8AA6wBAHz8ZgFmXv8ADawBABfvVFQwBf8AF6wBAHz8ZgFmXv8AIqwBAHf/PAA8MP8ALawBABfsjIxRCv8AN6wBABjCv7+BLf8AQawBAB1w39/Cff8AS6wBAB409vbow/8AVawBAAAA9fX19f8AX6wBAHkm6sfq5f8AaawBAHhfzYDNwf8Ac6wBAHyllzWXj/8AfawBAByH2NizZf8AhqwBAAAA9fX19f8Aj6wBAHt/tFq0rP8AmKwBABXXpqZhGv8AoawBAB1w39/Cff8AqqwBAHhfzYDNwf8As6wBAHn9hQGFcf8AvKwBABXXpqZhGv8AxawBAB1w39/Cff8AzqwBAAAA9fX19f8A16wBAHhfzYDNwf8A4KwBAHn9hQGFcf8A6awBABfsjIxRCv8A8qwBAByH2NizZf8A+6wBAB409vbow/8ABK0BAHkm6sfq5f8ADa0BAHt/tFq0rP8AFq0BAHz8ZgFmXv8AH60BABfsjIxRCv8AKK0BAByH2NizZf8AMa0BAB409vbow/8AOq0BAAAA9fX19f8AQ60BAHkm6sfq5f8ATK0BAHt/tFq0rP8AVa0BAHz8ZgFmXv8AXq0BABfsjIxRCv8AZ60BABjCv7+BLf8AcK0BAB1w39/Cff8Aea0BAB409vbow/8Agq0BAHkm6sfq5f8Ai60BAHhfzYDNwf8AlK0BAHyllzWXj/8Ana0BAHz8ZgFmXv8Apq0BABfsjIxRCv8Ar60BABjCv7+BLf8AuK0BAB1w39/Cff8Awa0BAB409vbow/8Ayq0BAAAA9fX19f8A060BAHkm6sfq5f8A3K0BAHhfzYDNwf8A5a0BAHyllzWXj/8A7q0BAHz8ZgFmXv8A960BAIcU+eX1+f8AAK4BAHVK2JnYyf8ACa4BAGe5oiyiX/8AEq4BAIgO++34+/8AG64BAH824rLi4v8AJK4BAHF4wmbCpP8ALa4BAGK+iyOLRf8ANq4BAIgO++34+/8AP64BAH824rLi4v8ASK4BAHF4wmbCpP8AUa4BAGe5oiyiX/8AWq4BAGb/bQBtLP8AY64BAIgO++34+/8AbK4BAHci7Mzs5v8Ada4BAHVK2JnYyf8Afq4BAHF4wmbCpP8Ah64BAGe5oiyiX/8AkK4BAGb/bQBtLP8Ama4BAIgO++34+/8Aoq4BAHci7Mzs5v8Aq64BAHVK2JnYyf8AtK4BAHF4wmbCpP8Ava4BAGmfrkGudv8Axq4BAGK+iyOLRf8Az64BAGb/WABYJP8A2K4BAIYG/ff8/f8A4a4BAIcU+eX1+f8A6q4BAHci7Mzs5v8A864BAHVK2JnYyf8A/K4BAHF4wmbCpP8ABa8BAGmfrkGudv8ADq8BAGK+iyOLRf8AF68BAGb/WABYJP8AIK8BAIYG/ff8/f8AKa8BAIcU+eX1+f8AMq8BAHci7Mzs5v8AO68BAHVK2JnYyf8ARK8BAHF4wmbCpP8ATa8BAGmfrkGudv8AVq8BAGK+iyOLRf8AX68BAGb/bQBtLP8AaK8BAGX/RABEG/8Aca8BAJAU9ODs9P8Aeq8BAJRG2p682v8Ag68BAMR7p4hWp/8AjK8BAIgO++34+/8Ala8BAJI147PN4/8Anq8BAKJKxoyWxv8Ap68BAMqVnYhBnf8AsK8BAIgO++34+/8Aua8BAJI147PN4/8Awq8BAKJKxoyWxv8Ay68BAMR7p4hWp/8A1K8BANbhgYEPfP8A3a8BAIgO++34+/8A5q8BAJQr5r/T5v8A768BAJRG2p682v8A+K8BAKJKxoyWxv8AAbABAMR7p4hWp/8ACrABANbhgYEPfP8AE7ABAIgO++34+/8AHLABAJQr5r/T5v8AJbABAJRG2p682v8ALrABAKJKxoyWxv8AN7ABAL5ksYxrsf8AQLABAMqVnYhBnf8ASbABANX8bm4Ba/8AUrABAIYG/ff8/f8AW7ABAJAU9ODs9P8AZLABAJQr5r/T5v8AbbABAJRG2p682v8AdrABAKJKxoyWxv8Af7ABAL5ksYxrsf8AiLABAMqVnYhBnf8AkbABANX8bm4Ba/8AmrABAIYG/ff8/f8Ao7ABAJAU9ODs9P8ArLABAJQr5r/T5v8AtbABAJRG2p682v8AvrABAKJKxoyWxv8Ax7ABAL5ksYxrsf8A0LABAMqVnYhBnf8A2bABANbhgYEPfP8A4rABANX/TU0AS/8A67ABAHLTnhued/8A9bABABL82dlfAv8A/7ABAK1fs3Vws/8ACbEBAHLTnhued/8AE7EBABL82dlfAv8AHbEBAK1fs3Vws/8AJ7EBAOnR5+cpiv8AMbEBAHLTnhued/8AO7EBABL82dlfAv8ARbEBAK1fs3Vws/8AT7EBAOnR5+cpiv8AWbEBAD7QpmamHv8AY7EBAHLTnhued/8AbbEBABL82dlfAv8Ad7EBAK1fs3Vws/8AgbEBAOnR5+cpiv8Ai7EBAD7QpmamHv8AlbEBAB/85uarAv8An7EBAHLTnhued/8AqbEBABL82dlfAv8As7EBAK1fs3Vws/8AvbEBAOnR5+cpiv8Ax7EBAD7QpmamHv8A0bEBAB/85uarAv8A27EBABvSpqZ2Hf8A5bEBAHLTnhued/8A77EBABL82dlfAv8A+bEBAK1fs3Vws/8AA7IBAOnR5+cpiv8ADbIBAD7QpmamHv8AF7IBAB/85uarAv8AIbIBABvSpqZ2Hf8AK7IBAAAAZmZmZv8ANbIBAEwZ8+Dz2/8APrIBAF893ajdtf8AR7IBAIyqykOiyv8AULIBAEER+fD56P8AWbIBAFcu5LrkvP8AYrIBAHtlzHvMxP8Aa7IBAI3FviuMvv8AdLIBAEER+fD56P8AfbIBAFcu5LrkvP8AhrIBAHtlzHvMxP8Aj7IBAIyqykOiyv8AmLIBAJHzrAhorP8AobIBAEER+fD56P8AqrIBAE0p68zrxf8As7IBAF893ajdtf8AvLIBAHtlzHvMxP8AxbIBAIyqykOiyv8AzrIBAJHzrAhorP8A17IBAEER+fD56P8A4LIBAE0p68zrxf8A6bIBAF893ajdtf8A8rIBAHtlzHvMxP8A+7IBAImg006z0/8ABLMBAI3FviuMvv8ADbMBAJPynghYnv8AFrMBADwM/Pf88P8AH7MBAEwZ8+Dz2/8AKLMBAE0p68zrxf8AMbMBAF893ajdtf8AOrMBAHtlzHvMxP8AQ7MBAImg006z0/8ATLMBAI3FviuMvv8AVbMBAJPynghYnv8AXrMBADwM/Pf88P8AZ7MBAEwZ8+Dz2/8AcLMBAE0p68zrxf8AebMBAF893ajdtf8AgrMBAHtlzHvMxP8Ai7MBAImg006z0/8AlLMBAI3FviuMvv8AnbMBAJHzrAhorP8AprMBAJbvgQhAgf8Ar7MBAEoV9eX14P8AurMBAFBI2aHZm/8AxbMBAGKyozGjVP8A0LMBAEkP+O346f8A27MBAE425Lrks/8A5rMBAFZoxHTEdv8A8bMBAGK+iyOLRf8A/LMBAEkP+O346f8AB7QBAE425Lrks/8AErQBAFZoxHTEdv8AHbQBAGKyozGjVP8AKLQBAGb/bQBtLP8AM7QBAEkP+O346f8APrQBAE0s6cfpwP8ASbQBAFBI2aHZm/8AVLQBAFZoxHTEdv8AX7QBAGKyozGjVP8AarQBAGb/bQBtLP8AdbQBAEkP+O346f8AgLQBAE0s6cfpwP8Ai7QBAFBI2aHZm/8AlrQBAFZoxHTEdv8AobQBAGCeq0GrXf8ArLQBAGK+iyOLRf8At7QBAGz/WgBaMv8AwrQBAEgH/Pf89f8AzbQBAEoV9eX14P8A2LQBAE0s6cfpwP8A47QBAFBI2aHZm/8A7rQBAFZoxHTEdv8A+bQBAGCeq0GrXf8ABLUBAGK+iyOLRf8AD7UBAGz/WgBaMv8AGrUBAEgH/Pf89f8AJbUBAEoV9eX14P8AMLUBAE0s6cfpwP8AO7UBAFBI2aHZm/8ARrUBAFZoxHTEdv8AUbUBAGCeq0GrXf8AXLUBAGK+iyOLRf8AZ7UBAGb/bQBtLP8AcrUBAGX/RABEG/8AfbUBAAAA8PDw8P8Ah7UBAAAAvb29vf8AkbUBAAAAY2NjY/8Am7UBAAAA9/f39/8ApbUBAAAAzMzMzP8Ar7UBAAAAlpaWlv8AubUBAAAAUlJSUv8Aw7UBAAAA9/f39/8AzbUBAAAAzMzMzP8A17UBAAAAlpaWlv8A4bUBAAAAY2NjY/8A67UBAAAAJSUlJf8A9bUBAAAA9/f39/8A/7UBAAAA2dnZ2f8ACbYBAAAAvb29vf8AE7YBAAAAlpaWlv8AHbYBAAAAY2NjY/8AJ7YBAAAAJSUlJf8AMbYBAAAA9/f39/8AO7YBAAAA2dnZ2f8ARbYBAAAAvb29vf8AT7YBAAAAlpaWlv8AWbYBAAAAc3Nzc/8AY7YBAAAAUlJSUv8AbbYBAAAAJSUlJf8Ad7YBAAAA//////8AgbYBAAAA8PDw8P8Ai7YBAAAA2dnZ2f8AlbYBAAAAvb29vf8An7YBAAAAlpaWlv8AqbYBAAAAc3Nzc/8As7YBAAAAUlJSUv8AvbYBAAAAJSUlJf8Ax7YBAAAA//////8A0bYBAAAA8PDw8P8A27YBAAAA2dnZ2f8A5bYBAAAAvb29vf8A77YBAAAAlpaWlv8A+bYBAAAAc3Nzc/8AA7cBAAAAUlJSUv8ADbcBAAAAJSUlJf8AF7cBAAAAAAAAAP8AIbcBABUw/v7mzv8ALbcBABOT/f2ua/8AObcBAA7w5uZVDf8ARbcBABMg/v7t3v8AUbcBABR4/f2+hf8AXbcBABHC/f2NPP8AabcBAA392dlHAf8AdbcBABMg/v7t3v8AgbcBABR4/f2+hf8AjbcBABHC/f2NPP8AmbcBAA7w5uZVDf8ApbcBAA36pqY2A/8AsbcBABMg/v7t3v8AvbcBABVb/f3Qov8AybcBABOT/f2ua/8A1bcBABHC/f2NPP8A4bcBAA7w5uZVDf8A7bcBAA36pqY2A/8A+bcBABMg/v7t3v8ABbgBABVb/f3Qov8AEbgBABOT/f2ua/8AHbgBABHC/f2NPP8AKbgBABDq8fFpE/8ANbgBAA392dlIAf8AQbgBAAz3jIwtBP8ATbgBABUU///16/8AWbgBABUw/v7mzv8AZbgBABVb/f3Qov8AcbgBABOT/f2ua/8AfbgBABHC/f2NPP8AibgBABDq8fFpE/8AlbgBAA392dlIAf8AobgBAAz3jIwtBP8ArbgBABUU///16/8AubgBABUw/v7mzv8AxbgBABVb/f3Qov8A0bgBABOT/f2ua/8A3bgBABHC/f2NPP8A6bgBABDq8fFpE/8A9bgBAA392dlIAf8AAbkBAA36pqY2A/8ADbkBAAz2f38nBP8AGbkBABk2/v7oyP8AIrkBABN5/f27hP8AK7kBAAXF4+NKM/8ANLkBABol/v7w2f8APbkBABhz/f3Miv8ARrkBAA2k/PyNWf8AT7kBAAPa19cwH/8AWLkBABol/v7w2f8AYbkBABhz/f3Miv8AarkBAA2k/PyNWf8Ac7kBAAXF4+NKM/8AfLkBAAD/s7MAAP8AhbkBABol/v7w2f8AjrkBABhf/f3Unv8Al7kBABN5/f27hP8AoLkBAA2k/PyNWf8AqbkBAAXF4+NKM/8AsrkBAAD/s7MAAP8Au7kBABol/v7w2f8AxLkBABhf/f3Unv8AzbkBABN5/f27hP8A1rkBAA2k/PyNWf8A37kBAAey7+9lSP8A6LkBAAPa19cwH/8A8bkBAAD/mZkAAP8A+rkBABgS///37P8AA7oBABk2/v7oyP8ADLoBABhf/f3Unv8AFboBABN5/f27hP8AHroBAA2k/PyNWf8AJ7oBAAey7+9lSP8AMLoBAAPa19cwH/8AOboBAAD/mZkAAP8AQroBABgS///37P8AS7oBABk2/v7oyP8AVLoBABhf/f3Unv8AXboBABN5/f27hP8AZroBAA2k/PyNWf8Ab7oBAAey7+9lSP8AeLoBAAPa19cwH/8AgboBAAD/s7MAAP8AiroBAAD/f38AAP8Ak7oBAI5E46bO4/8An7oBAL6Zmmo9mv8ArLoBAJDTtB94tP8AuLoBAEFh37Lfiv8AxLoBAFK4oDOgLP8A0LoBAABj+/uamf8A3LoBAP7h4+MaHP8A6LoBABeP/f2/b/8A9LoBABX///9/AP8AALsBAMYq1sqy1v8ADLsBAI5E46bO4/8AGLsBAL6Zmmo9mv8AJbsBACpm////mf8AMrsBAJDTtB94tP8APrsBAEFh37Lfiv8ASrsBAFK4oDOgLP8AVrsBAABj+/uamf8AYrsBAP7h4+MaHP8AbrsBABeP/f2/b/8AersBABX///9/AP8AhrsBAMYq1sqy1v8AkrsBAI5E46bO4/8AnrsBAL6Zmmo9mv8Aq7sBACpm////mf8AuLsBAA/FsbFZKP8AxbsBAJDTtB94tP8A0bsBAEFh37Lfiv8A3bsBAFK4oDOgLP8A6bsBAABj+/uamf8A9bsBAP7h4+MaHP8AAbwBABeP/f2/b/8ADbwBABX///9/AP8AGbwBAMYq1sqy1v8AJbwBAI5E46bO4/8AMLwBAJDTtB94tP8AO7wBAEFh37Lfiv8ARrwBAI5E46bO4/8AUbwBAJDTtB94tP8AXLwBAEFh37Lfiv8AZ7wBAFK4oDOgLP8AcrwBAI5E46bO4/8AfbwBAJDTtB94tP8AiLwBAEFh37Lfiv8Ak7wBAFK4oDOgLP8AnrwBAABj+/uamf8AqbwBAI5E46bO4/8AtLwBAJDTtB94tP8Av7wBAEFh37Lfiv8AyrwBAFK4oDOgLP8A1bwBAABj+/uamf8A4LwBAP7h4+MaHP8A67wBAI5E46bO4/8A9rwBAJDTtB94tP8AAb0BAEFh37Lfiv8ADL0BAFK4oDOgLP8AF70BAABj+/uamf8AIr0BAP7h4+MaHP8ALb0BABeP/f2/b/8AOL0BAI5E46bO4/8AQ70BAJDTtB94tP8ATr0BAEFh37Lfiv8AWb0BAFK4oDOgLP8AZL0BAABj+/uamf8Ab70BAP7h4+MaHP8Aer0BABeP/f2/b/8Ahb0BABX///9/AP8AkL0BAI5E46bO4/8Am70BAJDTtB94tP8Apr0BAEFh37Lfiv8Asb0BAFK4oDOgLP8AvL0BAABj+/uamf8Ax70BAP7h4+MaHP8A0r0BABeP/f2/b/8A3b0BABX///9/AP8A6L0BAMYq1sqy1v8A870BAANO+/u0rv8A/70BAJI147PN4/8AC74BAE0p68zrxf8AF74BAANO+/u0rv8AI74BAJI147PN4/8AL74BAE0p68zrxf8AO74BAMob5N7L5P8AR74BAANO+/u0rv8AU74BAJI147PN4/8AX74BAE0p68zrxf8Aa74BAMob5N7L5P8Ad74BABhY/v7Zpv8Ag74BAANO+/u0rv8Aj74BAJI147PN4/8Am74BAE0p68zrxf8Ap74BAMob5N7L5P8As74BABhY/v7Zpv8Av74BACoy////zP8Ay74BAANO+/u0rv8A174BAJI147PN4/8A474BAE0p68zrxf8A774BAMob5N7L5P8A+74BABhY/v7Zpv8AB78BACoy////zP8AE78BABws5eXYvf8AH78BAANO+/u0rv8AK78BAJI147PN4/8AN78BAE0p68zrxf8AQ78BAMob5N7L5P8AT78BABhY/v7Zpv8AW78BACoy////zP8AZ78BABws5eXYvf8Ac78BAOkj/f3a7P8Af78BAANO+/u0rv8Ai78BAJI147PN4/8Al78BAE0p68zrxf8Ao78BAMob5N7L5P8Ar78BABhY/v7Zpv8Au78BACoy////zP8Ax78BABws5eXYvf8A078BAOkj/f3a7P8A378BAAAA8vLy8v8A678BAGw14rPizf8A978BABFR/f3NrP8AA8ABAJsf6MvV6P8AD8ABAGw14rPizf8AG8ABABFR/f3NrP8AJ8ABAJsf6MvV6P8AM8ABAOQr9PTK5P8AP8ABAGw14rPizf8AS8ABABFR/f3NrP8AV8ABAJsf6MvV6P8AY8ABAOQr9PTK5P8Ab8ABADgt9eb1yf8Ae8ABAGw14rPizf8Ah8ABABFR/f3NrP8Ak8ABAJsf6MvV6P8An8ABAOQr9PTK5P8Aq8ABADgt9eb1yf8At8ABACNR///yrv8Aw8ABAGw14rPizf8Az8ABABFR/f3NrP8A28ABAJsf6MvV6P8A58ABAOQr9PTK5P8A88ABADgt9eb1yf8A/8ABACNR///yrv8AC8EBABkn8fHizP8AF8EBAGw14rPizf8AI8EBABFR/f3NrP8AL8EBAJsf6MvV6P8AO8EBAOQr9PTK5P8AR8EBADgt9eb1yf8AU8EBACNR///yrv8AX8EBABkn8fHizP8Aa8EBAAAAzMzMzP8Ad8EBAOb9jo4BUv8AgcEBAE2/ZCdkGf8AjMEBAObcxcUbff8AlsEBAOh23t53rv8AoMEBAOU+8fG22v8AqsEBAOkd/f3g7/8AtMEBADsm9eb10P8AvsEBAD1n4bjhhv8AyMEBAD+mvH+8Qf8A0sEBAETFkk2SIf8A3MEBAOb9jo4BUv8A5sEBAETFkk2SIf8A8cEBAE2/ZCdkGf8A/MEBAObcxcUbff8ABsIBAOh23t53rv8AEMIBAOU+8fG22v8AGsIBAOkd/f3g7/8AJMIBAAAA9/f39/8ALsIBADsm9eb10P8AOMIBAD1n4bjhhv8AQsIBAD+mvH+8Qf8ATMIBAOdM6emjyf8AVcIBAAAA9/f39/8AXsIBAD+B16HXav8AZ8IBAOTc0NAci/8AcMIBAOU+8fG22v8AecIBAD1n4bjhhv8AgsIBAEjGrE2sJv8Ai8IBAOTc0NAci/8AlMIBAOU+8fG22v8AncIBAAAA9/f39/8ApsIBAD1n4bjhhv8Ar8IBAEjGrE2sJv8AuMIBAObcxcUbff8AwcIBAOdM6emjyf8AysIBAOkd/f3g7/8A08IBADsm9eb10P8A3MIBAD+B16HXav8A5cIBAETFkk2SIf8A7sIBAObcxcUbff8A98IBAOdM6emjyf8AAMMBAOkd/f3g7/8ACcMBAAAA9/f39/8AEsMBADsm9eb10P8AG8MBAD+B16HXav8AJMMBAETFkk2SIf8ALcMBAObcxcUbff8ANsMBAOh23t53rv8AP8MBAOU+8fG22v8ASMMBAOkd/f3g7/8AUcMBADsm9eb10P8AWsMBAD1n4bjhhv8AY8MBAD+mvH+8Qf8AbMMBAETFkk2SIf8AdcMBAObcxcUbff8AfsMBAOh23t53rv8Ah8MBAOU+8fG22v8AkMMBAOkd/f3g7/8AmcMBAAAA9/f39/8AosMBADsm9eb10P8Aq8MBAD1n4bjhhv8AtMMBAD+mvH+8Qf8AvcMBAETFkk2SIf8AxsMBAM7/S0AAS/8A0MMBAGX/RABEG/8A28MBAM6tg3Yqg/8A5cMBAMdXq5lwq/8A78MBAMczz8Klz/8A+cMBANIV6OfU6P8AA8QBAEwe8Nnw0/8ADcQBAFBE26bboP8AF8QBAFh7rlquYf8AIcQBAGHFeBt4N/8AK8QBAM7/S0AAS/8ANcQBAGHFeBt4N/8AQMQBAGX/RABEG/8AS8QBAM6tg3Yqg/8AVcQBAMdXq5lwq/8AX8QBAMczz8Klz/8AacQBANIV6OfU6P8Ac8QBAAAA9/f39/8AfcQBAEwe8Nnw0/8Ah8QBAFBE26bboP8AkcQBAFh7rlquYf8Am8QBAMRGw6+Nw/8ApMQBAAAA9/f39/8ArcQBAFJav3+/e/8AtsQBAMmolHsylP8Av8QBAMczz8Klz/8AyMQBAFBE26bboP8A0cQBAGb/iACIN/8A2sQBAMmolHsylP8A48QBAMczz8Klz/8A7MQBAAAA9/f39/8A9cQBAFBE26bboP8A/sQBAGb/iACIN/8AB8UBAM6tg3Yqg/8AEMUBAMRGw6+Nw/8AGcUBANIV6OfU6P8AIsUBAEwe8Nnw0/8AK8UBAFJav3+/e/8ANMUBAGHFeBt4N/8APcUBAM6tg3Yqg/8ARsUBAMRGw6+Nw/8AT8UBANIV6OfU6P8AWMUBAAAA9/f39/8AYcUBAEwe8Nnw0/8AasUBAFJav3+/e/8Ac8UBAGHFeBt4N/8AfMUBAM6tg3Yqg/8AhcUBAMdXq5lwq/8AjsUBAMczz8Klz/8Al8UBANIV6OfU6P8AoMUBAEwe8Nnw0/8AqcUBAFBE26bboP8AssUBAFh7rlquYf8Au8UBAGHFeBt4N/8AxMUBAM6tg3Yqg/8AzcUBAMdXq5lwq/8A1sUBAMczz8Klz/8A38UBANIV6OfU6P8A6MUBAAAA9/f39/8A8cUBAEwe8Nnw0/8A+sUBAFBE26bboP8AA8YBAFh7rlquYf8ADMYBAGHFeBt4N/8AFcYBAL0L8uzn8v8AHsYBAJc926a92/8AJ8YBAI3FviuMvv8AMMYBALkI9vHu9v8AOcYBAJso4b3J4f8AQsYBAJFwz3Spz/8AS8YBAI/3sAVwsP8AVMYBALkI9vHu9v8AXcYBAJso4b3J4f8AZsYBAJFwz3Spz/8Ab8YBAI3FviuMvv8AeMYBAI/3jQRajf8AgcYBALkI9vHu9v8AisYBAKgY5tDR5v8Ak8YBAJc926a92/8AnMYBAJFwz3Spz/8ApcYBAI3FviuMvv8ArsYBAI/3jQRajf8At8YBALkI9vHu9v8AwMYBAKgY5tDR5v8AycYBAJc926a92/8A0sYBAJFwz3Spz/8A28YBAI63wDaQwP8A5MYBAI/3sAVwsP8A7cYBAI/4ewNOe/8A9sYBAOkI///3+/8A/8YBAL0L8uzn8v8ACMcBAKgY5tDR5v8AEccBAJc926a92/8AGscBAJFwz3Spz/8AI8cBAI63wDaQwP8ALMcBAI/3sAVwsP8ANccBAI/4ewNOe/8APscBAOkI///3+/8AR8cBAL0L8uzn8v8AUMcBAKgY5tDR5v8AWccBAJc926a92/8AYscBAJFwz3Spz/8Aa8cBAI63wDaQwP8AdMcBAI/3sAVwsP8AfccBAI/3jQRajf8AhscBAI/5WAI4WP8Aj8cBAMgO8Ozi8P8AmscBAJc926a92/8ApccBAILQmRyQmf8AsMcBAM8I9/bv9/8Au8cBAJso4b3J4f8AxscBAI+Az2epz/8A0ccBAIL7igKBiv8A3McBAM8I9/bv9/8A58cBAJso4b3J4f8A8scBAI+Az2epz/8A/ccBAILQmRyQmf8ACMgBAHf8bAFsWf8AE8gBAM8I9/bv9/8AHsgBAKgY5tDR5v8AKcgBAJc926a92/8ANMgBAI+Az2epz/8AP8gBAILQmRyQmf8ASsgBAHf8bAFsWf8AVcgBAM8I9/bv9/8AYMgBAKgY5tDR5v8Aa8gBAJc926a92/8AdsgBAI+Az2epz/8AgcgBAI63wDaQwP8AjMgBAIL7igKBiv8Al8gBAHb8ZAFkUP8AosgBAOkI///3+/8ArcgBAMgO8Ozi8P8AuMgBAKgY5tDR5v8Aw8gBAJc926a92/8AzsgBAI+Az2epz/8A2cgBAI63wDaQwP8A5MgBAIL7igKBiv8A78gBAHb8ZAFkUP8A+sgBAOkI///3+/8ABckBAMgO8Ozi8P8AEMkBAKgY5tDR5v8AG8kBAJc926a92/8AJskBAI+Az2epz/8AMckBAI63wDaQwP8APMkBAIL7igKBiv8AR8kBAHf8bAFsWf8AUskBAHX7RgFGNv8AXckBABLuf387CP8AZ8kBAMP/Sy0AS/8AcskBABT2s7NYBv8AfMkBABbo4OCCFP8AhskBABeb/f24Y/8AkMkBABhI/v7gtv8AmskBAKUU69ja6/8ApMkBALEv0rKr0v8ArskBALNUrIBzrP8AuMkBAL21iFQniP8AwskBABLuf387CP8AzMkBAL21iFQniP8A18kBAMP/Sy0AS/8A4skBABT2s7NYBv8A7MkBABbo4OCCFP8A9skBABeb/f24Y/8AAMoBABhI/v7gtv8ACsoBAAAA9/f39/8AFMoBAKUU69ja6/8AHsoBALEv0rKr0v8AKMoBALNUrIBzrP8AMsoBABe78fGjQP8AO8oBAAAA9/f39/8ARMoBALJFw5mOw/8ATcoBABH95uZhAf8AVsoBABeb/f24Y/8AX8oBALEv0rKr0v8AaMoBALmbmV48mf8AccoBABH95uZhAf8AesoBABeb/f24Y/8Ag8oBAAAA9/f39/8AjMoBALEv0rKr0v8AlcoBALmbmV48mf8AnsoBABT2s7NYBv8Ap8oBABe78fGjQP8AsMoBABhI/v7gtv8AucoBAKUU69ja6/8AwsoBALJFw5mOw/8Ay8oBAL21iFQniP8A1MoBABT2s7NYBv8A3coBABe78fGjQP8A5soBABhI/v7gtv8A78oBAAAA9/f39/8A+MoBAKUU69ja6/8AAcsBALJFw5mOw/8ACssBAL21iFQniP8AE8sBABT2s7NYBv8AHMsBABbo4OCCFP8AJcsBABeb/f24Y/8ALssBABhI/v7gtv8AN8sBAKUU69ja6/8AQMsBALEv0rKr0v8AScsBALNUrIBzrP8AUssBAL21iFQniP8AW8sBABT2s7NYBv8AZMsBABbo4OCCFP8AbcsBABeb/f24Y/8AdssBABhI/v7gtv8Af8sBAAAA9/f39/8AiMsBAKUU69ja6/8AkcsBALEv0rKr0v8AmssBALNUrIBzrP8Ao8sBAL21iFQniP8ArMsBALwO7+fh7/8AtcsBANZDycmUx/8AvssBAOre3d0cd/8Ax8sBALkI9vHu9v8A0MsBANMp2Ne12P8A2csBAOSL399lsP8A4ssBAO/ozs4SVv8A68sBALkI9vHu9v8A9MsBANMp2Ne12P8A/csBAOSL399lsP8ABswBAOre3d0cd/8AD8wBAOz/mJgAQ/8AGMwBALkI9vHu9v8AIcwBAMwm2tS52v8AKswBANZDycmUx/8AM8wBAOSL399lsP8APMwBAOre3d0cd/8ARcwBAOz/mJgAQ/8ATswBALkI9vHu9v8AV8wBAMwm2tS52v8AYMwBANZDycmUx/8AacwBAOSL399lsP8AcswBAOnR5+cpiv8Ae8wBAO/ozs4SVv8AhMwBAOz/kZEAP/8AjcwBAMMF+ff0+f8AlswBALwO7+fh7/8An8wBAMwm2tS52v8AqMwBANZDycmUx/8AscwBAOSL399lsP8AuswBAOnR5+cpiv8Aw8wBAO/ozs4SVv8AzMwBAOz/kZEAP/8A1cwBAMMF+ff0+f8A3swBALwO7+fh7/8A58wBAMwm2tS52v8A8MwBANZDycmUx/8A+cwBAOSL399lsP8AAs0BAOnR5+cpiv8AC80BAO/ozs4SVv8AFM0BAOz/mJgAQ/8AHc0BAPL/Z2cAH/8AJs0BALQI9e/t9f8AMs0BAKgl3Ly93P8APs0BALBksXVrsf8ASs0BALYH9/Lw9/8AVs0BAK0c4svJ4v8AYs0BAK06yJ6ayP8Abs0BALaAo2pRo/8Aes0BALYH9/Lw9/8Ahs0BAK0c4svJ4v8Aks0BAK06yJ6ayP8Ans0BALBksXVrsf8Aqs0BALy5j1Qnj/8Ats0BALYH9/Lw9/8Aws0BAKoS69ra6/8Azs0BAKgl3Ly93P8A2s0BAK06yJ6ayP8A5s0BALBksXVrsf8A8s0BALy5j1Qnj/8A/s0BALYH9/Lw9/8ACs4BAKoS69ra6/8AFs4BAKgl3Ly93P8AIs4BAK06yJ6ayP8ALs4BAKxTuoB9uv8AOs4BALaAo2pRo/8ARs4BAL7YhkoUhv8AUs4BAL8C/fz7/f8AXs4BALQI9e/t9f8Aas4BAKoS69ra6/8Ads4BAKgl3Ly93P8Ags4BAK06yJ6ayP8Ajs4BAKxTuoB9uv8Ams4BALaAo2pRo/8Aps4BAL7YhkoUhv8Ass4BAL8C/fz7/f8Avs4BALQI9e/t9f8Ays4BAKoS69ra6/8A1s4BAKgl3Ly93P8A4s4BAK06yJ6ayP8A7s4BAKxTuoB9uv8A+s4BALaAo2pRo/8ABs8BALy5j1Qnj/8AEs8BAL//fT8Aff8AHs8BAPL/Z2cAH/8AKM8BAJbxYQUwYf8AM88BAPncsrIYK/8APc8BAAWj1tZgTf8AR88BAA139PSlgv8AUc8BAA82/f3bx/8AW88BAI4g8NHl8P8AZc8BAI1X3pLF3v8Ab88BAI+nw0OTw/8Aec8BAJTOrCFmrP8Ag88BAPL/Z2cAH/8Ajc8BAJTOrCFmrP8AmM8BAJbxYQUwYf8Ao88BAPncsrIYK/8Arc8BAAWj1tZgTf8At88BAA139PSlgv8Awc8BAA82/f3bx/8Ay88BAAAA9/f39/8A1c8BAI4g8NHl8P8A388BAI1X3pLF3v8A6c8BAI+nw0OTw/8A888BAAyW7++KYv8A/M8BAAAA9/f39/8ABdABAI+Az2epz/8ADtABAPj/ysoAIP8AF9ABAA139PSlgv8AINABAI1X3pLF3v8AKdABAI/3sAVxsP8AMtABAPj/ysoAIP8AO9ABAA139PSlgv8ARNABAAAA9/f39/8ATdABAI1X3pLF3v8AVtABAI/3sAVxsP8AX9ABAPncsrIYK/8AaNABAAyW7++KYv8AcdABAA82/f3bx/8AetABAI4g8NHl8P8Ag9ABAI+Az2epz/8AjNABAJTOrCFmrP8AldABAPncsrIYK/8AntABAAyW7++KYv8Ap9ABAA82/f3bx/8AsNABAAAA9/f39/8AudABAI4g8NHl8P8AwtABAI+Az2epz/8Ay9ABAJTOrCFmrP8A1NABAPncsrIYK/8A3dABAAWj1tZgTf8A5tABAA139PSlgv8A79ABAA82/f3bx/8A+NABAI4g8NHl8P8AAdEBAI1X3pLF3v8ACtEBAI+nw0OTw/8AE9EBAJTOrCFmrP8AHNEBAPncsrIYK/8AJdEBAAWj1tZgTf8ALtEBAA139PSlgv8AN9EBAA82/f3bx/8AQNEBAAAA9/f39/8ASdEBAI4g8NHl8P8AUtEBAI1X3pLF3v8AW9EBAI+nw0OTw/8AZNEBAJTOrCFmrP8AbdEBAPL/Z2cAH/8Ad9EBAAAAGhoaGv8AgtEBAPncsrIYK/8AjNEBAAWj1tZgTf8AltEBAA139PSlgv8AoNEBAA82/f3bx/8AqtEBAAAA4ODg4P8AtNEBAAAAurq6uv8AvtEBAAAAh4eHh/8AyNEBAAAATU1NTf8A0tEBAPL/Z2cAH/8A3NEBAAAATU1NTf8A59EBAAAAGhoaGv8A8tEBAPncsrIYK/8A/NEBAAWj1tZgTf8ABtIBAA139PSlgv8AENIBAA82/f3bx/8AGtIBAAAA//////8AJNIBAAAA4ODg4P8ALtIBAAAAurq6uv8AONIBAAAAh4eHh/8AQtIBAAyW7++KYv8AS9IBAAAA//////8AVNIBAAAAmZmZmf8AXdIBAPj/ysoAIP8AZtIBAA139PSlgv8Ab9IBAAAAurq6uv8AeNIBAAAAQEBAQP8AgdIBAPj/ysoAIP8AitIBAA139PSlgv8Ak9IBAAAA//////8AnNIBAAAAurq6uv8ApdIBAAAAQEBAQP8ArtIBAPncsrIYK/8At9IBAAyW7++KYv8AwNIBAA82/f3bx/8AydIBAAAA4ODg4P8A0tIBAAAAmZmZmf8A29IBAAAATU1NTf8A5NIBAPncsrIYK/8A7dIBAAyW7++KYv8A9tIBAA82/f3bx/8A/9IBAAAA//////8ACNMBAAAA4ODg4P8AEdMBAAAAmZmZmf8AGtMBAAAATU1NTf8AI9MBAPncsrIYK/8ALNMBAAWj1tZgTf8ANdMBAA139PSlgv8APtMBAA82/f3bx/8AR9MBAAAA4ODg4P8AUNMBAAAAurq6uv8AWdMBAAAAh4eHh/8AYtMBAAAATU1NTf8Aa9MBAPncsrIYK/8AdNMBAAWj1tZgTf8AfdMBAA139PSlgv8AhtMBAA82/f3bx/8Aj9MBAAAA//////8AmNMBAAAA4ODg4P8AodMBAAAAurq6uv8AqtMBAAAAh4eHh/8As9MBAAAATU1NTf8AvNMBAAMg/f3g3f8AxdMBAPRc+vqftf8AztMBAOPcxcUbiv8A19MBAA0c/v7r4v8A4NMBAPxI+/u0uf8A6dMBAO6T9/doof8A8tMBAOD9rq4Bfv8A+9MBAA0c/v7r4v8ABNQBAPxI+/u0uf8ADdQBAO6T9/doof8AFtQBAOPcxcUbiv8AH9QBANX8enoBd/8AKNQBAA0c/v7r4v8AMdQBAAM8/PzFwP8AOtQBAPRc+vqftf8AQ9QBAO6T9/doof8ATNQBAOPcxcUbiv8AVdQBANX8enoBd/8AXtQBAA0c/v7r4v8AZ9QBAAM8/PzFwP8AcNQBAPRc+vqftf8AedQBAO6T9/doof8AgtQBAObD3d00l/8Ai9QBAOD9rq4Bfv8AlNQBANX8enoBd/8AndQBAA4M///38/8AptQBAAMg/f3g3f8Ar9QBAAM8/PzFwP8AuNQBAPRc+vqftf8AwdQBAO6T9/doof8AytQBAObD3d00l/8A09QBAOD9rq4Bfv8A3NQBANX8enoBd/8A5dQBAA4M///38/8A7tQBAAMg/f3g3f8A99QBAAM8/PzFwP8AANUBAPRc+vqftf8ACdUBAO6T9/doof8AEtUBAObD3d00l/8AG9UBAOD9rq4Bfv8AJNUBANX8enoBd/8ALdUBAMf/akkAav8ANtUBAPX/paUAJv8AQtUBAKerlTE2lf8AT9UBAALQ19cwJ/8AW9UBAAq49PRtQ/8AZ9UBABSd/f2uYf8Ac9UBAB5u/v7gkP8Af9UBAIgY+ODz+P8Ai9UBAIpD6avZ6f8Al9UBAI9x0XSt0f8Ao9UBAJedtEV1tP8Ar9UBAPX/paUAJv8Au9UBAJedtEV1tP8AyNUBAKerlTE2lf8A1dUBAALQ19cwJ/8A4dUBAAq49PRtQ/8A7dUBABSd/f2uYf8A+dUBAB5u/v7gkP8ABdYBACpA////v/8AEdYBAIgY+ODz+P8AHdYBAIpD6avZ6f8AKdYBAI9x0XSt0f8ANdYBAA2k/PyNWf8AQNYBACpA////v/8AS9YBAI9W25G/2/8AVtYBAP7h19cZHP8AYdYBABSd/f2uYf8AbNYBAIpD6avZ6f8Ad9YBAJHBtix7tv8AgtYBAP7h19cZHP8AjdYBABSd/f2uYf8AmNYBACpA////v/8Ao9YBAIpD6avZ6f8ArtYBAJHBtix7tv8AudYBAALQ19cwJ/8AxNYBAA2k/PyNWf8Az9YBAB5u/v7gkP8A2tYBAIgY+ODz+P8A5dYBAI9W25G/2/8A8NYBAJedtEV1tP8A+9YBAALQ19cwJ/8ABtcBAA2k/PyNWf8AEdcBAB5u/v7gkP8AHNcBACpA////v/8AJ9cBAIgY+ODz+P8AMtcBAI9W25G/2/8APdcBAJedtEV1tP8ASNcBAALQ19cwJ/8AU9cBAAq49PRtQ/8AXtcBABSd/f2uYf8AadcBAB5u/v7gkP8AdNcBAIgY+ODz+P8Af9cBAIpD6avZ6f8AitcBAI9x0XSt0f8AldcBAJedtEV1tP8AoNcBAALQ19cwJ/8Aq9cBAAq49PRtQ/8AttcBABSd/f2uYf8AwdcBAB5u/v7gkP8AzNcBACpA////v/8A19cBAIgY+ODz+P8A4tcBAIpD6avZ6f8A7dcBAI9x0XSt0f8A+NcBAJedtEV1tP8AA9gBAPX/paUAJv8AD9gBAGv/aABoN/8AHNgBAALQ19cwJ/8AKNgBAAq49PRtQ/8ANNgBABSd/f2uYf8AQNgBAB9z/v7gi/8ATNgBADNq79nvi/8AWNgBAD6C2abZav8AZNgBAFN5vWa9Y/8AcNgBAGfTmBqYUP8AfNgBAPX/paUAJv8AiNgBAGfTmBqYUP8AldgBAGv/aABoN/8AotgBAALQ19cwJ/8ArtgBAAq49PRtQ/8AutgBABSd/f2uYf8AxtgBAB9z/v7gi/8A0tgBACpA////v/8A3tgBADNq79nvi/8A6tgBAD6C2abZav8A9tgBAFN5vWa9Y/8AAtkBAA2k/PyNWf8ADdkBACpA////v/8AGNkBAEKIz5HPYP8AI9kBAP7h19cZHP8ALtkBABSd/f2uYf8AOdkBAD6C2abZav8ARNkBAGLSlhqWQf8AT9kBAP7h19cZHP8AWtkBABSd/f2uYf8AZdkBACpA////v/8AcNkBAD6C2abZav8Ae9kBAGLSlhqWQf8AhtkBAALQ19cwJ/8AkdkBAA2k/PyNWf8AnNkBAB9z/v7gi/8Ap9kBADNq79nvi/8AstkBAEKIz5HPYP8AvdkBAGfTmBqYUP8AyNkBAALQ19cwJ/8A09kBAA2k/PyNWf8A3tkBAB9z/v7gi/8A6dkBACpA////v/8A9NkBADNq79nvi/8A/9kBAEKIz5HPYP8ACtoBAGfTmBqYUP8AFdoBAALQ19cwJ/8AINoBAAq49PRtQ/8AK9oBABSd/f2uYf8ANtoBAB9z/v7gi/8AQdoBADNq79nvi/8ATNoBAD6C2abZav8AV9oBAFN5vWa9Y/8AYtoBAGfTmBqYUP8AbdoBAALQ19cwJ/8AeNoBAAq49PRtQ/8Ag9oBABSd/f2uYf8AjtoBAB9z/v7gi/8AmdoBACpA////v/8ApNoBADNq79nvi/8Ar9oBAD6C2abZav8AutoBAFN5vWa9Y/8AxdoBAGfTmBqYUP8A0NoBAA0s/v7g0v8A2doBAAmL/PyScv8A4toBAAHT3t4tJv8A69oBAA0l/v7l2f8A9NoBAAts/Pyukf8A/doBAAez+/tqSv8ABtsBAP3gy8sYHf8AD9sBAA0l/v7l2f8AGNsBAAts/Pyukf8AIdsBAAez+/tqSv8AKtsBAAHT3t4tJv8AM9sBAP3npaUPFf8APNsBAA0l/v7l2f8ARdsBAAxc/Py7of8ATtsBAAmL/PyScv8AV9sBAAez+/tqSv8AYNsBAAHT3t4tJv8AadsBAP3npaUPFf8ActsBAA0l/v7l2f8Ae9sBAAxc/Py7of8AhNsBAAmL/PyScv8AjdsBAAez+/tqSv8AltsBAAPQ7+87LP8An9sBAP3gy8sYHf8AqNsBAPv/mZkADf8AsdsBAA4P///18P8AutsBAA0s/v7g0v8Aw9sBAAxc/Py7of8AzNsBAAmL/PyScv8A1dsBAAez+/tqSv8A3tsBAAPQ7+87LP8A59sBAP3gy8sYHf8A8NsBAPv/mZkADf8A+dsBAA4P///18P8AAtwBAA0s/v7g0v8AC9wBAAxc/Py7of8AFNwBAAmL/PyScv8AHdwBAAez+/tqSv8AJtwBAAPQ7+87LP8AL9wBAP3gy8sYHf8AONwBAP3npaUPFf8AQdwBAPn/Z2cADf8AStwBAP7h5OQaHP8AU9wBAJKyuDd+uP8AXNwBAFOTr02vSv8AZdwBAP7h5OQaHP8AbtwBAJKyuDd+uP8Ad9wBAFOTr02vSv8AgNwBAM+Eo5hOo/8AidwBAP7h5OQaHP8AktwBAJKyuDd+uP8Am9wBAFOTr02vSv8ApNwBAM+Eo5hOo/8ArdwBABX///9/AP8AttwBAP7h5OQaHP8Av9wBAJKyuDd+uP8AyNwBAFOTr02vSv8A0dwBAM+Eo5hOo/8A2twBABX///9/AP8A49wBACrM////M/8A7NwBAP7h5OQaHP8A9dwBAJKyuDd+uP8A/twBAFOTr02vSv8AB90BAM+Eo5hOo/8AEN0BABX///9/AP8AGd0BACrM////M/8AIt0BAA/BpqZWKP8AK90BAP7h5OQaHP8ANN0BAJKyuDd+uP8APd0BAFOTr02vSv8ARt0BAM+Eo5hOo/8AT90BABX///9/AP8AWN0BACrM////M/8AYd0BAA/BpqZWKP8Aat0BAOh59/eBv/8Ac90BAP7h5OQaHP8AfN0BAJKyuDd+uP8Ahd0BAFOTr02vSv8Ajt0BAM+Eo5hOo/8Al90BABX///9/AP8AoN0BACrM////M/8Aqd0BAA/BpqZWKP8Ast0BAOh59/eBv/8Au90BAAAAmZmZmf8AxN0BAHJ4wmbCpf8Azd0BAAub/PyNYv8A1t0BAJxNy42gy/8A390BAHJ4wmbCpf8A6N0BAAub/PyNYv8A8d0BAJxNy42gy/8A+t0BAORm5+eKw/8AA94BAHJ4wmbCpf8ADN4BAAub/PyNYv8AFd4BAJxNy42gy/8AHt4BAORm5+eKw/8AJ94BADqb2KbYVP8AMN4BAHJ4wmbCpf8AOd4BAAub/PyNYv8AQt4BAJxNy42gy/8AS94BAORm5+eKw/8AVN4BADqb2KbYVP8AXd4BACLQ///ZL/8AZt4BAHJ4wmbCpf8Ab94BAAub/PyNYv8AeN4BAJxNy42gy/8Agd4BAORm5+eKw/8Ait4BADqb2KbYVP8Ak94BACLQ///ZL/8AnN4BABla5eXElP8Apd4BAHJ4wmbCpf8Art4BAAub/PyNYv8At94BAJxNy42gy/8AwN4BAORm5+eKw/8Ayd4BADqb2KbYVP8A0t4BACLQ///ZL/8A294BABla5eXElP8A5N4BAAAAs7Ozs/8A7d4BAHhU043Tx/8A994BANNSvbyAvf8AAt8BACpM////s/8ADN8BAK8l2r662v8AFt8BAASL+/uAcv8AIN8BAJBk04Cx0/8AKt8BABac/f20Yv8ANN8BADqG3rPeaf8APt8BAOkv/PzN5f8ASN8BAAAA2dnZ2f8AUt8BAHhU043Tx/8AXN8BANNSvbyAvf8AZ98BAE0p68zrxf8Act8BACpM////s/8AfN8BAK8l2r662v8Aht8BAASL+/uAcv8AkN8BAJBk04Cx0/8Amt8BABac/f20Yv8ApN8BADqG3rPeaf8Art8BAOkv/PzN5f8AuN8BAAAA2dnZ2f8Awt8BAHhU043Tx/8AzN8BANNSvbyAvf8A198BAE0p68zrxf8A4t8BACWQ///tb/8A7d8BACpM////s/8A998BAK8l2r662v8AAeABAASL+/uAcv8AC+ABAJBk04Cx0/8AFeABABac/f20Yv8AH+ABADqG3rPeaf8AKeABAOkv/PzN5f8AM+ABAAAA2dnZ2f8APeABAHhU043Tx/8ARuABACpM////s/8AT+ABAK8l2r662v8AWOABAHhU043Tx/8AYeABACpM////s/8AauABAK8l2r662v8Ac+ABAASL+/uAcv8AfOABAHhU043Tx/8AheABACpM////s/8AjuABAK8l2r662v8Al+ABAASL+/uAcv8AoOABAJBk04Cx0/8AqeABAHhU043Tx/8AsuABACpM////s/8Au+ABAK8l2r662v8AxOABAASL+/uAcv8AzeABAJBk04Cx0/8A1uABABac/f20Yv8A3+ABAHhU043Tx/8A6OABACpM////s/8A8eABAK8l2r662v8A+uABAASL+/uAcv8AA+EBAJBk04Cx0/8ADOEBABac/f20Yv8AFeEBADqG3rPeaf8AHuEBAHhU043Tx/8AJ+EBACpM////s/8AMOEBAK8l2r662v8AOeEBAASL+/uAcv8AQuEBAJBk04Cx0/8AS+EBABac/f20Yv8AVOEBADqG3rPeaf8AXeEBAOkv/PzN5f8AZuEBAHhU043Tx/8Ab+EBACpM////s/8AeOEBAK8l2r662v8AgeEBAASL+/uAcv8AiuEBAJBk04Cx0/8Ak+EBABac/f20Yv8AnOEBADqG3rPeaf8ApeEBAOkv/PzN5f8AruEBAAAA2dnZ2f8At+EBAO39np4BQv8AxeEBALGCol5Pov8A1OEBAPq01dU+T/8A4uEBAAq49PRtQ/8A8OEBABSd/f2uYf8A/uEBAB9z/v7gi/8ADOIBADFg9eb1mP8AGuIBAE9B3avdpP8AKOIBAHJ4wmbCpf8ANuIBAI+7vTKIvf8AROIBAO39np4BQv8AUuIBAI+7vTKIvf8AYeIBALGCol5Pov8AcOIBAPq01dU+T/8AfuIBAAq49PRtQ/8AjOIBABSd/f2uYf8AmuIBAB9z/v7gi/8AqOIBACpA////v/8AtuIBADFg9eb1mP8AxOIBAE9B3avdpP8A0uIBAHJ4wmbCpf8A4OIBAA2k/PyNWf8A7eIBACpA////v/8A+uIBAFFN1ZnVlP8AB+MBAP7h19cZHP8AFOMBABSd/f2uYf8AIeMBAE9B3avdpP8ALuMBAI/EuiuDuv8AO+MBAP7h19cZHP8ASOMBABSd/f2uYf8AVeMBACpA////v/8AYuMBAE9B3avdpP8Ab+MBAI/EuiuDuv8AfOMBAPq01dU+T/8AieMBAA2k/PyNWf8AluMBAB9z/v7gi/8Ao+MBADFg9eb1mP8AsOMBAFFN1ZnVlP8AveMBAI+7vTKIvf8AyuMBAPq01dU+T/8A1+MBAA2k/PyNWf8A5OMBAB9z/v7gi/8A8eMBACpA////v/8A/uMBADFg9eb1mP8AC+QBAFFN1ZnVlP8AGOQBAI+7vTKIvf8AJeQBAPq01dU+T/8AMuQBAAq49PRtQ/8AP+QBABSd/f2uYf8ATOQBAB9z/v7gi/8AWeQBADFg9eb1mP8AZuQBAE9B3avdpP8Ac+QBAHJ4wmbCpf8AgOQBAI+7vTKIvf8AjeQBAPq01dU+T/8AmuQBAAq49PRtQ/8Ap+QBABSd/f2uYf8AtOQBAB9z/v7gi/8AweQBACpA////v/8AzuQBADFg9eb1mP8A2+QBAE9B3avdpP8A6OQBAHJ4wmbCpf8A9eQBAI+7vTKIvf8AAuUBAJMP//D4//8AEeUBABgj+vrr1/8AI+UBAH///wD///8ALeUBAHGA/3//1P8APeUBAH8P//D///8ASOUBACoa9fX13P8AU+UBABc6///kxP8AX+UBAAAAAAAAAP8AauUBABkx///rzf8AfuUBAKr//wAA//8AiOUBAMDO4oor4v8AmOUBAAC+paUqKv8Ao+UBABdj3t64h/8AsuUBAIBnoF+eoP8AweUBAD///3//AP8A0eUBABHa0tJpHv8A4OUBAAuv//9/UP8A6+UBAJqT7WSV7f8A/+UBACEi///43P8ADeYBAPbn3NwUPP8AGuYBAH///wD///8AJOYBAKr/iwAAi/8AMuYBAH//iwCLi/8AQOYBAB7vuLiGC/8AU+YBAAAAqampqf8AYeYBAFX/ZABkAP8AcOYBAAAAqampqf8AfuYBACduvb23a/8AjeYBANT/i4sAi/8AnuYBADqOa1VrL/8AsuYBABf///+MAP8AwuYBAMbAzJkyzP8A0uYBAAD/i4sAAP8A3+YBAAp56emWev8A7+YBAFU9vI+8j/8AAecBAK+Pi0g9i/8AFOcBAH9nTy9PT/8AJ+cBAH9nTy9PT/8AOucBAID/0QDO0f8ATecBAMf/05QA0/8AXecBAOjr//8Uk/8Aa+cBAIr//wC///8AfOcBAAAAaWlpaf8AiecBAAAAaWlpaf8AlucBAJTh/x6Q//8ApucBAADOsrIiIv8AtecBABwP///68P8AxucBAFXAiyKLIv8A1+cBANT///8A//8A5OcBAAAA3Nzc3P8A8+cBAKoH//j4//8AA+gBACP////XAP8ADegBAB7Z2tqlIP8AHOgBAAAAgICAgP8AJugBAFX/gACAAP8AMegBADvQ/63/L/8AQugBAAAAgICAgP8ATOgBAFUP//D/8P8AWugBAOmW//9ptP8AZ+gBAACMzc1cXP8AdugBAML/gksAgv8AgugBACoP////8P8AjegBACZq8PDmjP8AmOgBAKoU+ubm+v8ApugBAPAP///w9f8AuegBAED//Hz8AP8AyOgBACYx///6zf8A2ugBAIk/5q3Y5v8A6egBAAB38PCAgP8A+egBAH8f/+D///8ACOkBACoo+vr60v8AIukBAAAA09PT0/8AMekBAFVk7pDukP8AQekBAAAA09PT0/8AUOkBAPhJ//+2wf8AX+kBAAyE//+gev8AcOkBAH3RsiCyqv8Ag+kBAI91+ofO+v8AlekBAJQ4mXeImf8AqekBAJQ4mXeImf8AvekBAJc03rDE3v8A0ekBACof////4P8A4ukBAFX//wD/AP8A7OkBAFXAzTLNMv8A++kBABUU+vrw5v8ABuoBANT///8A//8AE+oBAAD/gIAAAP8AH+oBAHGAzWbNqv8ANeoBAKr/zQAAzf8AReoBAMyY07pV0/8AV+oBALd825Nw2/8AaeoBAGepszyzcf8AfeoBALCP7nto7v8AkuoBAG//+gD6mv8AqeoBAH2n0UjRzP8AvuoBAOTkx8cVhf8A0+oBAKrGcBkZcP8A5eoBAGoJ//X/+v8A9OoBAAQe///k4f8AA+sBABpJ///ktf8AEesBABlR///erf8AIusBAKr/gAAAgP8ALOsBABsX/f315v8AOesBACr/gICAAP8AROsBADjAjmuOI/8AU+sBABv///+lAP8AX+sBAAv///9FAP8AbusBANZ72tpw1v8AeusBACZI7u7oqv8AjesBAFVk+5j7mP8AnOsBAH9D7q/u7v8Ar+sBAPF829twk/8AwusBABop///v1f8A0usBABRG///auf8A4esBABSwzc2FP/8A6+sBAPc////Ay/8A9esBANRG3d2g3f8A/+sBAIQ75rDg5v8AD+wBANT/gIAAgP8AG+wBAAD///8AAP8AJOwBAAA9vLyPj/8AM+wBAJ+14UFp4f8AQuwBABHci4tFE/8AU+wBAASK+vqAcv8AX+wBABOa9PSkYP8Ab+wBAGeqiy6LV/8AfewBABEQ///17v8Ai+wBAA23oKBSLf8Al+wBAAAAwMDAwP8Ao+wBAIts64fO6/8AsOwBAK+PzWpazf8Av+wBAJQ4kHCAkP8AzuwBAJQ4kHCAkP8A3ewBAAAF///6+v8A5+wBAGr//wD/f/8A+OwBAJKbtEaCtP8AB+0BABhU0tK0jP8AEO0BAH//gACAgP8AGu0BANQd2Ni/2P8AJ+0BAAa4//9jR/8AM+0BAHu24EDg0P8AQu0BANRz7u6C7v8ATu0BABtE9fXes/8AWe0BAAAA//////8AZO0BAAAA9fX19f8AdO0BACr/////AP8AgO0BADjAzZrNMv8Ake0BAC1D/Pf8uf8Amu0BAERb3a3djv8Ao+0BAGKyozGjVP8ArO0BACoy////zP8Ate0BAD5V5sLmmf8Avu0BAFVkxnjGef8Ax+0BAGO7hCOEQ/8A0O0BACoy////zP8A2e0BAD5V5sLmmf8A4u0BAFVkxnjGef8A6+0BAGKyozGjVP8A9O0BAGv/aABoN/8A/e0BACoy////zP8ABu4BADdR8Nnwo/8AD+4BAERb3a3djv8AGO4BAFVkxnjGef8AIe4BAGKyozGjVP8AKu4BAGv/aABoN/8AM+4BACoy////zP8APO4BADdR8Nnwo/8ARe4BAERb3a3djv8ATu4BAFVkxnjGef8AV+4BAGCeq0GrXf8AYO4BAGO7hCOEQ/8Aae4BAGz/WgBaMv8Acu4BACoZ////5f8Ae+4BAC1D/Pf8uf8AhO4BADdR8Nnwo/8Aje4BAERb3a3djv8Alu4BAFVkxnjGef8An+4BAGCeq0GrXf8AqO4BAGO7hCOEQ/8Ase4BAGz/WgBaMv8Auu4BACoZ////5f8Aw+4BAC1D/Pf8uf8AzO4BADdR8Nnwo/8A1e4BAERb3a3djv8A3u4BAFVkxnjGef8A5+4BAGCeq0GrXf8A8O4BAGO7hCOEQ/8A+e4BAGv/aABoN/8AAu8BAG7/RQBFKf8AC+8BADFJ+O34sf8AFu8BAHVhzX/Nu/8AIe8BAJDCuCx/uP8ALO8BACoy////zP8AN+8BAGNC2qHatP8AQu8BAISqxEG2xP8ATe8BAJbLqCJeqP8AWO8BACoy////zP8AY+8BAGNC2qHatP8Abu8BAISqxEG2xP8Aee8BAJDCuCx/uP8AhO8BAKS/lCU0lP8Aj+8BACoy////zP8Amu8BAEU66cfptP8Ape8BAHVhzX/Nu/8AsO8BAISqxEG2xP8Au+8BAJDCuCx/uP8Axu8BAKS/lCU0lP8A0e8BACoy////zP8A3O8BAEU66cfptP8A5+8BAHVhzX/Nu/8A8u8BAISqxEG2xP8A/e8BAIvYwB2RwP8ACPABAJbLqCJeqP8AE/ABAJ7nhAwshP8AHvABACom////2f8AKfABADFJ+O34sf8ANPABAEU66cfptP8AP/ABAHVhzX/Nu/8ASvABAISqxEG2xP8AVfABAIvYwB2RwP8AYPABAJbLqCJeqP8Aa/ABAJ7nhAwshP8AdvABACom////2f8AgfABADFJ+O34sf8AjPABAEU66cfptP8Al/ABAHVhzX/Nu/8AovABAISqxEG2xP8ArfABAIvYwB2RwP8AuPABAJbLqCJeqP8Aw/ABAKS/lCU0lP8AzvABAJ7nWAgdWP8A2fABACVC///3vP8A5PABAByv/v7ET/8A7/ABABDu2dlfDv8A+vABACoq////1P8ABfEBABxw/v7Zjv8AEPEBABbV/v6ZKf8AG/EBAA/8zMxMAv8AJvEBACoq////1P8AMfEBABxw/v7Zjv8APPEBABbV/v6ZKf8AR/EBABDu2dlfDv8AUvEBAA34mZk0BP8AXfEBACoq////1P8AaPEBAB9t/v7jkf8Ac/EBAByv/v7ET/8AfvEBABbV/v6ZKf8AifEBABDu2dlfDv8AlPEBAA34mZk0BP8An/EBACoq////1P8AqvEBAB9t/v7jkf8AtfEBAByv/v7ET/8AwPEBABbV/v6ZKf8Ay/EBABLp7OxwFP8A1vEBAA/8zMxMAv8A4fEBAAz3jIwtBP8A7PEBACoZ////5f8A9/EBACVC///3vP8AAvIBAB9t/v7jkf8ADfIBAByv/v7ET/8AGPIBABbV/v6ZKf8AI/IBABLp7OxwFP8ALvIBAA/8zMxMAv8AOfIBAAz3jIwtBP8ARPIBACoZ////5f8AT/IBACVC///3vP8AWvIBAB9t/v7jkf8AZfIBAByv/v7ET/8AcPIBABbV/v6ZKf8Ae/IBABLp7OxwFP8AhvIBAA/8zMxMAv8AkfIBAA34mZk0BP8AnPIBAA3wZmYlBv8Ap/IBACJf///toP8AsvIBABiy/v6yTP8AvfIBAAXd8PA7IP8AyPIBACpN////sv8A0/IBAB2i/v7MXP8A3vIBABHC/f2NPP8A6fIBAP7h4+MaHP8A9PIBACpN////sv8A//IBAB2i/v7MXP8ACvMBABHC/f2NPP8AFfMBAAXd8PA7IP8AIPMBAPb/vb0AJv8AK/MBACpN////sv8ANvMBAB6I/v7Zdv8AQfMBABiy/v6yTP8ATPMBABHC/f2NPP8AV/MBAAXd8PA7IP8AYvMBAPb/vb0AJv8AbfMBACpN////sv8AePMBAB6I/v7Zdv8Ag/MBABiy/v6yTP8AjvMBABHC/f2NPP8AmfMBAAfU/PxOKv8ApPMBAP7h4+MaHP8Ar/MBAPX/sbEAJv8AuvMBACoy////zP8AxfMBACJf///toP8A0PMBAB6I/v7Zdv8A2/MBABiy/v6yTP8A5vMBABHC/f2NPP8A8fMBAAfU/PxOKv8A/PMBAP7h4+MaHP8AB/QBAPX/sbEAJv8AEvQBACoy////zP8AHfQBACJf///toP8AKPQBAB6I/v7Zdv8AM/QBABiy/v6yTP8APvQBABHC/f2NPP8ASfQBAAfU/PxOKv8AVPQBAP7h4+MaHP8AX/QBAPb/vb0AJv8AavQBAPL/gIAAJv8AdfQBAJMP//D4//8Af/QBABgj+vrr1/8AjPQBABck///v2/8AmvQBABck7u7fzP8AqPQBABckzc3AsP8AtvQBABgii4uDeP8AxPQBAHGA/3//1P8Az/QBAHGA/3//1P8A2/QBAHGA7nbuxv8A5/QBAHGAzWbNqv8A8/QBAHGAi0WLdP8A//QBAH8P//D///8ABfUBAH8P//D///8ADPUBAH8P7uDu7v8AE/UBAH8OzcHNzf8AGvUBAH8Oi4OLi/8AIfUBACoa9fX13P8AJ/UBABc6///kxP8ALvUBABc6///kxP8ANvUBABc67u7Vt/8APvUBABY6zc23nv8ARvUBABc6i4t9a/8AWAwCAAAAAAAAAP8ATvUBABkx///rzf8AXfUBAKr//wAA//8AYvUBAKr//wAA//8AaPUBAKr/7gAA7v8AbvUBAKr/zQAAzf8AdPUBAKr/iwAAi/8AevUBAMDO4oor4v8AhfUBAAC+paUqKv8Ai/UBAAC///9AQP8AkvUBAAC/7u47O/8AmfUBAAC/zc0zM/8AoPUBAAC+i4sjI/8Ap/UBABdj3t64h/8AsfUBABdk///Tm/8AvPUBABdj7u7Fkf8Ax/UBABdjzc2qff8A0vUBABdji4tzVf8A3fUBAIBnoF+eoP8A5/UBAINn/5j1//8A8vUBAINm7o7l7v8A/fUBAINnzXrFzf8ACPYBAINmi1OGi/8AE/YBAD///3//AP8AHvYBAD///3//AP8AKvYBAD//7nbuAP8ANvYBAD//zWbNAP8AQvYBAD//i0WLAP8ATvYBABHa0tJpHv8AWPYBABHb//9/JP8AY/YBABHb7u52If8AbvYBABHazc1mHf8AefYBABHci4tFE/8AhPYBAAuv//9/UP8AivYBAAep//9yVv8AkfYBAAap7u5qUP8AmPYBAAapzc1bRf8An/YBAAaoi4s+L/8ApvYBAJqT7WSV7f8AtfYBACEi///43P8AvvYBACEi///43P8AyPYBACIj7u7ozf8A0vYBACIizc3Isf8A3PYBACMii4uIeP8A5vYBAPbn3NwUPP8A7vYBAH///wD///8A8/YBAH///wD///8A+fYBAH//7gDu7v8A//YBAH//zQDNzf8ABfcBAH//iwCLi/8AC/cBAB7vuLiGC/8AGfcBAB7w//+5D/8AKPcBAB7w7u6tDv8AN/cBAB7wzc2VDP8ARvcBAB7wi4tlCP8AVfcBAFX/ZABkAP8AX/cBACduvb23a/8AafcBADqOa1VrL/8AePcBADqP/8r/cP8AiPcBADqP7rzuaP8AmPcBADqPzaLNWv8AqPcBADqPi26LPf8AuPcBABf///+MAP8Aw/cBABX///9/AP8Az/cBABX/7u52AP8A2/cBABX/zc1mAP8A5/cBABX/i4tFAP8A8/cBAMbAzJkyzP8A/vcBAMbB/78+//8ACvgBAMbA7rI67v8AFvgBAMbAzZoyzf8AIvgBAMbAi2gii/8ALvgBAAp56emWev8AOfgBAFU9vI+8j/8ARvgBAFU+/8H/wf8AVPgBAFU+7rTutP8AYvgBAFU+zZvNm/8AcPgBAFU+i2mLaf8AfvgBAK+Pi0g9i/8AjPgBAH9nTy9PT/8AmvgBAH9o/5f///8AqfgBAH9n7o3u7v8AuPgBAH9ozXnNzf8Ax/gBAH9oi1KLi/8A1vgBAH9nTy9PT/8A5PgBAID/0QDO0f8A8vgBAMf/05QA0/8A/fgBAOjr//8Uk/8ABvkBAOjr//8Uk/8AEPkBAOjr7u4Sif8AGvkBAOjrzc0Qdv8AJPkBAOfsi4sKUP8ALvkBAIr//wC///8AOvkBAIr//wC///8AR/kBAIr/7gCy7v8AVPkBAIr/zQCazf8AYfkBAIr/iwBoi/8AbvkBAAAAaWlpaf8AdvkBAAAAaWlpaf8AfvkBAJTh/x6Q//8AifkBAJTh/x6Q//8AlfkBAJTh7hyG7v8AofkBAJThzRh0zf8ArfkBAJThixBOi/8AufkBAADOsrIiIv8Aw/kBAADP//8wMP8AzvkBAADP7u4sLP8A2fkBAADPzc0mJv8A5PkBAADPi4saGv8A7/kBABwP///68P8A+/kBAFXAiyKLIv8AB/oBAAAA3Nzc3P8AEfoBAKoH//j4//8AHPoBACP////XAP8AIfoBACP////XAP8AJ/oBACP/7u7JAP8ALfoBACP/zc2tAP8AM/oBACP/i4t1AP8AOfoBAB7Z2tqlIP8AQ/oBAB7a///BJf8ATvoBAB7a7u60Iv8AWfoBAB7azc2bHf8AZPoBAB7ai4tpFP8Ab/oBAAAAwMDAwP8AdPoBAAAAAAAAAP8AevoBAAAAAwMDA/8AgPoBAAAAGhoaGv8Ah/oBAAAA//////8Aj/oBAAAAHBwcHP8AlvoBAAAAHx8fH/8AnfoBAAAAISEhIf8ApPoBAAAAJCQkJP8Aq/oBAAAAJiYmJv8AsvoBAAAAKSkpKf8AufoBAAAAKysrK/8AwPoBAAAALi4uLv8Ax/oBAAAAMDAwMP8AzvoBAAAABQUFBf8A1PoBAAAAMzMzM/8A2/oBAAAANjY2Nv8A4voBAAAAODg4OP8A6foBAAAAOzs7O/8A8PoBAAAAPT09Pf8A9/oBAAAAQEBAQP8A/voBAAAAQkJCQv8ABfsBAAAARUVFRf8ADPsBAAAAR0dHR/8AE/sBAAAASkpKSv8AGvsBAAAACAgICP8AIPsBAAAATU1NTf8AJ/sBAAAAT09PT/8ALvsBAAAAUlJSUv8ANfsBAAAAVFRUVP8APPsBAAAAV1dXV/8AQ/sBAAAAWVlZWf8ASvsBAAAAXFxcXP8AUfsBAAAAXl5eXv8AWPsBAAAAYWFhYf8AX/sBAAAAY2NjY/8AZvsBAAAACgoKCv8AbPsBAAAAZmZmZv8Ac/sBAAAAaWlpaf8AevsBAAAAa2tra/8AgfsBAAAAbm5ubv8AiPsBAAAAcHBwcP8Aj/sBAAAAc3Nzc/8AlvsBAAAAdXV1df8AnfsBAAAAeHh4eP8ApPsBAAAAenp6ev8Aq/sBAAAAfX19ff8AsvsBAAAADQ0NDf8AuPsBAAAAf39/f/8Av/sBAAAAgoKCgv8AxvsBAAAAhYWFhf8AzfsBAAAAh4eHh/8A1PsBAAAAioqKiv8A2/sBAAAAjIyMjP8A4vsBAAAAj4+Pj/8A6fsBAAAAkZGRkf8A8PsBAAAAlJSUlP8A9/sBAAAAlpaWlv8A/vsBAAAADw8PD/8ABPwBAAAAmZmZmf8AC/wBAAAAnJycnP8AEvwBAAAAnp6env8AGfwBAAAAoaGhof8AIPwBAAAAo6Ojo/8AJ/wBAAAApqampv8ALvwBAAAAqKioqP8ANfwBAAAAq6urq/8APPwBAAAAra2trf8AQ/wBAAAAsLCwsP8ASvwBAAAAEhISEv8AUPwBAAAAs7Ozs/8AV/wBAAAAtbW1tf8AXvwBAAAAuLi4uP8AZfwBAAAAurq6uv8AbPwBAAAAvb29vf8Ac/wBAAAAv7+/v/8AevwBAAAAwsLCwv8AgfwBAAAAxMTExP8AiPwBAAAAx8fHx/8Aj/wBAAAAycnJyf8AlvwBAAAAFBQUFP8AnPwBAAAAzMzMzP8Ao/wBAAAAz8/Pz/8AqvwBAAAA0dHR0f8AsfwBAAAA1NTU1P8AuPwBAAAA1tbW1v8Av/wBAAAA2dnZ2f8AxvwBAAAA29vb2/8AzfwBAAAA3t7e3v8A1PwBAAAA4ODg4P8A2/wBAAAA4+Pj4/8A4vwBAAAAFxcXF/8A6PwBAAAA5eXl5f8A7/wBAAAA6Ojo6P8A9vwBAAAA6+vr6/8A/fwBAAAA7e3t7f8ABP0BAAAA8PDw8P8AC/0BAAAA8vLy8v8AEv0BAAAA9fX19f8AGf0BAAAA9/f39/8AIP0BAAAA+vr6+v8AJ/0BAAAA/Pz8/P8ALv0BAFX//wD/AP8ANP0BAFX//wD/AP8AO/0BAFX/7gDuAP8AQv0BAFX/zQDNAP8ASf0BAFX/iwCLAP8AUP0BADvQ/63/L/8AXP0BAAAAwMDAwP8AYf0BAAAAAAAAAP8AZ/0BAAAAAwMDA/8Abf0BAAAAGhoaGv8AdP0BAAAA//////8AfP0BAAAAHBwcHP8Ag/0BAAAAHx8fH/8Aiv0BAAAAISEhIf8Akf0BAAAAJCQkJP8AmP0BAAAAJiYmJv8An/0BAAAAKSkpKf8Apv0BAAAAKysrK/8Arf0BAAAALi4uLv8AtP0BAAAAMDAwMP8Au/0BAAAABQUFBf8Awf0BAAAAMzMzM/8AyP0BAAAANjY2Nv8Az/0BAAAAODg4OP8A1v0BAAAAOzs7O/8A3f0BAAAAPT09Pf8A5P0BAAAAQEBAQP8A6/0BAAAAQkJCQv8A8v0BAAAARUVFRf8A+f0BAAAAR0dHR/8AAP4BAAAASkpKSv8AB/4BAAAACAgICP8ADf4BAAAATU1NTf8AFP4BAAAAT09PT/8AG/4BAAAAUlJSUv8AIv4BAAAAVFRUVP8AKf4BAAAAV1dXV/8AMP4BAAAAWVlZWf8AN/4BAAAAXFxcXP8APv4BAAAAXl5eXv8ARf4BAAAAYWFhYf8ATP4BAAAAY2NjY/8AU/4BAAAACgoKCv8AWf4BAAAAZmZmZv8AYP4BAAAAaWlpaf8AZ/4BAAAAa2tra/8Abv4BAAAAbm5ubv8Adf4BAAAAcHBwcP8AfP4BAAAAc3Nzc/8Ag/4BAAAAdXV1df8Aiv4BAAAAeHh4eP8Akf4BAAAAenp6ev8AmP4BAAAAfX19ff8An/4BAAAADQ0NDf8Apf4BAAAAf39/f/8ArP4BAAAAgoKCgv8As/4BAAAAhYWFhf8Auv4BAAAAh4eHh/8Awf4BAAAAioqKiv8AyP4BAAAAjIyMjP8Az/4BAAAAj4+Pj/8A1v4BAAAAkZGRkf8A3f4BAAAAlJSUlP8A5P4BAAAAlpaWlv8A6/4BAAAADw8PD/8A8f4BAAAAmZmZmf8A+P4BAAAAnJycnP8A//4BAAAAnp6env8ABv8BAAAAoaGhof8ADf8BAAAAo6Ojo/8AFP8BAAAApqampv8AG/8BAAAAqKioqP8AIv8BAAAAq6urq/8AKf8BAAAAra2trf8AMP8BAAAAsLCwsP8AN/8BAAAAEhISEv8APf8BAAAAs7Ozs/8ARP8BAAAAtbW1tf8AS/8BAAAAuLi4uP8AUv8BAAAAurq6uv8AWf8BAAAAvb29vf8AYP8BAAAAv7+/v/8AZ/8BAAAAwsLCwv8Abv8BAAAAxMTExP8Adf8BAAAAx8fHx/8AfP8BAAAAycnJyf8Ag/8BAAAAFBQUFP8Aif8BAAAAzMzMzP8AkP8BAAAAz8/Pz/8Al/8BAAAA0dHR0f8Anv8BAAAA1NTU1P8Apf8BAAAA1tbW1v8ArP8BAAAA2dnZ2f8As/8BAAAA29vb2/8Auv8BAAAA3t7e3v8Awf8BAAAA4ODg4P8AyP8BAAAA4+Pj4/8Az/8BAAAAFxcXF/8A1f8BAAAA5eXl5f8A3P8BAAAA6Ojo6P8A4/8BAAAA6+vr6/8A6v8BAAAA7e3t7f8A8f8BAAAA8PDw8P8A+P8BAAAA8vLy8v8A//8BAAAA9fX19f8ABgACAAAA9/f39/8ADQACAAAA+vr6+v8AFAACAAAA/Pz8/P8AGwACAFUP//D/8P8AJAACAFUP//D/8P8ALgACAFUP7uDu4P8AOAACAFUOzcHNwf8AQgACAFUOi4OLg/8ATAACAOmW//9ptP8AVAACAOqR//9utP8AXQACAOuN7u5qp/8AZgACAOyHzc1gkP8AbwACAOqUi4s6Yv8AeAACAACMzc1cXP8AggACAACU//9qav8AjQACAACU7u5jY/8AmAACAACVzc1VVf8AowACAACUi4s6Ov8ArgACAML/gksAgv8AtQACACoA/////gAAuwACACoP////8P8AwQACACoP////8P8AyAACACoP7u7u4P8AzwACACoOzc3Nwf8A1gACACoOi4uLg/8A3QACACZq8PDmjP8A4wACACdw///2j/8A6gACACdw7u7mhf8A8QACACdvzc3Gc/8A+AACACdvi4uGTv8A/wACAKoU+ubm+v8ACAECAPAP///w9f8AFgECAPAP///w9f8AJQECAO8P7u7g5f8ANAECAPAOzc3Bxf8AQwECAO8Oi4uDhv8AUgECAED//Hz8AP8AXAECACYx///6zf8AaQECACYx///6zf8AdwECACUy7u7pv/8AhQECACYxzc3Jpf8AkwECACcxi4uJcP8AoQECAIk/5q3Y5v8AqwECAIpA/7/v//8AtgECAIpA7rLf7v8AwQECAIo/zZrAzf8AzAECAIlAi2iDi/8A1wECAAB38PCAgP8A4gECAH8f/+D///8A7AECAH8f/+D///8A9wECAH8f7tHu7v8AAgICAH8fzbTNzf8ADQICAH8fi3qLi/8AGAICACNz7u7dgv8AJwICACN0///si/8ANwICACNz7u7cgv8ARwICACNzzc2+cP8AVwICACNzi4uBTP8AZwICACoo+vr60v8AfAICAAAA09PT0/8AhgICAAAA09PT0/8AkAICAPhJ//+2wf8AmgICAPlR//+uuf8ApQICAPhR7u6irf8AsAICAPlQzc2Mlf8AuwICAPlQi4tfZf8AxgICAAyE//+gev8A0gICAAyE//+gev8A3wICAAuE7u6Vcv8A7AICAAyFzc2BYv8A+QICAAyFi4tXQv8ABgMCAH3RsiCyqv8AFAMCAI91+ofO+v8AIQMCAI9P/7Di//8ALwMCAI9P7qTT7v8APQMCAI5PzY22zf8ASwMCAI9Oi2B7i/8AWQMCAK+P/4Rw//8AaAMCAJQ4mXeImf8AdwMCAJQ4mXeImf8AhgMCAJc03rDE3v8AlQMCAJc1/8rh//8ApQMCAJc17rzS7v8AtQMCAJc1zaK1zf8AxQMCAJY1i257i/8A1QMCACof////4P8A4QMCACof////4P8A7gMCACof7u7u0f8A+wMCACofzc3NtP8ACAQCACofi4uLev8AFQQCAFXAzTLNMv8AHwQCABUU+vrw5v8AJQQCANT///8A//8ALQQCANT///8A//8ANgQCANT/7u4A7v8APwQCANT/zc0Azf8ASAQCANT/i4sAi/8AUQQCAO+5sLAwYP8AWAQCAOTL//80s/8AYAQCAOTL7u4wp/8AaAQCAOTMzc0pkP8AcAQCAOTLi4scYv8AeAQCAHGAzWbNqv8AiQQCAKr/zQAAzf8AlAQCAMyY07pV0/8AoQQCAMuZ/+Bm//8ArwQCAMuZ7tFf7v8AvQQCAMuZzbRSzf8AywQCAMuai3o3i/8A2QQCALd825Nw2/8A5gQCALd9/6uC//8A9AQCALd97p957v8AAgUCALd9zYlozf8AEAUCALd8i11Hi/8AHgUCAGepszyzcf8ALQUCALCP7nto7v8APQUCAG//+gD6mv8ATwUCAH2n0UjRzP8AXwUCAOTkx8cVhf8AbwUCAKrGcBkZcP8AfAUCAGoJ//X/+v8AhgUCAAQe///k4f8AkAUCAAQe///k4f8AmwUCAAQe7u7V0v8ApgUCAAMdzc23tf8AsQUCAAUdi4t9e/8AvAUCABpJ///ktf8AxQUCABlR///erf8A0QUCABlR///erf8A3gUCABlS7u7Pof8A6wUCABlSzc2zi/8A+AUCABlSi4t5Xv8ABQYCAKr/gAAAgP8ACgYCAKr/gAAAgP8AEwYCACoA/////gAAGAYCABsX/f315v8AIAYCADjAjmuOI/8AKgYCADjB/8D/Pv8ANQYCADjA7rPuOv8AQAYCADjAzZrNMv8ASwYCADjAi2mLIv8AVgYCABv///+lAP8AXQYCABv///+lAP8AZQYCABv/7u6aAP8AbQYCABv/zc2FAP8AdQYCABv/i4taAP8AfQYCAAv///9FAP8AhwYCAAv///9FAP8AkgYCAAv/7u5AAP8AnQYCAAv/zc03AP8AqAYCAAv/i4slAP8AswYCANZ72tpw1v8AugYCANZ8//+D+v8AwgYCANZ87u566f8AygYCANZ8zc1pyf8A0gYCANV8i4tHif8A2gYCACZI7u7oqv8A6AYCAFVk+5j7mP8A8gYCAFVl/5r/mv8A/QYCAFVk7pDukP8ACAcCAFVkzXzNfP8AEwcCAFVki1SLVP8AHgcCAH9D7q/u7v8ALAcCAH9E/7v///8AOwcCAH9E7q7u7v8ASgcCAH9EzZbNzf8AWQcCAH9Di2aLi/8AaAcCAPF829twk/8AdgcCAPF9//+Cq/8AhQcCAPF97u55n/8AlAcCAPF9zc1oif8AowcCAPF8i4tHXf8AsgcCABop///v1f8AvQcCABRG///auf8AxwcCABRG///auf8A0gcCABNF7u7Lrf8A3QcCABNFzc2vlf8A6AcCABRFi4t3Zf8A8wcCABSwzc2FP/8A+AcCAPc////Ay/8A/QcCAPVJ//+1xf8AAwgCAPVJ7u6puP8ACQgCAPVKzc2Rnv8ADwgCAPVJi4tjbP8AFQgCANRG3d2g3f8AGggCANRE//+7//8AIAgCANRE7u6u7v8AJggCANREzc2Wzf8ALAgCANRDi4tmi/8AMggCAIQ75rDg5v8APQgCAMTd8KAg8P8ARAgCAL/P/5sw//8ATAgCAMDP7pEs7v8AVAgCAMDPzX0mzf8AXAgCAMDPi1Uai/8AZAgCAAD///8AAP8AaAgCAAD///8AAP8AbQgCAAD/7u4AAP8AcggCAAD/zc0AAP8AdwgCAAD/i4sAAP8AfAgCAAA9vLyPj/8AhggCAAA+///Bwf8AkQgCAAA+7u60tP8AnAgCAAA+zc2bm/8ApwgCAAA+i4tpaf8AsggCAJ+14UFp4f8AvAgCAJ+3/0h2//8AxwgCAJ+37kNu7v8A0ggCAJ+2zTpfzf8A3QgCAJ+3iydAi/8A6AgCABHci4tFE/8A9AgCAASK+vqAcv8A+wgCAAmW//+Maf8AAwkCAAmW7u6CYv8ACwkCAAmWzc1wVP8AEwkCAAmWi4tMOf8AGwkCABOa9PSkYP8AJgkCAGeqiy6LV/8ALwkCAGer/1T/n/8AOQkCAGer7k7ulP8AQwkCAGerzUPNgP8ATQkCAGeqiy6LV/8AVwkCABEQ///17v8AYAkCABEQ///17v8AagkCABIR7u7l3v8AdAkCABIRzc3Fv/8AfgkCABIQi4uGgv8AiAkCAA23oKBSLf8AjwkCAA24//+CR/8AlwkCAA247u55Qv8AnwkCAA24zc1oOf8ApwkCAA25i4tHJv8ArwkCAIts64fO6/8AtwkCAJB4/4fO//8AwAkCAJB47n7A7v8AyQkCAJB4zWymzf8A0gkCAJF3i0pwi/8A2wkCAK+PzWpazf8A5QkCAK+Q/4Nv//8A8AkCAK+Q7npn7v8A+wkCAK+QzWlZzf8ABgoCAK+Qi0c8i/8AEQoCAJQ4kHCAkP8AGwoCAJU4/8bi//8AJgoCAJU47rnT7v8AMQoCAJQ5zZ+2zf8APAoCAJU4i2x7i/8ARwoCAJQ4kHCAkP8AUQoCAAAF///6+v8AVgoCAAAF///6+v8AXAoCAAAF7u7p6f8AYgoCAAAEzc3Jyf8AaAoCAAADi4uJif8AbgoCAGr//wD/f/8AegoCAGr//wD/f/8AhwoCAGr/7gDudv8AlAoCAGr/zQDNZv8AoQoCAGr/iwCLRf8ArgoCAJKbtEaCtP8AuAoCAJKc/2O4//8AwwoCAJKc7lys7v8AzgoCAJKczU+Uzf8A2QoCAJObizZki/8A5AoCABhU0tK0jP8A6AoCABSw//+lT/8A7QoCABSw7u6aSf8A8goCABSwzc2FP/8A9woCABSwi4taK/8A/AoCANQd2Ni/2P8ABAsCANQe///h//8ADQsCANQe7u7S7v8AFgsCANQdzc21zf8AHwsCANQdi4t7i/8AKAsCAAa4//9jR/8ALwsCAAa4//9jR/8ANwsCAAa47u5cQv8APwsCAAa4zc1POf8ARwsCAAa5i4s2Jv8AmQwCACoA/////gAATwsCAHu24EDg0P8AWQsCAIH//wD1//8AZAsCAIH/7gDl7v8AbwsCAIH/zQDFzf8AegsCAIH/iwCGi/8AhQsCANRz7u6C7v8AjAsCAOPX0NAgkP8AlgsCAOvB//8+lv8AoQsCAOvA7u46jP8ArAsCAOvAzc0yeP8AtwsCAOvAi4siUv8AwgsCABtE9fXes/8AyAsCABtF///nuv8AzwsCABtE7u7Yrv8A1gsCABtEzc26lv8A3QsCABtDi4t+Zv8A5AsCAAAA//////8A6gsCAAAA9fX19f8A9QsCACr/////AP8A/AsCACr/////AP8ABAwCACr/7u7uAP8ADAwCACr/zc3NAP8AFAwCACr/i4uLAP8AHAwCADjAzZrNMv8AkBACAHUgAgCsDAIArgwCALAMAgCyDAIAtAwCALYMAgC4DAIAugwCALwMAgC/DAIAwgwCAMUMAgDIDAIAywwCAM4MAgDRDAIA1AwCANcMAgDaDAIAAAAAAAQAAAAEAAAACwAAADYAAAAWAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAvBkCAAkAAADCGQIACgAAAMsZAgALAAAADRoCAAwAAAATGgIADQAAABgaAgAOAAAAyxkCAA8AAACgGgIAEAAAAKcaAgARAAAArxoCABIAAAC2GgIAEwAAAMIaAgAUAAAADRoCABUAAADOGgIAFgAAANYaAgAXAAAA4BoCABgAAADuGgIAGQAAAPUaAgAaAAAA+hoCABsAAAD9GgIAHAAAAAIbAgAdAAAAChsCAB4AAAAQGwIAHwAAABYbAgAgAAAAHRsCACEAAAAjGwIAIQAAACsbAgAiAAAAMhsCACMAAADLGQIAJAAAAKcaAgARAAAArxoCABIAAAApHQIAJQAAALYaAgATAAAAwhoCABQAAAANGgIAFQAAADQdAgAmAAAA1hoCABcAAADgGgIAGAAAAO4aAgAZAAAA9RoCABoAAAD6GgIAGwAAAP0aAgAcAAAAPB0CACcAAAAKGwIAHgAAABAbAgAfAAAAFhsCACAAAAAdGwIAIQAAACMbAgAhAAAAKxsCACIAAAAyGwIAIwAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDX///7/////39/VP3/DwD+3////////////t//////AwD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AAAAAAAAAAAA////BwcAAAAAAP7//wf+BwAAAAD+//////////98/38vAGAAAADg////////IwAAAP8DAAAA4J/5///9xQMAAACwAwADAOCH+f///W0DAAAAXgAAHADgr/v///3tIwAAAAABAAAA4J/5///9zSMAAACwAwAAAODHPdYYx78DAAAAAAAAAADg3/3///3vAwAAAAADAAAA4N/9///97wMAAABAAwAAAODf/f///f8DAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA/v////9/DQA/AAAAAAAAAJYl8P6ubA0gHwAAAAAAAAAAAAAAAAAAAP/+////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////z8A/////38A7doHAAAAAFABUDGCq2IsAAAAAEAAyYD1BwAAAAAIAQL/////////////////////////D///////////////A///Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAEBMAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAACAAAAA/gMAAP7///////////8fAP7/////////////B+D/////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////8/AAAAAAAAAAAAAAD//////////////////////////w8AAAAAAAAAAAAAAAAAAAAAYP8H/v//h/7//wcAAAAAAACAAP//f////3//////AAAAAAAAAP//////////////AQD4AwADAAAAAAD//////////z8AAAADAAAAwNf///v/////f39U/f8PAP7f///////////+3/////97AP///////58Z////zz8DAAAAAAAA/v///38C/v///38A/v/7//+7FgD///8HBwAAAAAA/v//B///BwD/A////////////3z/f+///z3/A+7////////z/z8e/8//AADun/n///3F0585gLDP/wMA5If5///9bdOHOQBewP8fAO6v+////e3zvzsAAMH/AADun/n///3N8485wLDD/wAA7Mc91hjHv8PHPYAAgP8AAO7f/f///e/D3z1gAMP/AADs3/3///3vw989YEDD/wAA7N/9///9/8PPPYAAw/8AAAAAAAAAAAAAAAAAAAAAAAD+/////3//B/9//wMAAAAAliXw/q5s/ztfP/8DAAAAAAAAAAP/A6DC//7///8D/v/fD7/+/z/+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HwIAAACgAAAA/v8+AP7///////////8fZv7/////////////dxkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAmNwAAPjlAABw5AAAZOcAAGTnAADQ6AAAcOQAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP2BAQCoJwIAgYIBALEnAgC4JwIAwScCABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAADc6wAASO0AALTuAAAg8AAAIPAAAIzxAAC07gAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAADMAAAA0AAAAKQAAADUAAAANAAAAGgAAACoAAAAJAAAACgAAAAIAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAA2AAAANwAAADIAAAA4AAAADgAAABsAAAAzAAAACwAAAAwAAAACAAAAAAEAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTKAIAWSgCAFwoAgBiKAIA/CcCAGkoAgByKAIAeigCADTzAAAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAADeEgSVAAAAAP///////////////wIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0xj0AAAJAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAEAAAAPTtAgAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmPQAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA/PECAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY9AAAHPUAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAQAAAABPYCAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDcAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QVfcIkA/wkvD3QAAADzSwIAbgAAAPVLAgByAAAA90sCAGYAAAD5SwIAYQAAAPtLAgBlAAAA/UsCAHcAAAD/SwIAVwAAAAxMAgBzAAAAGkwCAFMAAAAmTAIAZAAAADNMAgBEAAAAP0wCAAAAAAAAAAAAAAAAAAAABAAEABsAGwAgACAAIwAhAAoAAgAWAAkAIQAhACEAFQAcAAEAFAAUABQAFAAUABQAFAAIAAQABQAbAAIAFwAbACAAHwAeAB0ACQATAAAAFQASABUAAwAHABUAFQAUABQAFAAUABQAFAAUABQACAAEAAUABQAGABsAGgAYABkAIAAHABUAFAAUABQAFAAUABQACwAUAA0AFAAMABQAFAAUAA4AFAAUABQAEAAUAA8AFAARAAAAAAAAAK4ALgAvADMANQAwADcAqgDbANsA2wDbAAAAPQCHADcANwDbANsAAAAoADUALgAyAC8AYgAAAAAARwAAAAAA2wBRAAAA2wDbANsAAADbAIQAVQDbAIIA2wAAAIEA2wAAAD4AQgBBAEgARABSAFsAAAAAAF4AXwDbAAAA2wDbANsAAAAAAHsASQBXAFIAWgBaAF0AAABfAAAAXwAAAGUAXQBfAAAAXQBuAGoAAABpAAAAbgAAANsAkwCaAKEAqACrAHAAsQC4AL8AxgDNANMAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAQABwADAAQABQAFAAYABgAIAAcABwARABYAEgARABIACAAIAA8ADwAXAA8AGAAPABkAGgAaAB4AFgA0AB4ABQAyAAYAIgAiADMAFwAYADUAGQAaABoAKgA2ACoANAA3ADIARQA7ADwAMwA7ADwARgA1AEcASABMADYAIgBJAEoANwBFAE4AUABiAFEAUgBUAEYARwBVAEgATABWAEkASgBYAFoATgBEAFAAUQBSAFQAOAAvACwAVQApAFYAGwAQAFgAWgBdAF0AXQBdAF0AXQBdAF4AXgBeAF4AXgBeAF4AXwBfAF8AXwBfAF8AXwBgAAkAYABgAGAAYABgAGEAYQBjAAIAYwBjAGMAYwBjAGQAAABkAAAAZABkAGQAZQAAAGUAZQBlAGUAZQBmAGYAAABmAGYAZgBmAGcAAABnAGcAZwBnAGgAAABoAGgAaABoAGgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAFwAAQBdAF0AXgBeAF8AXwBcAFwAXABcAFwAYABcAFwAXABhAFwAXABiAGIAYgBiAGIAYgBiAGMAZABlAGYAZgBcAFwAZwBcAFwAXABgAFwAXABhAFwAYQBcAGgAYQBcAGIAYgBiAGIAYgBiAGIAYgBjAGQAZQBlAFwAZgBcAFwAXABnAGgAYQBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAAABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAAoACwAMAA0ADgAKAA8AEAARABIAEwAKABQAFQAVABUAFgAXABUAGAAVABUAGQAVABUAFQAaABUAFQAKABUAFQAVABYAFwAYABUAFQAZABUAFQAVABoAFQAVABUAFQAbAAwADAAkAB4AHgAgACEAIAAhACQAJQAmAC0AMgAvAC4AKgAlACYAKAApADMAKgA0ACsANQA2ADcAPAAyAEcAPQAiAEUAIgA/AEAARgAzADQASAA1ADYANwAvAEkAKgBHAEoARQBMAFwAPABGAFwAPQBNAEgATgBPAFIASQBBAFAAUQBKAEwAUwBUADEAVQBWAFcATQBOAFgATwBSAFkAUABRAFoAWwBTAEQAVABVAFYAVwBLAEQALABYACwAWQA4ACwAWgBbAB0AHQAdAB0AHQAdAB0AHwAfAB8AHwAfAB8AHwAjACMAIwAjACMAIwAjACcAXAAnACcAJwAnACcAMAAwADkAHAA5ADkAOQA5ADkAOgBcADoAXAA6ADoAOgA7AFwAOwA7ADsAOwA7AD4APgBcAD4APgA+AD4AQgBcAEIAQgBCAEIAQwBcAEMAQwBDAEMAQwAJAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAgArv/RAAoArv+u/wsArv+u/67/rv+u/67/rv+u/wUA0QCu/9EA0QDRANEA0QDRANEA0QCu//v/rv8OAOz/rv+u/67/rv/RANEA0QDRANEADQAlAAwAQgAQAFAAEwBtAHsAFACYAA8ApgDDAK7/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/xcArv93AK7/BwAuAK7/JgCu/xcAEQAjAK7/DQCu/67/rv+u/zoArv+u/zUArv+u/67/KACu/wcArv87AEUArv9IAK7/rv+u/67/rv+u/67//P/oAPb///8aAAAAJwABADIArv+u/wIAJAADAC8Arv+u/67/rv+u//7/lACu/wkAGwCu/7z/rv+u/6//rv+u/67/rv+u/67/rv8AAAAAAABt5uzeBQALAEkAMQFTAH8BMAFpAHgB/wCBAVMCggGDAYQBhQGGAVQChwGIAYkBVgKKAVcCiwGMAY4B3QGPAVkCkAFbApEBkgGTAWAClAFjApYBaQKXAWgCmAGZAZwBbwKdAXICnwF1AqYBgAKnAagBqQGDAqwBrQGuAYgCrwGwAbEBigKyAYsCtwGSArgBuQG8Ab0BxAHGAcQBxQHFAcYBxwHJAccByAHIAckBygHMAcoBywHLAcwB8QHzAfEB8gHyAfMB9AH1AfYBlQH3Ab8BIAKeAYYDrAOIA60DiQOuA4oDrwOMA8wDjgPNA48DzgOZA0UDmQO+H6MDwgP3A/gD+gP7A2Aemx6eHt8AWR9RH1sfUx9dH1UfXx9XH7wfsx/MH8Mf7B/lH/wf8x86AmUsOwI8Aj0CmgE+AmYsQQJCAkMCgAFEAokCRQKMAvQDuAP5A/ID/QN7A/4DfAP/A30DwATPBCYhyQMqIWsAKyHlADIhTiGDIYQhYCxhLGIsawJjLH0dZCx9Am0sUQJuLHECbyxQAnAsUgJyLHMsdSx2LH4sPwJ/LEAC8izzLH2neR2Lp4ynjadlAqqnZgLHECctzRAtLXYDdwOcA7UAkgPQA5gD0QOmA9UDoAPWA5oD8AOhA/EDlQP1A88D1wMAAAAAQQAgGsAAIB8AAQEvMgEBBTkBAQ9KAQEteQEBBXADAQORAyARowMgCQAEUBAQBCAgYAQBIYoEATXBBAEN0AQBPxQFARMxBTAmoAEBBbMBAQPNAQEP3gEBEfgBASciAgER2AMBFwAeAZWgHgFfCB/4CBgf+AYoH/gIOB/4CEgf+AZoH/gIiB/4CJgf+AioH/gIuB/4AroftgLIH6oE2B/4AtofnALoH/gC6h+QAvgfgAL6H4ICRgIBCRAFAQNgIRAQACwwL2csAQWALAFj6ywBA0CmAS2ApgEXIqcBDTKnAT15pwEDfqcBCZCnAQOgpwEJIf8gGgAAAAB7IHZhciBwYXRoID0gUG9pbnRlcl9zdHJpbmdpZnkoJDApOyB2YXIgZGF0YSA9IFBvaW50ZXJfc3RyaW5naWZ5KCQxKTsgRlMuY3JlYXRlUGF0aCgiLyIsIFBBVEguZGlybmFtZShwYXRoKSk7IEZTLndyaXRlRmlsZShQQVRILmpvaW4oIi8iLCBwYXRoKSwgZGF0YSk7IH0AY29yZQB4ZG90dmVyc2lvbgAxLjcAMS40ADEuMgBfbGRyYXdfAF9oZHJhd18AX3RkcmF3XwBfaGxkcmF3XwBfdGxkcmF3XwB4ZG90IHZlcnNpb24gIiVzIiB0b28gbG9uZwAgJWQgACUuMDJmACVzJWQgLQAjJTAyeCUwMnglMDJ4JTAyeABzZXRsaW5ld2lkdGgoACUuM2YAUyAAQyAAMiAARSAAZSAARiAAdCAldSAAVCAAZG90OmRvdABndjpkb3QAY2Fub246ZG90AHBsYWluOmRvdABwbGFpbi1leHQ6ZG90AHhkb3Q6eGRvdAB4ZG90MS4yOnhkb3QAeGRvdDEuNDp4ZG90AEkgACJfc3ViZ3JhcGhfY250IjogJWQAIl9ndmlkIjogJWQAImVkZ2VzIjogWwoAIl9ndmlkIjogJWQsCgAidGFpbCI6ICVkLAoAImhlYWQiOiAlZAAib2JqZWN0cyI6IFsKACJub2RlcyI6IFsKACJuYW1lIjogIiVzIgBcIgBcLwBcYgBcZgBcbgBccgBcdAAic3ViZ3JhcGhzIjogWwoAIiVzIjogACIlcyIAQ291bGQgbm90IHBhcnNlIHhkb3QgIiVzIgoAWwoAIm9wIjogIiVjIiwKACJyZWN0IjogWyUuMDNmLCUuMDNmLCUuMDNmLCUuMDNmXQoAIm9wIjogIkwiLAoAIm9wIjogIlQiLAoAInB0IjogWyUuMDNmLCUuMDNmXSwKACJhbGlnbiI6ICIlYyIsCgAid2lkdGgiOiAlLjAzZiwKACJ0ZXh0IjogIiVzIgoAImdyYWQiOiAibm9uZSIsCgAiY29sb3IiOiAiJXMiCgAiZ3JhZCI6ICJsaW5lYXIiLAoAImdyYWQiOiAicmFkaWFsIiwKACJvcCI6ICJGIiwKACJzaXplIjogJS4wM2YsCgAiZmFjZSI6ICIlcyIKACJvcCI6ICJTIiwKACJzdHlsZSI6ICIlcyIKACJvcCI6ICJ0IiwKACJmb250Y2hhciI6ICVkCgAicDAiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInAxIjogWyUuMDNmLCUuMDNmLCUuMDNmXSwKACJzdG9wcyI6IFsAeyJmcmFjIjogJS4wM2YsICJjb2xvciI6ICIlcyJ9AF0KACJwMCI6IFslLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2ZdLAoAInBvaW50cyI6IFsAWyUuMDNmLCUuMDNmXQBkcmF3XwBsZHJhd18AaGRyYXdfAHRkcmF3XwBobGRyYXdfAHRsZHJhd18AImRpcmVjdGVkIjogJXMsCgAic3RyaWN0IjogJXMARHVwbGljYXRlIGNsdXN0ZXIgbmFtZSAiJXMiCgB4ZG90AGpzb24AanNvbjAAZG90X2pzb24AeGRvdF9qc29uAGpzb246anNvbgBqc29uMDpqc29uAGRvdF9qc29uOmpzb24AeGRvdF9qc29uOmpzb24AbiA+PSA0AGd2cmVuZGVyX2NvcmVfZmlnLmMAZmlnX2JlemllcgBmaWdfcmVzb2x2ZV9jb2xvcgBmaWcAZmlnOmZpZwBtYXAAcmVjdCAlcyAlZCwlZCAlZCwlZAoAY2lyY2xlICVzICVkLCVkLCVkCgBwb2x5ICVzACAlZCwlZABndnJlbmRlcl9jb3JlX21hcC5jAG1hcF9vdXRwdXRfc2hhcGUAcmVjdGFuZ2xlICglZCwlZCkgKCVkLCVkKSAlcyAlcwoAPGFyZWEgc2hhcGU9ImNpcmNsZSIAPGFyZWEgc2hhcGU9InJlY3QiADxhcmVhIHNoYXBlPSJwb2x5IgAgaHJlZj0iACB0aXRsZT0iACBhbHQ9IiIAIGNvb3Jkcz0iACVkLCVkLCVkACVkLCVkLCVkLCVkACVkLCVkACwlZCwlZAAiPgoAPC9tYXA+CgBiYXNlIHJlZmVyZXIKAGRlZmF1bHQgADxtYXAgaWQ9IgAiIG5hbWU9IgBpc21hcDptYXAAY21hcDptYXAAaW1hcDptYXAAY21hcHg6bWFwAGltYXBfbnA6bWFwAGNtYXB4X25wOm1hcAAjICVzCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjNmICVkICUuNGYgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICMlMDJ4JTAyeCUwMngKAGd2cmVuZGVyX2NvcmVfbXAuYwBtcF9yZXNvbHZlX2NvbG9yACVkICVkICVkICVkICVkICVkICUuMWYgJS40ZiAlZCAlLjFmICUuMWYgJWQgJWQgJXNcMDAxCgAjIGVuZCBvZiBGSUcgZmlsZQoAI0ZJRyAzLjIKACMgR2VuZXJhdGVkIGJ5ICVzIHZlcnNpb24gJXMgKCVzKQoAIyBUaXRsZTogJXMKACMgUGFnZXM6ICVkCgBQb3J0cmFpdAoAQ2VudGVyCgBJbmNoZXMKAExldHRlcgoAMTAwLjAwCgBTaW5nbGUKAC0yCgAxMjAwACAyCgBtcABtcDptcAAgXSAgJWQgdHJ1ZSAlcwoAIF0gICVkIGZhbHNlICVzCgAgc2V0bGluZXdpZHRoCgAlcyAAc2V0aHNiACUuNWcgJS41ZyAlLjVnICVzY29sb3IKACUgAG5ld3BhdGggACBtb3ZldG8KACBsaW5ldG8KAHN0cm9rZQoAIGN1cnZldG8KAGNsb3NlcGF0aCBmaWxsCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIGZpbGwKACBlbGxpcHNlX3BhdGggc3Ryb2tlCgAgLyVzIHNldF9mb250CgAgbW92ZXRvIAAgJXMgYWxpZ25lZHRleHQKAFsgL1JlY3QgWyAAIF0KACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAZ3NhdmUKACUlICVzCgAwIDAgMCBlZGdlY29sb3IKAGVuZHBhZ2UKc2hvd3BhZ2UKZ3Jlc3RvcmUKACUlUGFnZVRyYWlsZXIKACUlJSVFbmRQYWdlOiAlZAoAJSUlJVBhZ2U6ICVkICVkCgAlJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoATGFuZHNjYXBlAFBvcnRyYWl0ACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgAlZCAlZCAlZCBiZWdpbnBhZ2UKAGdzYXZlCiVkICVkICVkICVkIGJveHByaW0gY2xpcCBuZXdwYXRoCgAlZyAlZyBzZXRfc2NhbGUgJWQgcm90YXRlICVnICVnIHRyYW5zbGF0ZQoAY2FudmFzIHNpemUgKCVkLCVkKSBleGNlZWRzIFBERiBsaW1pdCAoJWQpCgkoc3VnZ2VzdCBzZXR0aW5nIGEgYm91bmRpbmcgYm94IHNpemUsIHNlZSBkb3QoMSkpCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACVkICVkIHNldGxheWVyCgAlJSUlVGl0bGU6ICVzCgAlJVBhZ2VzOiAoYXRlbmQpCgAlJVBhZ2VzOiAxCgAlJUJvdW5kaW5nQm94OiAoYXRlbmQpCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlJUVuZENvbW1lbnRzCnNhdmUKAHNldHVwTGF0aW4xCgBbIHtDYXRhbG9nfSA8PCAvVVJJIDw8IC9CYXNlICVzID4+ID4+Ci9QVVQgcGRmbWFyawoAJSVCZWdpblByb2xvZwAvRG90RGljdCAyMDAgZGljdCBkZWYARG90RGljdCBiZWdpbgAvc2V0dXBMYXRpbjEgewBtYXJrAC9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmACBFbmNvZGluZ1ZlY3RvciAwAElTT0xhdGluMUVuY29kaW5nIDAgMjU1IGdldGludGVydmFsIHB1dGludGVydmFsAEVuY29kaW5nVmVjdG9yIDQ1IC9oeXBoZW4gcHV0ACUgU2V0IHVwIElTTyBMYXRpbiAxIGNoYXJhY3RlciBlbmNvZGluZwAvc3Rhcm5ldElTTyB7ACAgICAgICAgZHVwIGR1cCBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVnaW4AICAgICAgICB7IDEgaW5kZXggL0ZJRCBuZSB7IGRlZiB9eyBwb3AgcG9wIH0gaWZlbHNlACAgICAgICAgfSBmb3JhbGwAICAgICAgICAvRW5jb2RpbmcgRW5jb2RpbmdWZWN0b3IgZGVmACAgICAgICAgY3VycmVudGRpY3QgZW5kIGRlZmluZWZvbnQAfSBkZWYAL1RpbWVzLVJvbWFuIHN0YXJuZXRJU08gZGVmAC9UaW1lcy1JdGFsaWMgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGQgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGRJdGFsaWMgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLU9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXIgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllci1Cb2xkIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGRPYmxpcXVlIHN0YXJuZXRJU08gZGVmAGNsZWFydG9tYXJrAH0gYmluZCBkZWYAJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAAvY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgAvZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmAC9JbnZTY2FsZUZhY3RvciAxLjAgZGVmAC9zZXRfc2NhbGUgewAgICAgICAgZHVwIDEgZXhjaCBkaXYgL0ludlNjYWxlRmFjdG9yIGV4Y2ggZGVmACAgICAgICBzY2FsZQAlIHN0eWxlcwAvc29saWQgeyBbXSAwIHNldGRhc2ggfSBiaW5kIGRlZgAvZGFzaGVkIHsgWzkgSW52U2NhbGVGYWN0b3IgbXVsIGR1cCBdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kb3R0ZWQgeyBbMSBJbnZTY2FsZUZhY3RvciBtdWwgNiBJbnZTY2FsZUZhY3RvciBtdWxdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9pbnZpcyB7L2ZpbGwge25ld3BhdGh9IGRlZiAvc3Ryb2tlIHtuZXdwYXRofSBkZWYgL3Nob3cge3BvcCBuZXdwYXRofSBkZWZ9IGJpbmQgZGVmAC9ib2xkIHsgMiBzZXRsaW5ld2lkdGggfSBiaW5kIGRlZgAvZmlsbGVkIHsgfSBiaW5kIGRlZgAvdW5maWxsZWQgeyB9IGJpbmQgZGVmAC9yb3VuZGVkIHsgfSBiaW5kIGRlZgAvZGlhZ29uYWxzIHsgfSBiaW5kIGRlZgAvdGFwZXJlZCB7IH0gYmluZCBkZWYAJSBob29rcyBmb3Igc2V0dGluZyBjb2xvciAAL25vZGVjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2VkZ2Vjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2dyYXBoY29sb3IgeyBzZXRoc2Jjb2xvciB9IGJpbmQgZGVmAC9ub3Bjb2xvciB7cG9wIHBvcCBwb3B9IGJpbmQgZGVmAC9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMACS9ucGFnZXMgZXhjaCBkZWYACS9qIGV4Y2ggZGVmAAkvaSBleGNoIGRlZgAJL3N0ciAxMCBzdHJpbmcgZGVmAAlucGFnZXMgMSBndCB7AAkJZ3NhdmUACQkJY29vcmRmb250IHNldGZvbnQACQkJMCAwIG1vdmV0bwAJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93AAkJZ3Jlc3RvcmUACX0gaWYAL3NldF9mb250IHsACWZpbmRmb250IGV4Y2gACXNjYWxlZm9udCBzZXRmb250ACUgZHJhdyB0ZXh0IGZpdHRlZCB0byBpdHMgZXhwZWN0ZWQgd2lkdGgAL2FsaWduZWR0ZXh0IHsJCQklIHdpZHRoIHRleHQACS90ZXh0IGV4Y2ggZGVmAAkvd2lkdGggZXhjaCBkZWYACWdzYXZlAAkJd2lkdGggMCBndCB7AAkJCVtdIDAgc2V0ZGFzaAAJCQl0ZXh0IHN0cmluZ3dpZHRoIHBvcCB3aWR0aCBleGNoIHN1YiB0ZXh0IGxlbmd0aCBkaXYgMCB0ZXh0IGFzaG93AAkJfSBpZgAJZ3Jlc3RvcmUAL2JveHByaW0gewkJCQklIHhjb3JuZXIgeWNvcm5lciB4c2l6ZSB5c2l6ZQAJCTQgMiByb2xsAAkJbW92ZXRvAAkJMiBjb3B5AAkJZXhjaCAwIHJsaW5ldG8ACQkwIGV4Y2ggcmxpbmV0bwAJCXBvcCBuZWcgMCBybGluZXRvAAkJY2xvc2VwYXRoAC9lbGxpcHNlX3BhdGggewAJL3J5IGV4Y2ggZGVmAAkvcnggZXhjaCBkZWYACS95IGV4Y2ggZGVmAAkveCBleGNoIGRlZgAJbWF0cml4IGN1cnJlbnRtYXRyaXgACW5ld3BhdGgACXggeSB0cmFuc2xhdGUACXJ4IHJ5IHNjYWxlAAkwIDAgMSAwIDM2MCBhcmMACXNldG1hdHJpeAAvZW5kcGFnZSB7IHNob3dwYWdlIH0gYmluZCBkZWYAL3Nob3dwYWdlIHsgfSBkZWYAL2xheWVyY29sb3JzZXEACVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QACQlbMCAwIDBdAAkJWy4yIC44IC44XQAJCVsuNCAuOCAuOF0ACQlbLjYgLjggLjhdAAkJWy44IC44IC44XQAJXQBkZWYAL2xheWVybGVuIGxheWVyY29sb3JzZXEgbGVuZ3RoIGRlZgAvc2V0bGF5ZXIgey9tYXhsYXllciBleGNoIGRlZiAvY3VybGF5ZXIgZXhjaCBkZWYACWxheWVyY29sb3JzZXEgY3VybGF5ZXIgMSBzdWIgbGF5ZXJsZW4gbW9kIGdldAAJYWxvYWQgcG9wIHNldGhzYmNvbG9yAAkvbm9kZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZWRnZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZ3JhcGhjb2xvciB7bm9wY29sb3J9IGRlZgAvb25sYXllciB7IGN1cmxheWVyIG5lIHtpbnZpc30gaWYgfSBkZWYAL29ubGF5ZXJzIHsACS9teXVwcGVyIGV4Y2ggZGVmAAkvbXlsb3dlciBleGNoIGRlZgAJY3VybGF5ZXIgbXlsb3dlciBsdAAJY3VybGF5ZXIgbXl1cHBlciBndAAJb3IACXtpbnZpc30gaWYAL2N1cmxheWVyIDAgZGVmACUlRW5kUmVzb3VyY2UAJSVFbmRQcm9sb2cAJSVCZWdpblNldHVwADE0IGRlZmF1bHQtZm9udC1mYW1pbHkgc2V0X2ZvbnQAJSAvYXJyb3dsZW5ndGggMTAgZGVmACUgL2Fycm93d2lkdGggNSBkZWYAJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyAC9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQAlIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwAvbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQAyIGx0IHsAICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQAICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQAfSBpZgAlJUVuZFNldHVwACUlVHJhaWxlcgoAJSUlJVBhZ2VzOiAlZAoAZW5kCnJlc3RvcmUKACUlRU9GCgAlIVBTLUFkb2JlLTMuMAAgRVBTRi0zLjAKACUlJSVDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKAHBzMjpwcwA8IS0tIAA8cG9seWxpbmUAIHBvaW50cz0iACIvPgoAIGZpbGw9IgB1cmwoI2xfJWQpAHVybCgjcl8lZCkAIiBmaWxsLW9wYWNpdHk9IiVmACIgc3Ryb2tlPSIAIiBzdHJva2Utd2lkdGg9IgAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzADUsMgAxLDUAIiBzdHJva2Utb3BhY2l0eT0iJWYAZ3ZyZW5kZXJfY29yZV9zdmcuYwBzdmdfcHJpbnRfY29sb3IAPHBhdGgAIGlkPSIAX3AiIAAgZD0iACVjADxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InJfJWQiIGN4PSI1MCUlIiBjeT0iNTAlJSIgcj0iNzUlJSIgZng9IiVkJSUiIGZ5PSIlZCUlIj4KADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6ADtzdG9wLW9wYWNpdHk6ADEuADsiLz4KADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9yYWRpYWxHcmFkaWVudD4KPC9kZWZzPgoAPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ibF8lZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIAB4MT0iACIgeTE9IgAiIHgyPSIAIiB5Mj0iACIgPgoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgoAPHBvbHlnb24APGVsbGlwc2UAIGN4PSIAIiBjeT0iACIgcng9IgAiIHJ5PSIAPHRleHQAIHRleHQtYW5jaG9yPSJzdGFydCIAIHRleHQtYW5jaG9yPSJlbmQiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgAgeD0iACIgeT0iACBmb250LWZhbWlseT0iJXMALCVzACBmb250LXdlaWdodD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiACBmb250LWZhbWlseT0iJXMiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIHRleHQtZGVjb3JhdGlvbj0iACVzb3ZlcmxpbmUAJXNsaW5lLXRocm91Z2gAIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiACBmb250LXNpemU9IiUuMmYiACBmaWxsPSIlcyIAIGZpbGw9IiMlMDJ4JTAyeCUwMngiAHN2Z190ZXh0c3BhbgA+ADx0ZXh0UGF0aCB4bGluazpocmVmPSIjJXNfcCIgc3RhcnRPZmZzZXQ9IjUwJSUiPgA8dHNwYW4geD0iMCIgZHk9IgAiPgA8L3RzcGFuPjwvdGV4dFBhdGg+ADwvdGV4dD4KADwvZz4KADxnACBpZD0iYV8AIHhsaW5rOmhyZWY9IgAgeGxpbms6dGl0bGU9IgAgdGFyZ2V0PSIAPHRpdGxlPgA8L3RpdGxlPgoAPGcgaWQ9IgBfJXMAIiBjbGFzcz0iJXMAY2xhc3MAIHRyYW5zZm9ybT0ic2NhbGUoACkgcm90YXRlKCVkKSB0cmFuc2xhdGUoACkiPgoAPC9zdmc+CgA8IS0tACBQYWdlczogJWQgLS0+CgA8c3ZnIHdpZHRoPSIlZHB0IiBoZWlnaHQ9IiVkcHQiCgAgdmlld0JveD0iJS4yZiAlLjJmICUuMmYgJS4yZiIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIAIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KAHN0eWxlc2hlZXQAPD94bWwtc3R5bGVzaGVldCBocmVmPSIAIiB0eXBlPSJ0ZXh0L2NzcyI/PgoAPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIgoAICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgoAPCEtLSBHZW5lcmF0ZWQgYnkgAGRhcmtibHVlAGRhcmtjeWFuAGRhcmtncmF5AGRhcmtncmV5AGRhcmttYWdlbnRhAGRhcmtyZWQAbGlnaHRncmVlbgAjIAAgY3JlYXRlIGxpbmUgACAtZmlsbCAAIC1kYXNoIDUAIC1kYXNoIDIAZ3ZyZW5kZXJfY29yZV90ay5jAHRrZ2VuX3ByaW50X3RhZ3MAZ3JhcGggbGFiZWwAIC10YWdzIHslZCVzJXB9AHRrZ2VuX3ByaW50X2NvbG9yACRjACAtd2lkdGggACAtc21vb3RoIGJlemllciAAIGNyZWF0ZSBwb2x5Z29uIAAgLW91dGxpbmUgACBjcmVhdGUgb3ZhbCAAIGNyZWF0ZSB0ZXh0IAAgLXRleHQgewB9ACAtZm9udCB7ACAlZH0AIC1hbmNob3IgdwAgLWFuY2hvciBlACMAIFRpdGxlOiAAIFBhZ2VzOiAlZAoAIyBHZW5lcmF0ZWQgYnkgACkKAHRrAHRrOnRrACAgICAgIDwhLS0gACAtLT4KAEVycm9yIGR1cmluZyBjb252ZXJzaW9uIHRvICJVVEYtOCIuICBRdWl0aW5nLgoAIDx2OnNoYXBlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACB3aWR0aDogJWQ7IGhlaWdodDogJWQiIGZpbGxlZD0iZmFsc2UiPgA8djpwYXRoIHY9IgAgbSAAJS4wZiwlLjBmIAAgbCAAIGUgACIvPgA8L3Y6c2hhcGU+CgA8djpzdHJva2UgY29sb3I9IgAiIHdlaWdodD0iJS4wZnB0ACIgZGFzaHN0eWxlPSJkYXNoACIgZGFzaHN0eWxlPSJkb3QAIiAvPgAjJTAyeCUwMnglMDJ4AGd2cmVuZGVyX2NvcmVfdm1sLmMAdm1sX3ByaW50X2NvbG9yACB3aWR0aDogJWQ7IGhlaWdodDogJWQiACA+ADx2OnBhdGggIHY9IgAvPjwvdjpzaGFwZT4KAG0gACVzJS4wZiwlLjBmIABjIAAgZmlsbGVkPSJ0cnVlIiBmaWxsY29sb3I9IgAiIAAgZmlsbGVkPSJmYWxzZSIgACUuMGYgJS4wZiAAbCAAeCBlICIvPgAgIDx2Om92YWwgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOwAgbGVmdDogJS4yZjsgdG9wOiAlLjJmOwAgd2lkdGg6ICUuMmY7IGhlaWdodDogJS4yZiIAPC92Om92YWw+CgA8djpyZWN0IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACBzdHJva2VkPSJmYWxzZSIgZmlsbGVkPSJmYWxzZSI+CgA8djp0ZXh0Ym94IGluc2V0PSIwLDAsMCwwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHYtdGV4dC13cmFwcGluZzonZmFsc2UnO3BhZGRpbmc6JzAnOwBmb250LWZhbWlseTogJyVzJzsAZm9udC13ZWlnaHQ6ICVzOwBmb250LXN0cmV0Y2g6ICVzOwBmb250LXN0eWxlOiAlczsAIGZvbnQtc2l6ZTogJS4yZnB0OwBjb2xvcjolczsAY29sb3I6IyUwMnglMDJ4JTAyeDsAdm1sX3RleHRzcGFuACI+PGNlbnRlcj4APC9jZW50ZXI+PC92OnRleHRib3g+CgA8L3Y6cmVjdD4KADwvYT4KADxhACBocmVmPSIlcyIAIHRpdGxlPSIlcyIAIHRhcmdldD0iJXMiAD4KADwvdjpncm91cD4KADwvRElWPgoAPERJViBpZD0nX1ZNTDJfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW4iPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPERJViBpZD0nX25vdFZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij4KADwhLS0gdGhpcyBzaG91bGQgb25seSBkaXNwbGF5IG9uIE5PTi1JRSBicm93c2VycyAtLT4KADxIMj5Tb3JyeSwgdGhpcyBkaWFncmFtIHdpbGwgb25seSBkaXNwbGF5IGNvcnJlY3RseSBvbiBJbnRlcm5ldCBFeHBsb3JlciA1IChhbmQgdXApIGJyb3dzZXJzLjwvSDI+CgA8RElWIGlkPSdfbm90Vk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIE5PTi1JRSBodG1sIGNvbnRlbnQgaGVyZSAtLT4KADwvQk9EWT4KPC9IVE1MPgoAPEhFQUQ+ADxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KADxUSVRMRT4APC9USVRMRT4APCEtLSBQYWdlczogJWQgLS0+CgAgICA8U0NSSVBUIExBTkdVQUdFPSdKYXZhc2NyaXB0Jz4KACAgIGZ1bmN0aW9uIGJyb3dzZXJjaGVjaygpCgAgICB7CgAgICAgICB2YXIgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudAoAICAgICAgdmFyIG1zaWUgPSB1YS5pbmRleE9mICggJ01TSUUgJyApCgAgICAgICB2YXIgaWV2ZXJzOwoAICAgICAgdmFyIGl0ZW07CgAgICAgICB2YXIgVk1MeWVzPW5ldyBBcnJheSgnX1ZNTDFfJywnX1ZNTDJfJyk7CgAgICAgICB2YXIgVk1Mbm89bmV3IEFycmF5KCdfbm90Vk1MMV8nLCdfbm90Vk1MMl8nKTsKACAgICAgIGlmICggbXNpZSA+IDAgKXsgICAgICAvLyBJZiBJbnRlcm5ldCBFeHBsb3JlciwgcmV0dXJuIHZlcnNpb24gbnVtYmVyCgAgICAgICAgICBpZXZlcnM9IHBhcnNlSW50ICh1YS5zdWJzdHJpbmcgKG1zaWUrNSwgdWEuaW5kZXhPZiAoJy4nLCBtc2llICkpKQoAICAgICAgfQoAICAgICAgaWYgKGlldmVycz49NSl7CgAgICAgICAgZm9yICh4IGluIFZNTHllcyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1MeWVzW3hdKTsKACAgICAgICAgIGlmIChpdGVtKSB7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7CgAgICAgICAgICB9CgAgICAgICAgfQoAICAgICAgIGZvciAoeCBpbiBWTUxubyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1Mbm9beF0pOwoAICAgICAgICAgICBpdGVtLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7CgAgICAgIH1lbHNlewoAICAgICB9CgAgICB9CgAgICA8L1NDUklQVD4KADwvSEVBRD4APEJPRFkgb25sb2FkPSdicm93c2VyY2hlY2soKTsnPgoAPERJViBpZD0nX1ZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lOyB2aXNpYmlsaXR5OmhpZGRlbgAgd2lkdGg6ICVkcHQ7IGhlaWdodDogJWRwdCI+CgA8U1RZTEU+CgB2XDoqIHsgYmVoYXZpb3I6IHVybCgjZGVmYXVsdCNWTUwpO2Rpc3BsYXk6aW5saW5lLWJsb2NrfQoAPC9TVFlMRT4KADx4bWw6bmFtZXNwYWNlIG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgcHJlZml4PSJ2IiAvPgoAIDx2Omdyb3VwIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0IgAgY29vcmRvcmlnaW49IjAsMCIgY29vcmRzaXplPSIlZCwlZCIgPgA8SFRNTD4KAAo8IS0tIEdlbmVyYXRlZCBieSAAIHZlcnNpb24gACAoACkKLS0+CgBhcXVhAGZ1Y2hzaWEAbGltZQBvbGl2ZQB0ZWFsAHZtbAB2bWw6dm1sAC8vKioqIGNvbW1lbnQ6ICVzCgAvLyoqKiBwb2x5bGluZQoAc2NhbGUgICAgPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgByb3RhdGUgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHRyYW5zbGF0ZTwlOS4zZiwgJTkuM2YsICU5LjNmPgoAc3BoZXJlX3N3ZWVwIHsKICAgICVzCiAgICAlZCwKAGxpbmVhcl9zcGxpbmUAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAlLjNmCgAlcyAgICAlcwAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAJXMlcwAlcyB0cmFuc21pdCAlLjNmAFJlZABHcmVlbgBCbHVlAHJnYjwlOS4zZiwgJTkuM2YsICU5LjNmPiB0cmFuc21pdCAlLjNmAG9vcHMsIGludGVybmFsIGVycm9yOiB1bmhhbmRsZWQgY29sb3IgdHlwZT0lZCAlcwoAZ3ZyZW5kZXJfY29yZV9wb3YuYwBwb3ZfY29sb3JfYXNfc3RyAHBpZ21lbnQgeyBjb2xvciAlcyB9CgBwb3YgcmVuZGVyZXI6ZWwgLSAlcwoALy8qKiogYmV6aWVyCgBiX3NwbGluZQAgICAgICAgIHRvbGVyYW5jZSAwLjAxCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHBvbHlnb24KACAgICB0b2xlcmFuY2UgMC4xCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHBvbHlnb24geyAlZCwKADwlOS4zZiwgJTkuM2YsICU5LjNmPgAlcwogICAgJXMACiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIGVsbGlwc2UKAHRvcnVzIHsgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgBzcGhlcmUgezwlOS4zZiwgJTkuM2YsICU5LjNmPiwgMS4wCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHRleHRzcGFuOiAlcywgZm9udHNpemUgPSAlLjNmLCBmb250bmFtZSA9ICVzCgBzY2FsZSAlLjNmCgB0ZXh0IHsKICAgIHR0ZiAiJXMiLAogICAgIiVzIiwgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAgICAgbm9fc2hhZG93CgAvLyoqKiBlbmRfZWRnZQoALy8qKiogYmVnaW5fZWRnZQoALy8qKiogZW5kX25vZGUKAC8vKioqIGJlZ2luX25vZGU6ICVzCgAvLyoqKiBlbmRfY2x1c3RlcgoALy8qKiogYmVnaW5fY2x1c3RlcgoALy8qKiogZW5kX3BhZ2UKAC8vKioqIGJlZ2luX3BhZ2UKAC8vKioqIGVuZF9sYXllcgoALy8qKiogYmVnaW5fbGF5ZXI6ICVzLCAlZC8lZAoALy8qKiogZW5kX2dyYXBoCgAvLyoqKiBiZWdpbl9ncmFwaCAlcwoAY2FtZXJhIHsgbG9jYXRpb24gPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgbG9va19hdCAgPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgcmlnaHQgeCAqIGltYWdlX3dpZHRoIC8gaW1hZ2VfaGVpZ2h0CiAgICAgICAgIGFuZ2xlICUuM2YKfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICogMC43NQogICAgZm9nX29mZnNldCAwLjEwCiAgICBmb2dfYWx0IDEuNTAKICAgIHR1cmJ1bGVuY2UgMS43NQp9Ci8vZ25kCnBsYW5lIHsgPDAuMDAsIDEuMDAsIDAuMDA+LCAwCiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50eyBjb2xvciByZ2IgPDAuMjUsIDAuNDUsIDAuMDA+IH0KICAgICAgICBub3JtYWwgeyBidW1wcyAwLjc1IHNjYWxlIDAuMDEgfQogICAgICAgIGZpbmlzaCB7IHBob25nIDAuMTAgfQogICAgfQp9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgAjdmVyc2lvbiAzLjY7CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAjZGVmYXVsdCB7IGZpbmlzaCB7IGFtYmllbnQgMC4xIGRpZmZ1c2UgMC45IH0gfQoAI2luY2x1ZGUgImNvbG9ycy5pbmMiCiNpbmNsdWRlICJ0ZXh0dXJlcy5pbmMiCiNpbmNsdWRlICJzaGFwZXMuaW5jIgoAI2RlY2xhcmUgJXMgPSAlczsKAEJsYWNrAFdoaXRlAGJha2Vyc2Nob2MAYnJhc3MAYnJpZ2h0Z29sZABicm9uemUAYnJvbnplMgBjbGVhcgBjb29sY29wcGVyAGNvcHBlcgBkYXJrYnJvd24AZGFya3B1cnBsZQBkYXJrdGFuAGRhcmt3b29kAGRrZ3JlZW5jb3BwZXIAZHVzdHlyb3NlAGZlbGRzcGFyAGZsZXNoAGdyYXkwNQBncmVlbmNvcHBlcgBodW50ZXJzZ3JlZW4AbGlnaHRfcHVycGxlAGxpZ2h0d29vZABtYW5kYXJpbm9yYW5nZQBtZWRpdW1mb3Jlc3RncmVlbgBtZWRpdW1nb2xkZW5yb2QAbWVkaXVtd29vZABtZWRfcHVycGxlAG1pY2EAbmVvbmJsdWUAbmVvbnBpbmsAbmV3bWlkbmlnaHRibHVlAG5ld3RhbgBvbGRnb2xkAHF1YXJ0egByaWNoYmx1ZQBzY2FybGV0AHNlbWlTd2VldENob2MAc2lsdmVyAHNwaWN5cGluawBzdW1tZXJza3kAdmVyeWRhcmticm93bgB2ZXJ5X2xpZ2h0X3B1cnBsZQBwb3YAcG92OnBvdgAlcyAlcwoALlwiIAAgJWQgJWQAICVzCgAgJWQAZmlsbCAAZWxsaXBzZSBhdHRycyVkICVzd2lkICUuNWYgaHQgJS41ZiBhdCAoJS41ZiwlLjVmKTsKAC5mdCAlcwoALnBzICVkKlxuKFNGdS8lLjBmdQoAIiVzIiBhdCAoJS41ZiwlLjVmKTsKACUwM28AJXMlcyBpcyBub3QgYSB0cm9mZiBmb250CgBkb3QgcGljIHBsdWdpbjogAFIAXQouUEUKAC5QUyAlLjVmICUuNWYKACVzIHRvIGNoYW5nZSBkcmF3aW5nIHNpemUsIG11bHRpcGx5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9uIHRoZSAuUFMgbGluZSBhYm92ZSBhbmQgdGhlIG51bWJlciBvbiB0aGUgdHdvIGxpbmVzIGJlbG93IChyb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIpIGJ5IGEgc2NhbGUgZmFjdG9yCgAubnIgU0YgJS4wZgpzY2FsZXRoaWNrbmVzcyA9ICUuMGYKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgAlcyBub24tZmF0YWwgcnVuLXRpbWUgcGljIHZlcnNpb24gZGV0ZXJtaW5hdGlvbiwgdmVyc2lvbiAyCgBib3hyYWQ9Mi4wICVzIHdpbGwgYmUgcmVzZXQgdG8gMC4wIGJ5IGdwaWMgb25seQoAc2NhbGU9MS4wICVzIHJlcXVpcmVkIGZvciBjb21wYXJpc29ucwoAJXMgYm94cmFkIGlzIG5vdyAwLjAgaW4gZ3BpYywgZWxzZSBpdCByZW1haW5zIDIuMAoAJXMgZGFzaHdpZCBpcyAwLjEgaW4gMTB0aCBFZGl0aW9uLCAwLjA1IGluIERXQiAyIGFuZCBpbiBncGljCgAlcyBmaWxsdmFsIGlzIDAuMyBpbiAxMHRoIEVkaXRpb24gKGZpbGwgMCBtZWFucyBibGFjayksIDAuNSBpbiBncGljIChmaWxsIDAgbWVhbnMgd2hpdGUpLCB1bmRlZmluZWQgaW4gRFdCIDIKACVzIGZpbGwgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGdwaWMgY2FuIHVzZSBmaWxsIG9yIGZpbGxlZCwgMTB0aCBFZGl0aW9uIHVzZXMgZmlsbCBvbmx5CgAlcyBEV0IgMiBkb2Vzbid0IHVzZSBmaWxsIGFuZCBkb2Vzbid0IGRlZmluZSBmaWxsdmFsCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBpZiBib3hyYWQgPiAxLjAgJiYgZGFzaHdpZCA8IDAuMDc1IHRoZW4gWAoJZmlsbHZhbCA9IDE7CglkZWZpbmUgZmlsbCBZIFk7CglkZWZpbmUgc29saWQgWSBZOwoJZGVmaW5lIHJlc2V0IFkgc2NhbGU9MS4wIFk7ClgKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAGlmIGZpbGx2YWwgPiAwLjQgdGhlbiBYCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSAxIC0gWTsKCWRlZmluZSBib2xkIFkgdGhpY2tuZXNzIDIgWTsKAAklcyBpZiB5b3UgdXNlIGdwaWMgYW5kIGl0IGJhcmZzIG9uIGVuY291bnRlcmluZyAic29saWQiLAoACSVzCWluc3RhbGwgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGdwaWMgb3Igc3dpdGNoIHRvIERXQiBvciAxMHRoIEVkaXRpb24gcGljOwoACSVzCXNvcnJ5LCB0aGUgZ3JvZmYgZm9sa3MgY2hhbmdlZCBncGljOyBzZW5kIGFueSBjb21wbGFpbnQgdG8gdGhlbTsKAFggZWxzZSBaCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSBZOwoJZGVmaW5lIGJvbGQgWSBZOwoJZGVmaW5lIGZpbGxlZCBZIGZpbGwgWTsKWgoAJXMgYXJyb3doZWFkIGhhcyBubyBtZWFuaW5nIGluIERXQiAyLCBhcnJvd2hlYWQgPSA3IG1ha2VzIGZpbGxlZCBhcnJvd2hlYWRzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgYXJyb3doZWFkIGlzIHVuZGVmaW5lZCBpbiBEV0IgMiwgaW5pdGlhbGx5IDEgaW4gZ3BpYywgMiBpbiAxMHRoIEVkaXRpb24KAGFycm93aGVhZCA9IDcgJXMgbm90IHVzZWQgYnkgZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBib3hyYWQgdmFyaWFibGUgdG8gZHJhdyBib3hlcyB3aXRoIHJvdW5kZWQgY29ybmVyczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGJveHJhZCA9IDAgJXMgbm8gcm91bmRlZCBjb3JuZXJzIGluIGdyYXBodml6CgAlcyBHTlUgcGljIHN1cHBvcnRzIGEgbGluZXRoaWNrIHZhcmlhYmxlIHRvIHNldCBsaW5lIHRoaWNrbmVzczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGxpbmV0aGljayA9IDA7IG9sZGxpbmV0aGljayA9IGxpbmV0aGljawoAJXMgLlBTIHcvbyBhcmdzIGNhdXNlcyBHTlUgcGljIHRvIHNjYWxlIGRyYXdpbmcgdG8gZml0IDguNXgxMSBwYXBlcjsgRFdCIGRvZXMgbm90CgAlcyBtYXhwc2h0IGFuZCBtYXhwc3dpZCBoYXZlIG5vIG1lYW5pbmcgaW4gRFdCIDIuMCwgc2V0IHBhZ2UgYm91bmRhcmllcyBpbiBncGljIGFuZCBpbiAxMHRoIEVkaXRpb24KACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGFyZSBwcmVkZWZpbmVkIHRvIDExLjAgYW5kIDguNSBpbiBncGljCgBtYXhwc2h0ID0gJWYKbWF4cHN3aWQgPSAlZgoARG90OiBbCgBkZWZpbmUgYXR0cnMwICUlICUlOyBkZWZpbmUgdW5maWxsZWQgJSUgJSU7IGRlZmluZSByb3VuZGVkICUlICUlOyBkZWZpbmUgZGlhZ29uYWxzICUlICUlCgAlcyVzIHVuc3VwcG9ydGVkCgByb3RhdGlvbgAlcyByZXN0b3JlIHBvaW50IHNpemUgYW5kIGZvbnQKLnBzIFxuKC5TCi5mdCBcbihERgoAJXMgQ3JlYXRvcjogJXMgdmVyc2lvbiAlcyAoJXMpCgAlcyBUaXRsZTogJXMKACVzIHNhdmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoubnIgLlMgXG4oLnMKLm5yIERGIFxuKC5mCgBwaWMAcGljOnBpYwBwbmc6c3ZnAGdpZjpzdmcAanBlZzpzdmcAanBlOnN2ZwBqcGc6c3ZnAHBuZzpmaWcAZ2lmOmZpZwBqcGVnOmZpZwBqcGU6ZmlnAGpwZzpmaWcAcG5nOnZybWwAZ2lmOnZybWwAanBlZzp2cm1sAGpwZTp2cm1sAGpwZzp2cm1sAGVwczpwcwBwczpwcwAobGliKTpwcwBwbmc6bWFwAGdpZjptYXAAanBlZzptYXAAanBlOm1hcABqcGc6bWFwAHBzOm1hcABlcHM6bWFwAHN2ZzptYXAAcG5nOmRvdABnaWY6ZG90AGpwZWc6ZG90AGpwZTpkb3QAanBnOmRvdABwczpkb3QAZXBzOmRvdABzdmc6ZG90AHBuZzp4ZG90AGdpZjp4ZG90AGpwZWc6eGRvdABqcGU6eGRvdABqcGc6eGRvdABwczp4ZG90AGVwczp4ZG90AHN2Zzp4ZG90AHN2ZzpzdmcAcG5nOnZtbABnaWY6dm1sAGpwZWc6dm1sAGpwZTp2bWwAanBnOnZtbABnaWY6dGsAaW1hZ2UgY3JlYXRlIHBob3RvICJwaG90b18lcyIgLWZpbGUgIiVzIgoAJGMgY3JlYXRlIGltYWdlICUuMmYgJS4yZiAtaW1hZ2UgInBob3RvXyVzIgoAPHY6aW1hZ2Ugc3JjPSIlcyIgc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6JS4yZjsgaGVpZ2h0OiUuMmY7IGxlZnQ6JS4yZiA7IHRvcDolLjJmIgAgLz4KAGd2bG9hZGltYWdlX2NvcmUuYwBjb3JlX2xvYWRpbWFnZV9wc2xpYgBbIAAlZyAlZyAAXSAgJWQgdHJ1ZSAlcwoAXSAgJWQgZmFsc2UgJXMKAGNvcmVfbG9hZGltYWdlX3BzAGdzYXZlICVnICVnIHRyYW5zbGF0ZSBuZXdwYXRoCgB1c2VyX3NoYXBlXyVkCgBncmVzdG9yZQoAY29yZV9sb2FkaW1hZ2VfdnJtbABTaGFwZSB7CgAgIGFwcGVhcmFuY2UgQXBwZWFyYW5jZSB7CgAgICAgbWF0ZXJpYWwgTWF0ZXJpYWwgewoAICAgICAgYW1iaWVudEludGVuc2l0eSAwLjMzCgAgICAgICAgIGRpZmZ1c2VDb2xvciAxIDEgMQoAICAgIH0KACAgICB0ZXh0dXJlIEltYWdlVGV4dHVyZSB7IHVybCAiJXMiIH0KACAgfQoAY29yZV9sb2FkaW1hZ2VfZmlnACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKICVkICVzCgAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKAGNvcmVfbG9hZGltYWdlX3N2ZwA8aW1hZ2UgeGxpbms6aHJlZj0iACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeD0iJWciIHk9IiVnIgAgdHJhbnNmb3JtPSJyb3RhdGUoJWQgJWcgJWcpIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIALz4KAGRvdF9sYXlvdXQAcGhhc2UAZG90IGRvZXMgbm90IHN1cHBvcnQgdGhlIGFzcGVjdCBhdHRyaWJ1dGUgZm9yIGRpc2Nvbm5lY3RlZCBncmFwaHMgb3IgZ3JhcGhzIHdpdGggY2x1c3RlcnMKAGNvbXBvdW5kAHYgPT0gbgBkb3Rpbml0LmMAcmVtb3ZlX2Zyb21fcmFuawBvcmRlcgBlZGdlIGxhYmVscyB3aXRoIHNwbGluZXM9Y3VydmVkIG5vdCBzdXBwb3J0ZWQgaW4gZG90IC0gdXNlIHhsYWJlbHMKAEVEX2xhYmVsKGZlKQBkb3RzcGxpbmVzLmMAX2RvdF9zcGxpbmVzAGZsYXQgZWRnZSBiZXR3ZWVuIGFkamFjZW50IG5vZGVzIG9uZSBvZiB3aGljaCBoYXMgYSByZWNvcmQgc2hhcGUgLSByZXBsYWNlIHJlY29yZHMgd2l0aCBIVE1MLWxpa2UgbGFiZWxzCgAgIEVkZ2UgJXMgJXMgJXMKAHh4eAAxMDAwMAB7JXN9AGF1eGcAbGFiZWxfZmxvYXQAZml4ZWQAKGwgPSBFRF9sYWJlbChmZSkpAHNldEVkZ2VMYWJlbFBvcwBlICE9IE5VTEwAZmFzdGdyLmMAZGVsZXRlX2Zhc3RfZWRnZQBuICE9IE5EX25leHQobikAZmFzdF9ub2RlAHUgIT0gdgBmYXN0X25vZGVhcHAATkRfbmV4dCh2KSA9PSBOVUxMAGZpbmRfZmFzdF9ub2RlKGcsIG4pAGRlbGV0ZV9mYXN0X25vZGUAZGVsZXRlX2ZsYXRfZWRnZQBtZXJnZV9vbmV3YXkgZ2xpdGNoCgBtZXJnZV9vbmV3YXkAc2FmZV9kZWxldGVfZmFzdF9lZGdlAGxnAGNvbXAAY250ID09IHN6AG1pbmNyb3NzLmMAZml4TGFiZWxPcmRlcgByZW1pbmNyb3NzAG1pbmNyb3NzICVzOiAlZCBjcm9zc2luZ3MsICUuMmYgc2Vjcy4KAHYAbmVpZ2hib3IAKHJ2ID09IDApIHx8IChORF9vcmRlcihydiktTkRfb3JkZXIodikpKmRpciA+IDAAY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLHYsZSkgPT0gRkFMU0UAZmxhdF9yZW9yZGVyAE5EX3JhbmsodikgPT0gcgBwb3N0b3JkZXIAZmxhdGluZGV4KGFnaGVhZChlKSkgPCBNLT5ucm93cwBmbGF0X3NlYXJjaABmbGF0aW5kZXgoYWd0YWlsKGUpKSA8IE0tPm5jb2xzAG91dABvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZCBmb3Igbm9kZSAnJXMnLgoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWQgYmVzdF9jcm9zcyAlZAoATkRfb3JkZXIodikgPCBORF9vcmRlcih3KQBiYWxhbmNlAHRyYW5zcG9zZV9zdGVwAHN1cnByaXNlCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6ICVzICVzIHJhbmsgJWQgaSA9ICVkIGFuID0gMAoAR0RfcmFuayhnKVtyXS5uIDw9IEdEX3JhbmsoZylbcl0uYW4AaW5zdGFsbF9pbl9yYW5rAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IHJhbmsgJWQgbm90IGluIHJhbmsgcmFuZ2UgWyVkLCVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBHRF9yYW5rKGcpWyVkXS52ICsgTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKGcpWyVkXS5hdiArIEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAF9uZXdfcmFuawBtY2xpbWl0AHJhbmsoZywgMiwgbnNpdGVyMihnKSkgPT0gMABwb3NpdGlvbi5jAGRvdF9wb3NpdGlvbgBBUj0lMC40bGYJIEFyZWE9ICUwLjRsZgkARHVtbXk9JWQKAEdvaW5nIHRvIGFwcGx5IGFub3RoZXIgZXhwYW5zaW9uLgoAbmV4dCNpdGVyPSVkCgBocABjb25uZWN0R3JhcGgARWRnZSBsZW5ndGggJWYgbGFyZ2VyIHRoYW4gbWF4aW11bSAldSBhbGxvd2VkLgpDaGVjayBmb3Igb3ZlcndpZGUgbm9kZShzKS4KAG5zbGltaXQAY29udGFpbl9ub2RlcyBjbHVzdCAlcyByYW5rICVkIG1pc3Npbmcgbm9kZQoAbnNsaW1pdDEAbmV3cmFuawBNYXhyYW5rID0gJWQsIG1pbnJhbmsgPSAlZAoAbGVhZGVyICE9IE5VTEwAcmFuay5jAGNsdXN0ZXJfbGVhZGVyAChORF9VRl9zaXplKG4pIDw9IDEpIHx8IChuID09IGxlYWRlcikAYWdoZWFkKGUpID09IFVGX2ZpbmQoYWdoZWFkKGUpKQBtaW5tYXhfZWRnZXMAYWd0YWlsKGUpID09IFVGX2ZpbmQoYWd0YWlsKGUpKQByYW5rAHNhbWUAbWluAHNvdXJjZQBtYXgAc2luawBsZXZlbCBhc3NpZ25tZW50IGNvbnN0cmFpbnRzAGxldmVsIGdyYXBoIHJlYwB/cm9vdAB/dG9wAH9ib3QAY29tcGFjdABfd2Vha18lZAByYW5raW5nOiBmYWlsdXJlIHRvIGNyZWF0ZSBzdHJvbmcgY29uc3RyYWludCBlZGdlIGJldHdlZW4gbm9kZXMgJXMgYW5kICVzCgAlcyBoYXMgdW5yZWNvZ25pemVkIHJhbms9JXMAbGV2ZWwgZWRnZSByZWMAbGV2ZWwgbm9kZSByZWMAc2FtZWhlYWQAc2FtZXRhaWwAdG9vIG1hbnkgKD4gJWQpIHNhbWV7aGVhZCx0YWlsfSBncm91cHMgZm9yIG5vZGUgJXMKAGNvbWJpQVIgPSAlbGYKACVsZiwlZAB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAEVEX3RvX3ZpcnQoZSkgPT0gTlVMTABjbGFzczIuYwBtZXJnZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpID09IE5VTEwAbWFrZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATkRfcmFuayhmcm9tKSA8IE5EX3JhbmsodG8pAGNsdXN0ZXIuYwBtYXBfcGF0aAAlcyB3YXMgYWxyZWFkeSBpbiBhIHJhbmtzZXQsIGRlbGV0ZWQgZnJvbSBjbHVzdGVyICVzCgBsaGVhZABsdGFpbAAlcyAtPiAlczogc3BsaW5lIHNpemUgPiAxIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBoZWFkIG5vdCBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgAlcyAtPiAlczogdGFpbCBpcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBiZXotPnNmbGFnAGNvbXBvdW5kLmMAbWFrZUNvbXBvdW5kRWRnZQBiZXotPmVmbGFnACVzIC0+ICVzOiB0YWlsIG5vdCBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgAlcyAtPiAlczogaGVhZCBpcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBzZWdtZW50IFslcywlc10gZG9lcyBub3QgaW50ZXJzZWN0IGJveCBsbD0lcyx1cj0lcwoAYm94SW50ZXJzZWN0ZgAoJS41ZywlLjVnKQBjbHVzdGVyIG5hbWVkICVzIG5vdCBmb3VuZAoAY29uY2VudHJhdGU9dHJ1ZSBtYXkgbm90IHdvcmsgY29ycmVjdGx5LgoAcmVidWlsdGRfdmxpc3RzOiByYW5rIGxlYWQgJXMgbm90IGluIG9yZGVyICVkIG9mIHJhbmsgJWQKAGRlZ2VuZXJhdGUgY29uY2VudHJhdGVkIHJhbmsgJXMsJWQKAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAY29uYy5jAG1lcmdldmlydHVhbABkb3Q6IE91dCBvZiBtZW1vcnkKAE5EX291dCh2KS5zaXplID09IDIAZmxhdC5jAHNldGJvdW5kcwBHRF9taW5yYW5rKGcpID09IDAAYWJvbWluYXRpb24AbmVhdG9fbGF5b3V0AG5lYXRvAGZkcAB0d29waQBjaXJjbwBwYXRjaHdvcmsAb3NhZ2UAbm9wAG5vcDEAbm9wMgAlbGYsJWxmLCVsZiVjAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoAbm90cmFuc2xhdGUAbm9kZSAlcyBpbiBncmFwaCAlcyBoYXMgbm8gcG9zaXRpb24KAHMsJWxmLCVsZiVuACBlLCVsZiwlbGYlbgBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykgZG9lc24ndCBoYXZlIDNuKzEgcG9pbnRzCgAlbGYsJWxmJW4Ac3ludGF4IGVycm9yIGluIHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKQoAJWxmLCVsZiwlbGYsJWxmAHN0YXJ0AHNlbGYAcmFuZG9tAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBfbmVhdG9fY2MAZ3JhcGggJXMgaXMgZGlzY29ubmVjdGVkLiBIZW5jZSwgdGhlIGNpcmN1aXQgbW9kZWwKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAHRoZSBncmFwaCBpbnRvIGNvbm5lY3RlZCBjb21wb25lbnRzLgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoATkRfaWQobnApID09IGkAbmVhdG9pbml0LmMAbWFrZUdyYXBoRGF0YQBmIDwgZ3JhcGhbal0ubmVkZ2VzAGRmc0N5Y2xlAG1vZGVsICVkIHNtYXJ0X2luaXQgJWQgc3RyZXNzd3QgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAGNvbnZlcnQgZ3JhcGg6IABtYWpvcml6YXRpb24KACVkIG5vZGVzICUuMmYgc2VjCgBsZXZlbHNnYXAAbGF5b3V0IGFib3J0ZWQKAHN0cmVzc3d0ACVzIGF0dHJpYnV0ZSB2YWx1ZSBtdXN0IGJlIDEgb3IgMiAtIGlnbm9yaW5nCgBtb2RlbABjaXJjdWl0AHN1YnNldABzaG9ydHBhdGgAbWRzAGVkZ2VzIGluIGdyYXBoICVzIGhhdmUgbm8gbGVuIGF0dHJpYnV0ZS4gSGVuY2UsIHRoZSBtZHMgbW9kZWwKAGlzIGluYXBwcm9wcmlhdGUuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVua25vd24gdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZWwiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbW9kZQBLSwBtYWpvcgBoaWVyAElsbGVnYWwgdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZSIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBkaW1lbgBtYWtlU3BsaW5lOiBmYWlsZWQgdG8gbWFrZSBzcGxpbmUgZWRnZSAoJXMsJXMpCgBzcGxpbmUgJXMgJXMKAGIgPT0gbgBuZWF0b3NwbGluZXMuYwBtYWtlX2JhcnJpZXJzAHRoZSBib3VuZGluZyBib3hlcyBvZiBzb21lIG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHNvbWUgbm9kZXMgd2l0aCBtYXJnaW4gKCUuMDJmLCUuMDJmKSB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBwb2x5bGluZXMAbGluZSBzZWdtZW50cwBvcnRob2dvbmFsIGxpbmVzAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBwb2x5bGluZSAlcyAlcwoAbWRzTW9kZWw6IGRlbHRhID0gJWYKAFNldHRpbmcgdXAgc3RyZXNzIGZ1bmN0aW9uAFNvbHZpbmcgbW9kZWw6IAAKZmluYWwgZSA9ICVmICVkIGl0ZXJhdGlvbnMgJS4yZiBzZWMKAERhbXBpbmcAZGVmYXVsdGRpc3QAIGluICVzIC0gc2V0dGluZyB0byAlLjAyZgoAYmFkIGVkZ2UgbGVuICIlcyIAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwoAc3RhcnQ9JXMgbm90IHN1cHBvcnRlZCB3aXRoIG1vZGU9c2VsZiAtIGlnbm9yZWQKAFNldHRpbmcgdXAgc3ByaW5nIG1vZGVsOiAAJS4yZiBzZWMKAApmaW5hbCBlID0gJWYAIQAgJWQlcyBpdGVyYXRpb25zICUuMmYgc2VjCgBNYXguIGl0ZXJhdGlvbnMgKCVkKSByZWFjaGVkIG9uIGdyYXBoICVzCgAlcyAlLjNmCgAlLjNmIABORF9oZWFwaW5kZXgodikgPCAwAHN0dWZmLmMAbmVhdG9fZW5xdWV1ZQBDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRoczogAHNwZWNpZmllZCByb290IG5vZGUgIiVzIiB3YXMgbm90IGZvdW5kLgBVc2luZyBkZWZhdWx0IGNhbGN1bGF0aW9uIGZvciByb290IG5vZGUKAHJlcG9zaXRpb24gJXMKACVzIDogJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACAgAEdyYXBoICVzIGhhcyBhcnJheSBwYWNraW5nIHdpdGggdXNlciB2YWx1ZXMgYnV0IG5vICJzb3J0diIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZC4AbGVuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGRpbQBsYXlvdXQgJXMKAGVuZCAlcwoAaWR4ID09IHN6AGxheW91dC5jAGV4cGFuZENsdXN0ZXIAaSA9PSBkZWcAZ2V0RWRnZUxpc3QAX2RnXyVkAGRlcml2ZSBncmFwaCAlcyBvZiAlcwoAbm9kZSAiJXMiIGlzIGNvbnRhaW5lZCBpbiB0d28gbm9uLWNvbXBhcmFibGUgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAX3BvcnRfJXNfJXNfJXNfJWxkAF9wb3J0XyVzXyglZClfKCVkKV8lbGQAJWxmLCVsZiwlbGYsJWxmJWMAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAHNwbGluZXMgYW5kIGNsdXN0ZXIgZWRnZXMgbm90IHN1cHBvcnRlZCAtIHVzaW5nIGxpbmUgc2VnbWVudHMKAG1heGl0ZXIASwBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Abm9ybWFsaXplAG92ZXJsYXAAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5yZWNvZ25pemVkIG92ZXJsYXAgdmFsdWUgIiVzIiAtIHVzaW5nIGZhbHNlCgBWb3Jvbm9pAG92ZXJsYXA6ICVzIHZhbHVlICVkIHNjYWxpbmcgJS4wNGYKAG92ZXJsYXBfc2NhbGluZwB2b3Jvbm9pAHNjYWxpbmcAdnBzYwBpcHNlcABvc2NhbGUAb2xkIHNjYWxpbmcAc2NhbGV4eQB4IGFuZCB5IHNjYWxpbmcAb3J0aG8Ab3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob195eABvcnRob3h5AHh5IG9ydGhvZ29uYWwgY29uc3RyYWludHMAb3J0aG95eAB5eCBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRobwBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG9feXgAcG9ydGhveHkAeHkgcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhveXgAeXggcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcHJpc20AQWRqdXN0aW5nICVzIHVzaW5nICVzCgBVbmhhbmRsZWQgYWRqdXN0IG9wdGlvbiAlcwoATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAlZAoATnVtYmVyIG9mIGluY3JlYXNlcyA9ICVkCgBvdmVybGFwIFslZF0gOiAlZAoAdm9yb19tYXJnaW4Ac2VwAGVzZXAATm9kZSBzZXBhcmF0aW9uOiBhZGQ9JWQgKCVmLCVmKQoAJWYsJWYAc2NhbGUgPSAoJS4wM2YsJS4wM2YpCgBFZGdlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgBDYWxjdWxhdGluZyBjaXJjdWl0IG1vZGVsAGNvbmp1Z2F0ZV9ncmFkaWVudDogdW5leHBlY3RlZCBsZW5ndGggMCB2ZWN0b3IKAENhbGN1bGF0aW5nIHN1YnNldCBtb2RlbABncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAaXMgdW5kZWZpbmVkLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBDYWxjdWxhdGluZyBNRFMgbW9kZWwAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAOiAlLjJmIHNlYwoAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwA6ICUuMmYgc2VjAGNnAGRlbHRhIDw9IDB4RkZGRgBjb25zdHJhaW50LmMAbWtOQ29uc3RyYWludEcAdmcAY29tcHJlc3MgJWcgCgBzY2FsZSBieSAlZywlZyAKAGJlc3Rjb3N0IDwgSFVHRV9WQUwAY29tcHV0ZVNjYWxlWFkAdHJ5aW5nIHRvIGRlbGV0ZSBhIG5vbi1saW5lCgAKaW50ZXJzZWN0aW9uIGF0ICUuM2YgJS4zZgoAc2VnIyVkIDogKCUuM2YsICUuM2YpICglLjNmLCAlLjNmKQoAbWFrZUFkZFBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAbWFrZVBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAeCE9TlVMTABzbWFydF9pbmlfeC5jAElNRFNfZ2l2ZW5fZGltAGlsbC1jb25kaXRpb25lZAByb290ID0gJXMgbWF4IHN0ZXBzIHRvIHJvb3QgPSAlZAoAdHdvcGk6IHVzZSBvZiB3ZWlnaHQ9MCBjcmVhdGVzIGRpc2Nvbm5lY3RlZCBjb21wb25lbnQuCgBSYW5rIHNlcGFyYXRpb24gPSAAJS4wM2xmIABhcmVhAGluc2V0ACVzIGNvb3JkICUuNWcgJS41ZyBodCAlZiB3aWR0aCAlZgoAJS4wM2YAcmVjICVmICVmICVmICVmCgAlZiAtICVmICVmICVmICVmID0gJWYgKCVmICVmICVmICVmKQoAdHJ5aW5nIHRvIGFkZCB0byByZWN0IHslZiArLy0gJWYsICVmICsvLSAlZn0KAHRvdGFsIGFkZGVkIHNvIGZhciA9ICVkCgBhZGRpbmcgJWQgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGNvbXBvdW5kRWRnZXM6IGNvdWxkIG5vdCBjb25zdHJ1Y3Qgb2JzdGFjbGVzIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAGNvbXBvdW5kRWRnZXM6IG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHBhY2sgdmFsdWUgJWQgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAc2VwIHZhbHVlICglLjAzZiwlLjAzZikgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAY2Mlc18lZABjYyVzKyVkAGNfY250ID09IDAAY29tcC5jAGZpbmRDQ29tcABncmlkKCVkLCVkKTogJXMKAG9uZWJsb2NrAG1pbmRpc3QAYXJ0aWN1bGF0aW9uX3BvcwByb290AHJvb3QgPSAlcwoAX2Jsb2NrXyVkAHMtPnN6ID4gMABibG9ja3RyZWUuYwBwb3AAYWN0dWFsAG5vZGVsaXN0LmMAaW5zZXJ0Tm9kZWxpc3QAX3NwYW5fJWQAX2Nsb25lXyVkAGlwAGRlZ2xpc3QuYwByZW1vdmVEZWdsaXN0AEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnX2NyZWF0ZV9idWZmZXIoKQBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnZW5zdXJlX2J1ZmZlcl9zdGFjaygpADogACBpbiBsaW5lICVkACBuZWFyICcAIHNjYW5uaW5nIGEgcXVvdGVkIHN0cmluZyAobWlzc2luZyBlbmRxdW90ZT8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOiIAIHNjYW5uaW5nIGEgSFRNTCBzdHJpbmcgKG1pc3NpbmcgJz4nPyBiYWQgbmVzdGluZz8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOjwAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93ACIiAHN0cmljdABsaW5lbGVuZ3RoADsKACBba2V5PQBdACBbACwKAD0AXyVsZF9TVVNQRUNUAGRpAHN0cmljdCAAewoAXTsKABLu7hQJA+7+7u7uAe7u7gHu7gr+7hMZFe4TAe7u7u4LEe7u7u7u7u7u7gHu7hYJAQEdDxfu7hoXG+7uHO7u7u4BGfvu7u4B7hDu7h7u7u7uAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcRAgICAgICAgICAgICAhIQAhMCAhYCAgICAgICAgICAgICAgICAgICAgICAgICAhQCFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDgIPAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgECAwQFBgcICQoLDA0LAwQFDwcDDA0GDA0ODA0aFRYAAQADBw4GDwgMDRITKhARCRAvMBEyFxMNFBIuEhRBEzITLEAqQhksQkYiDA0OIw8JEBEKEBHJEBEtRUb8AQb2Dwf2JAIQES8wNk1OKCY7PCo2MTk9Py86QNhEMD4lN0M1Sys4SUwAAwkAAAABDgILDAgjJCU2Oz0ADRASGxYcEicyIhczHjwGBzUFDxEUGCkAEykAAAAAADcVKB0eACEmNB8wPhksABsAIBoqACs6Li8AMTg5LQACAgEAAwMBAAEAAQEBAAIBAQACAgMBAQAABQABAwEDBQMBAQEBAgABAAQCAAIBAQMCAQADAgEAAQEAAQEBAwAYGRkZGhscHB0dHh4fHyAgISEiIiMkJCYnJSUoKCkpKSoqKysrLCwtLS4vLzAxMTIzNDY1Nzc3ODg4OTk6Ou7u/+7u7u7u7h8g7gDv7u7uDO7u7ggN7u7u+O7u7u7u7vXu/wMIBCEFCxITJxQVFikyQRcYGRosMzRCR0gbShwdLh5PHyBrZXkAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAJXM6JXMAQ291bGQgbm90IG9wZW4gIiVzIiBmb3Igd3JpdGluZyA6ICVzCgBObyBsaWJ6IHN1cHBvcnQuCgAuJWQAbm9uYW1lLmd2AGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgBObyBsaWJ6IHN1cHBvcnQKAGd2cHJpbnRmOiAlcwoALTk5OTk5OTk5OTk5OTk5OS45OQBncmFwaHZpegAyLjQwLjEAMjAxNjEyMjUuMDMwNAByZW5kZXIAbGF5b3V0AGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwBMYXlvdXQgdHlwZTogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoAJWQgJWQgJWQgJWQATGF5b3V0IHdhcyBub3QgZG9uZQoAZmFpbHVyZSBtYWxsb2MnaW5nIGZvciByZXN1bHQgc3RyaW5nAGdjOiBPdXQgb2YgbWVtb3J5CgBfY2NfAG9yaWcAb3AAY2NvbXBzLmMAbWFwQ2x1c3QAY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AKCU0bGQpICU3bGQgbm9kZXMgJTdsZCBlZGdlcwoAICAgICAgICU3ZCBub2RlcyAlN2QgZWRnZXMgJTdsZCBjb21wb25lbnRzICVzCgBkZwBFcnJvcjogbm9kZSAiJXMiIGJlbG9uZ3MgdG8gdHdvIG5vbi1uZXN0ZWQgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAc29ydHYAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBhcnJheSBwYWNraW5nOiAlcyAlZCByb3dzICVkIGNvbHVtbnMKAGJiWyVzXSAlLjVnICUuNWcgJS41ZyAlLjVnCgBzdGVwIHNpemUgPSAlZAoAcG9zWyVkXSAlZCAlZAoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABsbnJjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTABlZGdldGFyZ2V0AGxhYmVsdGFyZ2V0AHRhaWx0YXJnZXQAaGVhZHRhcmdldABlZGdldG9vbHRpcABsYWJlbHRvb2x0aXAAdGFpbHRvb2x0aXAAaGVhZHRvb2x0aXAAAW5lc3Rpbmcgbm90IGFsbG93ZWQgaW4gc3R5bGU6ICVzCgB1bm1hdGNoZWQgJyknIGluIHN0eWxlOiAlcwoAdHJ1bmNhdGluZyBzdHlsZSAnJXMnCgB1bm1hdGNoZWQgJygnIGluIHN0eWxlOiAlcwoAYWxsAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBmaWxsY29sb3IAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24Abm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAVW5zdXBwb3J0ZWQgY2hhcnNldCB2YWx1ZSAlZAoAVVRGLTgAQklHLTUAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAcG9seWdvbgBvdmFsAGNpcmNsZQBwb2ludABlZ2cAdHJpYW5nbGUAcGxhaW50ZXh0AHBsYWluAGRpYW1vbmQAdHJhcGV6aXVtAHBhcmFsbGVsb2dyYW0AaG91c2UAcGVudGFnb24AaGV4YWdvbgBzZXB0YWdvbgBvY3RhZ29uAG5vdGUAdGFiAGZvbGRlcgBib3gzZABjb21wb25lbnQAY3lsaW5kZXIAcmVjdAByZWN0YW5nbGUAc3F1YXJlAGRvdWJsZWNpcmNsZQBkb3VibGVvY3RhZ29uAHRyaXBsZW9jdGFnb24AaW52dHJpYW5nbGUAaW52dHJhcGV6aXVtAGludmhvdXNlAHVuZGVybGluZQBNZGlhbW9uZABNc3F1YXJlAE1jaXJjbGUAcHJvbW90ZXIAY2RzAHRlcm1pbmF0b3IAdXRyAGluc3VsYXRvcgByaWJvc2l0ZQBybmFzdGFiAHByb3RlYXNlc2l0ZQBwcm90ZWluc3RhYgBwcmltZXJzaXRlAHJlc3RyaWN0aW9uc2l0ZQBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBhc3NlbWJseQBzaWduYXR1cmUAcnByb21vdGVyAGxhcnJvdwByYXJyb3cAbHByb21vdGVyAHJlY29yZABNcmVjb3JkAHN0YXIAIzgwODA4MAAjZmNmY2ZjACMzMDMwMzAAI2U4ZThlOAAjZTBlMGUwACNmMGYwZjAAIzEwMTAxMAAjZjhmOGY4AGluIG5vZGUgJXMKAHJvdW5kZWQAZGlhZ29uYWxzAHJhZGlhbABzdHJpcGVkAHdlZGdlZABfAG5vZGUgJXMsIHBvcnQgJXMsIHVucmVjb2duaXplZCBjb21wYXNzIHBvaW50ICclcycgLSBpZ25vcmVkCgBub2RlICVzLCBwb3J0ICVzIHVucmVjb2duaXplZAoAJS41ZyAlLjVnIHRyYW5zbGF0ZSBuZXdwYXRoIHVzZXJfc2hhcGVfJWQKAGludmlzAABmaWxsZWQAAHMAZQB3AHNwbGluZXMuYwBiZWdpbnBhdGgAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAZW5kcGF0aABtYWtlU2VsZkVkZ2UAZ2V0c3BsaW5lcG9pbnRzOiBubyBzcGxpbmUgcG9pbnRzIGF2YWlsYWJsZSBmb3IgZWRnZSAoJXMsJXMpCgBwb2x5bGluZU1pZHBvaW50AHNwYW4tPmZvbnQAdGV4dHNwYW4uYwB0ZXh0c3Bhbl9zaXplAGZvbnQtPm5hbWUAZm9udG5hbWU6ICIlcyIgcmVzb2x2ZWQgdG86ICVzCgBmb250bmFtZTogdW5hYmxlIHRvIHJlc29sdmUgIiVzIgoAY291cgBhcmlhbABoZWx2ZXRpY2EAW2ludGVybmFsIHRpbWVzXQBbaW50ZXJuYWwgY291cmllcl0AW2ludGVybmFsIGFyaWFsXQBBdmFudEdhcmRlLUJvb2sAVVJXIEdvdGhpYyBMAGJvb2sAc2Fucy1TZXJpZgBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAG9ibGlxdWUAaXRhbGljAEF2YW50R2FyZGUtRGVtaQBkZW1pAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUAQm9va21hbi1EZW1pAFVSVyBCb29rbWFuIEwAc2VyaWYAQm9va21hbi1EZW1pSXRhbGljAEJvb2ttYW4tTGlnaHQAbGlnaHQAQm9va21hbi1MaWdodEl0YWxpYwBDb3VyaWVyAG1vbm9zcGFjZQBDb3VyaWVyLUJvbGQAQ291cmllci1Cb2xkT2JsaXF1ZQBDb3VyaWVyLU9ibGlxdWUASGVsdmV0aWNhAEhlbHZldGljYS1Cb2xkAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93AGNvbmRlbnNlZABIZWx2ZXRpY2EtTmFycm93LUJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUASGVsdmV0aWNhLU9ibGlxdWUATmV3Q2VudHVyeVNjaGxiay1Cb2xkAENlbnR1cnkgU2Nob29sYm9vayBMAE5ld0NlbnR1cnlTY2hsYmstQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLVJvbWFuAHJvbWFuAFBhbGF0aW5vLUJvbGQAUGFsYXRpbm8gTGlub3R5cGUAUGFsYXRpbm8tQm9sZEl0YWxpYwBQYWxhdGluby1JdGFsaWMAUGFsYXRpbm8tUm9tYW4AU3ltYm9sAGZhbnRhc3kAVGltZXMtQm9sZABUaW1lcwBUaW1lcy1Cb2xkSXRhbGljAFRpbWVzLUl0YWxpYwBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljAFVSVyBDaGFuY2VyeSBMAG1lZGl1bQBaYXBmRGluZ2JhdHMARGluZ2JhdHMAaW5wdXRzY2FsZQBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAGNsdXN0ZXIgY3ljbGUgJXMgLS0gJXMgbm90IHN1cHBvcnRlZAoAdGFpbCBjbHVzdGVyICVzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBub2RlICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAF9fAGxhYmVsAHNoYXBlAGJveABUd28gY2x1c3RlcnMgbmFtZWQgJXMgLSB0aGUgc2Vjb25kIHdpbGwgYmUgaWdub3JlZAoAbWFwTgBBRWxpZwBBYWN1dGUAQWNpcmMAQWdyYXZlAEFscGhhAEFyaW5nAEF0aWxkZQBBdW1sAEJldGEAQ2NlZGlsAENoaQBEYWdnZXIARGVsdGEARVRIAEVhY3V0ZQBFY2lyYwBFZ3JhdmUARXBzaWxvbgBFdGEARXVtbABHYW1tYQBJYWN1dGUASWNpcmMASWdyYXZlAElvdGEASXVtbABLYXBwYQBMYW1iZGEATXUATnRpbGRlAE51AE9FbGlnAE9hY3V0ZQBPY2lyYwBPZ3JhdmUAT21lZ2EAT21pY3JvbgBPc2xhc2gAT3RpbGRlAE91bWwAUGhpAFBpAFByaW1lAFBzaQBSaG8AU2Nhcm9uAFNpZ21hAFRIT1JOAFRhdQBUaGV0YQBVYWN1dGUAVWNpcmMAVWdyYXZlAFVwc2lsb24AVXVtbABYaQBZYWN1dGUAWXVtbABaZXRhAGFhY3V0ZQBhY2lyYwBhY3V0ZQBhZWxpZwBhZ3JhdmUAYWxlZnN5bQBhbHBoYQBhbXAAYW5kAGFuZwBhcmluZwBhc3ltcABhdGlsZGUAYXVtbABiZHF1bwBiZXRhAGJydmJhcgBidWxsAGNhcABjY2VkaWwAY2VkaWwAY2VudABjaGkAY2lyYwBjbHVicwBjb25nAGNvcHkAY3JhcnIAY3VwAGN1cnJlbgBkQXJyAGRhZ2dlcgBkYXJyAGRlZwBkZWx0YQBkaWFtcwBkaXZpZGUAZWFjdXRlAGVjaXJjAGVncmF2ZQBlbXB0eQBlbXNwAGVuc3AAZXBzaWxvbgBlcXVpdgBldGEAZXRoAGV1bWwAZXVybwBleGlzdABmbm9mAGZvcmFsbABmcmFjMTIAZnJhYzE0AGZyYWMzNABmcmFzbABnYW1tYQBnZQBndABoQXJyAGhhcnIAaGVhcnRzAGhlbGxpcABpYWN1dGUAaWNpcmMAaWV4Y2wAaWdyYXZlAGltYWdlAGluZmluAGludABpb3RhAGlxdWVzdABpc2luAGl1bWwAa2FwcGEAbEFycgBsYW1iZGEAbGFuZwBsYXF1bwBsYXJyAGxjZWlsAGxkcXVvAGxlAGxmbG9vcgBsb3dhc3QAbG96AGxybQBsc2FxdW8AbHNxdW8AbHQAbWFjcgBtZGFzaABtaWNybwBtaWRkb3QAbXUAbmFibGEAbmJzcABuZGFzaABuZQBuaQBub3QAbm90aW4AbnN1YgBudGlsZGUAbnUAb2FjdXRlAG9jaXJjAG9lbGlnAG9ncmF2ZQBvbGluZQBvbWVnYQBvbWljcm9uAG9wbHVzAG9yAG9yZGYAb3JkbQBvc2xhc2gAb3RpbGRlAG90aW1lcwBvdW1sAHBhcmEAcGFydABwZXJtaWwAcGVycABwaGkAcGkAcGl2AHBsdXNtbgBwb3VuZABwcmltZQBwcm9kAHByb3AAcHNpAHF1b3QAckFycgByYWRpYwByYW5nAHJhcXVvAHJhcnIAcmNlaWwAcmRxdW8AcmVhbAByZWcAcmZsb29yAHJobwBybG0AcnNhcXVvAHJzcXVvAHNicXVvAHNjYXJvbgBzZG90AHNlY3QAc2h5AHNpZ21hAHNpZ21hZgBzaW0Ac3BhZGVzAHN1YgBzdWJlAHN1bQBzdXAAc3VwMQBzdXAyAHN1cDMAc3VwZQBzemxpZwB0YXUAdGhlcmU0AHRoZXRhAHRoZXRhc3ltAHRoaW5zcAB0aG9ybgB0aWxkZQB0aW1lcwB0cmFkZQB1QXJyAHVhY3V0ZQB1YXJyAHVjaXJjAHVncmF2ZQB1bWwAdXBzaWgAdXBzaWxvbgB1dW1sAHdlaWVycAB4aQB5YWN1dGUAeWVuAHl1bWwAemV0YQB6d2oAenduagBVVEY4IGNvZGVzID4gNCBieXRlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKGdyYXBoICVzKSAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoASW52YWxpZCAlZC1ieXRlIFVURjggZm91bmQgaW4gaW5wdXQgb2YgZ3JhcGggJXMgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAGJ6LnNpemUAb3ZlcmxhcF9iZXppZXIAdXJ2ZWQAb21wb3VuZABhbHNlAGluZQBvbmUAbwBydGhvAG9seWxpbmUAcGxpbmUAcnVlAGVzAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAc3BsaW5lcwBvZGIAT3J0aG9nb25hbCBlZGdlcyBkbyBub3QgY3VycmVudGx5IGhhbmRsZSBlZGdlIGxhYmVscy4gVHJ5IHVzaW5nIHhsYWJlbHMuCgBvcnRobyAlcyAlcwoAY2hhbmkAb3J0aG8uYwBjaGFuU2VhcmNoAGNwACUlIVBTLUFkb2JlLTIuMAolJSUlQm91bmRpbmdCb3g6IChhdGVuZCkKL3BvaW50IHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgbmV3cGF0aAogIFggWSAzIDAgMzYwIGFyYyBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgovbm9kZSB7CiAvdSBleGNoIGRlZgogL3IgZXhjaCBkZWYKIC9kIGV4Y2ggZGVmCiAvbCBleGNoIGRlZgogbmV3cGF0aCBsIGQgbW92ZXRvCiByIGQgbGluZXRvIHIgdSBsaW5ldG8gbCB1IGxpbmV0bwogY2xvc2VwYXRoIGZpbGwKfSBkZWYKCgAlZCAlZCB0cmFuc2xhdGUKADAuOCAwLjggMC44IHNldHJnYmNvbG9yCgBzaG93cGFnZQolJSUlVHJhaWxlcgolJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBuZXdwYXRoICVkICVkIG1vdmV0bwoAJWQgJWQgbGluZXRvCgAlZCAlZCBsaW5ldG8gc3Ryb2tlCgBjaGFubmVsICVkICglZiwlZikKACAtPgoAICAgICAAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAQl9SSUdIVABCX0RPV04AQl9MRUZUAEJfVVAAQl9OT0RFAHNlZwBuZXh0X3NlZwBkZWNpZGVfcG9pbnQAaW5jb21wYXJhYmxlIHNlZ21lbnRzICEhIC0tIEFib3J0aW5nCgBzMS0+Y29tbV9jb29yZD09czItPmNvbW1fY29vcmQAaXNfcGFyYWxsZWwAZ3JhcGggRyB7CgAgbm9kZVtzaGFwZT1wb2ludF0KACAgJWQgW3Bvcz0iJWQsJWQiXQoAICAlZCAtLSAlZFtsZW49IiVmIl0KAH0KAGNvbG9yICVzACVzIGlzIG5vdCBhIGtub3duIGNvbG9yLgoAZXJyb3IgaW4gY29seGxhdGUoKQoAc29saWQAaW52aXNpYmxlAGJvbGQAc2V0bGluZXdpZHRoAGZpbGxlZAB1bmZpbGxlZAB0YXBlcmVkAGd2cmVuZGVyX3NldF9zdHlsZTogdW5zdXBwb3J0ZWQgc3R5bGUgJXMgLSBpZ25vcmluZwoAZ3ZyZW5kZXIuYwBndnJlbmRlcl91c2Vyc2hhcGUAbmFtZQBuYW1lWzBdAGJvdGgAam9iAGd2bG9hZGltYWdlLmMAZ3Zsb2FkaW1hZ2UAdXMAdXMtPm5hbWUAdXMtPm5hbWVbMF0ATm8gbG9hZGltYWdlIHBsdWdpbiBmb3IgIiVzIgoAUQBMZWZ0AEtQX0xlZnQAUmlnaHQAS1BfUmlnaHQAVXAAS1BfVXAARG93bgBLUF9Eb3duAHBsdXMAS1BfQWRkAG1pbnVzAEtQX1N1YnRyYWN0AEYAZWRnZQB0YWlscG9ydABoZWFkcG9ydABrZXkAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADIAMwA0ADUANgA3ADgAOQAxMAAxMQAxMgAxMwAxNAAxNQAxNgAxNwAxOAAxOQAyMABBZ25vZGVpbmZvX3QAQWdlZGdlaW5mb190AHJvd2cAY29sZwBBZ3JhcGhpbmZvX3QAZGVseCA+PSAwAHBvc19odG1sX3RibABkZWx5ID49IDAAdGFibGUgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAGNlbGwgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIGNlbGwgc2l6ZSB3aXRoIHVuc3BlY2lmaWVkIHdpZHRoIG9yIGhlaWdodAoATm8gb3IgaW1wcm9wZXIgaW1hZ2UgZmlsZT0iJXMiCgBwZW5jb2xvcgAtPgBmUFEuYwBQUWNoZWNrAEhlYXAgb3ZlcmZsb3cKACUhUFMtQWRvYmUtMi4wCi9ub2RlIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgBzaG93cGFnZQoAZmFpbGVkIGF0IG5vZGUgJWRbMF0KAG5wLT5jZWxsc1swXQBtYXplLmMAY2hrU2dyYXBoAGZhaWxlZCBhdCBub2RlICVkWzFdCgBucC0+Y2VsbHNbMV0AZGl0ZW1zAGZpbmRTVmVydAAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlZiAlZiB0cmFuc2xhdGUKADAgMCAxIHNldHJnYmNvbG9yCgAlZiAlZiAlZiAlZiBub2RlCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgY2VsbAoAMSAwIDAgc2V0cmdiY29sb3IKAHVuZXhwZWN0ZWQgY2FzZSBpbiBsb2NhdGVfZW5kcG9pbnQKADAAdHJhcGV6b2lkLmMAbG9jYXRlX2VuZHBvaW50AGFkZF9zZWdtZW50OiBlcnJvcgoAbmV3bm9kZTogUXVlcnktdGFibGUgb3ZlcmZsb3cKAG5ld25vZGUAbmV3dHJhcDogVHJhcGV6b2lkLXRhYmxlIG92ZXJmbG93ICVkCgBuZXd0cmFwAGluZGV4LmMAUlRyZWVTZWFyY2gAbi0+bGV2ZWwgPj0gMABSVHJlZUluc2VydABsZXZlbCA+PSAwICYmIGxldmVsIDw9ICgqbiktPmxldmVsAHItPmJvdW5kYXJ5W2ldIDw9IHItPmJvdW5kYXJ5W05VTURJTVMgKyBpXQByICYmIG4gJiYgbmV3AFJUcmVlSW5zZXJ0MgBsZXZlbCA+PSAwICYmIGxldmVsIDw9IG4tPmxldmVsAEZBTFNFAG5vZGUuYwBOb2RlQ292ZXIAciAmJiBuAFBpY2tCcmFuY2gAQWRkQnJhbmNoAGkgPCBOT0RFQ0FSRABuZXcAbiAmJiBpID49IDAgJiYgaSA8IE5PREVDQVJEAERpc2NvbkJyYW5jaAByAHJlY3RhbmdsZS5jAFJlY3RBcmVhAHIgJiYgcnIAQ29tYmluZVJlY3QAciAmJiBzAE92ZXJsYXAAbgBzcGxpdC5xLmMAU3BsaXROb2RlAGIAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAExvYWROb2RlcwBxAHAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMF0gKyBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPT0gTk9ERUNBUkQgKyAxAE1ldGhvZFplcm8AcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IHJ0cC0+TWluRmlsbCAmJiBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPj0gcnRwLT5NaW5GaWxsACFydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0udGFrZW5baV0AQ2xhc3NpZnkAR2V0QnJhbmNoZXMAbi0+YnJhbmNoW2ldLmNoaWxkAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAgICAgICEAxZAQAfUAgDBxITFFcWFwgLaQwfCgUMDikRKw8tEC8wIDIGNDUbHB0eCwwhIiMkJSYnKAwYGRcEChscGiAqCiEiIyQlJicoDAoOUwosWDFYWFhYWFgMGxwPLlgzISIjJCUmJygbHP9T//8hIiMkJSYnKAz//wX///8JFP//////DBsc/xAVFiEiIyQlJicoGxz/////ISIjJCUmJygM/xITFBEWF////////wwbHP///xIhIiMkJSYnKBsc/////yEiIyQlJicoDP///////xP///////8MGxz/////ISIjJCUmJygbHP////8hIiMkJSYnKBITFBUWFxgZ////////////IyQlJicbEhMUFhciNmgBHzhWISACGxsbXhsbNzlwNtLCTwQ8IkciPyJEIiJYImUiIgUGX2A5BAcICQoLDA0OBGZnXWptBQZvWDtxBwgJCgsMDQ4Ecjxbcz5hRhsSExQWFwQFBj9BYkkHCAkKCwwNDgUGAFwAAAcICQoLDA0OBAAATwAAAFNCAAAAAAAEBQYARFRVBwgJCgsMDQ4FBgAAAAAHCAkKCwwNDgQAKiwuRzEzAAAAAAAABAUGAAAASgcICQoLDA0OBQYAAAAABwgJCgsMDQ4EAAAAAAAATAAAAAAAAAQFBgAAAAAHCAkKCwwNDgUGAAAAAAcICQoLDA0OKSstLzAyNDUAAAAAAAAAAAApKy0wMgAELwAkIwASFBYaHB4gGAAFBy8vLwAvLwAACQgoAAABIgIGAAAAAAAIAAAAAAAAAAAAAAAAACUDJhMKKRULKhcOLRkRGwwrHQ0sHw8hEAAzADAAL0MAMQAvADUuJ0IyQQA6OAA8NEUANgBAAAA/AEQ3Ozk9AAIDAwEBAgEBAQMDAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQIBAQIABgEDAwMDAwEAAQIDAAQBAgMABAAEAAQAAwIBAgECAVN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGJlZm9yZSA8VEFCTEU+AFN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGFmdGVyIDwvVEFCTEU+AAApKioqKywsLS0tLS0tLS0tLS4vMDEyMzQ1Njc4OTo7PD0+Pj8/QUBCQkJCQkJDQ0REREZFR0dHSUhKSEtITEhNTU5OT0//Aw8QESM6JD0lQBVDJkUnSBhLGU0aKBxOHR5QUVJZWmxrbmNkV2ltZW1vcnkgZXhoYXVzdGVkACVzIGluIGxpbmUgJWQgCgAuLi4gJXMgLi4uCgBUQUJMRQBUUgBUSABURABIVE1MAEZPTlQAQgBVAE8ASQBTVVAAU1VCAFMAQlIASFIAVlIASU1HAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlZCAKADxJTUc+AElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAc2NhbGUAc3JjADxCUj4AYWxpZ24ASUdIVABFRlQARU5URVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gLSBpZ25vcmVkCgA8Rk9OVD4AY29sb3IAZmFjZQBwb2ludC1zaXplAFBPSU5ULVNJWkUASW1wcm9wZXIgJXMgdmFsdWUgJXMgLSBpZ25vcmVkACVzIHZhbHVlICVzID4gJWQgLSB0b28gbGFyZ2UgLSBpZ25vcmVkACVzIHZhbHVlICVzIDwgJWQgLSB0b28gc21hbGwgLSBpZ25vcmVkADxURD4AYmFsaWduAGJnY29sb3IAYm9yZGVyAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAGNvbHNwYW4AZml4ZWRzaXplAGdyYWRpZW50YW5nbGUAaGVpZ2h0AGhyZWYAaWQAcG9ydAByb3dzcGFuAHNpZGVzAHN0eWxlAHRhcmdldAB0aXRsZQB0b29sdGlwAHZhbGlnbgB3aWR0aABXSURUSABPVFRPTQBPUABJRERMRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgAgLABPVU5ERUQAQURJQUwASWxsZWdhbCB2YWx1ZSAlcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBTT0xJRABJTlZJU0lCTEUASU5WSVMARE9UVEVEAERBU0hFRABVbnJlY29nbml6ZWQgY2hhcmFjdGVyICclYycgKCVkKSBpbiBzaWRlcyBhdHRyaWJ1dGUKAFJPV1NQQU4AUk9XU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAEhFSUdIVABHUkFESUVOVEFOR0xFAFJVRQBBTFNFAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAENPTFNQQU4AQ09MU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAENFTExTUEFDSU5HAENFTExQQURESU5HAEJPUkRFUgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBFWFQASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gaW4gVEQgLSBpZ25vcmVkCgA8VEFCTEU+AGNlbGxib3JkZXIAY29sdW1ucwByb3dzAFVua25vd24gdmFsdWUgJXMgZm9yIFJPV1MgLSBpZ25vcmVkCgBVbmtub3duIHZhbHVlICVzIGZvciBDT0xVTU5TIC0gaWdub3JlZAoAQ0VMTFNCT1JERVIAPEhUTUw+ADwvSFRNTD4ALS0ATGFiZWwgY2xvc2VkIGJlZm9yZSBlbmQgb2YgSFRNTCBlbGVtZW50CgBVbmNsb3NlZCBjb21tZW50CgBqID09IDAAY3Z0LmMAUG9ic3BhdGgAcm91dGUuYwBsaWJwYXRoLyVzOiVkOiAlcwoAc2hvcnRlc3QuYwBzb3VyY2UgcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBkZXN0aW5hdGlvbiBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAY2Fubm90IG1hbGxvYyBvcHMAY2Fubm90IHJlYWxsb2Mgb3BzAHRyaWFuZ3VsYXRpb24gZmFpbGVkAGNhbm5vdCBtYWxsb2MgdHJpcwBjYW5ub3QgcmVhbGxvYyB0cmlzAGNhbm5vdCBtYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBkcS5wbmxzAGNhbm5vdCBtYWxsb2MgcG5scwBjYW5ub3QgbWFsbG9jIHBubHBzAGNhbm5vdCByZWFsbG9jIHBubHMAY2Fubm90IHJlYWxsb2MgcG5scHMAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUWQBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5PVEFUSU9OKAAoAHwAaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAGh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvAHhtbD1odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UAL2Rldi91cmFuZG9tAGZhbGxiYWNrKDQpAGdldHRpbWVvZmRheV9yZXMgPT0gMAB4bWxwYXJzZS5jAGdhdGhlcl90aW1lX2VudHJvcHkARVhQQVRfRU5UUk9QWV9ERUJVRwAxAEVudHJvcHk6ICVzIC0tPiAweCUwKmx4ICglbHUgYnl0ZXMpCgBpbnZhbGlkIGFyZ3VtZW50AHByZWZpeCBtdXN0IG5vdCBiZSBib3VuZCB0byBvbmUgb2YgdGhlIHJlc2VydmVkIG5hbWVzcGFjZSBuYW1lcwByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAY2Fubm90IHN1c3BlbmQgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eQBwYXJzaW5nIGZpbmlzaGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAGlsbGVnYWwgY2hhcmFjdGVyKHMpIGluIHB1YmxpYyBpZAB0ZXh0IGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABYTUwgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAGluY29tcGxldGUgbWFya3VwIGluIHBhcmFtZXRlciBlbnRpdHkAbXVzdCBub3QgdW5kZWNsYXJlIHByZWZpeAB1bmJvdW5kIHByZWZpeABjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgByZXF1ZXN0ZWQgZmVhdHVyZSByZXF1aXJlcyBYTUxfRFREIHN1cHBvcnQgaW4gRXhwYXQAZW50aXR5IGRlY2xhcmVkIGluIHBhcmFtZXRlciBlbnRpdHkAdW5leHBlY3RlZCBwYXJzZXIgc3RhdGUgLSBwbGVhc2Ugc2VuZCBhIGJ1ZyByZXBvcnQAZG9jdW1lbnQgaXMgbm90IHN0YW5kYWxvbmUAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHVuY2xvc2VkIENEQVRBIHNlY3Rpb24AZW5jb2Rpbmcgc3BlY2lmaWVkIGluIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNvcnJlY3QAdW5rbm93biBlbmNvZGluZwBYTUwgb3IgdGV4dCBkZWNsYXJhdGlvbiBub3QgYXQgc3RhcnQgb2YgZW50aXR5AHJlZmVyZW5jZSB0byBleHRlcm5hbCBlbnRpdHkgaW4gYXR0cmlidXRlAHJlZmVyZW5jZSB0byBiaW5hcnkgZW50aXR5AHJlZmVyZW5jZSB0byBpbnZhbGlkIGNoYXJhY3RlciBudW1iZXIAYXN5bmNocm9ub3VzIGVudGl0eQByZWN1cnNpdmUgZW50aXR5IHJlZmVyZW5jZQB1bmRlZmluZWQgZW50aXR5AGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGR1cGxpY2F0ZSBhdHRyaWJ1dGUAbWlzbWF0Y2hlZCB0YWcAcGFydGlhbCBjaGFyYWN0ZXIAdW5jbG9zZWQgdG9rZW4Abm90IHdlbGwtZm9ybWVkIChpbnZhbGlkIHRva2VuKQBubyBlbGVtZW50IGZvdW5kAHN5bnRheCBlcnJvcgBvdXQgb2YgbWVtb3J5AAIDBAUGBwgAAAkKCwwNDg8QEQAAAAAAAAAAAAAAABITABQAAAAAAAAAAAAAAAAAABUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARcAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAxobHB0eAAAfICEiIyQlEBEAAAAAAAAAAAAAAAASEyYUAAAAAAAAAAAAAAAAAAAnFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0RBVEFbVVMtQVNDSUkAVVRGLTE2AFVURi0xNkJFAFVURi0xNkxFAHZlcnNpb24AZW5jb2RpbmcAc3RhbmRhbG9uZQBET0NUWVBFAFNZU1RFTQBQVUJMSUMARU5USVRZAEFUVExJU1QARUxFTUVOVABOT1RBVElPTgBJTkNMVURFAElHTk9SRQBFTVBUWQBBTlkAUENEQVRBAElNUExJRUQAUkVRVUlSRUQARklYRUQAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUSUVTAE5NVE9LRU4ATk1UT0tFTlMATkRBVEEAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAASEBMUFRYXGBkaGxwdHh8gIRAQIiMQJCUmJygpKisQLC0uES8wERExERERMjM0NTY3ODkREBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDsQPD0+P0BBEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEMQEEQQRUZHEEgQSRAQEBBKS0xNEBBOEE9QEBAQEFEQEBAQEBAQEBAQEBAQUhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFRVVlcQEFhZEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFoQW1xdXl9gYWIQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAA/v8A/AEAAPgBAAB4AAAAAP/73/sAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/P/gr//////////////f//////8gQLAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAA/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAhv7///8AQEkAAAAAABgA3/8AyAAAAAAAAAABADwAAAAAAAAAAAAAAAAQ4AEeAGD/vwAAAAAAAP8HAAAAAAAAAAAAAAAAAAAAAAAAAPjPAwAAAAMAIP9/AAAATgAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAABAAIB4AMAABAAAAAAAAAAAQACAAAAAA/A8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAABAAIAAAAAADAAAAAAAAAAAQACAAAAAA/QAAAAAAAAAAAAAgAAAAAP8HAAAAAAAAAAAAIAAAAAAA/wAAAAAAAAAQACAAAAAAAAAAAAAAAAAAAAAgAAAAAD8CAAAAAAAAAAAABAAAAAAQAAAAAAAAgACAwN8ADAAAAAAAAAAAAAAAAAAfAAAAAAAA/v///wD8//8AAAAAAAAAAPwAAAAAAADA/9//BwAAAAAAAAAAAACABgD8AAAYPgAAgL8AzAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAYP///x8AAP8DAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAQAAGAAAAAAAAAAAADgAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAwAAD+fy8AAP8D/38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjEAAAAAAAAAAAAAAAAAAAAAAADE/////wAAAMAAAAAAAAAAAAEA4J8AAAAAfz8AAAAAAAAAAAAAAAAAAAAAEAAQAAD8////HwAAAAAADAAAAAAAAEAADPAAAAAAAADA+AAAAAAAAADAAAAAAAAAAAD/AP///yEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9/AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA+AA4ADgAGCA+P////z//////38f/PF//38AAP///wMAAP////8BAHsD0MGvQgAMH7z//wAAAAAAAv//////////////////////////////////////////////////////////DwD/////fwAAAP8HAAD/////////////PwAAAAAAAPz///7/////////////////////////////////////////////////////H/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IcD/gAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAA//////9//w8AAAAAAAAAAP////v/////////////DwD//////////////////////////////////z8AAAD/Dx7///8B/MHgAAAAAAAAAAAAAAAeAQAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAA/////w8AAAD///9/////////////////////////////////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAA////////fwAAAAAAAMAA4AAAAAAAAAAAAAAAgA9wAAAAAAAAAAAAAAAAAAD/AP//fwADAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAARAgAAAAP/wMAAAAAAADwAAAAAAAAAAAAEMAAAP//AwcAAAAAAPgAAAAACIAAAAAAAAAAAAAACAD/PwDAAAAAAAAAAAAAAAAAAAAA8AAAgAsAAAAAAAAAgAIAAMAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP///wN/AP/////3/38PAAAAAAAAAAAAAAAAAAAAAACA/v8A/AEAAPgBAAD4PwAAAAAAAAAAAAAAAAAAAH9/ADCH//////+P/wAAAAAAAOD//wf/DwAAAAAAAP//////PwAAAAAPAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/wD/AQAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD/8/z8AAAADAAAAAAAA/gMAAAAAAAAAAAAAAAAAGAAPAAAAAAAAAAAAAAAAAAAA4QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABwAAAAAAAAAAAAAAAAD///////////////////////////////////////8/AP////9//v///////////////////////////z8AAAAA//////////8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////fwD//wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAAAIAAAgAAAAIAAAgAAAAIAAAAACAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP//////D////////////////w8A/3/+f/7//v8AAAAA/wf///9//////////w///////wcAAAAAAAAAAMD///8HAP//////B/8BAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAL///////////x///w8A/////98HAAD//wEA/////////3/9/////////////////////////////x7/////////Pw8A////AAAAAAAAAAAAAAAAAAAAAAAA+P//////////4f8AAAAAAAD//////////z8AAAAAAAAA//////////////////8PAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISRAQEEpLTE1OEBAQT1AQEBAQURAQEBAQEBAQEBEREVJTEBAQEBAQEBAQEBARERERVBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERVRAQEBBWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFcQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFhZWlsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQXBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN88QNf///v///////////+///////////////////////8D/P////////////////////////8A/v///38C/v////8AAAAAAP+/tgD///8HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8BAAAAAAAAAAD9HwAAAAAAAPAD/3//////////7//f4f/P//7+7p/5///9xeOfWYCwz/8DAO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAA7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADu3/3///3v498dYAPP/wAA7N/9///97+PfHWBAz/8GAOzf/f/////n312AAM//APzs/3/8///7L3+AX/8AAAwA/v////9//wc/IP8DAAAAAJYl8P6u7P87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP//+fB//9/QP8z/////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////4cAAAAA//8AAP////////////8fAP7//////////////////////////////////////////////////////////5////7//wf////////////HAQD/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wD//////wf//////////z8A////H/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////PwD/4///////PwAAAAAAAAAAAAAAAADebwD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg/////z/+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA/////////////////////////////////x8AAAAAAAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I////+A/////////////wAAAACA//z///////////////95DwD/BwAAAAAAAAAAAP+79////wAAAP///////w8A//////////8PAP8DAAD8CP//////B/////8HAP///x/////////3/wCA/wMAAAAA////////fwD/P/8D//9/BP////////9/BQAAOP//PAB+fn4Af38AAAAAAAAAAAAAAAAAAAAAAAD//////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP///38AAP///wcAAAAAAAD///8//////w//PgAAAAAA/////////////////////////z//AwAAAAAAAAAAAAA//f////+/kf//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//DwAAAAAA////HwAAAAAAAAAAAAAAAAAAAAD///////8/AP//PwD//wcAAAAAAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8/AAAAwP8AAPz///////8BAAD///8B/wP////////H/wAAAAAAAAAA//////////8eAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8/AP8DAAAAAAAA/////////////////38AAAAAAAAAAAAAAAAAAAAAAAD///////////////8HAAAAAAAAAAAAAAAAAAAAAAAAAP//////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////x8A//////9/AAD4/wAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98/////////v////lv73CoTqlqqW9/de//v/D+77/w8AAAAAAAAAAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AYWxudW0AYWxwaGEAYmxhbmsAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QAc3BhY2UAdXBwZXIAeGRpZ2l0AEMuVVRGLTgAAAAAAAAAAABDAC9wcm9jL3NlbGYvZmQvAHJ3YQBpbmZpbml0eQBuYW4ACQAKAA0ADAAHABsAW1s6YWxudW06XV9dAFteWzphbG51bTpdX10AW1s6c3BhY2U6XV0AW15bOnNwYWNlOl1dAFtbOmRpZ2l0Ol1dAFteWzpkaWdpdDpdXQAvdG1wL3RtcGZpbGVfWFhYWFhYAHcr"; + var tempDoublePtr = STATICTOP; + STATICTOP += 16; + + function ___assert_fail(condition, filename, line, func) { + abort("Assertion failed: " + Pointer_stringify(condition) + ", at: " + [filename ? Pointer_stringify(filename) : "unknown filename", line, func ? Pointer_stringify(func) : "unknown function"]) + } + + function _emscripten_get_now() { + abort() + } + + function _emscripten_get_now_is_monotonic() { + return ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"] + } + + 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 + }; + + function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + return value + } + + function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 + } + + function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function ___lock() { + } + + function ___map_file(pathname, size) { + ___setErrNo(ERRNO_CODES.EPERM); + return -1 + } + + 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" + }; + var PATH = { + splitPath: (function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }), normalizeArray: (function (parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }), normalize: (function (path) { + var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter((function (p) { + return !!p + })), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }), dirname: (function (path) { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }), basename: (function (path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }), extname: (function (path) { + return PATH.splitPath(path)[3] + }), join: (function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }), join2: (function (l, r) { + return PATH.normalize(l + "/" + r) + }), resolve: (function () { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((function (p) { + return !!p + })), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }), relative: (function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + }) + }; + var TTY = { + ttys: [], init: (function () { + }), shutdown: (function () { + }), register: (function (dev, ops) { + TTY.ttys[dev] = {input: [], output: [], ops: ops}; + FS.registerDevice(dev, TTY.stream_ops) + }), stream_ops: { + open: (function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV) + } + stream.tty = tty; + stream.seekable = false + }), close: (function (stream) { + stream.tty.ops.flush(stream.tty) + }), flush: (function (stream) { + stream.tty.ops.flush(stream.tty) + }), read: (function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }), write: (function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO) + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + }) + }, default_tty_ops: { + get_char: (function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + var isPosixPlatform = process.platform != "win32"; + var fd = process.stdin.fd; + if (isPosixPlatform) { + var usingDevice = false; + try { + fd = fs.openSync("/dev/stdin", "r"); + usingDevice = true + } catch (e) { + } + } + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e + } + if (usingDevice) { + fs.closeSync(fd) + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }), put_char: (function (tty, val) { + if (val === null || val === 10) { + Module["print"](UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }), flush: (function (tty) { + if (tty.output && tty.output.length > 0) { + Module["print"](UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + }) + }, default_tty1_ops: { + put_char: (function (tty, val) { + if (val === null || val === 10) { + Module["printErr"](UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }), flush: (function (tty) { + if (tty.output && tty.output.length > 0) { + Module["printErr"](UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + }) + } + }; + var MEMFS = { + ops_table: null, mount: (function (mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }), createNode: (function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, stream: {llseek: MEMFS.stream_ops.llseek} + }, + file: { + node: {getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr}, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, stream: {} + }, + chrdev: { + node: {getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr}, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }), getFileDataAsRegularArray: (function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }), getFileDataAsTypedArray: (function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }), expandFileStorage: (function (node, newCapacity) { + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length + } + if (!node.contents || node.contents.subarray) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + } + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0) + }), resizeFileStorage: (function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }), node_ops: { + getattr: (function (node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }), setattr: (function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }), lookup: (function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT] + }), mknod: (function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }), rename: (function (old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }), unlink: (function (parent, name) { + delete parent.contents[name] + }), rmdir: (function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY) + } + delete parent.contents[name] + }), readdir: (function (node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }), symlink: (function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }), readlink: (function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + return node.link + }) + }, stream_ops: { + read: (function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }), write: (function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }), llseek: (function (stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + return position + }), allocate: (function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }), mmap: (function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM) + } + buffer.set(contents, ptr) + } + return {ptr: ptr, allocated: allocated} + }), msync: (function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + }) + } + }; + var IDBFS = { + dbs: {}, indexedDB: (function () { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }), DB_VERSION: 21, DB_STORE_NAME: "FILE_DATA", mount: (function (mount) { + return MEMFS.mount.apply(null, arguments) + }), syncfs: (function (mount, populate, callback) { + IDBFS.getLocalSet(mount, (function (err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, (function (err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + })) + })) + }), getDB: (function (name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = (function (e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", {unique: false}) + } + }); + req.onsuccess = (function () { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }); + req.onerror = (function (e) { + callback(this.error); + e.preventDefault() + }) + }), getLocalSet: (function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return (function (p) { + return PATH.join2(root, p) + }) + } + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = {timestamp: stat.mtime} + } + return callback(null, {type: "local", entries: entries}) + }), getRemoteSet: (function (mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, (function (err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = (function (e) { + callback(this.error); + e.preventDefault() + }); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = (function (event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, {type: "remote", db: db, entries: entries}) + } + entries[cursor.primaryKey] = {timestamp: cursor.key}; + cursor.continue() + }) + } catch (e) { + return callback(e) + } + })) + }), loadLocalEntry: (function (path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, {timestamp: stat.mtime, mode: stat.mode}) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, {timestamp: stat.mtime, mode: stat.mode, contents: node.contents}) + } else { + return callback(new Error("node type not supported")) + } + }), storeLocalEntry: (function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, {canOwn: true}) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }), removeLocalEntry: (function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }), loadRemoteEntry: (function (store, path, callback) { + var req = store.get(path); + req.onsuccess = (function (event) { + callback(null, event.target.result) + }); + req.onerror = (function (e) { + callback(this.error); + e.preventDefault() + }) + }), storeRemoteEntry: (function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = (function () { + callback(null) + }); + req.onerror = (function (e) { + callback(this.error); + e.preventDefault() + }) + }), removeRemoteEntry: (function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = (function () { + callback(null) + }); + req.onerror = (function (e) { + callback(this.error); + e.preventDefault() + }) + }), reconcile: (function (src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach((function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + })); + var remove = []; + Object.keys(dst.entries).forEach((function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + })); + if (!total) { + return callback(null) + } + var completed = 0; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err) + } + return + } + if (++completed >= total) { + return callback(null) + } + } + + transaction.onerror = (function (e) { + done(this.error); + e.preventDefault() + }); + create.sort().forEach((function (path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, (function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + })) + } else { + IDBFS.loadLocalEntry(path, (function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + })) + } + })); + remove.sort().reverse().forEach((function (path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + })) + }) + }; + var NODEFS = { + isWindows: false, staticInit: (function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + "1024": flags["O_APPEND"], + "64": flags["O_CREAT"], + "128": flags["O_EXCL"], + "0": flags["O_RDONLY"], + "2": flags["O_RDWR"], + "4096": flags["O_SYNC"], + "512": flags["O_TRUNC"], + "1": flags["O_WRONLY"] + } + }), bufferFrom: (function (arrayBuffer) { + return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }), 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 & 292) >> 2 + } + } 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) + }), flagsForNode: (function (flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } 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.flagsForNode(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; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]) + } + }), write: (function (stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]) + } + }), llseek: (function (stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + return position + }) + } + }; + var WORKERFS = { + DIR_MODE: 16895, FILE_MODE: 33279, reader: null, mount: (function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + + Array.prototype.forEach.call(mount.opts["files"] || [], (function (file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + })); + (mount.opts["blobs"] || []).forEach((function (obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + })); + (mount.opts["packages"] || []).forEach((function (pack) { + pack["metadata"].files.forEach((function (file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + })) + })); + return root + }), createNode: (function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }), node_ops: { + getattr: (function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }), setattr: (function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }), lookup: (function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + }), mknod: (function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }), rename: (function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }), unlink: (function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }), rmdir: (function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }), readdir: (function (node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }), symlink: (function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }), readlink: (function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + }) + }, stream_ops: { + read: (function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }), write: (function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + }), llseek: (function (stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + return position + }) + } + }; + STATICTOP += 16; + STATICTOP += 16; + STATICTOP += 16; + var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: {openFlags: {READ: 1, WRITE: 2}}, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: (function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }), + lookupPath: (function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return {path: "", node: null}; + var defaults = {follow_mount: true, recurse_count: 0}; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(ERRNO_CODES.ELOOP) + } + var parts = PATH.normalizeArray(path.split("/").filter((function (p) { + return !!p + })), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, {recurse_count: opts.recurse_count}); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(ERRNO_CODES.ELOOP) + } + } + } + } + return {path: current_path, node: current} + }), + getPath: (function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }), + hashName: (function (parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }), + hashAddNode: (function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }), + hashRemoveNode: (function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }), + lookupNode: (function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }), + createNode: (function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = (function (parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }); + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: (function () { + return (this.mode & readMode) === readMode + }), set: (function (val) { + val ? this.mode |= readMode : this.mode &= ~readMode + }) + }, write: { + get: (function () { + return (this.mode & writeMode) === writeMode + }), set: (function (val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + }) + }, isFolder: { + get: (function () { + return FS.isDir(this.mode) + }) + }, isDevice: { + get: (function () { + return FS.isChrdev(this.mode) + }) + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }), + destroyNode: (function (node) { + FS.hashRemoveNode(node) + }), + isRoot: (function (node) { + return node === node.parent + }), + isMountpoint: (function (node) { + return !!node.mounted + }), + isFile: (function (mode) { + return (mode & 61440) === 32768 + }), + isDir: (function (mode) { + return (mode & 61440) === 16384 + }), + isLink: (function (mode) { + return (mode & 61440) === 40960 + }), + isChrdev: (function (mode) { + return (mode & 61440) === 8192 + }), + isBlkdev: (function (mode) { + return (mode & 61440) === 24576 + }), + isFIFO: (function (mode) { + return (mode & 61440) === 4096 + }), + isSocket: (function (mode) { + return (mode & 49152) === 49152 + }), + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: (function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }), + flagsToPermissionString: (function (flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }), + nodePermissions: (function (node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES + } + return 0 + }), + mayLookup: (function (dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0 + }), + mayCreate: (function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST + } catch (e) { + } + return FS.nodePermissions(dir, "wx") + }), + mayDelete: (function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR + } + } + return 0 + }), + mayOpen: (function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return ERRNO_CODES.EISDIR + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }), + MAX_OPEN_FDS: 4096, + nextfd: (function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE) + }), + getStream: (function (fd) { + return FS.streams[fd] + }), + createStream: (function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = (function () { + }); + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: (function () { + return this.node + }), set: (function (val) { + this.node = val + }) + }, isRead: { + get: (function () { + return (this.flags & 2097155) !== 1 + }) + }, isWrite: { + get: (function () { + return (this.flags & 2097155) !== 0 + }) + }, isAppend: { + get: (function () { + return this.flags & 1024 + }) + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }), + closeStream: (function (fd) { + FS.streams[fd] = null + }), + chrdev_stream_ops: { + open: (function (stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }), llseek: (function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE) + }) + }, + major: (function (dev) { + return dev >> 8 + }), + minor: (function (dev) { + return dev & 255 + }), + makedev: (function (ma, mi) { + return ma << 8 | mi + }), + registerDevice: (function (dev, ops) { + FS.devices[dev] = {stream_ops: ops} + }), + getDevice: (function (dev) { + return FS.devices[dev] + }), + getMounts: (function (mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }), + syncfs: (function (populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + + mounts.forEach((function (mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + })) + }), + mount: (function (type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, {follow_mount: false}); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR) + } + } + var mount = {type: type, opts: opts, mountpoint: mountpoint, mounts: []}; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }), + unmount: (function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, {follow_mount: false}); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((function (hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + })); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }), + lookup: (function (parent, name) { + return parent.node_ops.lookup(parent, name) + }), + mknod: (function (path, mode, dev) { + var lookup = FS.lookupPath(path, {parent: true}); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }), + create: (function (path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }), + mkdir: (function (path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }), + mkdirTree: (function (path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e + } + } + }), + mkdev: (function (path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }), + symlink: (function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + var lookup = FS.lookupPath(newpath, {parent: true}); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }), + rename: (function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, {parent: true}); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, {parent: true}); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) { + } + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }), + rmdir: (function (path) { + var lookup = FS.lookupPath(path, {parent: true}); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }), + readdir: (function (path) { + var lookup = FS.lookupPath(path, {follow: true}); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR) + } + return node.node_ops.readdir(node) + }), + unlink: (function (path) { + var lookup = FS.lookupPath(path, {parent: true}); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }), + readlink: (function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }), + stat: (function (path, dontFollow) { + var lookup = FS.lookupPath(path, {follow: !dontFollow}); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + return node.node_ops.getattr(node) + }), + lstat: (function (path) { + return FS.stat(path, true) + }), + chmod: (function (path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, {follow: !dontFollow}); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + node.node_ops.setattr(node, {mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now()}) + }), + lchmod: (function (path, mode) { + FS.chmod(path, mode, true) + }), + fchmod: (function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF) + } + FS.chmod(stream.node, mode) + }), + chown: (function (path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, {follow: !dontFollow}); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + node.node_ops.setattr(node, {timestamp: Date.now()}) + }), + lchown: (function (path, uid, gid) { + FS.chown(path, uid, gid, true) + }), + fchown: (function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF) + } + FS.chown(stream.node, uid, gid) + }), + truncate: (function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, {follow: true}); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, {size: len, timestamp: Date.now()}) + }), + ftruncate: (function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + FS.truncate(stream.node, len) + }), + utime: (function (path, atime, mtime) { + var lookup = FS.lookupPath(path, {follow: true}); + var node = lookup.node; + node.node_ops.setattr(node, {timestamp: Math.max(atime, mtime)}) + }), + open: (function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, {follow: !(flags & 131072)}); + node = lookup.node + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module["printErr"]("read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }), + close: (function (stream) { + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + }), + llseek: (function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }), + read: (function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } 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 = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + path + "') threw an exception: " + e.message) + } + return bytesWritten + }), + allocate: (function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP) + } + stream.stream_ops.allocate(stream, offset, length) + }), + mmap: (function (stream, buffer, offset, length, position, prot, flags) { + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }), + msync: (function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }), + munmap: (function (stream) { + return 0 + }), + ioctl: (function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }), + readFile: (function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }), + writeFile: (function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }), + cwd: (function () { + return FS.currentPath + }), + chdir: (function (path) { + var lookup = FS.lookupPath(path, {follow: true}); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }), + createDefaultDirectories: (function () { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }), + createDefaultDevices: (function () { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: (function () { + return 0 + }), write: (function (stream, buffer, offset, length, pos) { + return length + }) + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto !== "undefined") { + var randomBuffer = new Uint8Array(1); + random_device = (function () { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + }) + } else if (ENVIRONMENT_IS_NODE) { + random_device = (function () { + return require("crypto")["randomBytes"](1)[0] + }) + } else { + random_device = (function () { + return Math.random() * 256 | 0 + }) + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }), + createSpecialDirectories: (function () { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: (function () { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (function (parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: {mountpoint: "fake"}, + node_ops: { + readlink: (function () { + return stream.path + }) + } + }; + ret.parent = ret; + return ret + }) + }; + return node + }) + }, {}, "/proc/self/fd") + }), + createStandardStreams: (function () { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + var stdout = FS.open("/dev/stdout", "w"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }), + ensureErrnoError: (function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = (function (errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }); + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) Object.defineProperty(this, "stack", {value: (new Error).stack, writable: true}) + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ERRNO_CODES.ENOENT].forEach((function (code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + })) + }), + staticInit: (function () { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = {"MEMFS": MEMFS, "IDBFS": IDBFS, "NODEFS": NODEFS, "WORKERFS": WORKERFS} + }), + init: (function (input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }), + quit: (function () { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }), + getMode: (function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }), + joinPath: (function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }), + absolutePath: (function (relative, base) { + return PATH.resolve(base, relative) + }), + standardizePath: (function (path) { + return PATH.normalize(path) + }), + findObject: (function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }), + analyzePath: (function (path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, {follow: !dontResolveLastLink}); + path = lookup.path + } catch (e) { + } + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, {parent: true}); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, {follow: !dontResolveLastLink}); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }), + createFolder: (function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }), + createPath: (function (parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) { + } + parent = current + } + return current + }), + createFile: (function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }), + createDataFile: (function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }), + createDevice: (function (parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: (function (stream) { + stream.seekable = false + }), close: (function (stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }), read: (function (stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }), write: (function (stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + }) + }); + return FS.mkdev(path, mode, dev) + }), + createLink: (function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }), + forceLoadFile: (function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.") + } else if (Module["read"]) { + try { + obj.contents = intArrayFromString(Module["read"](obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success + }), + createLazyFile: (function (parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = (function (from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }); + var lazyArray = this; + lazyArray.setDataGetter((function (chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + })); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: (function () { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + }) + }, chunkSize: { + get: (function () { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + }) + } + }); + var properties = {isDevice: false, contents: lazyArray} + } else { + var properties = {isDevice: false, url: url} + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: (function () { + return this.contents.length + }) + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((function (key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + return fn.apply(null, arguments) + } + })); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }), + createPreloadedFile: (function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + + var handled = false; + Module["preloadPlugins"].forEach((function (plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, (function () { + if (onerror) onerror(); + removeRunDependency(dep) + })); + handled = true + } + })); + if (!handled) finish(byteArray) + } + + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, (function (byteArray) { + processData(byteArray) + }), onerror) + } else { + processData(url) + } + }), + indexedDB: (function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB + }), + DB_NAME: (function () { + return "EM_FS_" + window.location.pathname + }), + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (function (paths, onload, onerror) { + onload = onload || (function () { + }); + onerror = onerror || (function () { + }); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + + function finish() { + if (fail == 0) onload(); else onerror() + } + + paths.forEach((function (path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + })); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }), + loadFilesFromDB: (function (paths, onload, onerror) { + onload = onload || (function () { + }); + onerror = onerror || (function () { + }); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + + function finish() { + if (fail == 0) onload(); else onerror() + } + + paths.forEach((function (path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + })); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }) + }; + var SYSCALLS = { + DEFAULT_POLLMASK: 5, mappings: {}, umask: 511, calculateAt: (function (dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }), doStat: (function (func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -ERRNO_CODES.ENOTDIR + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + HEAP32[buf + 36 >> 2] = stat.size; + HEAP32[buf + 40 >> 2] = 4096; + HEAP32[buf + 44 >> 2] = stat.blocks; + HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 52 >> 2] = 0; + HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ino; + return 0 + }), doMsync: (function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }), doMkdir: (function (path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }), doMknod: (function (path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -ERRNO_CODES.EINVAL + } + FS.mknod(path, mode, dev); + return 0 + }), doReadlink: (function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }), doAccess: (function (path, amode) { + if (amode & ~7) { + return -ERRNO_CODES.EINVAL + } + var node; + var lookup = FS.lookupPath(path, {follow: true}); + node = lookup.node; + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES + } + return 0 + }), doDup: (function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }), doReadv: (function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }), doWritev: (function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }), varargs: 0, get: (function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }), getStr: (function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret + }), getStreamFromFD: (function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream + }), getSocketFromFD: (function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket + }), getSocketAddress: (function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info + }), get64: (function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); else assert(high === -1); + return low + }), getZero: (function () { + assert(SYSCALLS.get() === 0) + }) + }; + + function ___syscall10(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(); + FS.unlink(path); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___syscall140(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), + result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + FS.llseek(stream, offset, whence); + HEAP32[result >> 2] = stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___syscall145(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___syscall146(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___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 = _memalign(PAGE_SIZE, 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 + } } - postMessage({ id: id, error: error }); - } + + 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 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 + } + } + + 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 ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + 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 + } + } + + function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___syscall54(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0 + } + ; + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0 + } + ; + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0 + } + ; + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL + } + ; + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp) + } + ; + case 21523: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0 + } + ; + default: + abort("bad ioctl syscall " + op) + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___syscall6(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } + } + + function ___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 + } + } + + var cttz_i8 = allocate([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", ALLOC_STATIC); + + function ___unlock() { + } + + function __exit(status) { + Module["exit"](status) + } + + function _exit(status) { + __exit(status) + } + + var _environ = STATICTOP; + STATICTOP += 16; + + function ___buildEnvironment(env) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = "C.UTF-8"; + ENV["_"] = Module["thisProgram"]; + poolPtr = staticAlloc(TOTAL_ENV_SIZE); + envPtr = staticAlloc(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[_environ >> 2] = envPtr + } else { + envPtr = HEAP32[_environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === "string") { + var line = key + "=" + env[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 + } + + var ENV = {}; + + function _getenv(name) { + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret + } + + function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 + } + + var _llvm_ceil_f64 = Math_ceil; + var _llvm_fabs_f32 = Math_abs; + var _llvm_fabs_f64 = Math_abs; + var _llvm_floor_f64 = Math_floor; + var _llvm_pow_f64 = Math_pow; + var _llvm_sqrt_f32 = Math_sqrt; + var _llvm_sqrt_f64 = Math_sqrt; + + function _llvm_trap() { + abort("trap!") + } + + function _longjmp(env, value) { + Module["setThrew"](env, value || 1); + throw"longjmp" + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest); + return dest + } + + function _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 _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret + } + + function _times(buffer) { + if (buffer !== 0) { + _memset(buffer, 0, 16) + } + return 0 + } + + if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } + } else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow + } else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") { + _emscripten_get_now = (function () { + return self["performance"]["now"]() + }) + } else if (typeof performance === "object" && typeof performance["now"] === "function") { + _emscripten_get_now = (function () { + return performance["now"]() + }) + } else { + _emscripten_get_now = Date.now + } + FS.staticInit(); + __ATINIT__.unshift((function () { + if (!Module["noFSInit"] && !FS.init.initialized) FS.init() + })); + __ATMAIN__.push((function () { + FS.ignorePermissions = false + })); + __ATEXIT__.push((function () { + FS.quit() + })); + __ATINIT__.unshift((function () { + TTY.init() + })); + __ATEXIT__.push((function () { + TTY.shutdown() + })); + if (ENVIRONMENT_IS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() + } + ___buildEnvironment(ENV); + DYNAMICTOP_PTR = staticAlloc(4); + STACK_BASE = STACKTOP = alignMemory(STATICTOP); + STACK_MAX = STACK_BASE + TOTAL_STACK; + DYNAMIC_BASE = alignMemory(STACK_MAX); + HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + staticSealed = true; + var ASSERTIONS = false; + + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array + } + + function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 255) { + if (ASSERTIONS) { + assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF.") + } + chr &= 255 + } + ret.push(String.fromCharCode(chr)) + } + return ret.join("") + } + + var decodeBase64 = typeof atob === "function" ? atob : (function (input) { + var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + chr1 = enc1 << 2 | enc2 >> 4; + chr2 = (enc2 & 15) << 4 | enc3 >> 2; + chr3 = (enc3 & 3) << 6 | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2) + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3) + } + } while (i < input.length); + return output + }); + + function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { + var buf; + try { + buf = Buffer.from(s, "base64") + } catch (_) { + buf = new Buffer(s, "base64") + } + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength) + } + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0; i < decoded.length; ++i) { + bytes[i] = decoded.charCodeAt(i) + } + return bytes + } catch (_) { + throw new Error("Converting base64 string to bytes failed.") + } + } + + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)) + } + + function invoke_d(index) { + try { + return Module["dynCall_d"](index) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_dddd(index, a1, a2, a3) { + try { + return Module["dynCall_dddd"](index, a1, a2, a3) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_di(index, a1) { + try { + return Module["dynCall_di"](index, a1) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_i(index) { + try { + return Module["dynCall_i"](index) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_ii(index, a1) { + try { + return Module["dynCall_ii"](index, a1) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iii(index, a1, a2) { + try { + return Module["dynCall_iii"](index, a1, a2) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiidd(index, a1, a2, a3, a4) { + try { + return Module["dynCall_iiidd"](index, a1, a2, a3, a4) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiii(index, a1, a2, a3) { + try { + return Module["dynCall_iiii"](index, a1, a2, a3) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiiii(index, a1, a2, a3, a4) { + try { + return Module["dynCall_iiiii"](index, a1, a2, a3, a4) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiiiii(index, a1, a2, a3, a4, a5) { + try { + return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + try { + return Module["dynCall_iiiiiii"](index, a1, a2, a3, a4, a5, a6) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + try { + return Module["dynCall_iiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_v(index) { + try { + Module["dynCall_v"](index) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_vi(index, a1) { + try { + Module["dynCall_vi"](index, a1) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_vii(index, a1, a2) { + try { + Module["dynCall_vii"](index, a1, a2) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viii(index, a1, a2, a3) { + try { + Module["dynCall_viii"](index, a1, a2, a3) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viiiddi(index, a1, a2, a3, a4, a5, a6) { + try { + Module["dynCall_viiiddi"](index, a1, a2, a3, a4, a5, a6) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viiii(index, a1, a2, a3, a4) { + try { + Module["dynCall_viiii"](index, a1, a2, a3, a4) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viiiii(index, a1, a2, a3, a4, a5) { + try { + Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) { + try { + Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + try { + Module["dynCall_viiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9) + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e; + Module["setThrew"](1, 0) + } + } + + Module.asmGlobalArg = { + "Math": Math, + "Int8Array": Int8Array, + "Int16Array": Int16Array, + "Int32Array": Int32Array, + "Uint8Array": Uint8Array, + "Uint16Array": Uint16Array, + "Uint32Array": Uint32Array, + "Float32Array": Float32Array, + "Float64Array": Float64Array, + "NaN": NaN, + "Infinity": Infinity + }; + Module.asmLibraryArg = { + "abort": abort, + "assert": assert, + "enlargeMemory": enlargeMemory, + "getTotalMemory": getTotalMemory, + "abortOnCannotGrowMemory": abortOnCannotGrowMemory, + "invoke_d": invoke_d, + "invoke_dddd": invoke_dddd, + "invoke_di": invoke_di, + "invoke_i": invoke_i, + "invoke_ii": invoke_ii, + "invoke_iii": invoke_iii, + "invoke_iiidd": invoke_iiidd, + "invoke_iiii": invoke_iiii, + "invoke_iiiii": invoke_iiiii, + "invoke_iiiiii": invoke_iiiiii, + "invoke_iiiiiii": invoke_iiiiiii, + "invoke_iiiiiiiiiii": invoke_iiiiiiiiiii, + "invoke_v": invoke_v, + "invoke_vi": invoke_vi, + "invoke_vii": invoke_vii, + "invoke_viii": invoke_viii, + "invoke_viiiddi": invoke_viiiddi, + "invoke_viiii": invoke_viiii, + "invoke_viiiii": invoke_viiiii, + "invoke_viiiiii": invoke_viiiiii, + "invoke_viiiiiiiii": invoke_viiiiiiiii, + "___assert_fail": ___assert_fail, + "___buildEnvironment": ___buildEnvironment, + "___clock_gettime": ___clock_gettime, + "___lock": ___lock, + "___map_file": ___map_file, + "___setErrNo": ___setErrNo, + "___syscall10": ___syscall10, + "___syscall140": ___syscall140, + "___syscall145": ___syscall145, + "___syscall146": ___syscall146, + "___syscall192": ___syscall192, + "___syscall195": ___syscall195, + "___syscall197": ___syscall197, + "___syscall20": ___syscall20, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall33": ___syscall33, + "___syscall5": ___syscall5, + "___syscall54": ___syscall54, + "___syscall6": ___syscall6, + "___syscall91": ___syscall91, + "___unlock": ___unlock, + "__exit": __exit, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_iii": _emscripten_asm_const_iii, + "_emscripten_get_now": _emscripten_get_now, + "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_exit": _exit, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_llvm_ceil_f64": _llvm_ceil_f64, + "_llvm_fabs_f32": _llvm_fabs_f32, + "_llvm_fabs_f64": _llvm_fabs_f64, + "_llvm_floor_f64": _llvm_floor_f64, + "_llvm_pow_f64": _llvm_pow_f64, + "_llvm_sqrt_f32": _llvm_sqrt_f32, + "_llvm_sqrt_f64": _llvm_sqrt_f64, + "_llvm_trap": _llvm_trap, + "_longjmp": _longjmp, + "_setenv": _setenv, + "_time": _time, + "_times": _times, + "DYNAMICTOP_PTR": DYNAMICTOP_PTR, + "tempDoublePtr": tempDoublePtr, + "ABORT": ABORT, + "STACKTOP": STACKTOP, + "STACK_MAX": STACK_MAX, + "cttz_i8": cttz_i8 + };// EMSCRIPTEN_START_ASM + var asm = (/** @suppress {uselessCode} */ function (global, env, buffer) { + "use asm"; + var a = new global.Int8Array(buffer); + var b = new global.Int16Array(buffer); + var c = new global.Int32Array(buffer); + var d = new global.Uint8Array(buffer); + var e = new global.Uint16Array(buffer); + var f = new global.Uint32Array(buffer); + var g = new global.Float32Array(buffer); + var h = new global.Float64Array(buffer); + var i = env.DYNAMICTOP_PTR | 0; + var j = env.tempDoublePtr | 0; + var k = env.ABORT | 0; + var l = env.STACKTOP | 0; + var m = env.STACK_MAX | 0; + var n = env.cttz_i8 | 0; + var o = 0; + var p = 0; + var q = 0; + var r = 0; + var s = global.NaN, t = global.Infinity; + var u = 0, v = 0, w = 0, x = 0, y = 0.0; + var z = 0; + var A = global.Math.floor; + var B = global.Math.abs; + var C = global.Math.sqrt; + var D = global.Math.pow; + var E = global.Math.cos; + var F = global.Math.sin; + var G = global.Math.tan; + var H = global.Math.acos; + var I = global.Math.asin; + var J = global.Math.atan; + var K = global.Math.atan2; + var L = global.Math.exp; + var M = global.Math.log; + var N = global.Math.ceil; + var O = global.Math.imul; + var P = global.Math.min; + var Q = global.Math.max; + var R = global.Math.clz32; + var S = env.abort; + var T = env.assert; + var U = env.enlargeMemory; + var V = env.getTotalMemory; + var W = env.abortOnCannotGrowMemory; + var X = env.invoke_d; + var Y = env.invoke_dddd; + var Z = env.invoke_di; + var _ = env.invoke_i; + var $ = env.invoke_ii; + var aa = env.invoke_iii; + var ba = env.invoke_iiidd; + var ca = env.invoke_iiii; + var da = env.invoke_iiiii; + var ea = env.invoke_iiiiii; + var fa = env.invoke_iiiiiii; + var ga = env.invoke_iiiiiiiiiii; + var ha = env.invoke_v; + var ia = env.invoke_vi; + var ja = env.invoke_vii; + var ka = env.invoke_viii; + var la = env.invoke_viiiddi; + var ma = env.invoke_viiii; + var na = env.invoke_viiiii; + var oa = env.invoke_viiiiii; + var pa = env.invoke_viiiiiiiii; + var qa = env.___assert_fail; + var ra = env.___buildEnvironment; + var sa = env.___clock_gettime; + var ta = env.___lock; + var ua = env.___map_file; + var va = env.___setErrNo; + var wa = env.___syscall10; + var xa = env.___syscall140; + var ya = env.___syscall145; + var za = env.___syscall146; + var Aa = env.___syscall192; + var Ba = env.___syscall195; + var Ca = env.___syscall197; + var Da = env.___syscall20; + var Ea = env.___syscall221; + var Fa = env.___syscall3; + var Ga = env.___syscall33; + var Ha = env.___syscall5; + var Ia = env.___syscall54; + var Ja = env.___syscall6; + var Ka = env.___syscall91; + var La = env.___unlock; + var Ma = env.__exit; + var Na = env._clock_gettime; + var Oa = env._emscripten_asm_const_iii; + var Pa = env._emscripten_get_now; + var Qa = env._emscripten_get_now_is_monotonic; + var Ra = env._emscripten_memcpy_big; + var Sa = env._exit; + var Ta = env._getenv; + var Ua = env._gettimeofday; + var Va = env._llvm_ceil_f64; + var Wa = env._llvm_fabs_f32; + var Xa = env._llvm_fabs_f64; + var Ya = env._llvm_floor_f64; + var Za = env._llvm_pow_f64; + var _a = env._llvm_sqrt_f32; + var $a = env._llvm_sqrt_f64; + var ab = env._llvm_trap; + var bb = env._longjmp; + var cb = env._setenv; + var db = env._time; + var eb = env._times; + var fb = 0.0; + + // EMSCRIPTEN_START_FUNCS + function gP(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 176 | 0; + k = n + 8 | 0; + j = n; + h = n + 40 | 0; + if (!b) qa(108200, 108204, 52, 108218); + if (!d) qa(108230, 108204, 53, 108218); + i = c[d + 8 >> 2] | 0; + if (!i) qa(108233, 108204, 54, 108218); + if (!(a[i >> 0] | 0)) qa(108242, 108204, 55, 108218); + b0(h, c[d + 28 >> 2] | 0) | 0; + i = h + (W_(h) | 0) | 0; + a[i >> 0] = 58; + a[i + 1 >> 0] = 0; + p1(h, g) | 0; + if ((hP(b, h) | 0) == 999) { + c[j >> 2] = h; + Pw(0, 108254, j) | 0 + } + g = c[b + 92 >> 2] | 0; + if (g | 0 ? (m = c[g >> 2] | 0, m | 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]; + xb[m & 31](b, d, k, f) + } + l = n; + return + } + + function hP(a, b) { + a = a | 0; + b = b | 0; + b = wC(c[a >> 2] | 0, 4, b) | 0; + if (!b) b = 999; else { + b = c[b + 16 >> 2] | 0; + c[a + 92 >> 2] = c[b + 12 >> 2]; + c[a + 96 >> 2] = c[b >> 2]; + b = 300 + } + return b | 0 + } + + function iP(a) { + a = a | 0; + return 1 + } + + function jP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 336 | 0; + h[c >> 3] = +h[c >> 3] + 10.0 / +h[b + 352 >> 3]; + a[b + 537 >> 0] = 1; + return 0 + } + + function kP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 336 | 0; + h[c >> 3] = +h[c >> 3] - 10.0 / +h[b + 352 >> 3]; + a[b + 537 >> 0] = 1; + return 0 + } + + function lP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 344 | 0; + h[c >> 3] = +h[c >> 3] - 10.0 / +h[b + 352 >> 3]; + a[b + 537 >> 0] = 1; + return 0 + } + + function mP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 344 | 0; + h[c >> 3] = +h[c >> 3] + 10.0 / +h[b + 352 >> 3]; + a[b + 537 >> 0] = 1; + return 0 + } + + function nP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 352 | 0; + h[c >> 3] = +h[c >> 3] * 1.1; + a[b + 537 >> 0] = 1; + return 0 + } + + function oP(b) { + b = b | 0; + var c = 0; + a[b + 536 >> 0] = 0; + c = b + 352 | 0; + h[c >> 3] = +h[c >> 3] * .9090909090909091; + a[b + 537 >> 0] = 1; + return 0 + } + + function pP(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0; + e = b + 536 | 0; + d = (a[e >> 0] | 0) == 0; + a[e >> 0] = d & 1; + if (d) { + d = c[b + 448 >> 2] | 0; + e = c[b + 452 >> 2] | 0; + i = +(d >>> 0); + g = +(e >>> 0); + f = i / +(d | 0) < g / +(e | 0); + h[b + 352 >> 3] = (f ? i : g) / +((f ? d : e) | 0); + e = b + 336 | 0; + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + a[b + 537 >> 0] = 1 + } + return 0 + } + + function qP(b) { + b = b | 0; + var d = 0, e = 0; + d = c[(c[b >> 2] | 0) + 168 >> 2] | 0; + e = b + 580 | 0; + if (!(c[e >> 2] | 0)) { + c[e >> 2] = d; + e = (c[d + 16 >> 2] | 0) + 112 | 0; + a[e >> 0] = a[e >> 0] | 2; + GP(b, d) + } + dF(b, d); + a[b + 540 >> 0] = 1; + return + } + + function rP(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + f = k; + switch (d | 0) { + case 1: { + 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]; + zP(b, f); + FP(b); + a[b + 538 >> 0] = 1; + a[b + 541 >> 0] = 1; + j = 13; + break + } + case 2: { + a[b + 538 >> 0] = 1; + a[b + 541 >> 0] = 2; + j = 13; + break + } + case 3: { + 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]; + zP(b, f); + a[b + 538 >> 0] = 1; + a[b + 541 >> 0] = 3; + j = 13; + break + } + case 4: { + a[b + 536 >> 0] = 0; + if (!(c[b + 360 >> 2] | 0)) { + f = b + 352 | 0; + i = +h[f >> 3]; + d = b + 336 | 0; + h[d >> 3] = (+h[e >> 3] - +((c[b + 448 >> 2] | 0) >>> 0) * .5) * .10000000000000009 / (+h[b + 520 >> 3] * i) + +h[d >> 3]; + g = +h[e + 8 >> 3] - +((c[b + 452 >> 2] | 0) >>> 0) * .5; + d = b + 528 | 0 + } else { + f = b + 352 | 0; + i = +h[f >> 3]; + d = b + 336 | 0; + h[d >> 3] = +h[d >> 3] - (+h[e + 8 >> 3] - +((c[b + 452 >> 2] | 0) >>> 0) * .5) * .10000000000000009 / (+h[b + 528 >> 3] * i); + g = +h[e >> 3] - +((c[b + 448 >> 2] | 0) >>> 0) * .5; + d = b + 520 | 0 + } + j = b + 344 | 0; + h[j >> 3] = g * .10000000000000009 / (+h[d >> 3] * i) + +h[j >> 3]; + h[f >> 3] = i * 1.1; + j = 13; + break + } + case 5: { + a[b + 536 >> 0] = 0; + j = b + 352 | 0; + i = +h[j >> 3] * .9090909090909091; + h[j >> 3] = i; + if (!(c[b + 360 >> 2] | 0)) { + f = b + 336 | 0; + h[f >> 3] = +h[f >> 3] - (+h[e >> 3] - +((c[b + 448 >> 2] | 0) >>> 0) * .5) * .10000000000000009 / (+h[b + 520 >> 3] * i); + g = +h[e + 8 >> 3] - +((c[b + 452 >> 2] | 0) >>> 0) * .5; + f = b + 528 | 0 + } else { + f = b + 336 | 0; + h[f >> 3] = (+h[e + 8 >> 3] - +((c[b + 452 >> 2] | 0) >>> 0) * .5) * .10000000000000009 / (+h[b + 528 >> 3] * i) + +h[f >> 3]; + g = +h[e >> 3] - +((c[b + 448 >> 2] | 0) >>> 0) * .5; + f = b + 520 | 0 + } + j = b + 344 | 0; + h[j >> 3] = +h[j >> 3] - g * .10000000000000009 / (+h[f >> 3] * i); + j = 13; + break + } + default: { + } + } + if ((j | 0) == 13) a[b + 537 >> 0] = 1; + b = b + 560 | 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]; + l = k; + return + } + + function sP(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + a[b + 538 >> 0] = 0; + a[b + 541 >> 0] = 0; + return + } + + function tP(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0; + k = l; + l = l + 16 | 0; + e = k; + i = b + 560 | 0; + j = (+h[d >> 3] - +h[i >> 3]) / +h[b + 520 >> 3]; + g = (+h[d + 8 >> 3] - +h[b + 568 >> 3]) / +h[b + 528 >> 3]; + if (!(+B(+j) < .0001 & +B(+g) < .0001)) { + switch (a[b + 541 >> 0] | 0) { + case 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]; + zP(b, e); + break + } + case 2: { + f = +h[b + 352 >> 3]; + if (!(c[b + 360 >> 2] | 0)) { + e = b + 336 | 0; + h[e >> 3] = +h[e >> 3] - j / f; + e = b + 344 | 0; + h[e >> 3] = +h[e >> 3] - g / f + } else { + e = b + 336 | 0; + h[e >> 3] = +h[e >> 3] - g / f; + e = b + 344 | 0; + h[e >> 3] = +h[e >> 3] + j / f + } + a[b + 537 >> 0] = 1; + break + } + default: { + } + } + 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] + } + l = k; + return + } + + function uP(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return + } + + function vP(a) { + a = a | 0; + return + } + + function wP(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = c[b >> 2] | 0; + if (d) { + d = L1(d, 135739) | 0; + if (d | 0) { + i = TB(d, 0) | 0; + s1(d) | 0; + f = 5 + } + } else { + i = TB(c[15621] | 0, 0) | 0; + f = 5 + } + if ((f | 0) == 5 ? i | 0 : 0) { + g = j + 168 | 0; + d = c[g >> 2] | 0; + if (d | 0) { + f = c[j + 172 >> 2] | 0; + if ((f | 0) != 0 ? (h = c[f + 4 >> 2] | 0, (h | 0) != 0) : 0) { + tb[h & 127](d); + d = c[g >> 2] | 0 + } + gH(d); + $x(c[g >> 2] | 0) | 0 + } + Fz(i, 0, 134401, 280, 1); + Fz(i, 1, 134365, 304, 1); + Fz(i, 2, 134378, 176, 1); + c[g >> 2] = i; + c[(c[i + 16 >> 2] | 0) + 144 >> 2] = j; + if ((_C(j, i, e) | 0) != -1) { + c[b + 580 >> 2] = 0; + c[b + 576 >> 2] = 0; + a[b + 537 >> 0] = 1 + } + } + return + } + + function xP(a, b) { + a = a | 0; + b = b | 0; + a = c[a >> 2] | 0; + _C(a, c[a + 168 >> 2] | 0, b) | 0; + return + } + + function yP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + g = c[a >> 2] | 0; + f = g + 160 | 0; + e = c[f >> 2] | 0; + if ((e | 0) != 0 ? (c[g + 164 >> 2] | 0) == 0 : 0) { + i = g + 192 | 0; + h = c[i >> 2] | 0; + c[f >> 2] = 0; + c[i >> 2] = 0; + f = h + } else { + f = 0; + e = 0 + } + aD(g, c[g + 168 >> 2] | 0, b, d) | 0; + if (e | 0) { + i = c[a >> 2] | 0; + c[i + 160 >> 2] = e; + c[i + 192 >> 2] = f + } + return + } + + function zP(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0; + f = l; + l = l + 80 | 0; + e = f + 48 | 0; + g = f; + m = f + 32 | 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]; + AP(m, b, e); + k = +h[m >> 3]; + j = +h[m + 8 >> 3]; + i = 1.0 / +h[b + 352 >> 3]; + h[g + 16 >> 3] = i + k; + h[g + 24 >> 3] = i + j; + h[g >> 3] = k - i; + h[g + 8 >> 3] = j - i; + d = c[(c[b >> 2] | 0) + 168 >> 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[e + 16 >> 2] = c[g + 16 >> 2]; + c[e + 20 >> 2] = c[g + 20 >> 2]; + c[e + 24 >> 2] = c[g + 24 >> 2]; + c[e + 28 >> 2] = c[g + 28 >> 2]; + d = BP(d, e) | 0; + e = b + 576 | 0; + if ((d | 0) != (c[e >> 2] | 0)) { + CP(b); + c[e >> 2] = d; + DP(b); + a[b + 537 >> 0] = 1 + } + l = f; + return + } + + function AP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0; + if (!(c[b + 360 >> 2] | 0)) { + e = +h[b + 352 >> 3]; + f = +h[d + 8 >> 3]; + g = e; + i = b + 528 | 0; + e = +h[d >> 3] / (+h[b + 520 >> 3] * e) - +h[b + 504 >> 3] + } else { + e = +h[b + 352 >> 3]; + f = -+h[d >> 3]; + g = e; + i = b + 520 | 0; + e = +h[d + 8 >> 3] / (+h[b + 528 >> 3] * e) - +h[b + 504 >> 3] + } + g = f / (+h[i >> 3] * g) - +h[b + 512 >> 3]; + h[a >> 3] = e; + h[a + 8 >> 3] = g; + return + } + + function BP(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g; + e = Sy(a) | 0; + a:while (1) { + if (!e) { + e = 9; + break + } + d = Ex(a, e) | 0; + while (1) { + if (!d) break; + 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 ((WM(d, f) | 0) << 24 >> 24) { + e = 6; + break a + } + d = Gx(a, d) | 0 + } + e = Ty(a, e) | 0 + } + do if ((e | 0) != 6) if ((e | 0) == 9) { + d = Uy(a) | 0; + while (1) { + if (!d) break; + 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 ((TM(d, f) | 0) << 24 >> 24) { + e = 12; + break + } + d = Vy(a, d) | 0 + } + if ((e | 0) == 12) break; + 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]; + d = EP(a, f) | 0; + if (!d) { + d = a; + break + } else break + } while (0); + l = g; + return d | 0 + } + + function CP(b) { + b = b | 0; + var d = 0; + d = c[b + 576 >> 2] | 0; + a:do if (d | 0) switch (pz(d) | 0) { + case 0: { + d = (c[d + 16 >> 2] | 0) + 112 | 0; + a[d >> 0] = a[d >> 0] & -2; + break a + } + case 1: { + d = (c[d + 16 >> 2] | 0) + 117 | 0; + a[d >> 0] = a[d >> 0] & -2; + break a + } + case 2: { + d = (c[d + 16 >> 2] | 0) + 115 | 0; + a[d >> 0] = a[d >> 0] & -2; + break a + } + default: + break a + } while (0); + c[b + 584 >> 2] = 0; + return + } + + function DP(b) { + b = b | 0; + var d = 0, e = 0; + e = b + 584 | 0; + d = c[e >> 2] | 0; + if (d | 0) { + D_(d); + c[e >> 2] = 0 + } + d = c[b + 576 >> 2] | 0; + a:do if (d | 0) switch (pz(d) | 0) { + case 0: { + b = (c[d + 16 >> 2] | 0) + 112 | 0; + a[b >> 0] = a[b >> 0] | 1; + b = nx(d, 0, 138019, 0) | 0; + if (!b) break a; + c[e >> 2] = pH(yx(d, b) | 0, d) | 0; + break a + } + case 1: { + b = (c[d + 16 >> 2] | 0) + 117 | 0; + a[b >> 0] = a[b >> 0] | 1; + b = nx(ez(d) | 0, 1, 138019, 0) | 0; + if (!b) break a; + c[e >> 2] = pH(yx(d, b) | 0, d) | 0; + break a + } + case 2: { + b = (c[d + 16 >> 2] | 0) + 115 | 0; + a[b >> 0] = a[b >> 0] | 1; + b = nx(ez(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0, 2, 138019, 0) | 0; + if (!b) break a; + c[e >> 2] = pH(yx(d, b) | 0, d) | 0; + break a + } + default: + break a + } while (0); + return + } + + function EP(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0; + m = l; + l = l + 32 | 0; + e = m; + g = c[a + 16 >> 2] | 0; + i = c[g + 180 >> 2] | 0; + j = g + 184 | 0; + d = 1; + while (1) { + if ((d | 0) > (i | 0)) { + k = 4; + break + } + f = c[(c[j >> 2] | 0) + (d << 2) >> 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]; + f = EP(f, e) | 0; + if (!f) d = d + 1 | 0; else { + a = f; + break + } + } + do if ((k | 0) == 4) { + o = +h[g + 24 >> 3]; + n = +h[g + 40 >> 3]; + if (((+h[b + 16 >> 3] >= +h[g + 16 >> 3] ? +h[g + 32 >> 3] >= +h[b >> 3] : 0) ? +h[b + 24 >> 3] >= o : 0) ? n >= +h[b + 8 >> 3] : 0) break; + a = 0 + } while (0); + l = m; + return a | 0 + } + + function FP(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = b + 580 | 0; + d = c[f >> 2] | 0; + a:do if (d | 0) switch (pz(d) | 0) { + case 0: { + e = (c[d + 16 >> 2] | 0) + 112 | 0; + a[e >> 0] = a[e >> 0] & -7 | 4; + break a + } + case 1: { + e = (c[d + 16 >> 2] | 0) + 117 | 0; + a[e >> 0] = a[e >> 0] & -7 | 4; + break a + } + case 2: { + e = (c[d + 16 >> 2] | 0) + 115 | 0; + a[e >> 0] = a[e >> 0] & -7 | 4; + break a + } + default: + break a + } while (0); + d = b + 588 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + D_(e); + c[d >> 2] = 0 + } + d = c[b + 576 >> 2] | 0; + c[f >> 2] = d; + b:do if (d | 0) switch (pz(d) | 0) { + case 0: { + f = (c[d + 16 >> 2] | 0) + 112 | 0; + a[f >> 0] = a[f >> 0] | 2; + GP(b, d); + break b + } + case 1: { + f = (c[d + 16 >> 2] | 0) + 117 | 0; + a[f >> 0] = a[f >> 0] | 2; + HP(b, d); + break b + } + case 2: { + f = (c[d + 16 >> 2] | 0) + 115 | 0; + a[f >> 0] = a[f >> 0] | 2; + IP(b, d); + break b + } + default: + break b + } while (0); + return + } + + function GP(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = a + 592 | 0; + do if ((fz(b) | 0) == (b | 0)) if (!(ey(b) | 0)) { + rC(d, 0, 108412); + break + } else { + rC(d, 0, 108404); + break + } else rC(d, 0, 108418); while (0); + rC(d, 1, ry(b) | 0); + c[a + 596 >> 2] = 2; + f = a + 604 | 0; + d = 0; + e = 2; + while (1) { + d = sx(b, 0, d) | 0; + if (!d) break; + rC(f, e, c[d + 8 >> 2] | 0); + rC(f, e + 1 | 0, yx(b, d) | 0); + rC(f, e + 2 | 0, 0); + e = e + 3 | 0 + } + c[a + 608 >> 2] = e; + d = nx(b, 0, 137973, 0) | 0; + if (!d) { + d = nx(b, 0, 108395, 0) | 0; + if (d | 0) g = 11 + } else g = 11; + if ((g | 0) == 11) c[a + 588 >> 2] = pH(yx(b, d) | 0, b) | 0; + return + } + + function HP(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + f = a + 592 | 0; + rC(f, 0, 108399); + rC(f, 1, ry(b) | 0); + c[a + 596 >> 2] = 2; + f = a + 604 | 0; + g = fz(ez(b) | 0) | 0; + e = 2; + d = 0; + while (1) { + d = sx(g, 1, d) | 0; + if (!d) break; + rC(f, e, c[d + 8 >> 2] | 0); + rC(f, e | 1, yx(b, d) | 0); + e = e + 2 | 0 + } + c[a + 608 >> 2] = e; + d = nx(ez(b) | 0, 1, 137973, 0) | 0; + if (!d) { + d = nx(ez(b) | 0, 1, 108395, 0) | 0; + if (d | 0) h = 6 + } else h = 6; + if ((h | 0) == 6) c[a + 588 >> 2] = pH(yx(b, d) | 0, b) | 0; + return + } + + function IP(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; + h = a + 592 | 0; + rC(h, 0, 108368); + k = b + 48 | 0; + rC(h, 1, ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : k) + 40 >> 2] | 0) | 0); + k = (ey(ez(c[((c[b >> 2] & 3 | 0) == 3 ? b : k) + 40 >> 2] | 0) | 0) | 0) != 0; + rC(h, 3, k ? 134656 : 138665); + k = b + -48 | 0; + rC(h, 4, ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : k) + 40 >> 2] | 0) | 0); + c[a + 596 >> 2] = 7; + i = a + 604 | 0; + j = fz(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : k) + 40 >> 2] | 0) | 0) | 0; + g = 7; + d = 0; + a:while (1) { + while (1) { + d = sx(j, 2, d) | 0; + if (!d) break a; + e = d + 8 | 0; + f = c[e >> 2] | 0; + if (!(b$(f, 108373) | 0)) { + l = 5; + break + } + if (!(b$(f, 108382) | 0)) { + l = 7; + break + } + if (b$(f, 108391) | 0) break; + rC(h, 6, yx(b, d) | 0) + } + if ((l | 0) == 5) { + l = 0; + rC(h, 2, yx(b, d) | 0) + } else if ((l | 0) == 7) { + l = 0; + rC(h, 5, yx(b, d) | 0) + } + rC(i, g, c[e >> 2] | 0); + rC(i, g + 1 | 0, yx(b, d) | 0); + g = g + 2 | 0 + } + c[a + 608 >> 2] = g; + d = nx(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : k) + 40 >> 2] | 0) | 0, 2, 137973, 0) | 0; + if (!d) { + d = nx(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : k) + 40 >> 2] | 0) | 0, 2, 108395, 0) | 0; + if (d | 0) l = 13 + } else l = 13; + if ((l | 0) == 13) c[a + 588 >> 2] = pH(yx(b, d) | 0, b) | 0; + return + } + + function JP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = KP(a, b, c[d >> 2] | 0) | 0; + d = c[d + 4 >> 2] | 0; + while (1) { + f = c[d + 4 >> 2] | 0; + if (!f) break; + b = 0; + while (1) { + e = c[f + (b * 20 | 0) + 4 >> 2] | 0; + if (!e) break; + uC(a, c[d >> 2] | 0, e, c[f + (b * 20 | 0) + 8 >> 2] | 0, g, f + (b * 20 | 0) | 0) | 0; + b = b + 1 | 0 + } + d = d + 8 | 0 + } + return + } + + function KP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = vH(12) | 0; + if (!b) b = 0; else b = n1(b) | 0; + c[e + 4 >> 2] = b; + c[e + 8 >> 2] = n1(d) | 0; + d = a + 100 | 0; + c[e >> 2] = c[d >> 2]; + c[d >> 2] = e; + return e | 0 + } + + function LP(b, c) { + b = b | 0; + c = c | 0; + MP(b); + a[b + 44 >> 0] = 0; + NP(b) | 0; + AL(b) | 0; + return + } + + function MP(b) { + b = b | 0; + var d = 0, e = 0; + d = c[b + 32 >> 2] | 0; + a:do if (d | 0) while (1) { + e = c[d >> 2] | 0; + if (!e) break a; + if ((a[e >> 0] | 0) == 103 ? P0(e, 108427) | 0 : 0) JP(b, 0, c[d + 4 >> 2] | 0); + d = d + 8 | 0 + } while (0); + return + } + + function NP(a) { + a = a | 0; + var b = 0; + b = wC(a, 2, 108440) | 0; + if (!b) a = 999; else { + c[a + 148 >> 2] = c[(c[b + 16 >> 2] | 0) + 12 >> 2]; + a = 300 + } + return a | 0 + } + + function OP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + a = c[a + 148 >> 2] | 0; + if ((a | 0) != 0 ? (e = c[a >> 2] | 0, (e | 0) != 0) : 0) a = lb[e & 127](b, d) | 0; else a = 0; + return a | 0 + } + + function PP(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + return (c[b >> 2] | 0) - (c[d >> 2] | 0) | 0 + } + + function QP(a) { + a = a | 0; + var b = 0.0, d = 0.0; + a = c[a + 16 >> 2] | 0; + d = +h[a + 16 >> 3]; + b = +h[a + 24 >> 3]; + return (RP(~~(d > b ? d : b) >>> 0) | 0) + 1 | 0 + } + + function RP(a) { + a = a | 0; + var b = 0, c = 0; + if (!a) a = -1; else { + c = a >>> 0 > 65535; + a = c ? a >>> 16 : a; + c = c ? 16 : 0; + b = a >>> 0 > 255; + a = b ? a >>> 8 : a; + c = b ? c | 8 : c; + b = a >>> 0 > 15; + a = b ? a >>> 4 : a; + c = b ? c | 4 : c; + b = a >>> 0 > 3; + a = (b ? c | 2 : c) + ((b ? a >>> 2 : a) >>> 0 > 1 & 1) | 0 + } + return a | 0 + } + + function SP(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 32 | 0; + q = r; + p = TP(b, d, e, f, g) | 0; + e = UP(p) | 0; + if ((e | 0) >= 0) { + n = q + 16 | 0; + o = q + 24 | 0; + m = q + 8 | 0; + k = g + 32 | 0; + e = 0; + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + f = b + (g * 40 | 0) + 32 | 0; + do if (c[f >> 2] | 0) { + VP(q, p, b + (g * 40 | 0) | 0); + i = +h[n >> 3]; + j = +h[o >> 3]; + if (!(c[q >> 2] | 0)) { + a[(c[f >> 2] | 0) + 36 >> 0] = 1; + break + } + if (+h[m >> 3] == 0.0) { + f = c[f >> 2] | 0; + h[f + 16 >> 3] = i; + h[f + 24 >> 3] = j; + a[f + 36 >> 0] = 1; + break + } + if ((a[k >> 0] | 0) == 1) { + f = c[f >> 2] | 0; + h[f + 16 >> 3] = i; + h[f + 24 >> 3] = j; + a[f + 36 >> 0] = 1 + } else e = 1 + } while (0); + g = g + 1 | 0 + } + WP(p) + } + l = r; + return e | 0 + } + + function TP(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + g = uH(28) | 0; + j = Cw(25808, c[4558] | 0) | 0; + h = g + 20 | 0; + c[h >> 2] = j; + do if (j) { + j = CS() | 0; + c[g + 24 >> 2] = j; + if (!j) { + E1(108658, 14, 1, c[15686] | 0) | 0; + i = 6; + break + } else { + c[g >> 2] = a; + c[g + 4 >> 2] = b; + c[g + 8 >> 2] = d; + c[g + 12 >> 2] = e; + c[g + 16 >> 2] = f; + break + } + } else { + E1(108658, 14, 1, c[15686] | 0) | 0; + i = 6 + } while (0); + if ((i | 0) == 6) { + a = c[h >> 2] | 0; + if (a | 0) yw(a) | 0; + a = c[g + 24 >> 2] | 0; + if (a | 0) ES(a) | 0; + D_(g); + g = 0 + } + return g | 0 + } + + function UP(a) { + a = a | 0; + var b = 0; + b = dQ(a) | 0; + if ((b | 0) >= 0) { + eQ(a); + fQ(a); + b = yw(c[a + 20 >> 2] | 0) | 0 + } + return b | 0 + } + + function VP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0.0, j = 0, k = 0.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.0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, + H = 0, I = 0, J = 0, K = 0.0, L = 0, M = 0; + M = l; + l = l + 464 | 0; + J = M + 416 | 0; + L = M + 400 | 0; + G = M + 384 | 0; + m = M + 352 | 0; + n = M + 320 | 0; + o = M + 288 | 0; + p = M + 256 | 0; + r = M + 224 | 0; + s = M + 192 | 0; + t = M + 160 | 0; + u = M + 128 | 0; + v = M + 96 | 0; + x = M + 64 | 0; + y = M + 32 | 0; + H = M; + z = c[d + 32 >> 2] | 0; + e = +h[z >> 3]; + C = d + 16 | 0; + A = (e * 2.0 + +h[C >> 3]) * .125; + D = z + 8 | 0; + I = d + 24 | 0; + i = +h[I >> 3]; + K = (+h[D >> 3] * 2.0 + i) * .5; + if (!z) qa(108451, 108461, 445, 108471); + f = J; + g = f + 36 | 0; + do { + c[f >> 2] = 0; + f = f + 4 | 0 + } while ((f | 0) < (g | 0)); + B = z + 16 | 0; + h[B >> 3] = +h[d >> 3] - e; + E = d + 8 | 0; + F = z + 24 | 0; + h[F >> 3] = i + +h[E >> 3]; + XP(m, b, d, J); + j = c[m >> 2] | 0; + f = c[m + 4 >> 2] | 0; + e = +h[m + 8 >> 3]; + m = m + 16 | 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]; + a:do if (!j) { + c[a >> 2] = 0; + c[a + 4 >> 2] = f; + h[a + 8 >> 3] = e; + a = a + 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] + } else { + h[F >> 3] = +h[E >> 3]; + XP(n, b, d, J); + g = c[n >> 2] | 0; + m = c[n + 4 >> 2] | 0; + i = +h[n + 8 >> 3]; + n = n + 16 | 0; + c[G >> 2] = c[n >> 2]; + c[G + 4 >> 2] = c[n + 4 >> 2]; + c[G + 8 >> 2] = c[n + 8 >> 2]; + c[G + 12 >> 2] = c[n + 12 >> 2]; + if (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = m; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + f = m; + e = i + } else g = j; + h[F >> 3] = +h[E >> 3] - +h[D >> 3]; + XP(o, b, d, J); + m = c[o >> 2] | 0; + j = c[o + 4 >> 2] | 0; + i = +h[o + 8 >> 3]; + o = o + 16 | 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]; + if (!m) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + f = j; + e = i + } else m = g; + h[B >> 3] = +h[d >> 3]; + h[F >> 3] = +h[I >> 3] + +h[E >> 3]; + XP(p, b, d, J); + g = c[p >> 2] | 0; + j = c[p + 4 >> 2] | 0; + i = +h[p + 8 >> 3]; + p = p + 16 | 0; + c[G >> 2] = c[p >> 2]; + c[G + 4 >> 2] = c[p + 4 >> 2]; + c[G + 8 >> 2] = c[p + 8 >> 2]; + c[G + 12 >> 2] = c[p + 12 >> 2]; + if (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + m = g; + f = j; + e = i + } + h[F >> 3] = +h[E >> 3] - +h[D >> 3]; + XP(r, b, d, J); + g = c[r >> 2] | 0; + j = c[r + 4 >> 2] | 0; + i = +h[r + 8 >> 3]; + r = r + 16 | 0; + c[G >> 2] = c[r >> 2]; + c[G + 4 >> 2] = c[r + 4 >> 2]; + c[G + 8 >> 2] = c[r + 8 >> 2]; + c[G + 12 >> 2] = c[r + 12 >> 2]; + if (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + m = g; + f = j; + e = i + } + h[B >> 3] = +h[C >> 3] + +h[d >> 3]; + h[F >> 3] = +h[I >> 3] + +h[E >> 3]; + XP(s, b, d, J); + g = c[s >> 2] | 0; + j = c[s + 4 >> 2] | 0; + i = +h[s + 8 >> 3]; + s = s + 16 | 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]; + if (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + m = g; + f = j; + e = i + } + h[F >> 3] = +h[E >> 3]; + XP(t, b, d, J); + g = c[t >> 2] | 0; + j = c[t + 4 >> 2] | 0; + i = +h[t + 8 >> 3]; + t = t + 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 (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + m = g; + f = j; + e = i + } + h[F >> 3] = +h[E >> 3] - +h[D >> 3]; + XP(u, b, d, J); + g = c[u >> 2] | 0; + j = c[u + 4 >> 2] | 0; + i = +h[u + 8 >> 3]; + u = u + 16 | 0; + c[G >> 2] = c[u >> 2]; + c[G + 4 >> 2] = c[u + 4 >> 2]; + c[G + 8 >> 2] = c[u + 8 >> 2]; + c[G + 12 >> 2] = c[u + 12 >> 2]; + if (!g) { + c[a >> 2] = 0; + c[a + 4 >> 2] = j; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break + } + if (i < e) { + 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]; + f = j; + e = i + } else g = m; + j = (c[J + 28 >> 2] | 0) == 0; + do if (!(c[J + 24 >> 2] | 0)) if (j) { + if (c[J + 32 >> 2] | 0) { + w = 38; + break + } + if (!((c[J + 12 >> 2] | 0) == 0 & (c[J >> 2] | 0) == 0)) w = 38 + } else w = 46; else if (j) w = 38; else w = 46; while (0); + b:do if ((w | 0) == 38) if (!(c[J + 32 >> 2] | 0)) { + h[B >> 3] = +h[d >> 3] - +h[z >> 3]; + p = v + 4 | 0; + r = v + 8 | 0; + s = v + 16 | 0; + m = F; + j = E; + i = +h[I >> 3]; + c:while (1) { + while (1) { + h[m >> 3] = +h[j >> 3] + i; + if (!(+h[B >> 3] <= +h[C >> 3] + +h[d >> 3])) { + w = 46; + break b + } + XP(v, b, d, J); + n = c[v >> 2] | 0; + o = c[p >> 2] | 0; + k = +h[r >> 3]; + 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]; + if (!n) break c; + if (k < e) break; else { + m = B; + j = B; + i = A + } + } + 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]; + m = B; + j = B; + i = A; + g = n; + f = o; + e = k + } + c[a >> 2] = 0; + c[a + 4 >> 2] = o; + h[a + 8 >> 3] = k; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break a + } else w = 46; while (0); + d:do if ((w | 0) == 46) if ((c[J + 12 >> 2] | 0) == 0 & (c[J >> 2] | 0) == 0) { + h[B >> 3] = +h[d >> 3] - +h[z >> 3]; + k = +h[E >> 3]; + n = x + 4 | 0; + o = x + 8 | 0; + p = x + 16 | 0; + i = k; + k = +h[I >> 3] + k; + while (1) { + h[F >> 3] = k; + if (!(k >= i - +h[D >> 3])) break d; + XP(x, b, d, J); + j = c[x >> 2] | 0; + m = c[n >> 2] | 0; + i = +h[o >> 3]; + c[G >> 2] = c[p >> 2]; + c[G + 4 >> 2] = c[p + 4 >> 2]; + c[G + 8 >> 2] = c[p + 8 >> 2]; + c[G + 12 >> 2] = c[p + 12 >> 2]; + if (!j) break; + if (i < e) { + 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]; + g = j; + f = m; + e = i + } + i = +h[E >> 3]; + k = +h[F >> 3] - K + } + c[a >> 2] = 0; + c[a + 4 >> 2] = m; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break a + } while (0); + i = +h[d >> 3]; + k = +h[C >> 3] + i; + h[B >> 3] = k; + q = +h[D >> 3]; + h[F >> 3] = +h[E >> 3] - q; + j = c[J + 4 >> 2] | 0; + do if (!(c[J + 8 >> 2] | 0)) { + m = c[J >> 2] | 0; + if (!((j | 0) == 0 & (m | 0) == 0)) { + w = 59; + break + } + if (c[J + 20 >> 2] | 0) { + j = 0; + m = 0; + w = 59; + break + } + if (c[J + 32 >> 2] | 0) { + j = 0; + m = 0; + w = 59 + } + } else { + m = c[J >> 2] | 0; + w = 59 + } while (0); + e:do if ((w | 0) == 59) { + f:do if ((j | 0) == 0 & (m | 0) == 0) { + h[B >> 3] = k; + p = y + 4 | 0; + r = y + 8 | 0; + s = y + 16 | 0; + m = F; + j = E; + i = q; + g:while (1) { + while (1) { + h[m >> 3] = +h[j >> 3] - i; + i = +h[d >> 3]; + if (!(+h[B >> 3] >= i - +h[z >> 3])) break f; + XP(y, b, d, J); + n = c[y >> 2] | 0; + o = c[p >> 2] | 0; + k = +h[r >> 3]; + 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]; + if (!n) break g; + if (k < e) break; else { + m = B; + j = B; + i = A + } + } + 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]; + m = B; + j = B; + i = A; + g = n; + f = o; + e = k + } + c[a >> 2] = 0; + c[a + 4 >> 2] = o; + h[a + 8 >> 3] = k; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break a + } while (0); + if (c[J + 20 >> 2] | 0) break; + if (c[J + 32 >> 2] | 0) break; + h[B >> 3] = +h[C >> 3] + i; + i = +h[E >> 3]; + n = H + 4 | 0; + o = H + 8 | 0; + p = H + 16 | 0; + k = i; + i = i - +h[D >> 3]; + while (1) { + h[F >> 3] = i; + if (!(i <= +h[I >> 3] + k)) break e; + XP(H, b, d, J); + j = c[H >> 2] | 0; + m = c[n >> 2] | 0; + i = +h[o >> 3]; + c[G >> 2] = c[p >> 2]; + c[G + 4 >> 2] = c[p + 4 >> 2]; + c[G + 8 >> 2] = c[p + 8 >> 2]; + c[G + 12 >> 2] = c[p + 12 >> 2]; + if (!j) break; + if (i < e) { + 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]; + g = j; + f = m; + e = i + } + k = +h[E >> 3]; + i = +h[F >> 3] + K + } + c[a >> 2] = 0; + c[a + 4 >> 2] = m; + h[a + 8 >> 3] = i; + a = a + 16 | 0; + c[a >> 2] = c[G >> 2]; + c[a + 4 >> 2] = c[G + 4 >> 2]; + c[a + 8 >> 2] = c[G + 8 >> 2]; + c[a + 12 >> 2] = c[G + 12 >> 2]; + break a + } while (0); + c[a >> 2] = g; + c[a + 4 >> 2] = f; + h[a + 8 >> 3] = e; + a = a + 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] + } while (0); + l = M; + return + } + + function WP(a) { + a = a | 0; + ES(c[a + 24 >> 2] | 0) | 0; + D_(a); + return + } + + function XP(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0.0, o = 0, p = 0, q = 0, r = 0.0, s = 0, t = 0; + t = l; + l = l + 48 | 0; + q = t + 32 | 0; + s = t + 16 | 0; + p = t; + g = c[e + 32 >> 2] | 0; + if (!g) qa(108451, 108461, 382, 108480); + o = g + 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]; + o = d + 4 | 0; + m = 0; + g = 0; + while (1) { + if ((m | 0) >= (c[o >> 2] | 0)) break; + j = c[d >> 2] | 0; + k = j + (m * 40 | 0) | 0; + do if ((k | 0) != (e | 0)) { + if (+h[j + (m * 40 | 0) + 16 >> 3] > 0.0 ? +h[j + (m * 40 | 0) + 24 >> 3] > 0.0 : 0) break; + g = g + ((YP(e, k) | 0) != 0 & 1) | 0 + } while (0); + m = m + 1 | 0 + } + ZP(e, q); + m = c[d + 24 >> 2] | 0; + m = GS(m, c[m >> 2] | 0, q) | 0; + if (!m) { + c[b >> 2] = g; + h[b + 8 >> 3] = 0.0; + s = b + 16 | 0; + 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] + } else { + k = m; + i = 0.0; + while (1) { + if (!k) break; + j = c[(c[k + 4 >> 2] | 0) + 16 >> 2] | 0; + if ((j | 0) != (e | 0)) { + _P(j, s); + n = +$P(q, s); + if (n > 0.0) { + g = g + 1 | 0; + i = +aQ(e, j, q, n, f) + i + } + d = c[j + 32 >> 2] | 0; + if (((d | 0) != 0 ? (a[d + 36 >> 0] | 0) != 0 : 0) ? (ZP(j, s), r = +$P(q, s), r > 0.0) : 0) { + g = g + 1 | 0; + i = +bQ(e, j, q, r, f) + i + } + } + k = c[k >> 2] | 0 + } + BS(m); + c[b >> 2] = g; + h[b + 8 >> 3] = i; + s = b + 16 | 0; + 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] + } + l = t; + return + } + + function YP(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0; + a = c[a + 32 >> 2] | 0; + if (+h[b + 16 >> 3] == 0.0 ? +h[b + 24 >> 3] == 0.0 : 0) { + if ((((a | 0) != 0 ? (d = +h[b >> 3], e = +h[a + 16 >> 3], d > e) : 0) ? d < +h[a >> 3] + e : 0) ? (f = +h[b + 8 >> 3], g = +h[a + 24 >> 3], f > g) : 0) a = f < +h[a + 8 >> 3] + g & 1; else a = 0; + return a | 0 + } + qa(108517, 108461, 219, 108554); + return 0 + } + + function ZP(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0; + a = c[a + 32 >> 2] | 0; + e = +h[a + 16 >> 3]; + c[b >> 2] = ~~e; + d = +h[a + 24 >> 3]; + c[b + 4 >> 2] = ~~d; + c[b + 8 >> 2] = ~~(+h[a >> 3] + e); + c[b + 12 >> 2] = ~~(+h[a + 8 >> 3] + d); + return + } + + function _P(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0; + e = +h[a >> 3]; + c[b >> 2] = ~~e; + d = +h[a + 8 >> 3]; + c[b + 4 >> 2] = ~~d; + c[b + 8 >> 2] = ~~(+h[a + 16 >> 3] + e); + c[b + 12 >> 2] = ~~(+h[a + 24 >> 3] + d); + return + } + + function $P(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + i = c[a + 8 >> 2] | 0; + j = c[b >> 2] | 0; + if ((((i | 0) >= (j | 0) ? (k = c[a >> 2] | 0, l = c[b + 8 >> 2] | 0, (k | 0) <= (l | 0)) : 0) ? (e = c[a + 12 >> 2] | 0, f = c[b + 4 >> 2] | 0, (e | 0) >= (f | 0)) : 0) ? (g = c[a + 4 >> 2] | 0, h = c[b + 12 >> 2] | 0, (g | 0) <= (h | 0)) : 0) d = (+(c[((e | 0) < (h | 0) ? a : b) + 12 >> 2] | 0) - +(c[((g | 0) > (f | 0) ? a : b) + 4 >> 2] | 0)) * (+(c[((i | 0) < (l | 0) ? a : b) + 8 >> 2] | 0) - +(c[((k | 0) > (j | 0) ? a : b) >> 2] | 0)); else d = 0.0; + return +d + } + + function aQ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = f | 0; + var g = 0.0, h = 0.0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + a = cQ(a, b) | 0; + f = f + (((a | 0) < 0 ? 5 : a) << 2) | 0; + a = c[f >> 2] | 0; + if (!a) { + c[f >> 2] = b; + g = e + } else { + _P(a, i); + g = +$P(d, i); + g = g > e ? g : 0.0; + a = c[f >> 2] | 0; + if ((c[a + 32 >> 2] | 0) != 0 ? (ZP(a, i), h = +$P(d, i), h > e) : 0) g = h > g ? h : g; + if (!(g > 0.0)) { + c[f >> 2] = b; + g = e + } + } + l = j; + return +g + } + + function bQ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = f | 0; + var g = 0.0, h = 0.0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + a = cQ(a, b) | 0; + f = f + (((a | 0) < 0 ? 5 : a) << 2) | 0; + a = c[f >> 2] | 0; + if (!a) { + c[f >> 2] = b; + g = e + } else { + _P(a, i); + g = +$P(d, i); + g = g > e ? g : 0.0; + a = c[f >> 2] | 0; + if ((c[a + 32 >> 2] | 0) != 0 ? (ZP(a, i), h = +$P(d, i), h > e) : 0) g = h > g ? h : g; + if (!(g > 0.0)) { + c[f >> 2] = b; + g = e + } + } + l = j; + return +g + } + + function cQ(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0; + e = c[b + 32 >> 2] | 0; + f = c[d + 32 >> 2] | 0; + if ((e | 0) == (f | 0)) qa(108496, 108461, 276, 108506); + do if ((a[e + 36 >> 0] | 0) != 0 ? (a[f + 36 >> 0] | 0) != 0 : 0) { + j = +h[b >> 3]; + if (j == 0.0 ? +h[b + 8 >> 3] == 0.0 : 0) { + e = -1; + break + } + k = +h[d >> 3]; + i = +h[d + 8 >> 3]; + if (!(k == 0.0 & i == 0.0)) { + g = +h[b + 8 >> 3]; + if (i < g) { + if (k < j) { + e = 0; + break + } + e = k > j ? 2 : 1; + break + } + e = k < j; + if (i > g) { + if (e) { + e = 6; + break + } + e = k > j ? 8 : 7; + break + } + if (!e) if (k > j) e = 5; else e = -1; else e = 3 + } else e = -1 + } else e = -1; while (0); + return e | 0 + } + + function dQ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + k = l; + l = l + 32 | 0; + d = k + 24 | 0; + e = k + 16 | 0; + f = k; + g = QP(a) | 0; + h = a + 4 | 0; + i = e + 4 | 0; + j = a + 20 | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[h >> 2] | 0)) { + b = 0; + break + } + m = uH(32) | 0; + o = (c[a >> 2] | 0) + (b * 40 | 0) | 0; + n = m + 12 | 0; + c[m + 28 >> 2] = o; + gQ(f, o); + 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]; + n = c[n >> 2] | 0; + c[e >> 2] = (((c[m + 20 >> 2] | 0) - n | 0) / 2 | 0) + n; + n = c[m + 16 >> 2] | 0; + c[i >> 2] = (((c[m + 24 >> 2] | 0) - n | 0) / 2 | 0) + n; + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = c[e + 4 >> 2]; + c[m + 8 >> 2] = hQ(d, g) | 0; + n = c[j >> 2] | 0; + if (!(nb[c[n >> 2] & 63](n, m, 1) | 0)) { + b = -1; + break + } else b = b + 1 | 0 + } + l = k; + return b | 0 + } + + function eQ(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 20 | 0; + e = c[d >> 2] | 0; + b = a + 24 | 0; + a = nb[c[e >> 2] & 63](e, 0, 128) | 0; + while (1) { + if (!a) break; + e = c[b >> 2] | 0; + HS(e, a + 12 | 0, c[a + 28 >> 2] | 0, e, 0) | 0; + e = c[d >> 2] | 0; + a = nb[c[e >> 2] & 63](e, a, 8) | 0 + } + return + } + + function fQ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + e = a + 20 | 0; + f = Ew(c[e >> 2] | 0) | 0; + d = 0; + while (1) { + if (!(Ew(c[e >> 2] | 0) | 0)) break; + g = c[e >> 2] | 0; + a = c[(c[g + 8 >> 2] | 0) + 4 >> 2] | 0; + if (!a) { + h = 8; + break + } + b = c[(c[g + 4 >> 2] | 0) + 8 >> 2] | 0; + if ((b | 0) < 0) a = c[a + 8 >> 2] | 0; else a = a + (0 - b) | 0; + if (!a) { + h = 8; + break + } + nb[c[g >> 2] & 63](g, a, 4096) | 0; + D_(a); + d = d + 1 | 0 + } + if ((h | 0) == 8) qa(108567, 108461, 616, 108570); + if ((f | 0) == (d | 0)) return; else qa(108582, 108461, 623, 108570) + } + + function gQ(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, l = 0.0; + d = c[b + 32 >> 2] | 0; + if (!d) { + e = 0.0; + f = 0.0 + } else { + e = +h[d >> 3]; + f = +h[d + 8 >> 3] + } + l = +h[b >> 3]; + k = ~~+A(+(l - e)); + g = +h[b + 8 >> 3]; + j = ~~+A(+(g - f)); + i = ~~+N(+(l + e + +h[b + 16 >> 3])); + if ((i | 0) == 2147483647) qa(108594, 108461, 264, 108621); + d = ~~+N(+(g + f + +h[b + 24 >> 3])); + if ((d | 0) == 2147483647) qa(108631, 108461, 266, 108621); else { + c[a >> 2] = k; + c[a + 4 >> 2] = j; + c[a + 8 >> 2] = i; + c[a + 12 >> 2] = d; + return + } + } + + function hQ(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + f = 0; + e = c[a >> 2] | 0; + d = c[a + 4 >> 2] | 0; + while (1) { + a = b + -1 | 0; + if ((b | 0) <= 0) break; + i = e >>> a & 1; + b = d >>> a & 1; + g = b + -1 | 0; + h = g & (e ^ d); + g = g & 0 - i; + f = i << 1 | f << 2 | i ^ b; + b = a; + e = h ^ e ^ g; + d = h ^ d ^ g + } + return f | 0 + } + + function iQ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = W_(b) | 0; + if (d >>> 0 >= (c[46595] | 0) >>> 0) { + d = d + 11 | 0; + c[46595] = d; + d = xH(c[46596] | 0, d) | 0; + c[46596] = d; + if (!d) d = 0; else e = 4 + } else { + d = c[46596] | 0; + e = 4 + } + if ((e | 0) == 4) { + g = d; + while (1) { + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) break; + f = e & 255; + if (Q$(f) | 0) e = (P$(f) | 0) & 255; + a[g >> 0] = e; + g = g + 1 | 0; + b = b + 1 | 0 + } + a[g >> 0] = 0 + } + return d | 0 + } + + function jQ(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0.0; + F = l; + l = l + 144 | 0; + s = F + 96 | 0; + p = F + 80 | 0; + v = F + 124 | 0; + t = F + 72 | 0; + w = F + 64 | 0; + x = F + 56 | 0; + C = F + 48 | 0; + D = F + 40 | 0; + E = F + 32 | 0; + y = F + 24 | 0; + z = F + 16 | 0; + A = F + 8 | 0; + B = F; + i = F + 120 | 0; + m = F + 116 | 0; + n = F + 112 | 0; + o = F + 108 | 0; + c[e + 32 >> 2] = f; + r = b; + while (1) if ((a[r >> 0] | 0) == 32) r = r + 1 | 0; else break; + c[o >> 2] = 255; + b = a[r >> 0] | 0; + a:do if (b << 24 >> 24 == 35) { + c[p >> 2] = i; + c[p + 4 >> 2] = m; + c[p + 8 >> 2] = n; + c[p + 12 >> 2] = o; + if ((N1(r, 108673, p) | 0) <= 2) { + b = a[r >> 0] | 0; + q = 12; + break + } + switch (f | 0) { + case 0: { + G = +((c[i >> 2] | 0) >>> 0) * .00392156862745098; + h[C >> 3] = G; + g = +((c[m >> 2] | 0) >>> 0) * .00392156862745098; + h[D >> 3] = g; + j = +((c[n >> 2] | 0) >>> 0) * .00392156862745098; + h[E >> 3] = j; + k = +((c[o >> 2] | 0) >>> 0) * .00392156862745098; + kQ(G, g, j, t, w, x); + h[e >> 3] = +h[t >> 3]; + h[e + 8 >> 3] = +h[w >> 3]; + h[e + 16 >> 3] = +h[x >> 3]; + h[e + 24 >> 3] = k; + b = 0; + break a + } + case 1: { + a[e >> 0] = c[i >> 2]; + a[e + 1 >> 0] = c[m >> 2]; + a[e + 2 >> 0] = c[n >> 2]; + a[e + 3 >> 0] = c[o >> 2]; + b = 0; + break a + } + case 3: { + j = +((c[i >> 2] | 0) >>> 0) * .00392156862745098; + h[C >> 3] = j; + k = +((c[m >> 2] | 0) >>> 0) * .00392156862745098; + h[D >> 3] = k; + G = +((c[n >> 2] | 0) >>> 0) * .00392156862745098; + h[E >> 3] = G; + lQ(j, k, G, y, z, A, B); + a[e >> 0] = ~~+h[y >> 3] * 255; + a[e + 1 >> 0] = ~~+h[z >> 3] * 255; + a[e + 2 >> 0] = ~~+h[A >> 3] * 255; + a[e + 3 >> 0] = ~~+h[B >> 3] * 255; + b = 0; + break a + } + case 2: { + c[e >> 2] = (((c[i >> 2] | 0) * 65535 | 0) >>> 0) / 255 | 0; + c[e + 4 >> 2] = (((c[m >> 2] | 0) * 65535 | 0) >>> 0) / 255 | 0; + c[e + 8 >> 2] = (((c[n >> 2] | 0) * 65535 | 0) >>> 0) / 255 | 0; + c[e + 12 >> 2] = (((c[o >> 2] | 0) * 65535 | 0) >>> 0) / 255 | 0; + b = 0; + break a + } + case 4: { + h[e >> 3] = +((c[i >> 2] | 0) >>> 0) * .00392156862745098; + h[e + 8 >> 3] = +((c[m >> 2] | 0) >>> 0) * .00392156862745098; + h[e + 16 >> 3] = +((c[n >> 2] | 0) >>> 0) * .00392156862745098; + h[e + 24 >> 3] = +((c[o >> 2] | 0) >>> 0) * .00392156862745098; + b = 0; + break a + } + default: { + b = 0; + break a + } + } + } else q = 12; while (0); + b:do if ((q | 0) == 12) { + if (!(b << 24 >> 24 != 46 ? ((b & 255) + -48 | 0) >>> 0 >= 10 : 0)) { + b = W_(r) | 0; + if (b >>> 0 >= (c[46597] | 0) >>> 0) { + b = b + 11 | 0; + c[46597] = b; + b = xH(c[46598] | 0, b) | 0; + c[46598] = b; + if (!b) { + b = -1; + break + } + } else b = c[46598] | 0; + m = b; + i = r; + c:while (1) { + n = i + 1 | 0; + i = a[i >> 0] | 0; + switch (i << 24 >> 24) { + case 0: + break c; + case 44: { + i = 32; + break + } + default: { + } + } + a[m >> 0] = i; + m = m + 1 | 0; + i = n + } + a[m >> 0] = 0; + c[s >> 2] = t; + c[s + 4 >> 2] = w; + c[s + 8 >> 2] = x; + if ((N1(b, 108687, s) | 0) == 3) { + k = +h[t >> 3]; + k = k < 1.0 ? k : 1.0; + k = k > 0.0 ? k : 0.0; + h[t >> 3] = k; + j = +h[w >> 3]; + j = j < 1.0 ? j : 1.0; + j = j > 0.0 ? j : 0.0; + h[w >> 3] = j; + g = +h[x >> 3]; + g = g < 1.0 ? g : 1.0; + g = g > 0.0 ? g : 0.0; + h[x >> 3] = g; + switch (f | 0) { + case 0: { + h[e >> 3] = k; + h[e + 8 >> 3] = j; + h[e + 16 >> 3] = g; + h[e + 24 >> 3] = 1.0; + b = 0; + break b + } + case 1: { + mQ(k, j, g, C, D, E); + a[e >> 0] = ~~(+h[C >> 3] * 255.0); + a[e + 1 >> 0] = ~~(+h[D >> 3] * 255.0); + a[e + 2 >> 0] = ~~(+h[E >> 3] * 255.0); + a[e + 3 >> 0] = -1; + b = 0; + break b + } + case 3: { + mQ(k, j, g, C, D, E); + lQ(+h[C >> 3], +h[D >> 3], +h[E >> 3], y, z, A, B); + a[e >> 0] = ~~+h[y >> 3] * 255; + a[e + 1 >> 0] = ~~+h[z >> 3] * 255; + a[e + 2 >> 0] = ~~+h[A >> 3] * 255; + a[e + 3 >> 0] = ~~+h[B >> 3] * 255; + b = 0; + break b + } + case 2: { + mQ(k, j, g, C, D, E); + c[e >> 2] = ~~(+h[C >> 3] * 65535.0); + c[e + 4 >> 2] = ~~(+h[D >> 3] * 65535.0); + c[e + 8 >> 2] = ~~(+h[E >> 3] * 65535.0); + c[e + 12 >> 2] = 65535; + b = 0; + break b + } + case 4: { + mQ(k, j, g, C, D, E); + h[e >> 3] = +h[C >> 3]; + h[e + 8 >> 3] = +h[D >> 3]; + h[e + 16 >> 3] = +h[E >> 3]; + h[e + 24 >> 3] = 1.0; + b = 0; + break b + } + default: { + b = 0; + break b + } + } + } + } + i = nQ(r) | 0; + c[v >> 2] = i; + if (!i) b = -1; else { + b = c[46599] | 0; + if (!(((b | 0) != 0 ? (u = c[b >> 2] | 0, (a[u >> 0] | 0) == (a[i >> 0] | 0)) : 0) ? (b$(u, i) | 0) == 0 : 0)) { + b = e2(v, 25844, 2491, 12, 101) | 0; + c[46599] = b; + if (!b) switch (f | 0) { + case 0: { + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + c[e + 16 >> 2] = 0; + c[e + 20 >> 2] = 0; + h[e + 24 >> 3] = 1.0; + b = 1; + break b + } + case 1: { + a[e + 2 >> 0] = 0; + a[e + 1 >> 0] = 0; + a[e >> 0] = 0; + a[e + 3 >> 0] = -1; + b = 1; + break b + } + case 3: { + c[e >> 2] = 0; + b = 1; + break b + } + case 2: { + c[e + 8 >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e >> 2] = 0; + c[e + 12 >> 2] = 65535; + b = 1; + break b + } + case 4: { + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + c[e + 16 >> 2] = 0; + c[e + 20 >> 2] = 0; + h[e + 24 >> 3] = 1.0; + b = 1; + break b + } + default: { + b = 1; + break b + } + } + } + switch (f | 0) { + case 0: { + h[e >> 3] = +(d[b + 4 >> 0] | 0) * .00392156862745098; + h[e + 8 >> 3] = +(d[b + 5 >> 0] | 0) * .00392156862745098; + h[e + 16 >> 3] = +(d[b + 6 >> 0] | 0) * .00392156862745098; + h[e + 24 >> 3] = +(d[b + 10 >> 0] | 0) * .00392156862745098; + b = 0; + break b + } + case 1: { + a[e >> 0] = a[b + 7 >> 0] | 0; + a[e + 1 >> 0] = a[b + 8 >> 0] | 0; + a[e + 2 >> 0] = a[b + 9 >> 0] | 0; + a[e + 3 >> 0] = a[b + 10 >> 0] | 0; + b = 0; + break b + } + case 3: { + j = +(d[b + 7 >> 0] | 0) * .00392156862745098; + h[C >> 3] = j; + k = +(d[b + 8 >> 0] | 0) * .00392156862745098; + h[D >> 3] = k; + G = +(d[b + 9 >> 0] | 0) * .00392156862745098; + h[E >> 3] = G; + lQ(j, k, G, y, z, A, B); + a[e >> 0] = ~~+h[y >> 3] * 255; + a[e + 1 >> 0] = ~~+h[z >> 3] * 255; + a[e + 2 >> 0] = ~~+h[A >> 3] * 255; + a[e + 3 >> 0] = ~~+h[B >> 3] * 255; + b = 0; + break b + } + case 2: { + c[e >> 2] = (d[b + 7 >> 0] | 0) * 257; + c[e + 4 >> 2] = (d[b + 8 >> 0] | 0) * 257; + c[e + 8 >> 2] = (d[b + 9 >> 0] | 0) * 257; + c[e + 12 >> 2] = (d[b + 10 >> 0] | 0) * 257; + b = 0; + break b + } + case 4: { + h[e >> 3] = +(d[b + 7 >> 0] | 0) * .00392156862745098; + h[e + 8 >> 3] = +(d[b + 8 >> 0] | 0) * .00392156862745098; + h[e + 16 >> 3] = +(d[b + 9 >> 0] | 0) * .00392156862745098; + h[e + 24 >> 3] = +(d[b + 10 >> 0] | 0) * .00392156862745098; + b = 0; + break b + } + default: { + b = 0; + break b + } + } + } + } while (0); + l = F; + return b | 0 + } + + function kQ(a, b, c, d, e, f) { + a = +a; + b = +b; + c = +c; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0; + i = b < c ? b : c; + m = b > c ? b : c; + m = m < a ? a : m; + i = m - (i > a ? a : i); + g = i / m; + if (m > 0.0) if (g > 0.0) { + j = (m - a) / i; + k = (m - b) / i; + l = (m - c) / i; + do if (!(m == a)) { + if (m == b) { + a = j + 2.0 - l; + break + } + if (m == c) a = k + 4.0 - j; else a = 0.0 + } else a = (b - c) / i; while (0); + a = a * 60.0; + if (a < 0.0) a = a + 360.0 + } else a = 0.0; else { + g = 0.0; + a = 0.0 + } + h[d >> 3] = a * .002777777777777778; + h[f >> 3] = m; + h[e >> 3] = g; + return + } + + function lQ(a, b, c, d, e, f, g) { + a = +a; + b = +b; + c = +c; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h[d >> 3] = 1.0 - a; + h[e >> 3] = 1.0 - b; + h[f >> 3] = 1.0 - c; + b = +h[d >> 3]; + c = +h[e >> 3]; + c = b < c ? b : c; + h[g >> 3] = c; + b = +h[f >> 3]; + c = b < c ? b : c; + h[g >> 3] = c; + h[d >> 3] = +h[d >> 3] - c; + h[e >> 3] = +h[e >> 3] - +h[g >> 3]; + h[f >> 3] = +h[f >> 3] - +h[g >> 3]; + return + } + + function mQ(a, b, c, d, e, f) { + a = +a; + b = +b; + c = +c; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0; + a:do if (!(b <= 0.0)) { + i = !(a >= 1.0) ? a * 6.0 : 0.0; + l = ~~i; + i = i - +(l | 0); + a = (1.0 - b) * c; + j = (1.0 - i * b) * c; + b = (1.0 - (1.0 - i) * b) * c; + switch (l | 0) { + case 0: { + g = a; + i = b; + a = c; + k = 8; + break a + } + case 1: { + g = a; + i = c; + a = j; + k = 8; + break a + } + case 2: { + g = b; + i = c; + k = 8; + break a + } + case 3: { + g = c; + i = j; + k = 8; + break a + } + case 4: { + g = c; + i = a; + a = b; + k = 8; + break a + } + case 5: { + g = j; + i = a; + a = c; + k = 8; + break a + } + default: + break a + } + } else { + g = c; + i = c; + a = c; + k = 8 + } while (0); + if ((k | 0) == 8) { + h[d >> 3] = a; + h[e >> 3] = i; + h[f >> 3] = g + } + return + } + + function nQ(b) { + b = b | 0; + var d = 0, e = 0; + d = a[b >> 0] | 0; + if (((d << 24 >> 24 != 98 ? (e = b + 1 | 0, !(d << 24 >> 24 == 119 | (z$(e, 134184, 4) | 0) == 0)) : 0) ? !(d << 24 >> 24 == 108 | (z$(e, 134189, 4) | 0) == 0) : 0) ? (z$(e, 134194, 8) | 0) != 0 : 0) { + do if (d << 24 >> 24 == 47) { + d = A$(e, 47) | 0; + if (!d) b = e; else { + if ((a[e >> 0] | 0) != 47) { + e = (V$(134203, e, 4) | 0) == 0; + b = e ? d + 1 | 0 : b; + break + } + d = c[46600] | 0; + if ((d | 0 ? a[d >> 0] | 0 : 0) ? V$(134203, d, 3) | 0 : 0) { + b = pQ(d, b + 2 | 0) | 0; + break + } + b = b + 2 | 0 + } + } else { + d = c[46600] | 0; + if (((d | 0) != 0 ? (a[d >> 0] | 0) != 0 : 0) ? (V$(134203, d, 3) | 0) != 0 : 0) b = pQ(d, b) | 0 + } while (0); + b = iQ(b) | 0 + } + return b | 0 + } + + function oQ(a, b) { + a = a | 0; + b = b | 0; + return O$(c[a >> 2] | 0, c[b >> 2] | 0) | 0 + } + + function pQ(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + e = f; + g = W_(a) | 0; + g = (W_(b) | 0) + g | 0; + d = g + 13 | 0; + if ((g + 3 | 0) >>> 0 < (c[46601] | 0) >>> 0) d = c[46602] | 0; else { + c[46601] = d; + d = xH(c[46602] | 0, d) | 0; + c[46602] = d + } + c[e >> 2] = a; + c[e + 4 >> 2] = b; + Y0(d, 134208, e) | 0; + l = f; + return c[46602] | 0 + } + + function qQ(a) { + a = a | 0; + c[46600] = a; + return + } + + function rQ(a, b, c, d, e) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + var f = 0, g = 0; + f = l; + l = l + 208 | 0; + g = f; + sQ(g, +h[a >> 3], +h[a + 8 >> 3], b, c, d, e); + a = tQ(g) | 0; + l = f; + return a | 0 + } + + function sQ(a, b, c, d, e, f, g) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + f = +f; + g = +g; + var i = 0, j = 0; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + j = a + 16 | 0; + h[j >> 3] = d; + i = a + 24 | 0; + h[i >> 3] = e; + h[a + 32 >> 3] = 0.0; + c = +K(+(+F(+f) / e), +(+E(+f) / d)); + h[a + 56 >> 3] = c; + e = +K(+(+F(+g) / e), +(+E(+g) / d)); + h[a + 40 >> 3] = 1.0; + h[a + 48 >> 3] = 0.0; + e = e - +A(+((e - c) * .15915494309189535)) * 6.283185307179586; + h[a + 64 >> 3] = g - f > 3.141592653589793 & e - c < 3.141592653589793 ? e + 6.283185307179586 : e; + zQ(a); + AQ(a); + BQ(a); + g = +h[j >> 3]; + g = (g - +h[i >> 3]) / g; + h[a + 168 >> 3] = g; + h[a + 176 >> 3] = (2.0 - g) * g; + g = 1.0 - g; + h[a + 184 >> 3] = g; + h[a + 192 >> 3] = g * g; + return + } + + function tQ(a) { + a = a | 0; + var b = 0, c = 0.0, d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, l = 0, m = 0, n = 0.0, + o = 0.0, p = 0, q = 0, r = 0.0, s = 0.0, t = 0.0, u = 0.0, v = 0.0, w = 0.0, x = 0.0, y = 0.0, + z = 0.0; + q = uH(8) | 0; + f = +h[a + 56 >> 3]; + e = +h[a + 64 >> 3] - f; + p = 1; + b = 0; + while (1) { + o = e / +(p | 0); + if (!(b << 24 >> 24 == 0 & (p | 0) < 1024)) break; + a:do if (!(o <= 1.5707963267948966)) b = 0; else { + c = f; + d = 0; + b = 1; + while (1) { + if (!(b << 24 >> 24 != 0 & (d | 0) < (p | 0))) break a; + n = c + o; + b = +uQ(a, c, n) <= 1.0e-05 & 1; + c = n; + d = d + 1 | 0 + } + } while (0); + p = p << 1 + } + i = +E(+f); + u = +F(+f); + d = a + 16 | 0; + s = +h[d >> 3]; + v = s * i; + j = a + 24 | 0; + c = +h[j >> 3]; + g = c * u; + i = c * i; + c = +h[a >> 3]; + k = a + 40 | 0; + t = +h[k >> 3]; + l = a + 48 | 0; + r = +h[l >> 3]; + e = t * v + c - r * g; + m = a + 8 | 0; + n = +h[m >> 3]; + g = r * v + t * g + n; + s = -(u * s); + vQ(q, c, n); + wQ(q, e, g); + n = +G(+(o * .5)); + n = +F(+o) * .3333333333333333 * (+C(+(n * n * 3.0 + 4.0)) + -1.0); + c = f; + f = g; + g = r * s + t * i; + i = t * s - r * i; + b = 0; + while (1) { + if ((b | 0) >= (p | 0)) break; + r = c + o; + u = +E(+r); + v = +F(+r); + x = +h[d >> 3]; + z = x * u; + w = +h[j >> 3]; + t = w * v; + u = w * u; + w = +h[k >> 3]; + y = +h[l >> 3]; + s = w * z + +h[a >> 3] - y * t; + t = y * z + w * t + +h[m >> 3]; + x = -(v * x); + v = w * x - y * u; + u = y * x + w * u; + xQ(q, e + i * n, f + g * n, s - v * n, t - u * n, s, t); + c = r; + e = s; + f = t; + g = u; + i = v; + b = b + 1 | 0 + } + yQ(q); + return q | 0 + } + + function uQ(a, b, c) { + a = a | 0; + b = +b; + c = +c; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0; + d = c + b; + i = +h[a + 16 >> 3]; + e = +h[a + 24 >> 3] / i; + g = +E(+d); + f = +E(+(d * 2.0)); + d = +E(+(d * 3.0)); + a = e < .25 ? 10392 : 10648; + return +(((e * .001 + 4.98) * e + .207) / (e + .0067) * i * +L(+(((+h[a + 32 >> 3] * e + +h[a + 40 >> 3]) * e + +h[a + 48 >> 3]) / (+h[a + 56 >> 3] + e) * g + ((+h[a >> 3] * e + +h[a + 8 >> 3]) * e + +h[a + 16 >> 3]) / (+h[a + 24 >> 3] + e) + ((+h[a + 64 >> 3] * e + +h[a + 72 >> 3]) * e + +h[a + 80 >> 3]) / (+h[a + 88 >> 3] + e) * f + ((+h[a + 96 >> 3] * e + +h[a + 104 >> 3]) * e + +h[a + 112 >> 3]) / (+h[a + 120 >> 3] + e) * d + (((+h[a + 160 >> 3] * e + +h[a + 168 >> 3]) * e + +h[a + 176 >> 3]) / (+h[a + 184 >> 3] + e) * g + ((+h[a + 128 >> 3] * e + +h[a + 136 >> 3]) * e + +h[a + 144 >> 3]) / (+h[a + 152 >> 3] + e) + ((+h[a + 192 >> 3] * e + +h[a + 200 >> 3]) * e + +h[a + 208 >> 3]) / (+h[a + 216 >> 3] + e) * f + ((+h[a + 224 >> 3] * e + +h[a + 232 >> 3]) * e + +h[a + 240 >> 3]) / (+h[a + 248 >> 3] + e) * d) * (c - b)))) + } + + function vQ(a, b, d) { + a = a | 0; + b = +b; + d = +d; + var e = 0; + c[46603] = 100; + e = uH(1600) | 0; + c[a >> 2] = e; + h[e >> 3] = b; + h[e + 8 >> 3] = d; + c[a + 4 >> 2] = 1; + return + } + + function wQ(a, b, d) { + a = a | 0; + b = +b; + d = +d; + var e = 0, f = 0; + f = c[a >> 2] | 0; + e = (c[a + 4 >> 2] | 0) + -1 | 0; + xQ(a, +h[f + (e << 4) >> 3], +h[f + (e << 4) + 8 >> 3], b, d, b, d); + return + } + + function xQ(a, b, d, e, f, g, i) { + a = a | 0; + b = +b; + d = +d; + e = +e; + f = +f; + g = +g; + i = +i; + var j = 0, k = 0, l = 0, m = 0; + l = a + 4 | 0; + j = c[l >> 2] | 0; + k = c[46603] | 0; + if ((j + 3 | 0) < (k | 0)) a = c[a >> 2] | 0; else { + c[46603] = k << 1; + j = F_(c[a >> 2] | 0, k << 5) | 0; + c[a >> 2] = j; + a = j; + j = c[l >> 2] | 0 + } + h[a + (j << 4) >> 3] = b; + m = j + 1 | 0; + h[a + (j << 4) + 8 >> 3] = d; + h[a + (m << 4) >> 3] = e; + k = j + 2 | 0; + h[a + (m << 4) + 8 >> 3] = f; + h[a + (k << 4) >> 3] = g; + c[l >> 2] = j + 3; + h[a + (k << 4) + 8 >> 3] = i; + return + } + + function yQ(a) { + a = a | 0; + var b = 0; + b = c[a >> 2] | 0; + wQ(a, +h[b >> 3], +h[b + 8 >> 3]); + c[a >> 2] = F_(c[a >> 2] | 0, c[a + 4 >> 2] << 4) | 0; + c[46603] = 0; + return + } + + function zQ(a) { + a = a | 0; + var b = 0.0, c = 0.0, d = 0.0, e = 0.0; + d = +h[a + 16 >> 3]; + b = +h[a + 24 >> 3]; + b = +C(+(d * d - b * b)); + d = b * +h[a + 40 >> 3]; + b = b * +h[a + 48 >> 3]; + e = +h[a >> 3]; + h[a + 104 >> 3] = e - d; + c = +h[a + 8 >> 3]; + h[a + 112 >> 3] = c - b; + h[a + 120 >> 3] = e + d; + h[a + 128 >> 3] = c + b; + return + } + + function AQ(a) { + a = a | 0; + var b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0; + d = +h[a + 16 >> 3]; + i = +h[a + 56 >> 3]; + j = +E(+i) * d; + b = +h[a + 24 >> 3]; + i = +F(+i) * b; + g = +h[a + 64 >> 3]; + d = +E(+g) * d; + b = +F(+g) * b; + g = +h[a >> 3]; + c = +h[a + 40 >> 3]; + e = +h[a + 48 >> 3]; + h[a + 72 >> 3] = c * j + g - e * i; + f = +h[a + 8 >> 3]; + h[a + 80 >> 3] = e * j + f + c * i; + h[a + 88 >> 3] = g + c * d - e * b; + h[a + 96 >> 3] = f + e * d + c * b; + return + } + + function BQ(a) { + a = a | 0; + var b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, + n = 0; + k = +h[a + 24 >> 3]; + l = +h[a + 16 >> 3]; + e = k / l; + m = +h[a + 48 >> 3]; + n = +B(+m) < .1; + j = +h[a + 40 >> 3]; + do if (n) { + b = m / j; + c = +J(+(b * e)); + d = -c; + if (j < 0.0) { + b = +J(+(b / e)); + e = d; + d = 3.141592653589793 - c; + c = 4.71238898038469 - b; + b = 1.5707963267948966 - b; + break + } else { + b = +J(+(b / e)); + e = -3.141592653589793 - c; + c = 1.5707963267948966 - b; + b = -1.5707963267948966 - b; + break + } + } else { + b = j / m; + c = +J(+(b / e)); + d = c + 1.5707963267948966; + if (m < 0.0) { + b = +J(+(b * e)); + e = c + -1.5707963267948966; + c = b + 3.141592653589793; + break + } else { + b = +J(+(b * e)); + e = d; + d = c + 4.71238898038469; + c = b; + b = b + -3.141592653589793; + break + } + } while (0); + g = +h[a + 56 >> 3]; + e = e - +A(+((e - g) * .15915494309189535)) * 6.283185307179586; + b = b - +A(+((b - g) * .15915494309189535)) * 6.283185307179586; + f = d - +A(+((d - g) * .15915494309189535)) * 6.283185307179586; + g = c - +A(+((c - g) * .15915494309189535)) * 6.283185307179586; + i = +h[a + 64 >> 3]; + if (!(e <= i)) { + e = +h[a + 72 >> 3]; + c = +h[a + 88 >> 3]; + c = e < c ? e : c + } else c = +E(+e) * l * j + +h[a >> 3] - k * +F(+e) * m; + h[a + 136 >> 3] = c; + if (!(b <= i)) { + e = +h[a + 80 >> 3]; + d = +h[a + 96 >> 3]; + d = e < d ? e : d + } else d = +E(+b) * l * m + +h[a + 8 >> 3] + +F(+b) * k * j; + h[a + 144 >> 3] = d; + if (!(f <= i)) { + f = +h[a + 72 >> 3]; + b = +h[a + 88 >> 3]; + b = f > b ? f : b + } else b = +E(+f) * l * j + +h[a >> 3] - k * +F(+f) * m; + h[a + 152 >> 3] = b - c; + if (!(g <= i)) { + m = +h[a + 80 >> 3]; + b = +h[a + 96 >> 3]; + b = m > b ? m : b + } else b = +E(+g) * l * m + +h[a + 8 >> 3] + +F(+g) * k * j; + h[a + 160 >> 3] = b - d; + return + } + + function CQ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0, j = 0, k = 0.0, m = 0, n = 0; + n = l; + l = l + 80 | 0; + m = n; + DQ(b); + k = +h[e + 56 >> 3]; + g = +h[e + 64 >> 3]; + switch (a[e + 80 >> 0] | 0) { + case 116: { + g = (+h[e + 48 >> 3] - +EQ(d)) * .5 + g; + f = 4; + break + } + case 98: { + g = g - (+h[e + 48 >> 3] - +EQ(d)) * .5; + f = 4; + break + } + default: { + } + } + if ((f | 0) == 4) g = g + -1.0; + h[m >> 3] = k; + h[m + 8 >> 3] = g; + c[m + 20 >> 2] = c[e + 8 >> 2]; + c[m + 16 >> 2] = c[e + 4 >> 2]; + h[m + 32 >> 3] = +h[e + 16 >> 3]; + j = b + 16 | 0; + f = xx(c[(c[j >> 2] | 0) + 8 >> 2] | 0, 134215) | 0; + e = m + 56 | 0; + c[e >> 2] = f; + i = m + 60 | 0; + c[i >> 2] = c[(c[j >> 2] | 0) + 212 >> 2]; + j = m + 64 | 0; + a[j >> 0] = 0; + if (!((f | 0) != 0 ? (a[f >> 0] | 0) != 0 : 0)) c[e >> 2] = 134226; + if ((a[d + 4 >> 0] | 0) == 1) { + e = c[d >> 2] | 0; + YO(b, c[(c[b >> 2] | 0) + 336 >> 2] | 0); + f = c[e + 24 >> 2] | 0; + if (!f) UO(b, 134232); else UO(b, f); + GQ(b, e, m); + if (a[j >> 0] | 0) D_(c[i >> 2] | 0) + } else FQ(b, c[d >> 2] | 0, m); + HQ(b); + l = n; + return + } + + function DQ(a) { + a = a | 0; + var d = 0, e = 0, f = 0; + d = NE(a) | 0; + e = c[d >> 2] | 0; + a = c[e + 4 >> 2] | 0; + c[d + 4 >> 2] = a; + c[d + 12 >> 2] = c[e + 12 >> 2]; + switch (a | 0) { + case 2: { + a = e + 8 | 0; + f = 6; + break + } + case 0: { + a = e + 8 | 0; + f = 6; + break + } + case 1: { + a = e + 8 | 0; + f = 6; + break + } + case 3: { + a = e + 8 | 0; + f = 6; + break + } + default: { + } + } + if ((f | 0) == 6) c[d + 8 >> 2] = c[a >> 2]; + c[d + 208 >> 2] = c[e + 208 >> 2]; + c[d + 228 >> 2] = c[e + 228 >> 2]; + c[d + 244 >> 2] = c[e + 244 >> 2]; + f = d + 260 | 0; + b[f >> 1] = b[f >> 1] & -2 | b[e + 260 >> 1] & 1; + return + } + + function EQ(b) { + b = b | 0; + var d = 0.0, e = 0, f = 0; + switch (a[b + 4 >> 0] | 0) { + case 1: { + e = c[b >> 2] | 0; + b = e + 72 | 0; + e = e + 56 | 0; + f = 5; + break + } + case 3: { + e = c[b >> 2] | 0; + b = e + 24 | 0; + e = e + 8 | 0; + f = 5; + break + } + case 2: { + e = c[b >> 2] | 0; + b = e + 32 | 0; + e = e + 16 | 0; + f = 5; + break + } + default: + d = 0.0 + } + if ((f | 0) == 5) d = +h[b >> 3] - +h[e >> 3]; + return +d + } + + function FQ(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0; + n = l; + l = l + 96 | 0; + j = n + 64 | 0; + i = n + 32 | 0; + g = n + 16 | 0; + k = n; + m = b[e + 4 >> 1] | 0; + if (m << 16 >> 16 >= 1) { + r = e + 8 | 0; + p = +h[e + 24 >> 3]; + o = +h[r >> 3]; + h[k >> 3] = (o + p) * .5 + +h[f >> 3]; + h[k + 8 >> 3] = (+h[e + 16 >> 3] + +h[e + 32 >> 3]) * .5 + +h[f + 8 >> 3]; + q = c[e >> 2] | 0; + s = f + 16 | 0; + f = a[e + 6 >> 0] | 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[i >> 2] = c[s >> 2]; + c[i + 4 >> 2] = c[s + 4 >> 2]; + c[i + 8 >> 2] = c[s + 8 >> 2]; + c[i + 12 >> 2] = c[s + 12 >> 2]; + c[i + 16 >> 2] = c[s + 16 >> 2]; + c[i + 20 >> 2] = c[s + 20 >> 2]; + c[i + 24 >> 2] = c[s + 24 >> 2]; + c[i + 28 >> 2] = c[s + 28 >> 2]; + c[j >> 2] = c[r >> 2]; + c[j + 4 >> 2] = c[r + 4 >> 2]; + c[j + 8 >> 2] = c[r + 8 >> 2]; + c[j + 12 >> 2] = c[r + 12 >> 2]; + c[j + 16 >> 2] = c[r + 16 >> 2]; + c[j + 20 >> 2] = c[r + 20 >> 2]; + c[j + 24 >> 2] = c[r + 24 >> 2]; + c[j + 28 >> 2] = c[r + 28 >> 2]; + TQ(d, m << 16 >> 16, q, g, (p - o) * .5, i, j, f) + } + l = n; + return + } + + function GQ(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0; + y = l; + l = l + 176 | 0; + t = y + 96 | 0; + v = y + 64 | 0; + w = y + 136 | 0; + p = y; + q = y + 128 | 0; + r = f + 48 | 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[v + 16 >> 2] = c[r + 16 >> 2]; + c[v + 20 >> 2] = c[r + 20 >> 2]; + c[v + 24 >> 2] = c[r + 24 >> 2]; + c[v + 28 >> 2] = c[r + 28 >> 2]; + m = +h[g >> 3]; + n = +h[g + 8 >> 3]; + r = f + 84 | 0; + i = c[r >> 2] | 0; + if (!(c[f >> 2] | 0)) x = (c[f + 8 >> 2] | 0) != 0; else x = 1; + u = f + 108 | 0; + j = c[u >> 2] | 0; + if (j | 0) IQ(g, j, 183464); + h[v >> 3] = +h[v >> 3] + m; + s = v + 16 | 0; + h[s >> 3] = +h[s >> 3] + m; + s = v + 8 | 0; + h[s >> 3] = +h[s >> 3] + n; + s = v + 24 | 0; + h[s >> 3] = +h[s >> 3] + n; + if (x ? (c[e + 152 >> 2] & 4 | 0) == 0 : 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]; + s = JQ(e, g, f, t, w) | 0 + } else s = 0; + o = f + 42 | 0; + j = b[o >> 1] | 0; + if (!(j & 32)) { + k = c[f + 20 >> 2] | 0; + if (k) { + j = KQ(e, k, c[f + 28 >> 2] | 0, j & 65535, q) | 0; + if (!(b[o >> 1] & 4)) { + 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]; + $O(e, t, j) + } else { + o = d[f + 33 >> 0] | 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]; + EJ(e, LQ(p, t, o) | 0, 4, 4, j) + } + D_(c[q >> 2] | 0) + } + while (1) { + j = c[i >> 2] | 0; + if (!j) break; + MQ(e, j, g); + i = i + 4 | 0 + } + i = c[r >> 2] | 0; + fP(e, 1.0); + j = f + 24 | 0; + while (1) { + k = i + 4 | 0; + i = c[i >> 2] | 0; + if (!i) break; + if (!(a[i + 100 >> 0] | 0)) { + i = k; + continue + } + NQ(e, i, g, c[j >> 2] | 0, c[k >> 2] | 0); + i = k + } + if (a[f + 33 >> 0] | 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]; + OQ(e, f, t) + } + } + if (s | 0) PQ(e, w); + if ((x ? c[e + 152 >> 2] & 4 | 0 : 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], JQ(e, g, f, t, w) | 0) : 0) PQ(e, w); + if (c[u >> 2] | 0) QQ(g, 183464); + l = y; + return + } + + function HQ(a) { + a = a | 0; + var b = 0; + b = c[a + 16 >> 2] | 0; + c[b + 208 >> 2] = 0; + c[b + 228 >> 2] = 0; + c[b + 244 >> 2] = 0; + c[b + 212 >> 2] = 0; + OE(a); + return + } + + function IQ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0; + i = a + 16 | 0; + f = c[i >> 2] | 0; + if (f | 0) { + if (!(c[b >> 2] | 0)) { + f = 0; + g = d + } else { + c[d >> 2] = f; + f = c[b >> 2] | 0; + g = i + } + c[g >> 2] = f + } + f = c[a + 20 >> 2] | 0; + if (f | 0) { + g = b + 4 | 0; + if (!(c[g >> 2] | 0)) { + f = 0; + g = d + } else { + c[d + 4 >> 2] = f; + f = c[g >> 2] | 0; + g = i + } + c[g + 4 >> 2] = f + } + e = +h[a + 32 >> 3]; + if (e >= 0.0) { + f = b + 16 | 0; + if (!(+h[f >> 3] >= 0.0)) e = -1.0; else { + h[d + 16 >> 3] = e; + e = +h[f >> 3]; + d = i + } + h[d + 16 >> 3] = e + } + return + } + + function JQ(d, e, f, g, h) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 224 | 0; + n = u + 8 | 0; + k = u; + t = u + 40 | 0; + j = u + 184 | 0; + i = u + 56 | 0; + m = c[d + 16 >> 2] | 0; + o = m + 208 | 0; + c[h >> 2] = c[o >> 2]; + p = m + 228 | 0; + c[h + 4 >> 2] = c[p >> 2]; + q = m + 244 | 0; + c[h + 8 >> 2] = c[q >> 2]; + r = m + 212 | 0; + c[h + 12 >> 2] = c[r >> 2]; + s = m + 260 | 0; + a[h + 16 >> 0] = (b[s >> 1] << 15 & 65535) << 16 >> 16 >> 15; + h = c[f + 16 >> 2] | 0; + if ((h | 0) != 0 ? (a[h >> 0] | 0) != 0 : 0) i = 0; else { + Tw(t, 128, i); + i = e + 60 | 0; + h = c[i >> 2] | 0; + if (!h) { + h = n1(QE(d, c[m + 8 >> 2] | 0, t) | 0) | 0; + c[i >> 2] = h; + a[e + 64 >> 0] = 1 + } + Ww(t, h) | 0; + i = c[46604] | 0; + c[46604] = i + 1; + c[k >> 2] = i; + Y0(j, 134309, k) | 0; + Ww(t, j) | 0; + i = t + 4 | 0; + h = c[i >> 2] | 0; + if (h >>> 0 >= (c[t + 8 >> 2] | 0) >>> 0) { + Uw(t, 1) | 0; + h = c[i >> 2] | 0 + } + a[h >> 0] = 0; + h = c[t >> 2] | 0; + c[i >> 2] = h; + i = 1 + } + h = PE(d, 0, c[f >> 2] | 0, c[f + 12 >> 2] | 0, c[f + 8 >> 2] | 0, h, c[m + 8 >> 2] | 0) | 0; + if (i) Xw(t); + do if (h | 0) { + if ((c[o >> 2] | 0) == 0 ? (b[s >> 1] & 1) == 0 : 0) break; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + c[n + 16 >> 2] = c[g + 16 >> 2]; + c[n + 20 >> 2] = c[g + 20 >> 2]; + c[n + 24 >> 2] = c[g + 24 >> 2]; + c[n + 28 >> 2] = c[g + 28 >> 2]; + XE(d, n); + PO(d, c[o >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0, c[r >> 2] | 0) + } while (0); + l = u; + return h | 0 + } + + function KQ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var h = 0.0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + if (!((uG(b, f, i) | 0) << 24 >> 24)) { + WO(a, b); + b = 1 + } else { + WO(a, c[f >> 2] | 0); + b = c[f + 4 >> 2] | 0; + h = +g[i >> 2]; + if (!b) XO(a, 134232, d, h); else XO(a, b, d, h); + b = e >>> 1 & 1 | 2 + } + UO(a, 134297); + l = j; + return b | 0 + } + + function LQ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 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]; + e = a + 32 | 0; + b = b + 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 ((d | 0) > 1) { + j = +(d | 0) * .5; + i = +h[a >> 3] + j; + h[a >> 3] = i; + d = a + 8 | 0; + g = +h[d >> 3] + j; + h[d >> 3] = g; + f = +h[e >> 3] - j; + h[e >> 3] = f; + e = a + 40 | 0; + j = +h[e >> 3] - j; + h[e >> 3] = j + } else { + f = +h[e >> 3]; + g = +h[a + 8 >> 3]; + i = +h[a >> 3]; + j = +h[a + 40 >> 3] + } + h[a + 16 >> 3] = f; + h[a + 24 >> 3] = g; + h[a + 48 >> 3] = i; + h[a + 56 >> 3] = j; + return a | 0 + } + + function MQ(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0; + v = l; + l = l + 176 | 0; + r = v + 96 | 0; + s = v + 136 | 0; + t = v + 64 | 0; + p = v; + q = v + 128 | 0; + u = f + 48 | 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[t + 16 >> 2] = c[u + 16 >> 2]; + c[t + 20 >> 2] = c[u + 20 >> 2]; + c[t + 24 >> 2] = c[u + 24 >> 2]; + c[t + 28 >> 2] = c[u + 28 >> 2]; + j = +h[g >> 3]; + k = +h[g + 8 >> 3]; + if (!(c[f >> 2] | 0)) u = (c[f + 8 >> 2] | 0) != 0; else u = 1; + h[t >> 3] = +h[t >> 3] + j; + o = t + 16 | 0; + h[o >> 3] = +h[o >> 3] + j; + o = t + 8 | 0; + h[o >> 3] = +h[o >> 3] + k; + o = t + 24 | 0; + h[o >> 3] = +h[o >> 3] + k; + if (u ? (c[e + 152 >> 2] & 4 | 0) == 0 : 0) { + c[r >> 2] = c[t >> 2]; + c[r + 4 >> 2] = c[t + 4 >> 2]; + c[r + 8 >> 2] = c[t + 8 >> 2]; + c[r + 12 >> 2] = c[t + 12 >> 2]; + c[r + 16 >> 2] = c[t + 16 >> 2]; + c[r + 20 >> 2] = c[t + 20 >> 2]; + c[r + 24 >> 2] = c[t + 24 >> 2]; + c[r + 28 >> 2] = c[t + 28 >> 2]; + o = JQ(e, g, f, r, s) | 0 + } else o = 0; + n = f + 42 | 0; + i = b[n >> 1] | 0; + a:do if (!(i & 32)) { + m = c[f + 20 >> 2] | 0; + if (m | 0) { + i = KQ(e, m, c[f + 28 >> 2] | 0, i & 65535, q) | 0; + if (!(b[n >> 1] & 4)) { + c[r >> 2] = c[t >> 2]; + c[r + 4 >> 2] = c[t + 4 >> 2]; + c[r + 8 >> 2] = c[t + 8 >> 2]; + c[r + 12 >> 2] = c[t + 12 >> 2]; + c[r + 16 >> 2] = c[t + 16 >> 2]; + c[r + 20 >> 2] = c[t + 20 >> 2]; + c[r + 24 >> 2] = c[t + 24 >> 2]; + c[r + 28 >> 2] = c[t + 28 >> 2]; + $O(e, r, i) + } else { + n = d[f + 33 >> 0] | 0; + c[r >> 2] = c[t >> 2]; + c[r + 4 >> 2] = c[t + 4 >> 2]; + c[r + 8 >> 2] = c[t + 8 >> 2]; + c[r + 12 >> 2] = c[t + 12 >> 2]; + c[r + 16 >> 2] = c[t + 16 >> 2]; + c[r + 20 >> 2] = c[t + 20 >> 2]; + c[r + 24 >> 2] = c[t + 24 >> 2]; + c[r + 28 >> 2] = c[t + 28 >> 2]; + EJ(e, LQ(p, r, n) | 0, 4, 4, i) + } + D_(c[q >> 2] | 0) + } + if (a[f + 33 >> 0] | 0) { + c[r >> 2] = c[t >> 2]; + c[r + 4 >> 2] = c[t + 4 >> 2]; + c[r + 8 >> 2] = c[t + 8 >> 2]; + c[r + 12 >> 2] = c[t + 12 >> 2]; + c[r + 16 >> 2] = c[t + 16 >> 2]; + c[r + 20 >> 2] = c[t + 20 >> 2]; + c[r + 24 >> 2] = c[t + 24 >> 2]; + c[r + 28 >> 2] = c[t + 28 >> 2]; + OQ(e, f, r) + } + i = f + 88 | 0; + switch (a[f + 92 >> 0] | 0) { + case 1: { + GQ(e, c[i >> 2] | 0, g); + break a + } + case 3: { + SQ(e, c[i >> 2] | 0, g); + break a + } + default: { + FQ(e, c[i >> 2] | 0, g); + break a + } + } + } while (0); + if (o | 0) PQ(e, s); + if ((u ? c[e + 152 >> 2] & 4 | 0 : 0) ? (c[r >> 2] = c[t >> 2], c[r + 4 >> 2] = c[t + 4 >> 2], c[r + 8 >> 2] = c[t + 8 >> 2], c[r + 12 >> 2] = c[t + 12 >> 2], c[r + 16 >> 2] = c[t + 16 >> 2], c[r + 20 >> 2] = c[t + 20 >> 2], c[r + 24 >> 2] = c[t + 24 >> 2], c[r + 28 >> 2] = c[t + 28 >> 2], JQ(e, g, f, r, s) | 0) : 0) PQ(e, s); + l = v; + return + } + + function NQ(f, g, i, j, k) { + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0.0, s = 0.0, t = 0.0, u = 0.0, v = 0, w = 0, x = 0.0, + y = 0, z = 0, A = 0, B = 0, C = 0; + A = l; + l = l + 32 | 0; + y = A + 16 | 0; + z = A; + r = +h[i >> 3]; + x = +h[i + 8 >> 3]; + q = (j | 0) == 0 ? 134232 : j; + WO(f, q); + UO(f, q); + t = +h[g + 48 >> 3]; + o = +h[g + 56 >> 3]; + u = +h[g + 64 >> 3]; + p = +h[g + 72 >> 3]; + s = t + r; + r = u + r; + x = o + x; + q = g + 100 | 0; + i = a[q >> 0] | 0; + if ((i & 1) != 0 ? (n = c[g + 96 >> 2] | 0, ((e[g + 80 >> 1] | 0) + (e[g + 84 >> 1] | 0) | 0) < (c[n + 104 >> 2] | 0)) : 0) { + i = b[g + 86 >> 1] | 0; + do if (i << 16 >> 16) if (((e[g + 82 >> 1] | 0) + (i & 65535) | 0) == (c[n + 100 >> 2] | 0)) { + B = a[n + 32 >> 0] | 0; + C = (B << 24 >> 24) / 2 | 0; + j = (C << 24 >> 24) + (d[n + 33 >> 0] | 0) | 0; + i = j; + j = j & 255; + m = x - +(C << 24 >> 24); + n = B; + break + } else { + n = a[n + 32 >> 0] | 0; + i = 0; + j = ((n << 24 >> 24) / 2 | 0) << 24 >> 24; + m = x; + break + } else { + C = a[n + 32 >> 0] | 0; + j = ((C << 24 >> 24) / 2 | 0) << 24 >> 24; + i = j + (d[n + 33 >> 0] | 0) | 0; + m = x; + n = C + } while (0); + h[z + 8 >> 3] = m - +(j | 0); + h[z >> 3] = r + +(((n << 24 >> 24) / 2 | 0) << 24 >> 24); + 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]; + RQ(f, y, 0.0, p - o + +(i & 255 | 0) + +(n << 24 >> 24)); + i = a[q >> 0] | 0 + } + if (i & 2 ? (v = b[g + 86 >> 1] | 0, w = c[g + 96 >> 2] | 0, ((e[g + 82 >> 1] | 0) + (v & 65535) | 0) < (c[w + 100 >> 2] | 0)) : 0) { + i = b[g + 84 >> 1] | 0; + do if (!(i << 16 >> 16)) { + i = a[w + 32 >> 0] | 0; + C = (i << 24 >> 24) / 2 | 0; + n = (C << 24 >> 24) + (d[w + 33 >> 0] | 0) | 0; + j = n & 255; + n = n & 255; + m = +(C << 24 >> 24); + h[z >> 3] = s - m - +(n | 0); + if ((c[w + 104 >> 2] | 0) == (e[g + 80 >> 1] | 0)) { + j = n << 1 & 255; + break + } + if ((k | 0) != 0 ? (b[k + 86 >> 1] | 0) != v << 16 >> 16 : 0) j = ~~(+(j & 255) - u + +h[w + 64 >> 3] - m) & 255 + } else { + if (((e[g + 80 >> 1] | 0) + (i & 65535) | 0) == (c[w + 104 >> 2] | 0)) { + i = a[w + 32 >> 0] | 0; + C = (i << 24 >> 24) / 2 | 0; + j = (C & 255) + (d[w + 33 >> 0] | 0) & 255; + h[z >> 3] = s - +(C << 24 >> 24); + break + } + i = a[w + 32 >> 0] | 0; + m = +(((i << 24 >> 24) / 2 | 0) << 24 >> 24); + h[z >> 3] = s - m; + if ((k | 0) != 0 ? (b[k + 86 >> 1] | 0) != v << 16 >> 16 : 0) j = ~~(+h[w + 64 >> 3] - u - m) & 255; else j = 0 + } while (0); + h[z + 8 >> 3] = x - +(((i << 24 >> 24) / 2 | 0) << 24 >> 24); + 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]; + RQ(f, y, u - t + +(j & 255) + +(i << 24 >> 24), 0.0) + } + l = A; + return + } + + function OQ(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0; + p = l; + l = l + 160 | 0; + o = p + 112 | 0; + n = p; + j = p + 144 | 0; + m = c[f + 24 >> 2] | 0; + UO(e, (m | 0) == 0 ? 134232 : m); + m = f + 42 | 0; + i = b[m >> 1] | 0; + if (!(i & 384)) YO(e, c[(c[e >> 2] | 0) + 336 >> 2] | 0); else { + c[j + 4 >> 2] = 0; + c[j >> 2] = 0; + i = i & 65535; + if (!(i & 256)) { + if (i & 128 | 0) { + i = 134238; + k = 4 + } + } else { + i = 134245; + k = 4 + } + if ((k | 0) == 4) c[j >> 2] = i; + YO(e, j) + } + k = f + 33 | 0; + fP(e, +(d[k >> 0] | 0)); + a:do if (!(b[m >> 1] & 4)) { + i = b[f + 36 >> 1] & 15360; + if (!(i << 16 >> 16)) { + i = a[k >> 0] | 0; + if ((i & 255) > 1) { + q = +(i & 255) * .5; + h[g >> 3] = +h[g >> 3] + q; + n = g + 8 | 0; + h[n >> 3] = +h[n >> 3] + q; + n = g + 16 | 0; + h[n >> 3] = +h[n >> 3] - q; + n = g + 24 | 0; + h[n >> 3] = +h[n >> 3] - q + } + ;c[o >> 2] = c[g >> 2]; + c[o + 4 >> 2] = c[g + 4 >> 2]; + c[o + 8 >> 2] = c[g + 8 >> 2]; + c[o + 12 >> 2] = c[g + 12 >> 2]; + c[o + 16 >> 2] = c[g + 16 >> 2]; + c[o + 20 >> 2] = c[g + 20 >> 2]; + c[o + 24 >> 2] = c[g + 24 >> 2]; + c[o + 28 >> 2] = c[g + 28 >> 2]; + $O(e, o, 0); + break + } + j = n + 16 | 0; + m = d[k >> 0] | 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[o + 16 >> 2] = c[g + 16 >> 2]; + c[o + 20 >> 2] = c[g + 20 >> 2]; + c[o + 24 >> 2] = c[g + 24 >> 2]; + c[o + 28 >> 2] = c[g + 28 >> 2]; + LQ(j, o, m) | 0; + do switch (((i & 65535) + -1024 | 0) >>> 10 & 4194303 | 0) { + case 7: { + bP(e, j, 2); + break a + } + case 3: { + bP(e, n + 32 | 0, 2); + break a + } + case 1: { + bP(e, n + 48 | 0, 2); + break a + } + case 0: { + g = n + 64 | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + bP(e, n, 2); + break a + } + case 11: { + bP(e, j, 3); + break a + } + case 5: { + bP(e, n + 32 | 0, 3); + break a + } + case 2: { + g = n + 80 | 0; + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = c[j + 4 >> 2]; + c[g + 8 >> 2] = c[j + 8 >> 2]; + c[g + 12 >> 2] = c[j + 12 >> 2]; + bP(e, n + 48 | 0, 3); + break a + } + case 8: { + g = n + 64 | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + bP(e, n, 3); + break a + } + case 13: { + bP(e, j, 4); + break a + } + case 6: { + g = n + 80 | 0; + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = c[j + 4 >> 2]; + c[g + 8 >> 2] = c[j + 8 >> 2]; + c[g + 12 >> 2] = c[j + 12 >> 2]; + bP(e, n + 32 | 0, 4); + break a + } + case 10: { + g = n + 80 | 0; + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = c[j + 4 >> 2]; + c[g + 8 >> 2] = c[j + 8 >> 2]; + c[g + 12 >> 2] = c[j + 12 >> 2]; + g = n + 96 | 0; + o = n + 32 | 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]; + bP(e, n + 48 | 0, 4); + break a + } + case 12: { + g = n + 64 | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + bP(e, n, 4); + break a + } + case 9: { + bP(e, j, 2); + bP(e, n + 48 | 0, 2); + break a + } + case 4: { + g = n + 64 | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + bP(e, n, 2); + bP(e, n + 32 | 0, 2); + break a + } + default: + break a + } while (0) + } else { + m = d[k >> 0] | 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[o + 16 >> 2] = c[g + 16 >> 2]; + c[o + 20 >> 2] = c[g + 20 >> 2]; + c[o + 24 >> 2] = c[g + 24 >> 2]; + c[o + 28 >> 2] = c[g + 28 >> 2]; + EJ(e, LQ(n, o, m) | 0, 4, 4, 0) + } while (0); + l = p; + return + } + + function PQ(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = c[d + 16 >> 2] | 0; + f = h + 208 | 0; + if ((c[f >> 2] | 0) == 0 ? (b[h + 260 >> 1] & 1) == 0 : 0) d = 0; else { + QO(d); + d = c[f >> 2] | 0 + } + if ((d | 0) != (c[e >> 2] | 0)) { + D_(d); + c[f >> 2] = c[e >> 2] + } + d = h + 228 | 0; + f = c[d >> 2] | 0; + g = e + 4 | 0; + if ((f | 0) != (c[g >> 2] | 0)) { + D_(f); + c[d >> 2] = c[g >> 2] + } + d = h + 244 | 0; + f = c[d >> 2] | 0; + g = e + 8 | 0; + if ((f | 0) != (c[g >> 2] | 0)) { + D_(f); + c[d >> 2] = c[g >> 2] + } + d = h + 212 | 0; + f = c[d >> 2] | 0; + g = e + 12 | 0; + if ((f | 0) != (c[g >> 2] | 0)) { + D_(f); + c[d >> 2] = c[g >> 2] + } + h = h + 260 | 0; + b[h >> 1] = b[h >> 1] & -2 | a[e + 16 >> 0] & 1; + return + } + + function QQ(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0; + e = c[b >> 2] | 0; + if (e | 0) c[a + 16 >> 2] = e; + e = c[b + 4 >> 2] | 0; + if (e | 0) c[a + 20 >> 2] = e; + d = +h[b + 16 >> 3]; + if (d >= 0.0) h[a + 32 >> 3] = d; + return + } + + function RQ(a, b, d, e) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + var f = 0, g = 0, i = 0; + f = l; + l = l + 64 | 0; + g = f + 32 | 0; + i = f; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + h[i + 16 >> 3] = +h[b >> 3] + d; + h[i + 24 >> 3] = +h[b + 8 >> 3] + e; + c[g >> 2] = c[i >> 2]; + c[g + 4 >> 2] = c[i + 4 >> 2]; + c[g + 8 >> 2] = c[i + 8 >> 2]; + c[g + 12 >> 2] = c[i + 12 >> 2]; + c[g + 16 >> 2] = c[i + 16 >> 2]; + c[g + 20 >> 2] = c[i + 20 >> 2]; + c[g + 24 >> 2] = c[i + 24 >> 2]; + c[g + 28 >> 2] = c[i + 28 >> 2]; + $O(a, g, 1); + l = f; + return + } + + function SQ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0.0; + i = l; + l = l + 64 | 0; + g = i; + k = +h[e >> 3]; + n = k + +h[d >> 3]; + m = +h[e + 8 >> 3]; + j = m + +h[d + 8 >> 3]; + k = k + +h[d + 16 >> 3]; + m = m + +h[d + 24 >> 3]; + h[g >> 3] = k; + h[g + 8 >> 3] = m; + h[g + 32 >> 3] = n; + h[g + 40 >> 3] = j; + h[g + 16 >> 3] = n; + h[g + 24 >> 3] = m; + h[g + 48 >> 3] = k; + h[g + 56 >> 3] = j; + f = c[d + 36 >> 2] | 0; + if (!f) f = c[e + 56 >> 2] | 0; + e = c[d + 32 >> 2] | 0; + if (!e) qa(134252, 134260, 623, 134272); + if (!(a[e >> 0] | 0)) qa(134286, 134260, 624, 134272); else { + dP(b, e, g, 4, 1, f); + l = i; + return + } + } + + function TQ(d, e, f, g, i, j, k, m) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = +i; + j = j | 0; + k = k | 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.0, J = 0, K = 0, L = 0, M = 0.0, N = 0.0, + O = 0, P = 0, Q = 0, R = 0; + R = l; + l = l + 128 | 0; + K = R + 104 | 0; + O = R + 48 | 0; + P = R + 16 | 0; + L = R; + J = L; + c[J >> 2] = 0; + c[J + 4 >> 2] = 0; + M = +h[g >> 3]; + N = M - i; + I = M + i; + J = L + 8 | 0; + h[J >> 3] = (+h[k + 24 >> 3] - +h[k + 8 >> 3]) * .5 + +h[g + 8 >> 3]; + RO(d, 1); + D = P + 16 | 0; + E = P + 4 | 0; + F = P + 24 | 0; + G = O + 4 | 0; + H = O + 16 | 0; + s = (m | 0) == 0; + t = O + 24 | 0; + u = O + 8 | 0; + v = O + 32 | 0; + w = O + 40 | 0; + x = O + 48 | 0; + y = j + 16 | 0; + z = j + 4 | 0; + A = P + 8 | 0; + q = 0; + while (1) { + if ((q | 0) >= (e | 0)) break; + switch (a[f + (q * 24 | 0) + 6 >> 0] | 0) { + case 108: { + i = N; + break + } + case 114: { + i = I - +h[f + (q * 24 | 0) + 8 >> 3]; + break + } + default: + i = M - +h[f + (q * 24 | 0) + 8 >> 3] * .5 + } + h[g >> 3] = i; + B = f + (q * 24 | 0) + 16 | 0; + h[J >> 3] = +h[J >> 3] - +h[B >> 3]; + C = f + (q * 24 | 0) + 4 | 0; + p = c[f + (q * 24 | 0) >> 2] | 0; + r = 0; + while (1) { + if ((r | 0) >= (b[C >> 1] | 0)) break; + o = p + 4 | 0; + m = c[o >> 2] | 0; + if (m) { + h[D >> 3] = +h[(+h[m + 16 >> 3] > 0.0 ? m : j) + 16 >> 3]; + c[P >> 2] = c[((c[m >> 2] | 0) == 0 ? j : m) >> 2]; + k = c[((c[m + 4 >> 2] | 0) == 0 ? j : m) + 4 >> 2] | 0; + c[E >> 2] = k; + m = c[m + 24 >> 2] & 127; + if (!m) Q = 12; else m = c[F >> 2] & -128 | m + } else { + h[D >> 3] = +h[y >> 3]; + c[P >> 2] = c[j >> 2]; + k = c[z >> 2] | 0; + c[E >> 2] = k; + Q = 12 + } + if ((Q | 0) == 12) { + Q = 0; + m = c[F >> 2] & -128 + } + c[F >> 2] = m; + UO(d, k); + c[O >> 2] = c[p >> 2]; + c[G >> 2] = P; + h[H >> 3] = +h[p + 16 >> 3]; + if (s) n = 1.0; else n = +h[p + 24 >> 3]; + h[t >> 3] = n; + c[A >> 2] = c[(c[o >> 2] | 0) + 8 >> 2]; + c[u >> 2] = c[p + 8 >> 2]; + o = p + 32 | 0; + h[v >> 3] = +h[o >> 3]; + h[w >> 3] = +h[B >> 3]; + a[x >> 0] = 108; + h[L >> 3] = i; + 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]; + TO(d, K, O); + n = +h[o >> 3] + i; + h[g >> 3] = n; + p = p + 56 | 0; + r = r + 1 | 0; + i = n + } + q = q + 1 | 0 + } + SO(d); + l = R; + return + } + + function UQ(a) { + a = a | 0; + D_(c[a >> 2] | 0); + D_(c[a + 4 >> 2] | 0); + D_(c[a + 8 >> 2] | 0); + D_(c[a + 16 >> 2] | 0); + D_(c[a + 12 >> 2] | 0); + D_(c[a + 20 >> 2] | 0); + D_(c[a + 24 >> 2] | 0); + return + } + + function VQ(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + if (a | 0) { + j = a + 4 | 0; + e = 0; + g = c[a >> 2] | 0; + while (1) { + if ((e | 0) >= (b[j >> 1] | 0)) break; + k = g + 4 | 0; + d = 0; + f = c[g >> 2] | 0; + while (1) { + if ((d | 0) >= (b[k >> 1] | 0)) break; + D_(c[f >> 2] | 0); + h = c[f + 8 >> 2] | 0; + if (h | 0 ? (i = c[f + 12 >> 2] | 0, i | 0) : 0) tb[i & 127](h); + d = d + 1 | 0; + f = f + 56 | 0 + } + e = e + 1 | 0; + g = g + 24 | 0 + } + d = c[a >> 2] | 0; + if (d | 0) D_(d); + D_(a) + } + return + } + + function WQ(a) { + a = a | 0; + D_(c[a + 32 >> 2] | 0); + D_(a); + return + } + + function XQ(b, d) { + b = b | 0; + d = d | 0; + switch (a[b + 4 >> 0] | 0) { + case 1: { + YQ(c[b >> 2] | 0); + break + } + case 3: { + WQ(c[b >> 2] | 0); + break + } + default: + VQ(c[b >> 2] | 0) + } + if (d | 0) D_(b); + return + } + + function YQ(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 84 | 0; + if ((c[a + 100 >> 2] | 0) == -1) yw(c[e >> 2] | 0) | 0; else { + b = c[e >> 2] | 0; + D_(c[a + 92 >> 2] | 0); + D_(c[a + 96 >> 2] | 0); + while (1) { + d = c[b >> 2] | 0; + if (!d) break; + ZQ(d); + b = b + 4 | 0 + } + D_(c[e >> 2] | 0) + } + UQ(a); + D_(a); + return + } + + function ZQ(a) { + a = a | 0; + XQ(a + 88 | 0, 0); + UQ(a); + D_(a); + return + } + + function _Q(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0; + b = c[(c[(c[b + 16 >> 2] | 0) + 104 >> 2] | 0) + 72 >> 2] | 0; + if ((a[b + 4 >> 0] | 0) != 2 ? (g = $Q(c[b >> 2] | 0, e) | 0, (g | 0) != 0) : 0) { + c[f >> 2] = d[g + 35 >> 0]; + b = g + 48 | 0 + } else b = 0; + return b | 0 + } + + function $Q(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = c[a + 4 >> 2] | 0; + if (!((d | 0) != 0 ? (O$(d, b) | 0) == 0 : 0)) e = 3; + a:do if ((e | 0) == 3) { + d = c[a + 84 >> 2] | 0; + while (1) { + a = c[d >> 2] | 0; + if (!a) { + a = 0; + break a + } + a = aR(a, b) | 0; + if (!a) d = d + 4 | 0; else break + } + } while (0); + return a | 0 + } + + function aR(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = c[b + 4 >> 2] | 0; + if (!((e | 0) != 0 ? (O$(e, d) | 0) == 0 : 0)) if ((a[b + 92 >> 0] | 0) == 1) b = $Q(c[b + 88 >> 2] | 0, d) | 0; else b = 0; + return b | 0 + } + + function bR(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return 0 + } + + function cR(d) { + d = d | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + p = d + 92 | 0; + c[p >> 2] = uH((c[d + 100 >> 2] << 2) + 4 | 0) | 0; + n = uH((c[d + 104 >> 2] << 2) + 4 | 0) | 0; + c[d + 96 >> 2] = n; + o = d + 32 | 0; + m = c[d + 84 >> 2] | 0; + while (1) { + l = c[m >> 2] | 0; + if (!l) break; + d = b[l + 82 >> 1] | 0; + f = +h[l + 72 >> 3]; + if (d << 16 >> 16 == 1) i = ~~f; else { + i = ~~((f - +(O((a[o >> 0] | 0) + -1 | 0, (d & 65535) + -1 | 0) | 0)) / +(d & 65535)); + i = (i | 0) > 1 ? i : 1 + } + j = b[l + 80 >> 1] | 0; + f = +h[l + 64 >> 3]; + if (j << 16 >> 16 == 1) k = ~~f; else { + k = ~~((f - +(O((a[o >> 0] | 0) + -1 | 0, (j & 65535) + -1 | 0) | 0)) / +(j & 65535)); + k = (k | 0) > 1 ? k : 1 + } + q = e[l + 86 >> 1] | 0; + g = (d & 65535) + q | 0; + d = q; + while (1) { + if ((d | 0) >= (g | 0)) break; + q = (c[p >> 2] | 0) + (d << 2) | 0; + r = c[q >> 2] | 0; + c[q >> 2] = (r | 0) > (i | 0) ? r : i; + d = d + 1 | 0 + } + d = e[l + 84 >> 1] | 0; + g = (j & 65535) + d | 0; + while (1) { + if ((d | 0) >= (g | 0)) break; + r = n + (d << 2) | 0; + q = c[r >> 2] | 0; + c[r >> 2] = (q | 0) > (k | 0) ? q : k; + d = d + 1 | 0 + } + m = m + 4 | 0 + } + return + } + + function dR(a) { + a = a | 0; + var b = 0, d = 0; + d = l; + l = l + 16 | 0; + b = d; + if (a >>> 0 < 21) a = c[55736 + (a << 2) >> 2] | 0; else { + c[b >> 2] = a; + Y0(191879, 134313, b) | 0; + a = 191879 + } + l = d; + return a | 0 + } + + function eR(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + k = a + 104 | 0; + l = a + 100 | 0; + j = d + 16 | 0; + f = 0; + g = 0; + while (1) { + if ((f | 0) > (c[k >> 2] | 0)) break; + i = az(d, dR(f) | 0, 1) | 0; + Az(i, 134365, 304, 1) | 0; + m = i + 16 | 0; + c[(c[m >> 2] | 0) + 176 >> 2] = 0; + o = uH((c[l >> 2] << 2) + 4 | 0) | 0; + n = c[m >> 2] | 0; + c[n + 172 >> 2] = o; + c[n + 184 >> 2] = 0; + n = uH((c[l >> 2] << 2) + 4 | 0) | 0; + c[(c[m >> 2] | 0) + 180 >> 2] = n; + if (!g) c[(c[j >> 2] | 0) + 192 >> 2] = i; else c[(c[g + 16 >> 2] | 0) + 164 >> 2] = i; + f = f + 1 | 0; + g = i + } + j = b + 16 | 0; + f = 0; + g = 0; + while (1) { + if ((f | 0) > (c[l >> 2] | 0)) break; + i = az(b, dR(f) | 0, 1) | 0; + Az(i, 134365, 304, 1) | 0; + o = i + 16 | 0; + c[(c[o >> 2] | 0) + 176 >> 2] = 0; + m = uH((c[k >> 2] << 2) + 4 | 0) | 0; + n = c[o >> 2] | 0; + c[n + 172 >> 2] = m; + c[n + 184 >> 2] = 0; + n = uH((c[k >> 2] << 2) + 4 | 0) | 0; + c[(c[o >> 2] | 0) + 180 >> 2] = n; + if (!g) c[(c[j >> 2] | 0) + 192 >> 2] = i; else c[(c[g + 16 >> 2] | 0) + 164 >> 2] = i; + f = f + 1 | 0; + g = i + } + f = c[a + 84 >> 2] | 0; + while (1) { + g = c[f >> 2] | 0; + if (!g) break; + o = g + 84 | 0; + n = az(d, dR(e[o >> 1] | 0) | 0, 0) | 0; + o = az(d, dR((e[g + 80 >> 1] | 0) + (e[o >> 1] | 0) | 0) | 0, 0) | 0; + fR(d, n, o, ~~+h[g + 64 >> 3]); + o = g + 86 | 0; + n = az(b, dR(e[o >> 1] | 0) | 0, 0) | 0; + o = az(b, dR((e[g + 82 >> 1] | 0) + (e[o >> 1] | 0) | 0) | 0, 0) | 0; + fR(b, n, o, ~~+h[g + 72 >> 3]); + f = f + 4 | 0 + } + gR(d); + gR(b); + return + } + + function fR(a, d, f, g) { + a = a | 0; + d = d | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + h = Rx(a, d, f, 0, 0) | 0; + if (!h) { + i = Rx(a, d, f, 0, 1) | 0; + Az(i, 134378, 176, 1) | 0; + b[(c[i + 16 >> 2] | 0) + 170 >> 1] = g; + d = d + 16 | 0; + a = c[d >> 2] | 0; + h = c[a + 180 >> 2] | 0; + if (!h) a = vH((c[a + 184 >> 2] << 2) + 8 | 0) | 0; else a = xH(h, (c[a + 184 >> 2] << 2) + 8 | 0) | 0; + g = c[d >> 2] | 0; + c[g + 180 >> 2] = a; + g = g + 184 | 0; + h = c[g >> 2] | 0; + c[g >> 2] = h + 1; + c[a + (h << 2) >> 2] = i; + d = c[d >> 2] | 0; + c[(c[d + 180 >> 2] | 0) + (c[d + 184 >> 2] << 2) >> 2] = 0; + d = f + 16 | 0; + a = c[d >> 2] | 0; + h = c[a + 172 >> 2] | 0; + if (!h) a = vH((c[a + 176 >> 2] << 2) + 8 | 0) | 0; else a = xH(h, (c[a + 176 >> 2] << 2) + 8 | 0) | 0; + g = c[d >> 2] | 0; + c[g + 172 >> 2] = a; + g = g + 176 | 0; + f = c[g >> 2] | 0; + c[g >> 2] = f + 1; + c[a + (f << 2) >> 2] = i; + i = c[d >> 2] | 0; + c[(c[i + 172 >> 2] | 0) + (c[i + 176 >> 2] << 2) >> 2] = 0 + } else { + i = (c[h + 16 >> 2] | 0) + 170 | 0; + f = e[i >> 1] | 0; + b[i >> 1] = (f | 0) > (g | 0) ? f : g + } + return + } + + function gR(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + d = c[(c[a + 16 >> 2] | 0) + 192 >> 2] | 0; + while (1) { + f = d + 16 | 0; + h = c[(c[f >> 2] | 0) + 164 >> 2] | 0; + if (!h) break; + if (Rx(a, d, h, 0, 0) | 0) { + d = h; + continue + } + g = Rx(a, d, h, 0, 1) | 0; + Az(g, 134378, 176, 1) | 0; + b[(c[g + 16 >> 2] | 0) + 170 >> 1] = 0; + d = c[f >> 2] | 0; + e = c[d + 180 >> 2] | 0; + if (!e) d = vH((c[d + 184 >> 2] << 2) + 8 | 0) | 0; else d = xH(e, (c[d + 184 >> 2] << 2) + 8 | 0) | 0; + i = c[f >> 2] | 0; + c[i + 180 >> 2] = d; + i = i + 184 | 0; + e = c[i >> 2] | 0; + c[i >> 2] = e + 1; + c[d + (e << 2) >> 2] = g; + f = c[f >> 2] | 0; + c[(c[f + 180 >> 2] | 0) + (c[f + 184 >> 2] << 2) >> 2] = 0; + f = h + 16 | 0; + d = c[f >> 2] | 0; + e = c[d + 172 >> 2] | 0; + if (!e) d = vH((c[d + 176 >> 2] << 2) + 8 | 0) | 0; else d = xH(e, (c[d + 176 >> 2] << 2) + 8 | 0) | 0; + e = c[f >> 2] | 0; + c[e + 172 >> 2] = d; + e = e + 176 | 0; + i = c[e >> 2] | 0; + c[e >> 2] = i + 1; + c[d + (i << 2) >> 2] = g; + d = c[f >> 2] | 0; + c[(c[d + 172 >> 2] | 0) + (c[d + 176 >> 2] << 2) >> 2] = 0; + d = h + } + return + } + + function hR(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = a + 92 | 0; + e = 0; + f = 0; + b = c[(c[(c[b + 16 >> 2] | 0) + 192 >> 2] | 0) + 16 >> 2] | 0; + while (1) { + b = c[b + 164 >> 2] | 0; + if (!b) break; + b = c[b + 16 >> 2] | 0; + h = b + 232 | 0; + c[(c[g >> 2] | 0) + (f << 2) >> 2] = (c[h >> 2] | 0) - e; + e = c[h >> 2] | 0; + f = f + 1 | 0 + } + a = a + 96 | 0; + e = 0; + f = 0; + b = c[(c[(c[d + 16 >> 2] | 0) + 192 >> 2] | 0) + 16 >> 2] | 0; + while (1) { + b = c[b + 164 >> 2] | 0; + if (!b) break; + b = c[b + 16 >> 2] | 0; + h = b + 232 | 0; + c[(c[a >> 2] | 0) + (f << 2) >> 2] = (c[h >> 2] | 0) - e; + e = c[h >> 2] | 0; + f = f + 1 | 0 + } + return + } + + function iR(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h + 4 | 0; + d = h; + c[d >> 2] = c[4621]; + e = c[b + 100 >> 2] | 0; + if ((e | 0) != 1 ? (f = b + 104 | 0, (c[f >> 2] | 0) != 1) : 0) { + c[b + 92 >> 2] = uH((e << 2) + 4 | 0) | 0; + c[b + 96 >> 2] = uH((c[f >> 2] << 2) + 4 | 0) | 0; + a[g >> 0] = a[d >> 0] | 0; + a[g + 1 >> 0] = a[d + 1 >> 0] | 0; + a[g + 2 >> 0] = a[d + 2 >> 0] | 0; + a[g + 3 >> 0] = a[d + 3 >> 0] | 0; + f = Xx(134391, g, 0) | 0; + a[g >> 0] = a[d >> 0] | 0; + a[g + 1 >> 0] = a[d + 1 >> 0] | 0; + a[g + 2 >> 0] = a[d + 2 >> 0] | 0; + a[g + 3 >> 0] = a[d + 3 >> 0] | 0; + g = Xx(134396, g, 0) | 0; + Az(f, 134401, 280, 1) | 0; + Az(g, 134401, 280, 1) | 0; + eR(b, f, g); + fI(f, 2, 2147483647) | 0; + fI(g, 2, 2147483647) | 0; + hR(b, f, g); + jR(f, g) + } else cR(b); + l = h; + return + } + + function jR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = (c[b + 16 >> 2] | 0) + 192 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + f = d + 16 | 0; + d = c[f >> 2] | 0; + e = c[d + 172 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + e = c[d + 180 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + d = d + 164 | 0 + } + $x(a) | 0; + $x(b) | 0; + return + } + + function kR(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0.0; + p = l; + l = l + 272 | 0; + n = p + 104 | 0; + o = p + 136 | 0; + j = p + 72 | 0; + k = p; + g = p + 144 | 0; + c[k + 48 >> 2] = b; + switch (pz(b) | 0) { + case 0: { + e = c[b + 60 >> 2] | 0; + break + } + case 1: { + e = ez(b) | 0; + break + } + case 2: { + e = ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + break + } + default: { + } + } + i = k + 52 | 0; + c[i >> 2] = e; + m = c[e + 60 >> 2] | 0; + h[k + 32 >> 3] = +h[d + 16 >> 3]; + c[k + 16 >> 2] = c[d + 4 >> 2]; + c[k + 20 >> 2] = c[d + 8 >> 2]; + c[k + 40 >> 2] = 0; + f = uT(c[d >> 2] | 0, o, k) | 0; + if (!f) { + Tw(n, 128, g); + a[d + 82 >> 0] = 0; + e = n1(lR(b, n) | 0) | 0; + c[d >> 2] = e; + if ((c[d + 12 >> 2] | 0) == 1) e = RM(e) | 0; else e = OM(e, c[i >> 2] | 0) | 0; + D_(c[d >> 2] | 0); + c[d >> 2] = e; + iH(c[(c[m + 16 >> 2] | 0) + 144 >> 2] | 0, d); + Xw(n); + e = c[o >> 2] | 0 + } else { + e = f + 4 | 0; + if ((a[e >> 0] | 0) == 1) { + if ((c[(c[f >> 2] | 0) + 24 >> 2] | 0) == 0 ? mR(b) | 0 : 0) { + i = n1(mR(b) | 0) | 0; + c[(c[f >> 2] | 0) + 24 >> 2] = i + } + m = nR(m, c[f >> 2] | 0, 0, k) | 0; + c[o >> 2] = c[o >> 2] | m; + m = c[f >> 2] | 0; + r = +h[m + 64 >> 3] * .5; + q = +h[m + 72 >> 3] * .5; + oR(j, -r, -q, r, q); + m = c[f >> 2] | 0; + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 12 >> 2]; + c[n + 16 >> 2] = c[j + 16 >> 2]; + c[n + 20 >> 2] = c[j + 20 >> 2]; + c[n + 24 >> 2] = c[j + 24 >> 2]; + c[n + 28 >> 2] = c[j + 28 >> 2]; + pR(m, n, 15) + } else { + qR(c[(c[m + 16 >> 2] | 0) + 144 >> 2] | 0, c[f >> 2] | 0, k); + n = c[f >> 2] | 0; + q = +h[n + 24 >> 3] * .5; + r = +h[n + 32 >> 3] * .5; + oR(j, -q, -r, q, r); + n = (c[f >> 2] | 0) + 8 | 0; + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 12 >> 2]; + c[n + 16 >> 2] = c[j + 16 >> 2]; + c[n + 20 >> 2] = c[j + 20 >> 2]; + c[n + 24 >> 2] = c[j + 24 >> 2]; + c[n + 28 >> 2] = c[j + 28 >> 2] + } + h[d + 24 >> 3] = +h[j + 16 >> 3] - +h[j >> 3]; + h[d + 32 >> 3] = +h[j + 24 >> 3] - +h[j + 8 >> 3]; + c[d + 72 >> 2] = f; + if ((a[e >> 0] | 0) == 1) { + D_(c[d >> 2] | 0); + c[d >> 2] = n1(138529) | 0 + } + e = c[o >> 2] | 0 + } + l = p; + return e | 0 + } + + function lR(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + a:do switch (pz(b) | 0) { + case 0: { + Ww(d, ry(b) | 0) | 0; + break + } + case 1: { + Ww(d, ry(b) | 0) | 0; + break + } + case 2: { + Ww(d, ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0) | 0; + e = b + -48 | 0; + Ww(d, ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0) | 0) | 0; + if (!(ey(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0) | 0) | 0)) { + Ww(d, 138665) | 0; + break a + } else { + Ww(d, 134656) | 0; + break a + } + } + default: { + } + } while (0); + e = d + 4 | 0; + b = c[e >> 2] | 0; + if (b >>> 0 >= (c[d + 8 >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + b = c[e >> 2] | 0 + } + a[b >> 0] = 0; + d = c[d >> 2] | 0; + c[e >> 2] = d; + return d | 0 + } + + function mR(b) { + b = b | 0; + var c = 0, d = 0; + c = xx(b, 134647) | 0; + if (!((c | 0) != 0 ? (a[c >> 0] | 0) != 0 : 0)) d = 3; + do if ((d | 0) == 3) { + c = xx(b, 137741) | 0; + if (c | 0 ? a[c >> 0] | 0 : 0) break; + c = 0 + } while (0); + return c | 0 + } + + function nR(f, g, i, j) { + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; + w = l; + l = l + 16 | 0; + u = w + 8 | 0; + t = w; + v = g + 108 | 0; + k = c[v >> 2] | 0; + if (k | 0) IQ(j, k, 183496); + c[g + 80 >> 2] = i; + k = uR(f, g, j) | 0; + r = g + 36 | 0; + f = b[r >> 1] | 0; + if (!(f & 128)) a[g + 32 >> 0] = 2; + i = g + 33 | 0; + if (!(f & 32)) a[i >> 0] = 1; + iR(g); + n = c[g + 104 >> 2] | 0; + p = a[g + 32 >> 0] | 0; + f = O(n + 1 | 0, p) | 0; + o = d[i >> 0] << 1; + q = c[g + 100 >> 2] | 0; + p = O(q + 1 | 0, p) | 0; + m = g + 96 | 0; + f = o + f | 0; + i = 0; + while (1) { + if ((i | 0) >= (n | 0)) break; + f = (c[(c[m >> 2] | 0) + (i << 2) >> 2] | 0) + f | 0; + i = i + 1 | 0 + } + n = g + 92 | 0; + i = p + o | 0; + m = 0; + while (1) { + if ((m | 0) >= (q | 0)) break; + i = (c[(c[n >> 2] | 0) + (m << 2) >> 2] | 0) + i | 0; + m = m + 1 | 0 + } + n = g + 38 | 0; + do if (b[r >> 1] & 1) { + r = b[n >> 1] | 0; + m = r & 65535; + if (r << 16 >> 16 ? (s = b[g + 40 >> 1] | 0, s << 16 >> 16) : 0) { + if (!((f | 0) > (m | 0) | (i | 0) > (s & 65535 | 0))) { + i = 0; + f = 0; + break + } + Pw(0, 134447, t) | 0; + k = 1; + i = 0; + f = 0; + break + } + Pw(0, 134481, u) | 0; + k = 1 + } while (0); + u = e[n >> 1] | 0; + h[g + 64 >> 3] = +(((f | 0) > (u | 0) ? f : u) | 0); + u = e[g + 40 >> 1] | 0; + h[g + 72 >> 3] = +(((i | 0) > (u | 0) ? i : u) | 0); + if (c[v >> 2] | 0) QQ(j, 183496); + l = w; + return k | 0 + } + + function oR(a, b, c, d, e) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + h[a + 16 >> 3] = d; + h[a + 24 >> 3] = e; + return + } + + function pR(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0.0, r = 0.0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0.0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, + J = 0.0, K = 0; + I = l; + l = l + 64 | 0; + G = I + 32 | 0; + H = I; + E = c[e + 84 >> 2] | 0; + k = c[e + 80 >> 2] | 0; + if ((k | 0 ? (i = c[k + 24 >> 2] | 0, i | 0) : 0) ? (j = e + 24 | 0, (c[j >> 2] | 0) == 0) : 0) c[j >> 2] = n1(i) | 0; + F = e + 48 | 0; + i = f + 16 | 0; + n = +h[i >> 3]; + m = +h[f >> 3]; + k = ~~(n - m - +(~~+h[e + 64 >> 3] | 0)); + if ((k | 0) <= -1) qa(134414, 134260, 1761, 134424); + o = f + 24 | 0; + y = +h[o >> 3]; + p = f + 8 | 0; + q = +h[p >> 3]; + r = +(~~+h[e + 72 >> 3] | 0); + s = ~~(y - q - r); + if ((s | 0) <= -1) qa(134437, 134260, 1764, 134424); + t = b[e + 36 >> 1] | 0; + j = t & 65535; + a:do if (j & 1) { + b:do if ((k | 0) > 0) switch (j & 6) { + case 4: { + h[i >> 3] = m + r; + break b + } + case 2: { + J = +(k | 0); + h[i >> 3] = n + J; + m = m + J; + h[f >> 3] = m; + break b + } + default: { + J = +(k >>> 1 | 0); + m = m + J; + h[f >> 3] = m; + h[i >> 3] = n - J; + break b + } + } while (0); + if ((s | 0) > 0) switch (t & 24) { + case 16: { + y = q + r; + h[o >> 3] = y; + s = 0; + i = 0; + break a + } + case 8: { + J = +(s | 0); + y = y + J; + h[o >> 3] = y; + h[p >> 3] = q + J; + s = 0; + i = 0; + break a + } + default: { + J = +(s >>> 1 | 0); + h[p >> 3] = q + J; + y = y - J; + h[o >> 3] = y; + s = 0; + i = 0; + break a + } + } else { + s = 0; + i = 0 + } + } else i = k; while (0); + n = +(d[e + 33 >> 0] | 0); + C = e + 32 | 0; + u = a[C >> 0] | 0; + q = +(u << 24 >> 24); + D = e + 104 | 0; + k = c[D >> 2] | 0; + t = (i | 0) / (k | 0) | 0; + o = i - (O(t, k) | 0) | 0; + o = ~~(((o | 0) > -1 ? .5 : -.5) + +(o | 0)); + B = e + 96 | 0; + p = u << 24 >> 24; + i = ~~(m + n + q); + j = 0; + while (1) { + if ((j | 0) > (k | 0)) break; + A = (c[B >> 2] | 0) + (j << 2) | 0; + k = c[A >> 2] | 0; + c[A >> 2] = i; + i = i + t + ((j | 0) < (o | 0) & 1) + k + p | 0; + j = j + 1 | 0; + k = c[D >> 2] | 0 + } + A = e + 100 | 0; + k = c[A >> 2] | 0; + t = (s | 0) / (k | 0) | 0; + p = s - (O(t, k) | 0) | 0; + p = ~~(((p | 0) > -1 ? .5 : -.5) + +(p | 0)); + z = e + 92 | 0; + o = u << 24 >> 24; + i = ~~(y - n - q); + j = 0; + while (1) { + if ((j | 0) > (k | 0)) break; + x = (c[z >> 2] | 0) + (j << 2) | 0; + k = c[x >> 2] | 0; + c[x >> 2] = i; + i = i - t + (((j | 0) < (p | 0)) << 31 >> 31) - k - o | 0; + j = j + 1 | 0; + k = c[A >> 2] | 0 + } + u = (g | 0) == 0; + v = H + 16 | 0; + w = H + 24 | 0; + x = H + 8 | 0; + i = E; + while (1) { + o = c[i >> 2] | 0; + if (!o) break; + k = b[o + 84 >> 1] | 0; + if (u) { + j = 0; + p = b[o + 80 >> 1] | 0; + s = b[o + 86 >> 1] | 0; + t = b[o + 82 >> 1] | 0 + } else { + j = k << 16 >> 16 == 0 ? 8 : 0; + s = b[o + 86 >> 1] | 0; + j = s << 16 >> 16 == 0 ? j | 4 : j; + p = b[o + 80 >> 1] | 0; + t = b[o + 82 >> 1] | 0; + j = (((p & 65535) + (k & 65535) | 0) == (c[D >> 2] | 0) ? j | 2 : j) | ((t & 65535) + (s & 65535) | 0) == (c[A >> 2] | 0) + } + K = c[B >> 2] | 0; + k = k & 65535; + h[H >> 3] = +(c[K + (k << 2) >> 2] | 0); + E = a[C >> 0] | 0; + h[v >> 3] = +((c[K + ((p & 65535) + k << 2) >> 2] | 0) - E | 0); + p = c[z >> 2] | 0; + h[w >> 3] = +(c[p + ((s & 65535) << 2) >> 2] | 0); + h[x >> 3] = +((c[p + ((t & 65535) + (s & 65535) << 2) >> 2] | 0) + E | 0); + c[G >> 2] = c[H >> 2]; + c[G + 4 >> 2] = c[H + 4 >> 2]; + c[G + 8 >> 2] = c[H + 8 >> 2]; + c[G + 12 >> 2] = c[H + 12 >> 2]; + c[G + 16 >> 2] = c[H + 16 >> 2]; + c[G + 20 >> 2] = c[H + 20 >> 2]; + c[G + 24 >> 2] = c[H + 24 >> 2]; + c[G + 28 >> 2] = c[H + 28 >> 2]; + rR(o, G, j & g); + i = i + 4 | 0 + } + a[e + 35 >> 0] = g; + 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]; + l = I; + return + } + + function qR(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0.0, t = 0.0, + u = 0.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.0, Q = 0.0, R = 0.0; + O = l; + l = l + 112 | 0; + H = O + 48 | 0; + I = O + 16 | 0; + J = O; + c[I >> 2] = 0; + c[I + 4 >> 2] = 0; + c[I + 8 >> 2] = 0; + c[I + 12 >> 2] = 0; + c[I + 16 >> 2] = 0; + c[I + 20 >> 2] = 0; + c[I + 24 >> 2] = 0; + c[I + 28 >> 2] = 0; + K = e + 4 | 0; + L = f + 16 | 0; + M = f + 32 | 0; + N = I + 16 | 0; + r = b[K >> 1] | 0; + n = r << 16 >> 16; + g = 0; + j = -1.0; + m = 0; + while (1) { + if ((m | 0) >= (n | 0)) { + g = 1; + break + } + i = c[e >> 2] | 0; + if ((b[i + (m * 24 | 0) + 4 >> 1] | 0) > 1) { + g = 0; + break + } + i = c[(c[i + (m * 24 | 0) >> 2] | 0) + 4 >> 2] | 0; + if (!i) { + k = +h[M >> 3]; + h[N >> 3] = k; + i = L + } else { + if (c[i + 24 >> 2] & 127 | 0) { + g = 0; + break + } + k = +h[(+h[i + 16 >> 3] > 0.0 ? i : L) + 16 >> 3]; + h[N >> 3] = k; + i = (c[i >> 2] | 0) == 0 ? L : i + } + i = c[i >> 2] | 0; + c[I >> 2] = i; + if (!(j == -1.0)) { + if (k != j) { + g = 0; + break + } + } else j = k; + if (g) { + if (b$(i, g) | 0) { + g = 0; + break + } + } else g = i; + m = m + 1 | 0 + } + a[e + 6 >> 0] = g; + E = f + 48 | 0; + F = f + 20 | 0; + G = I + 4 | 0; + w = f + 40 | 0; + x = I + 24 | 0; + y = d + 144 | 0; + z = H + 4 | 0; + v = J + 8 | 0; + A = H + 16 | 0; + B = H + 24 | 0; + C = H + 8 | 0; + D = H + 12 | 0; + f = (g | 0) == 0; + j = 0.0; + s = 0.0; + t = 0.0; + u = 0.0; + n = 0; + g = r; + while (1) { + if ((n | 0) >= (g << 16 >> 16 | 0)) break; + k = 0.0; + q = 0.0; + m = 0; + p = 0.0; + j = 0.0; + i = c[e >> 2] | 0; + while (1) { + if ((m | 0) >= (b[i + (n * 24 | 0) + 4 >> 1] | 0)) break; + c[H >> 2] = pH(c[(c[i + (n * 24 | 0) >> 2] | 0) + (m * 56 | 0) >> 2] | 0, c[E >> 2] | 0) | 0; + i = (c[e >> 2] | 0) + (n * 24 | 0) | 0; + g = c[(c[i >> 2] | 0) + (m * 56 | 0) + 4 >> 2] | 0; + if (!g) { + h[N >> 3] = +h[M >> 3]; + c[I >> 2] = c[L >> 2]; + c[G >> 2] = c[F >> 2]; + c[x >> 2] = c[x >> 2] & -128 | c[w >> 2] & 127 + } else { + g = c[g + 24 >> 2] & 127; + if (!g) g = c[w >> 2] & 127; + c[x >> 2] = c[x >> 2] & -128 | g; + r = c[(c[i >> 2] | 0) + (m * 56 | 0) + 4 >> 2] | 0; + h[N >> 3] = +h[(+h[r + 16 >> 3] > 0.0 ? r : L) + 16 >> 3]; + c[I >> 2] = c[((c[r >> 2] | 0) == 0 ? L : r) >> 2]; + c[G >> 2] = c[((c[r + 4 >> 2] | 0) == 0 ? L : r) + 4 >> 2] + } + i = c[y >> 2] | 0; + c[z >> 2] = nb[c[i >> 2] & 63](i, I, 1) | 0; + wL(J, d, H); + Q = +h[J >> 3]; + o = +h[v >> 3]; + D_(c[(c[(c[e >> 2] | 0) + (n * 24 | 0) >> 2] | 0) + (m * 56 | 0) >> 2] | 0); + i = c[e >> 2] | 0; + r = c[i + (n * 24 | 0) >> 2] | 0; + c[r + (m * 56 | 0) >> 2] = c[H >> 2]; + h[r + (m * 56 | 0) + 32 >> 3] = Q; + h[r + (m * 56 | 0) + 16 >> 3] = +h[A >> 3]; + h[r + (m * 56 | 0) + 24 >> 3] = +h[B >> 3]; + c[r + (m * 56 | 0) + 4 >> 2] = c[z >> 2]; + c[r + (m * 56 | 0) + 8 >> 2] = c[C >> 2]; + c[r + (m * 56 | 0) + 12 >> 2] = c[D >> 2]; + P = +h[N >> 3]; + R = +h[B >> 3]; + k = R > k ? R : k; + q = Q + q; + m = m + 1 | 0; + p = P > p ? P : p; + j = o > j ? o : j + } + h[i + (n * 24 | 0) + 8 >> 3] = q; + g = (n | 0) == 0; + do if (f) if (g) { + o = p; + k = p - k; + g = i; + break + } else { + o = p; + k = t - u + p - k; + g = i + (n * 24 | 0) | 0; + break + } else { + o = j; + k = g ? p : j; + g = i + (n * 24 | 0) | 0 + } while (0); + h[g + 16 >> 3] = k; + s = q > s ? q : s; + t = o + t; + u = +h[i + (n * 24 | 0) + 16 >> 3] + u; + n = n + 1 | 0; + g = b[K >> 1] | 0 + } + h[e + 24 >> 3] = s; + h[e + 32 >> 3] = g << 16 >> 16 == 1 ? j : t; + l = O; + return + } + + function rR(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0; + y = l; + l = l + 64 | 0; + v = y + 32 | 0; + x = y; + j = e + 24 | 0; + if ((c[j >> 2] | 0) == 0 ? (i = c[(c[e + 96 >> 2] | 0) + 24 >> 2] | 0, i | 0) : 0) c[j >> 2] = n1(i) | 0; + t = e + 36 | 0; + w = b[t >> 1] | 0; + i = w & 65535; + a:do if (i & 1) { + k = +h[e + 64 >> 3]; + q = +h[e + 72 >> 3]; + j = f + 16 | 0; + m = +h[j >> 3]; + o = +h[f >> 3]; + n = m - o - k; + b:do if (n > 0.0) switch (i & 6) { + case 4: { + m = o + k; + h[j >> 3] = m; + k = o; + break b + } + case 2: { + m = n + m; + h[j >> 3] = m; + k = o + n; + h[f >> 3] = k; + break b + } + default: { + p = n * .5; + k = p + o; + h[f >> 3] = k; + m = m - p; + h[j >> 3] = m; + break b + } + } else k = o; while (0); + i = f + 24 | 0; + p = +h[i >> 3]; + j = f + 8 | 0; + n = +h[j >> 3]; + o = p - n - q; + if (o > 0.0) switch (w & 24) { + case 16: { + o = n + q; + h[i >> 3] = o; + break a + } + case 8: { + q = o + p; + h[i >> 3] = q; + n = n + o; + h[j >> 3] = n; + o = q; + break a + } + default: { + o = o * .5; + n = o + n; + h[j >> 3] = n; + o = p - o; + h[i >> 3] = o; + break a + } + } else o = p + } else { + k = +h[f >> 3]; + n = +h[f + 8 >> 3]; + m = +h[f + 16 >> 3]; + o = +h[f + 24 >> 3] + } while (0); + s = e + 48 | 0; + c[s >> 2] = c[f >> 2]; + c[s + 4 >> 2] = c[f + 4 >> 2]; + c[s + 8 >> 2] = c[f + 8 >> 2]; + c[s + 12 >> 2] = c[f + 12 >> 2]; + c[s + 16 >> 2] = c[f + 16 >> 2]; + c[s + 20 >> 2] = c[f + 20 >> 2]; + c[s + 24 >> 2] = c[f + 24 >> 2]; + c[s + 28 >> 2] = c[f + 28 >> 2]; + a[e + 35 >> 0] = g; + A = +(d[e + 33 >> 0] | 0); + z = +(d[e + 34 >> 0] | 0); + p = k + A + z; + h[x >> 3] = p; + q = n + A + z; + s = x + 8 | 0; + h[s >> 3] = q; + n = m - A - z; + f = x + 16 | 0; + h[f >> 3] = n; + o = o - A - z; + r = x + 24 | 0; + h[r >> 3] = o; + j = e + 88 | 0; + switch (a[e + 92 >> 0] | 0) { + case 1: { + w = c[j >> 2] | 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]; + c[v + 16 >> 2] = c[x + 16 >> 2]; + c[v + 20 >> 2] = c[x + 20 >> 2]; + c[v + 24 >> 2] = c[x + 24 >> 2]; + c[v + 28 >> 2] = c[x + 28 >> 2]; + pR(w, v, g); + break + } + case 3: { + i = c[j >> 2] | 0; + k = +h[i + 24 >> 3]; + m = n - p - +h[i + 16 >> 3]; + c:do if (m > 0.0) switch (w & 6) { + case 4: { + h[f >> 3] = n - m; + break c + } + case 2: { + h[x >> 3] = m + p; + break c + } + default: + break c + } while (0); + k = o - q - k; + d:do if (k > 0.0) switch (w & 24) { + case 16: { + h[r >> 3] = o - k; + break d + } + case 8: { + h[s >> 3] = k + q; + break d + } + default: + break d + } while (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]; + c[v + 16 >> 2] = c[x + 16 >> 2]; + c[v + 20 >> 2] = c[x + 20 >> 2]; + c[v + 24 >> 2] = c[x + 24 >> 2]; + c[v + 28 >> 2] = c[x + 28 >> 2]; + sR(i, v); + break + } + default: { + i = c[j >> 2] | 0; + k = +h[i + 32 >> 3]; + m = n - p - +h[i + 24 >> 3]; + e:do if (m > 0.0 ? (u = w & 6, u << 16 >> 16 != 6) : 0) switch (u & 7) { + case 4: { + h[f >> 3] = n - m; + break e + } + case 2: { + h[x >> 3] = m + p; + break e + } + default: { + A = m * .5; + h[x >> 3] = A + p; + h[f >> 3] = n - A; + break e + } + } while (0); + k = o - q - k; + f:do if (k > 0.0) switch (w & 24) { + case 16: { + h[r >> 3] = o - k; + break f + } + case 8: { + h[s >> 3] = k + q; + break f + } + default: { + A = k * .5; + h[s >> 3] = A + q; + h[r >> 3] = o - A; + break f + } + } while (0); + w = i + 8 | 0; + c[w >> 2] = c[x >> 2]; + c[w + 4 >> 2] = c[x + 4 >> 2]; + c[w + 8 >> 2] = c[x + 8 >> 2]; + c[w + 12 >> 2] = c[x + 12 >> 2]; + c[w + 16 >> 2] = c[x + 16 >> 2]; + c[w + 20 >> 2] = c[x + 20 >> 2]; + c[w + 24 >> 2] = c[x + 24 >> 2]; + c[w + 28 >> 2] = c[x + 28 >> 2]; + x = b[t >> 1] & 768; + tR(c[j >> 2] | 0, (x & 1023) == 512 ? 108 : (x & 1023) == 256 ? 114 : 110) + } + } + l = y; + return + } + + function sR(a, b) { + a = a | 0; + b = b | 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]; + return + } + + function tR(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = b[d + 4 >> 1] | 0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + h = (c[d >> 2] | 0) + (f * 24 | 0) + 6 | 0; + if (!(a[h >> 0] | 0)) a[h >> 0] = e; + f = f + 1 | 0 + } + return + } + + function uR(d, f, g) { + d = d | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0; + l = f + 84 | 0; + t = c[l >> 2] | 0; + u = vI() | 0; + v = yR() | 0; + i = 0; + h = 0; + k = Aw(t) | 0; + while (1) { + if (!k) break; + j = Aw(c[k + 8 >> 2] | 0) | 0; + while (1) { + if (!j) break; + j = c[j >> 2] | 0; + i = i + 1 | 0 + } + h = h + 1 | 0; + if (a[k + 12 >> 0] | 0) CR(v, h); + k = c[k >> 2] | 0 + } + h = uH((i << 2) + 4 | 0) | 0; + c[l >> 2] = h; + i = 0; + j = 0; + k = 0; + q = 0; + r = Aw(t) | 0; + while (1) { + if (!r) break; + s = q & 65535; + p = 0; + o = Aw(c[r + 8 >> 2] | 0) | 0; + while (1) { + if (!o) break; + n = c[o + 8 >> 2] | 0; + c[h >> 2] = n; + k = vR(d, n, f, g) | 0 | k; + l = wR(u, q, p, n) | 0; + b[n + 86 >> 1] = s; + b[n + 84 >> 1] = l; + l = l + (e[n + 80 >> 1] | 0) | 0; + m = q + (e[n + 82 >> 1] | 0) | 0; + if (DR(v, m) | 0) { + p = n + 100 | 0; + a[p >> 0] = a[p >> 0] | 2 + } + p = l; + h = h + 4 | 0; + o = c[o >> 2] | 0; + i = (l | 0) > (i | 0) ? l : i; + j = (m | 0) > (j | 0) ? m : j + } + q = q + 1 | 0; + r = c[r >> 2] | 0 + } + c[f + 100 >> 2] = j; + c[f + 104 >> 2] = i; + yw(t) | 0; + yw(v) | 0; + yI(u); + return k | 0 + } + + function vR(f, g, i, j) { + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0; + u = l; + l = l + 16 | 0; + t = u + 8 | 0; + s = u; + c[g + 96 >> 2] = i; + q = g + 36 | 0; + o = b[q >> 1] | 0; + if (!(o & 64)) { + if (!(b[i + 36 >> 1] & 64)) n = 2; else n = a[i + 34 >> 0] | 0; + a[g + 34 >> 0] = n + } + if (!(o & 32)) { + n = a[i + 88 >> 0] | 0; + if (n << 24 >> 24 <= -1) if (!(b[i + 36 >> 1] & 32)) n = 1; else n = a[i + 33 >> 0] | 0; + a[g + 33 >> 0] = n + } + n = g + 88 | 0; + p = g + 92 | 0; + switch (a[p >> 0] | 0) { + case 1: { + o = nR(f, c[n >> 2] | 0, g, j) | 0; + i = c[n >> 2] | 0; + n = o; + o = i + 64 | 0; + i = i + 72 | 0; + break + } + case 3: { + o = xR(c[n >> 2] | 0, j) | 0; + i = c[n >> 2] | 0; + n = o; + o = i + 16 | 0; + i = i + 24 | 0; + break + } + default: { + qR(c[(c[f + 16 >> 2] | 0) + 144 >> 2] | 0, c[n >> 2] | 0, j); + i = c[n >> 2] | 0; + n = 0; + o = i + 24 | 0; + i = i + 32 | 0 + } + } + k = +((d[g + 33 >> 0] | 0) + (d[g + 34 >> 0] | 0) << 1 | 0); + m = +h[o >> 3] + k; + k = +h[i >> 3] + k; + i = g + 38 | 0; + do if (b[q >> 1] & 1) { + o = b[i >> 1] | 0; + if (o << 16 >> 16 ? (r = b[g + 40 >> 1] | 0, r << 16 >> 16) : 0) { + if (!(m > +(o & 65535) | k > +(r & 65535))) { + m = 0.0; + k = 0.0; + break + } + if ((a[p >> 0] | 0) == 3) { + m = 0.0; + k = 0.0; + break + } + Pw(0, 134532, s) | 0; + n = 1; + m = 0.0; + k = 0.0; + break + } + Pw(0, 134565, t) | 0; + n = 1 + } while (0); + v = +(e[i >> 1] | 0); + h[g + 64 >> 3] = m > v ? m : v; + m = +(e[g + 40 >> 1] | 0); + h[g + 72 >> 3] = k > m ? k : m; + l = u; + return n | 0 + } + + function wR(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = d + 80 | 0; + i = (e[j >> 1] | 0) + -1 | 0; + h = 0; + a:while (1) { + f = c; + while (1) { + if (h) break a; + g = i + f | 0; + while (1) { + if ((g | 0) < (f | 0)) { + c = f; + h = 1; + continue a + } + if (DI(a, g, b) | 0) break; + g = g + -1 | 0 + } + f = g + 1 | 0 + } + } + h = d + 82 | 0; + f = c; + while (1) { + if ((f | 0) < (c + (e[j >> 1] | 0) | 0)) g = b; else break; + while (1) { + if ((g | 0) >= ((e[h >> 1] | 0) + b | 0)) break; + BI(a, f, g); + g = g + 1 | 0 + } + f = f + 1 | 0 + } + return c | 0 + } + + function xR(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + j = m; + i = m + 8 | 0; + d = d + 52 | 0; + g = b + 32 | 0; + CC(i, c[d >> 2] | 0, c[g >> 2] | 0); + k = c[i >> 2] | 0; + i = c[i + 4 >> 2] | 0; + if ((i & k | 0) == -1) { + c[j >> 2] = c[g >> 2]; + Pw(1, 134615, j) | 0; + d = 1; + f = 0.0; + e = 0.0 + } else { + a[(c[(c[d >> 2] | 0) + 16 >> 2] | 0) + 114 >> 0] = 1; + d = 0; + f = +(i | 0); + e = +(k | 0) + } + c[b >> 2] = 0; + c[b + 4 >> 2] = 0; + c[b + 8 >> 2] = 0; + c[b + 12 >> 2] = 0; + h[b + 16 >> 3] = e; + h[b + 24 >> 3] = f; + l = m; + return d | 0 + } + + function yR() { + return Cw(55820, c[4555] | 0) | 0 + } + + function zR(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = uH(12) | 0; + c[d >> 2] = c[b >> 2]; + return d | 0 + } + + function AR(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function BR(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = c[b >> 2] | 0; + e = c[d >> 2] | 0; + return ((b | 0) > (e | 0) ? 1 : ((b | 0) < (e | 0)) << 31 >> 31) | 0 + } + + function CR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + nb[c[a >> 2] & 63](a, e, 1) | 0; + l = d; + return + } + + function DR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + b = (nb[c[a >> 2] & 63](a, e, 512) | 0) != 0 & 1; + l = d; + return b | 0 + } + + function ER(a) { + a = a | 0; + var b = 0; + if (!(c[46605] | 0)) { + b = uH((a << 2) + 4 | 0) | 0; + c[46605] = b; + c[b >> 2] = 186424; + c[46616] = a + } + c[46617] = 0; + return + } + + function FR() { + D_(c[46605] | 0); + c[46605] = 0; + c[46617] = 0; + return + } + + function GR() { + c[46617] = 0; + return + } + + function HR() { + var a = 0, b = 0, d = 0; + b = c[46617] | 0; + d = c[46605] | 0; + a = 1; + while (1) { + if ((a | 0) > (b | 0)) { + a = 5; + break + } + if ((c[(c[d + (a << 2) >> 2] | 0) + 4 >> 2] | 0) == (a | 0)) a = a + 1 | 0; else { + a = 4; + break + } + } + if ((a | 0) == 4) qa(135312, 134659, 59, 134665); else if ((a | 0) == 5) return + } + + function IR(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + f = c[46605] | 0; + g = c[f + (a << 2) >> 2] | 0; + h = c[g >> 2] | 0; + while (1) { + b = (a | 0) / 2 | 0; + d = c[f + (b << 2) >> 2] | 0; + e = f + (a << 2) | 0; + if ((c[d >> 2] | 0) >= (h | 0)) break; + c[e >> 2] = d; + c[d + 4 >> 2] = a; + a = b + } + c[e >> 2] = g; + c[g + 4 >> 2] = a; + return + } + + function JR(a) { + a = a | 0; + var b = 0, d = 0; + d = l; + l = l + 16 | 0; + b = c[46617] | 0; + if ((b | 0) == (c[46616] | 0)) { + Pw(1, 134673, d) | 0; + a = 1 + } else { + b = b + 1 | 0; + c[46617] = b; + c[(c[46605] | 0) + (b << 2) >> 2] = a; + IR(b); + HR(); + a = 0 + } + l = d; + return a | 0 + } + + function KR(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + e = c[46605] | 0; + f = c[e + (a << 2) >> 2] | 0; + g = c[f >> 2] | 0; + h = c[46617] | 0; + i = (h | 0) / 2 | 0; + while (1) { + if ((a | 0) > (i | 0)) break; + d = a << 1; + b = c[e + (d << 2) >> 2] | 0; + if ((d | 0) < (h | 0)) { + l = d | 1; + j = c[e + (l << 2) >> 2] | 0; + k = (c[b >> 2] | 0) < (c[j >> 2] | 0); + d = k ? l : d; + b = k ? j : b + } + if ((g | 0) >= (c[b >> 2] | 0)) break; + c[e + (a << 2) >> 2] = b; + c[b + 4 >> 2] = a; + a = d + } + c[e + (a << 2) >> 2] = f; + c[f + 4 >> 2] = a; + return + } + + function LR() { + var a = 0, b = 0, d = 0, e = 0; + b = c[46617] | 0; + if (!b) a = 0; else { + e = c[46605] | 0; + d = e + 4 | 0; + a = c[d >> 2] | 0; + c[d >> 2] = c[e + (b << 2) >> 2]; + b = b + -1 | 0; + c[46617] = b; + if (b | 0) KR(1); + HR() + } + return a | 0 + } + + function MR(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = b; + IR(c[a + 4 >> 2] | 0); + HR(); + return + } + + function NR(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + m = b + 16 | 0; + j = c[m >> 2] | 0; + j = (a[j + ((c[e + 12 >> 2] | 0) * 40 | 0) + 36 >> 0] | 0) != (a[j + ((c[e + 16 >> 2] | 0) * 40 | 0) + 36 >> 0] | 0); + k = ~~((+h[d + 64 >> 3] + -3.0 - +h[d + 48 >> 3]) * .5); + l = ~~((+h[d + 56 >> 3] + -3.0 - +h[d + 40 >> 3]) * .5); + g = (k | 0) < (l | 0) ? k : l; + n = d + 4 | 0; + f = 0; + while (1) { + b = c[n >> 2] | 0; + if ((f | 0) >= (b | 0)) { + g = f; + break + } + i = c[d + 8 + (f << 2) >> 2] | 0; + o = c[m >> 2] | 0; + if ((a[o + ((c[i + 12 >> 2] | 0) * 40 | 0) + 36 >> 0] | 0) == (a[o + ((c[i + 16 >> 2] | 0) * 40 | 0) + 36 >> 0] | 0)) { + g = f; + break + } + OR(i, g); + f = f + 1 | 0 + } + while (1) { + if ((g | 0) >= (b | 0)) break; + f = c[d + 8 + (g << 2) >> 2] | 0; + if (j | (f | 0) == (e | 0)) { + OR(f, a[(c[m >> 2] | 0) + ((c[f + 12 >> 2] | 0) * 40 | 0) + 36 >> 0] | 0 ? k : l); + b = c[n >> 2] | 0 + } + g = g + 1 | 0 + } + return + } + + function OR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 8 | 0; + e = c[d >> 2] | 0; + c[d >> 2] = e + 1; + if ((e | 0) >= (b | 0)) { + c[d >> 2] = 0; + h[a >> 3] = +h[a >> 3] + 16384.0 + } + return + } + + function PR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0.0, z = 0.0, A = 0.0, B = 0.0, C = 0, D = 0, E = 0.0; + x = l; + l = l + 112 | 0; + u = x + 64 | 0; + t = x + 96 | 0; + m = x + 32 | 0; + v = x; + w = uH(28) | 0; + b = ay(a) | 0; + s = w + 4 | 0; + c[s >> 2] = b; + b = uH(b * 72 | 0) | 0; + r = w + 12 | 0; + c[r >> 2] = b; + e = v + 8 | 0; + h[e >> 3] = 1797693134862315708145274.0e284; + h[v >> 3] = 1797693134862315708145274.0e284; + f = v + 24 | 0; + h[f >> 3] = -1797693134862315708145274.0e284; + g = v + 16 | 0; + h[g >> 3] = -1797693134862315708145274.0e284; + i = m + 16 | 0; + j = m + 8 | 0; + k = m + 24 | 0; + d = Sy(a) | 0; + n = 1797693134862315708145274.0e284; + o = 1797693134862315708145274.0e284; + p = -1797693134862315708145274.0e284; + q = -1797693134862315708145274.0e284; + while (1) { + if (!d) break; + C = d + 16 | 0; + D = c[C >> 2] | 0; + z = (+h[D + 96 >> 3] + +h[D + 88 >> 3]) * .5; + z = z < 1.0 ? 1.0 : z; + y = +h[D + 80 >> 3] * .5; + y = y < 1.0 ? 1.0 : y; + E = +h[D + 16 >> 3]; + B = E - z; + h[m >> 3] = B; + z = E + z; + h[i >> 3] = z; + E = +h[D + 24 >> 3]; + A = E - y; + h[j >> 3] = A; + y = E + y; + h[k >> 3] = y; + B = +h[(n < B ? v : m) >> 3]; + h[v >> 3] = B; + A = +h[(o < A ? v : m) + 8 >> 3]; + h[e >> 3] = A; + z = +h[(p > z ? v : m) + 16 >> 3]; + h[g >> 3] = z; + y = +h[(q > y ? v : m) + 24 >> 3]; + h[f >> 3] = y; + D = b + 40 | 0; + c[D >> 2] = c[m >> 2]; + c[D + 4 >> 2] = c[m + 4 >> 2]; + c[D + 8 >> 2] = c[m + 8 >> 2]; + c[D + 12 >> 2] = c[m + 12 >> 2]; + c[D + 16 >> 2] = c[m + 16 >> 2]; + c[D + 20 >> 2] = c[m + 20 >> 2]; + c[D + 24 >> 2] = c[m + 24 >> 2]; + c[D + 28 >> 2] = c[m + 28 >> 2]; + c[b >> 2] = c[b >> 2] | 1; + c[(c[C >> 2] | 0) + 112 >> 2] = b; + b = b + 72 | 0; + d = Ty(a, d) | 0; + n = B; + o = A; + p = z; + q = y + } + h[v >> 3] = n + -36.0; + h[e >> 3] = o + -36.0; + h[g >> 3] = p + 36.0; + h[f >> 3] = q + 36.0; + D = c[r >> 2] | 0; + f = c[s >> 2] | 0; + 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]; + c[u + 16 >> 2] = c[v + 16 >> 2]; + c[u + 20 >> 2] = c[v + 20 >> 2]; + c[u + 24 >> 2] = c[v + 24 >> 2]; + c[u + 28 >> 2] = c[v + 28 >> 2]; + f = ZR(D, f, t, u) | 0; + if (c[46553] & 1 | 0) { + r = c[r >> 2] | 0; + C = c[s >> 2] | 0; + D = c[t >> 2] | 0; + 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]; + c[u + 16 >> 2] = c[v + 16 >> 2]; + c[u + 20 >> 2] = c[v + 20 >> 2]; + c[u + 24 >> 2] = c[v + 24 >> 2]; + c[u + 28 >> 2] = c[v + 28 >> 2]; + QR(r, C, u, f, D) + } + e = w + 8 | 0; + c[e >> 2] = uH((c[t >> 2] | 0) * 72 | 0) | 0; + c[w >> 2] = c[t >> 2]; + d = c[t >> 2] | 0; + b = 0; + while (1) { + if ((b | 0) >= (d | 0)) break; + D = (c[e >> 2] | 0) + (b * 72 | 0) + 40 | 0; + C = f + (b << 5) | 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]; + b = b + 1 | 0 + } + D_(f); + 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]; + c[u + 16 >> 2] = c[v + 16 >> 2]; + c[u + 20 >> 2] = c[v + 20 >> 2]; + c[u + 24 >> 2] = c[v + 24 >> 2]; + c[u + 28 >> 2] = c[v + 28 >> 2]; + c[w + 16 >> 2] = RR(w, u) | 0; + l = x; + return w | 0 + } + + function QR(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0, + u = 0.0, v = 0.0; + q = l; + l = l + 128 | 0; + p = q + 96 | 0; + o = q + 64 | 0; + j = q + 32 | 0; + r = q + 16 | 0; + s = q; + m = +h[d + 16 >> 3]; + n = +h[d >> 3]; + k = +h[d + 24 >> 3]; + g = +h[d + 8 >> 3]; + i = c[15686] | 0; + D1(134688, i) | 0; + c[s >> 2] = 10; + c[s + 4 >> 2] = 10; + c[s + 8 >> 2] = ~~(m + 10.0 - n); + c[s + 12 >> 2] = ~~(k + 10.0 - g); + g1(i, 135118, s) | 0; + h[r >> 3] = 10.0 - n; + h[r + 8 >> 3] = 10.0 - g; + g1(i, 135166, r) | 0; + D1(135183, i) | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + v = +h[a + (d * 72 | 0) + 48 >> 3]; + u = +h[a + (d * 72 | 0) + 56 >> 3]; + t = +h[a + (d * 72 | 0) + 64 >> 3]; + h[j >> 3] = +h[a + (d * 72 | 0) + 40 >> 3]; + h[j + 8 >> 3] = v; + h[j + 16 >> 3] = u; + h[j + 24 >> 3] = t; + g1(i, 135202, j) | 0; + d = d + 1 | 0 + } + D1(135220, i) | 0; + d = 0; + while (1) { + if ((d | 0) >= (f | 0)) break; + t = +h[e + (d << 5) + 8 >> 3]; + u = +h[e + (d << 5) + 16 >> 3]; + v = +h[e + (d << 5) + 24 >> 3]; + h[o >> 3] = +h[e + (d << 5) >> 3]; + h[o + 8 >> 3] = t; + h[o + 16 >> 3] = u; + h[o + 24 >> 3] = v; + g1(i, 135239, o) | 0; + d = d + 1 | 0 + } + D1(135257, i) | 0; + h[p >> 3] = n; + h[p + 8 >> 3] = g; + h[p + 16 >> 3] = m; + h[p + 24 >> 3] = k; + g1(i, 135239, p) | 0; + D1(135004, i) | 0; + l = q; + return + } + + function RR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + A = l; + l = l + 32 | 0; + t = A + 16 | 0; + k = A; + w = c[a >> 2] | 0; + y = nO(w << 2 | 2) | 0; + z = Cw(55856, c[4555] | 0) | 0; + v = Cw(55892, c[4555] | 0) | 0; + w = uH(w << 7) | 0; + f = uH(c[a >> 2] << 4) | 0; + x = a + 8 | 0; + g = b + 16 | 0; + i = k + 8 | 0; + j = b + 24 | 0; + m = b + 8 | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[a >> 2] | 0)) break; + n = c[x >> 2] | 0; + o = n + (d * 72 | 0) | 0; + c[n + (d * 72 | 0) + 32 >> 2] = 4; + p = n + (d * 72 | 0) + 36 | 0; + c[p >> 2] = f + (d << 2 << 2); + q = n + (d * 72 | 0) + 40 | 0; + e = +h[n + (d * 72 | 0) + 56 >> 3]; + if (e < +h[g >> 3]) { + h[k >> 3] = e; + h[i >> 3] = +h[n + (d * 72 | 0) + 48 >> 3]; + c[t >> 2] = c[k >> 2]; + c[t + 4 >> 2] = c[k + 4 >> 2]; + c[t + 8 >> 2] = c[k + 8 >> 2]; + c[t + 12 >> 2] = c[k + 12 >> 2]; + s = SR(y, z, t, w, 1) | 0; + c[s + 20 >> 2] = o; + c[c[p >> 2] >> 2] = s + } + e = +h[n + (d * 72 | 0) + 64 >> 3]; + if (e < +h[j >> 3]) { + h[k >> 3] = +h[q >> 3]; + h[i >> 3] = e; + c[t >> 2] = c[k >> 2]; + c[t + 4 >> 2] = c[k + 4 >> 2]; + c[t + 8 >> 2] = c[k + 8 >> 2]; + c[t + 12 >> 2] = c[k + 12 >> 2]; + s = SR(y, v, t, w, 0) | 0; + c[s + 20 >> 2] = o; + c[(c[p >> 2] | 0) + 4 >> 2] = s + } + if (+h[q >> 3] > +h[b >> 3]) { + 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]; + s = SR(y, z, t, w, 1) | 0; + c[s + 24 >> 2] = o; + c[(c[p >> 2] | 0) + 8 >> 2] = s + } + if (+h[n + (d * 72 | 0) + 48 >> 3] > +h[m >> 3]) { + 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]; + s = SR(y, v, t, w, 0) | 0; + c[s + 24 >> 2] = o; + c[(c[p >> 2] | 0) + 12 >> 2] = s + } + d = d + 1 | 0 + } + o = uH(c[y >> 2] << 2) | 0; + r = a + 4 | 0; + s = a + 12 | 0; + p = t + 8 | 0; + m = 0; + q = 0; + n = 0; + while (1) { + d = c[r >> 2] | 0; + if ((n | 0) >= (d | 0)) { + b = 0; + break + } + g = c[s >> 2] | 0; + i = g + (n * 72 | 0) | 0; + j = g + (n * 72 | 0) + 36 | 0; + c[j >> 2] = o + (m << 2); + b = g + (n * 72 | 0) + 40 | 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]; + b = g + (n * 72 | 0) + 56 | 0; + k = g + (n * 72 | 0) + 32 | 0; + d = nb[c[v >> 2] & 63](v, t, 512) | 0; + while (1) { + if (!d) break; + if (!(+h[d + 8 >> 3] < +h[b >> 3])) break; + C = c[d >> 2] | 0; + B = c[j >> 2] | 0; + f = c[k >> 2] | 0; + c[k >> 2] = f + 1; + c[B + (f << 2) >> 2] = C; + c[(c[d >> 2] | 0) + 24 >> 2] = i; + d = nb[c[v >> 2] & 63](v, d, 8) | 0 + } + f = g + (n * 72 | 0) + 64 | 0; + d = nb[c[z >> 2] & 63](z, t, 512) | 0; + while (1) { + if (!d) { + u = 20; + break + } + e = +h[f >> 3]; + if (!(+h[d + 16 >> 3] < e)) break; + b = c[d >> 2] | 0; + B = c[j >> 2] | 0; + C = c[k >> 2] | 0; + c[k >> 2] = C + 1; + c[B + (C << 2) >> 2] = b; + c[(c[d >> 2] | 0) + 24 >> 2] = i; + d = nb[c[z >> 2] & 63](z, d, 8) | 0 + } + if ((u | 0) == 20) { + u = 0; + e = +h[f >> 3] + } + h[p >> 3] = e; + b = g + (n * 72 | 0) + 56 | 0; + d = nb[c[v >> 2] & 63](v, t, 512) | 0; + while (1) { + if (!d) { + u = 25; + break + } + e = +h[b >> 3]; + if (!(+h[d + 8 >> 3] < e)) break; + D = c[d >> 2] | 0; + B = c[j >> 2] | 0; + C = c[k >> 2] | 0; + c[k >> 2] = C + 1; + c[B + (C << 2) >> 2] = D; + c[(c[d >> 2] | 0) + 20 >> 2] = i; + d = nb[c[v >> 2] & 63](v, d, 8) | 0 + } + if ((u | 0) == 25) { + u = 0; + e = +h[b >> 3] + } + h[t >> 3] = e; + h[p >> 3] = +h[g + (n * 72 | 0) + 48 >> 3]; + d = nb[c[z >> 2] & 63](z, t, 512) | 0; + while (1) { + if (!d) break; + if (!(+h[d + 16 >> 3] < +h[f >> 3])) break; + B = c[d >> 2] | 0; + C = c[j >> 2] | 0; + D = c[k >> 2] | 0; + c[k >> 2] = D + 1; + c[C + (D << 2) >> 2] = B; + c[(c[d >> 2] | 0) + 20 >> 2] = i; + d = nb[c[z >> 2] & 63](z, d, 8) | 0 + } + D = c[k >> 2] | 0; + m = D + m | 0; + q = (D | 0) > (q | 0) ? D : q; + n = n + 1 | 0 + } + while (1) { + if ((b | 0) >= (d | 0)) break; + TR((c[s >> 2] | 0) + (b * 72 | 0) | 0); + b = b + 1 | 0; + d = c[r >> 2] | 0 + } + d = c[y >> 2] | 0; + D = c[y + 16 >> 2] | 0; + c[D + (d * 40 | 0) + 32 >> 2] = d; + d = d + 1 | 0; + c[D + (d * 40 | 0) + 32 >> 2] = d; + mO(y, q); + d = 0; + while (1) { + if ((d | 0) >= (c[a >> 2] | 0)) break; + UR((c[x >> 2] | 0) + (d * 72 | 0) | 0, y); + d = d + 1 | 0 + } + yw(z) | 0; + yw(v) | 0; + D_(w); + VR(y); + kO(y); + l = A; + return y | 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, i = 0; + h = nb[c[d >> 2] & 63](d, e, 512) | 0; + do if (!h) { + b = oO(b) | 0; + if (!f) qa(135101, 135049, 291, 135108); else { + h = c[b + 32 >> 2] | 0; + i = f + (h << 5) | 0; + f = f + (h << 5) + 8 | 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[i >> 2] = b; + a[b + 36 >> 0] = g; + nb[c[d >> 2] & 63](d, i, 1) | 0; + break + } + } else i = h; while (0); + return c[i >> 2] | 0 + } + + function TR(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + a:do if ((+h[b + 64 >> 3] + -3.0 - +h[b + 48 >> 3]) * .5 < 2.0) { + i = c[b + 32 >> 2] | 0; + j = b + 36 | 0; + g = 0; + while (1) { + if ((g | 0) >= (i | 0)) break a; + d = c[(c[j >> 2] | 0) + (g << 2) >> 2] | 0; + b:do if (a[d + 36 >> 0] | 0) { + f = c[d + 20 >> 2] | 0; + if ((f | 0) == (b | 0)) { + e = c[d + 24 >> 2] | 0; + d = e; + e = c[e >> 2] | 0; + do { + c[d >> 2] = e | 8; + d = c[c[d + 36 >> 2] >> 2] | 0; + if (!d) break b; + d = c[d + 24 >> 2] | 0; + e = c[d >> 2] | 0 + } while (!(e & 1 | 0)) + } else { + e = f; + d = c[f >> 2] | 0; + do { + c[e >> 2] = d | 8; + d = c[(c[e + 36 >> 2] | 0) + 8 >> 2] | 0; + if (!d) break b; + e = c[d + 20 >> 2] | 0; + d = c[e >> 2] | 0 + } while (!(d & 1 | 0)) + } + } while (0); + g = g + 1 | 0 + } + } while (0); + c:do if ((+h[b + 56 >> 3] + -3.0 - +h[b + 40 >> 3]) * .5 < 2.0) { + i = c[b + 32 >> 2] | 0; + j = b + 36 | 0; + g = 0; + while (1) { + if ((g | 0) >= (i | 0)) break c; + d = c[(c[j >> 2] | 0) + (g << 2) >> 2] | 0; + d:do if (!(a[d + 36 >> 0] | 0)) { + f = c[d + 20 >> 2] | 0; + if ((f | 0) == (b | 0)) { + e = c[d + 24 >> 2] | 0; + d = e; + e = c[e >> 2] | 0; + do { + c[d >> 2] = e | 16; + d = c[(c[d + 36 >> 2] | 0) + 4 >> 2] | 0; + if (!d) break d; + d = c[d + 24 >> 2] | 0; + e = c[d >> 2] | 0 + } while (!(e & 1 | 0)) + } else { + e = f; + d = c[f >> 2] | 0; + do { + c[e >> 2] = d | 16; + d = c[(c[e + 36 >> 2] | 0) + 12 >> 2] | 0; + if (!d) break d; + e = c[d + 20 >> 2] | 0; + d = c[e >> 2] | 0 + } while (!(d & 1 | 0)) + } + } while (0); + g = g + 1 | 0 + } + } while (0); + return + } + + function UR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0; + g = +h[a + 56 >> 3] - +h[a + 40 >> 3]; + i = +h[a + 64 >> 3] - +h[a + 48 >> 3]; + f = (i + g) * .5 + 500.0; + if ((i + -3.0) * .5 < 2.0) { + l = (c[a >> 2] & 8 | 0) == 0; + f = l ? 16384.0 : f; + p = l ? 16384.0 : g + } else p = g; + if ((g + -3.0) * .5 < 2.0) { + l = (c[a >> 2] & 16 | 0) == 0; + i = l ? 16384.0 : i; + f = l ? 16384.0 : f + } + l = a + 36 | 0; + d = c[l >> 2] | 0; + e = c[d + 8 >> 2] | 0; + if ((e | 0) != 0 ? (j = c[d + 4 >> 2] | 0, (j | 0) != 0) : 0) { + j = pO(b, e, j, f) | 0; + e = a + 4 | 0; + d = c[e >> 2] | 0; + c[e >> 2] = d + 1; + c[a + 8 + (d << 2) >> 2] = j; + d = c[l >> 2] | 0 + } + e = c[d + 4 >> 2] | 0; + if ((e | 0) != 0 ? (k = c[d >> 2] | 0, (k | 0) != 0) : 0) { + k = pO(b, e, k, f) | 0; + j = a + 4 | 0; + d = c[j >> 2] | 0; + c[j >> 2] = d + 1; + c[a + 8 + (d << 2) >> 2] = k; + d = c[l >> 2] | 0 + } + e = c[d + 8 >> 2] | 0; + if ((e | 0) != 0 ? (m = c[d + 12 >> 2] | 0, (m | 0) != 0) : 0) { + m = pO(b, e, m, f) | 0; + k = a + 4 | 0; + d = c[k >> 2] | 0; + c[k >> 2] = d + 1; + c[a + 8 + (d << 2) >> 2] = m; + d = c[l >> 2] | 0 + } + e = c[d + 12 >> 2] | 0; + if ((e | 0) != 0 ? (n = c[d >> 2] | 0, (n | 0) != 0) : 0) { + n = pO(b, e, n, f) | 0; + m = a + 4 | 0; + d = c[m >> 2] | 0; + c[m >> 2] = d + 1; + c[a + 8 + (d << 2) >> 2] = n; + d = c[l >> 2] | 0 + } + e = c[d + 4 >> 2] | 0; + if ((e | 0) != 0 ? (o = c[d + 12 >> 2] | 0, (o | 0) != 0) : 0) { + o = pO(b, e, o, i) | 0; + n = a + 4 | 0; + d = c[n >> 2] | 0; + c[n >> 2] = d + 1; + c[a + 8 + (d << 2) >> 2] = o; + d = c[l >> 2] | 0 + } + e = c[d + 8 >> 2] | 0; + if (e | 0 ? (q = c[d >> 2] | 0, q | 0) : 0) { + b = pO(b, e, q, p) | 0; + o = a + 4 | 0; + q = c[o >> 2] | 0; + c[o >> 2] = q + 1; + c[a + 8 + (q << 2) >> 2] = b + } + return + } + + function VR(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j + 8 | 0; + h = j; + f = a + 16 | 0; + g = c[15686] | 0; + e = 0; + while (1) { + if ((e | 0) >= (c[a >> 2] | 0)) { + b = 10; + break + } + b = c[f >> 2] | 0; + d = b + (e * 40 | 0) + 20 | 0; + if ((c[d >> 2] | 0) == 0 ? (c[h >> 2] = e, g1(g, 135014, h) | 0, (c[d >> 2] | 0) == 0) : 0) { + b = 5; + break + } + b = b + (e * 40 | 0) + 24 | 0; + if ((c[b >> 2] | 0) == 0 ? (c[i >> 2] = e, g1(g, 135066, i) | 0, (c[b >> 2] | 0) == 0) : 0) { + b = 8; + break + } + e = e + 1 | 0 + } + if ((b | 0) == 5) qa(135036, 135049, 311, 135056); else if ((b | 0) == 8) qa(135088, 135049, 313, 135056); else if ((b | 0) == 10) { + l = j; + return + } + } + + function WR(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +h[b + 8 >> 3]; + f = +h[c + 8 >> 3]; + if (!(e > f)) if (!(e < f)) { + f = +h[b >> 3]; + e = +h[c >> 3]; + if (f > e) a = 1; else a = (f < e) << 31 >> 31 + } else a = -1; else a = 1; + return a | 0 + } + + function XR(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +h[b >> 3]; + f = +h[c >> 3]; + if (!(e > f)) if (!(e < f)) { + f = +h[b + 8 >> 3]; + e = +h[c + 8 >> 3]; + if (f > e) a = 1; else a = (f < e) << 31 >> 31 + } else a = -1; else a = 1; + return a | 0 + } + + function YR(a) { + a = a | 0; + var b = 0, d = 0; + d = a + 8 | 0; + D_(c[(c[d >> 2] | 0) + 36 >> 2] | 0); + b = a + 12 | 0; + D_(c[(c[b >> 2] | 0) + 36 >> 2] | 0); + D_(c[d >> 2] | 0); + D_(c[b >> 2] | 0); + rO(c[a + 16 >> 2] | 0); + yw(c[a + 20 >> 2] | 0) | 0; + yw(c[a + 24 >> 2] | 0) | 0; + D_(a); + 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, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 32 | 0; + h = p; + i = b << 2; + f = i + 4 | 0; + i = i + 5 | 0; + o = vH(i * 56 | 0) | 0; + i = uH(i << 2) | 0; + g = f * 5 | 1; + j = vH(g * 72 | 0) | 0; + m = g << 5; + k = uH(m) | 0; + m = uH(m) | 0; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2]; + c[h + 16 >> 2] = c[e + 16 >> 2]; + c[h + 20 >> 2] = c[e + 20 >> 2]; + c[h + 24 >> 2] = c[e + 24 >> 2]; + c[h + 28 >> 2] = c[e + 28 >> 2]; + _R(a, b, h, o, 0); + i2(173); + $R(f, i); + jS(f, o, i, g, j) | 0; + n = aS(f, o, j, 0, k) | 0; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2]; + c[h + 16 >> 2] = c[e + 16 >> 2]; + c[h + 20 >> 2] = c[e + 20 >> 2]; + c[h + 24 >> 2] = c[e + 24 >> 2]; + c[h + 28 >> 2] = c[e + 28 >> 2]; + _R(a, b, h, o, 1); + $R(f, i); + jS(f, o, i, g, j) | 0; + f = aS(f, o, j, 1, m) | 0; + g = uH(O(n << 5, f) | 0) | 0; + b = 0; + a = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + h = m + (b << 5) | 0; + e = 0; + while (1) { + if ((e | 0) >= (n | 0)) break; + q = a + ((bS(g + (a << 5) | 0, h, k + (e << 5) | 0) | 0) != 0 & 1) | 0; + e = e + 1 | 0; + a = q + } + b = b + 1 | 0 + } + q = xH(g, a << 5) | 0; + D_(o); + D_(i); + D_(j); + D_(k); + D_(m); + c[d >> 2] = a; + l = p; + return q | 0 + } + + function _R(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; + j = l; + l = l + 96 | 0; + h = j + 64 | 0; + i = j; + 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]; + hS(h, f, 1, i); + d = iS(e, 1, i) | 0; + g = 0; + while (1) { + if ((g | 0) >= (b | 0)) break; + k = a + (g * 72 | 0) + 40 | 0; + c[h >> 2] = c[k >> 2]; + c[h + 4 >> 2] = c[k + 4 >> 2]; + c[h + 8 >> 2] = c[k + 8 >> 2]; + c[h + 12 >> 2] = c[k + 12 >> 2]; + c[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]; + hS(h, f, 0, i); + d = iS(e, d, i) | 0; + g = g + 1 | 0 + } + l = j; + return + } + + function $R(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + d = 0; + while (1) { + if ((d | 0) > (a | 0)) break; + c[b + (d << 2) >> 2] = d; + d = d + 1 | 0 + } + g = a + 1 | 0; + d = 1; + while (1) { + if ((d | 0) > (a | 0)) break; + h = ~~(+k2() * +(g - d | 0) + +(d | 0)); + e = b + (d << 2) | 0; + f = b + (h << 2) | 0; + if ((d | 0) != (h | 0)) { + h = c[e >> 2] | 0; + c[e >> 2] = c[f >> 2]; + c[f >> 2] = h + } + d = d + 1 | 0 + } + return + } + + function aS(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; + g = a * 5 | 0; + j = g + 1 | 0; + l = uH(j << 2) | 0; + c[46618] = uH(j << 4) | 0; + c[46619] = uH((a * 56 | 0) + 56 | 0) | 0; + j = uH(a << 2) | 0; + c[46620] = j; + k = 0; + while (1) { + if ((k | 0) > (g | 0)) break; + if (cS(d + (k * 72 | 0) | 0, b) | 0) break; + k = k + 1 | 0 + } + h = c[46618] | 0; + i = c[46619] | 0; + g = 1; + while (1) { + if ((g | 0) > (a | 0)) break; + c[h + (g << 4) + 8 >> 2] = c[b + (g * 56 | 0) + 48 >> 2]; + m = b + (g * 56 | 0) + 44 | 0; + c[h + (g << 4) + 4 >> 2] = c[m >> 2]; + c[h + (g << 4) >> 2] = g; + n = i + (g * 56 | 0) | 0; + o = b + (g * 56 | 0) | 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]; + c[i + (g * 56 | 0) + 16 >> 2] = c[m >> 2]; + c[i + (g * 56 | 0) + 32 >> 2] = g; + c[i + (g * 56 | 0) + 48 >> 2] = 1; + g = g + 1 | 0 + } + c[46621] = a; + c[46622] = 0; + c[j >> 2] = 1; + g = c[d + (k * 72 | 0) + 40 >> 2] | 0; + if ((g | 0) <= 0) { + g = c[d + (k * 72 | 0) + 48 >> 2] | 0; + if ((g | 0) > 0) g = dS(l, f, 0, b, d, 0, k, g, e, 2) | 0; else g = 0 + } else g = dS(l, f, 0, b, d, 0, k, g, e, 1) | 0; + D_(l); + D_(c[46618] | 0); + D_(c[46619] | 0); + D_(c[46620] | 0); + return g | 0 + } + + function bS(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0; + g = +h[(+h[b >> 3] > +h[c >> 3] ? b : c) >> 3]; + f = +h[(+h[b + 16 >> 3] < +h[c + 16 >> 3] ? b : c) + 16 >> 3]; + h[a + 16 >> 3] = f; + h[a >> 3] = g; + e = +h[(+h[b + 8 >> 3] > +h[c + 8 >> 3] ? b : c) + 8 >> 3]; + d = +h[(+h[b + 24 >> 3] < +h[c + 24 >> 3] ? b : c) + 24 >> 3]; + h[a + 24 >> 3] = d; + h[a + 8 >> 3] = e; + return !(g >= f) & !(e >= d) & 1 | 0 + } + + function cS(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0; + f = c[a + 4 >> 2] | 0; + do if ((c[a + 68 >> 2] | 0) != 2 ? !((f | 0) < 1 | (c[a >> 2] | 0) < 1) : 0) { + if (!((c[a + 40 >> 2] | 0) < 1 ? (c[a + 44 >> 2] | 0) < 1 : 0)) { + if ((c[a + 48 >> 2] | 0) >= 1) { + a = 0; + break + } + if ((c[a + 52 >> 2] | 0) >= 1) { + a = 0; + break + } + } + d = +h[b + (f * 56 | 0) + 24 >> 3]; + e = +h[b + (f * 56 | 0) + 8 >> 3]; + if (!(d > e + 1.0e-07)) if (d < e + -1.0e-07) a = 0; else a = +h[b + (f * 56 | 0) + 16 >> 3] > +h[b + (f * 56 | 0) >> 3] & 1; else a = 1 + } else a = 0; while (0); + return a | 0 + } + + function dS(a, b, d, e, f, g, i, j, k, l) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + k = k | 0; + l = l | 0; + var m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, + z = 0, A = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0.0, J = 0, K = 0.0, L = 0, M = 0, + N = 0, O = 0, P = 0; + D = (k | 0) == 0; + C = i; + a:while (1) { + y = f + (C * 72 | 0) | 0; + if ((C | 0) < 1) break; + i = a + (C << 2) | 0; + if (c[i >> 2] | 0) break; + c[i >> 2] = 1; + v = f + (C * 72 | 0) + 8 | 0; + t = f + (C * 72 | 0) + 16 | 0; + p = +h[t >> 3]; + w = f + (C * 72 | 0) + 24 | 0; + x = f + (C * 72 | 0) + 32 | 0; + o = +h[x >> 3]; + if ((p > o ? (A = c[y >> 2] | 0, I = +h[e + (A * 56 | 0) >> 3], I == +h[e + (A * 56 | 0) + 16 >> 3]) : 0) ? (A = c[f + (C * 72 | 0) + 4 >> 2] | 0, K = +h[e + (A * 56 | 0) >> 3], K == +h[e + (A * 56 | 0) + 16 >> 3]) : 0) { + i = b + (d << 5) | 0; + if (D) { + h[i >> 3] = I; + q = p; + p = K + } else { + h[i >> 3] = o; + q = -I; + o = -K + } + h[b + (d << 5) + 8 >> 3] = o; + h[b + (d << 5) + 16 >> 3] = p; + h[b + (d << 5) + 24 >> 3] = q; + d = d + 1 | 0 + } + i = f + (C * 72 | 0) + 40 | 0; + z = c[i >> 2] | 0; + do if ((z | 0) < 1 ? (L = f + (C * 72 | 0) + 44 | 0, (c[L >> 2] | 0) < 1) : 0) { + i = f + (C * 72 | 0) + 48 | 0; + n = f + (C * 72 | 0) + 52 | 0; + if ((c[i >> 2] | 0) > 0 ? (M = c[n >> 2] | 0, (M | 0) > 0) : 0) { + m = c[f + (M * 72 | 0) >> 2] | 0; + l = c[y >> 2] | 0; + if ((M | 0) == (j | 0)) { + l = eS(g, l, m) | 0; + d = dS(a, b, d, e, f, g, c[n >> 2] | 0, C, k, 1) | 0; + g = l; + l = 1; + break + } else { + l = eS(g, m, l) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 1) | 0; + g = l; + i = n; + l = 1; + break + } + } + d = dS(a, b, d, e, f, g, z, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[L >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 1) | 0; + i = n; + l = 1 + } else P = 19; while (0); + do if ((P | 0) == 19) { + P = 0; + A = f + (C * 72 | 0) + 48 | 0; + r = c[A >> 2] | 0; + if ((r | 0) < 1 ? (N = f + (C * 72 | 0) + 52 | 0, (c[N >> 2] | 0) < 1) : 0) { + n = f + (C * 72 | 0) + 44 | 0; + if ((z | 0) > 0 ? (O = c[n >> 2] | 0, (O | 0) > 0) : 0) { + m = c[f + (C * 72 | 0) + 4 >> 2] | 0; + l = c[f + (z * 72 | 0) + 4 >> 2] | 0; + if ((O | 0) == (j | 0)) { + l = eS(g, l, m) | 0; + d = dS(a, b, d, e, f, g, c[n >> 2] | 0, C, k, 2) | 0; + g = l; + l = 2; + break + } else { + l = eS(g, m, l) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = n; + l = 2; + break + } + } + d = dS(a, b, d, e, f, g, z, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[n >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + i = N; + l = 1; + break + } + u = f + (C * 72 | 0) + 44 | 0; + s = c[u >> 2] | 0; + m = (s | 0) > 0; + if ((z | 0) > 0) { + if (m) { + if ((r | 0) > 0 ? (E = f + (C * 72 | 0) + 52 | 0, F = c[E >> 2] | 0, (F | 0) > 0) : 0) { + n = c[f + (F * 72 | 0) >> 2] | 0; + m = c[f + (z * 72 | 0) + 4 >> 2] | 0; + if (!((l | 0) == 2 & (F | 0) == (j | 0)) ? !((l | 0) == 1 & (s | 0) == (j | 0)) : 0) { + l = eS(g, n, m) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[u >> 2] | 0, C, k, 2) | 0; + g = l; + i = E; + l = 1; + break + } + l = eS(g, m, n) | 0; + d = dS(a, b, d, e, f, g, c[u >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[E >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = A; + l = 1; + break + } + m = c[y >> 2] | 0; + if (+B(+(+h[x >> 3] - +h[e + (m * 56 | 0) + 24 >> 3])) <= 1.0e-07 ? +B(+(+h[w >> 3] - +h[e + (m * 56 | 0) + 16 >> 3])) <= 1.0e-07 : 0) { + n = c[f + (z * 72 | 0) + 4 >> 2] | 0; + m = c[e + (m * 56 | 0) + 44 >> 2] | 0; + if ((l | 0) == 1 & (z | 0) == (j | 0)) { + l = eS(g, m, n) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[u >> 2] | 0, C, k, 2) | 0; + g = l; + i = f + (C * 72 | 0) + 52 | 0; + l = 1; + break + } else { + l = eS(g, n, m) | 0; + d = dS(a, b, d, e, f, g, c[u >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + g = l; + l = 2; + break + } + } + n = c[f + (C * 72 | 0) + 4 >> 2] | 0; + m = c[f + (z * 72 | 0) + 4 >> 2] | 0; + if ((l | 0) == 1 & (s | 0) == (j | 0)) { + l = eS(g, m, n) | 0; + d = dS(a, b, d, e, f, g, c[u >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[A >> 2] | 0, C, k, 1) | 0; + g = l; + l = 2; + break + } else { + l = eS(g, n, m) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + g = l; + i = u; + l = 2; + break + } + } + } else if (!m) break a; + if ((r | 0) > 0 ? (G = f + (C * 72 | 0) + 52 | 0, H = c[G >> 2] | 0, (H | 0) > 0) : 0) { + n = c[y >> 2] | 0; + if (+B(+(+h[t >> 3] - +h[e + (n * 56 | 0) + 8 >> 3])) <= 1.0e-07 ? +B(+(+h[v >> 3] - +h[e + (n * 56 | 0) >> 3])) <= 1.0e-07 : 0) { + m = c[f + (H * 72 | 0) >> 2] | 0; + if ((l | 0) == 2 & (r | 0) == (j | 0)) { + l = eS(g, m, n) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + g = l; + i = G; + l = 1; + break + } else { + l = eS(g, n, m) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[G >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = A; + l = 1; + break + } + } + m = c[f + (H * 72 | 0) >> 2] | 0; + n = c[e + ((c[f + (C * 72 | 0) + 4 >> 2] | 0) * 56 | 0) + 44 >> 2] | 0; + if ((l | 0) == 2 & (H | 0) == (j | 0)) { + l = eS(g, n, m) | 0; + d = dS(a, b, d, e, f, g, c[G >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = A; + l = 1; + break + } else { + l = eS(g, m, n) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + g = l; + i = G; + l = 1; + break + } + } + o = +h[t >> 3]; + n = c[y >> 2] | 0; + if (((+B(+(o - +h[e + (n * 56 | 0) + 8 >> 3])) <= 1.0e-07 ? +B(+(+h[v >> 3] - +h[e + (n * 56 | 0) >> 3])) <= 1.0e-07 : 0) ? (J = c[f + (C * 72 | 0) + 4 >> 2] | 0, +B(+(+h[x >> 3] - +h[e + (J * 56 | 0) + 8 >> 3])) <= 1.0e-07) : 0) ? +B(+(+h[w >> 3] - +h[e + (J * 56 | 0) >> 3])) <= 1.0e-07 : 0) if ((l | 0) == 1) { + l = eS(g, n, J) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + g = l; + i = A; + l = 1; + break + } else { + l = eS(g, J, n) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = f + (C * 72 | 0) + 44 | 0; + l = 2; + break + } + j = c[f + (C * 72 | 0) + 4 >> 2] | 0; + if (((+B(+(o - +h[e + (j * 56 | 0) + 24 >> 3])) <= 1.0e-07 ? +B(+(+h[v >> 3] - +h[e + (j * 56 | 0) + 16 >> 3])) <= 1.0e-07 : 0) ? +B(+(+h[x >> 3] - +h[e + (n * 56 | 0) + 24 >> 3])) <= 1.0e-07 : 0) ? +B(+(+h[w >> 3] - +h[e + (n * 56 | 0) + 16 >> 3])) <= 1.0e-07 : 0) { + m = c[e + (j * 56 | 0) + 44 >> 2] | 0; + j = c[e + (n * 56 | 0) + 44 >> 2] | 0; + if ((l | 0) == 1) { + l = eS(g, j, m) | 0; + d = dS(a, b, d, e, f, g, c[i >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + d = dS(a, b, d, e, f, l, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + g = l; + i = A; + l = 1; + break + } else { + l = eS(g, m, j) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 52 >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, l, c[i >> 2] | 0, C, k, 2) | 0; + g = l; + i = f + (C * 72 | 0) + 44 | 0; + l = 2; + break + } + } + d = dS(a, b, d, e, f, g, z, C, k, 2) | 0; + d = dS(a, b, d, e, f, g, c[A >> 2] | 0, C, k, 1) | 0; + d = dS(a, b, d, e, f, g, c[f + (C * 72 | 0) + 44 >> 2] | 0, C, k, 2) | 0; + i = f + (C * 72 | 0) + 52 | 0; + l = 1 + } while (0); + j = C; + C = c[i >> 2] | 0 + } + return d | 0 + } + + function eS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + f = l; + l = l + 16 | 0; + r = f + 4 | 0; + i = f; + e = (c[46622] | 0) + 1 | 0; + c[46622] = e; + m = c[46619] | 0; + fS(b, d, r, i); + r = c[r >> 2] | 0; + h = c[m + (b * 56 | 0) + 32 + (r << 2) >> 2] | 0; + i = c[m + (d * 56 | 0) + 32 + (c[i >> 2] << 2) >> 2] | 0; + n = c[46621] | 0; + g = n + 1 | 0; + n = n + 2 | 0; + c[46621] = n; + q = c[46618] | 0; + c[q + (g << 4) >> 2] = b; + c[q + (n << 4) >> 2] = d; + o = q + (h << 4) + 4 | 0; + p = q + (g << 4) + 4 | 0; + c[p >> 2] = c[o >> 2]; + c[q + (c[o >> 2] << 4) + 8 >> 2] = g; + c[q + (g << 4) + 8 >> 2] = n; + c[q + (n << 4) + 4 >> 2] = g; + j = q + (i << 4) + 8 | 0; + c[q + (n << 4) + 8 >> 2] = c[j >> 2]; + c[q + (c[j >> 2] << 4) + 4 >> 2] = n; + c[o >> 2] = i; + c[j >> 2] = h; + j = m + (b * 56 | 0) + 48 | 0; + o = c[j >> 2] | 0; + i = m + (d * 56 | 0) + 48 | 0; + k = c[i >> 2] | 0; + c[m + (b * 56 | 0) + 16 + (r << 2) >> 2] = d; + c[m + (b * 56 | 0) + 32 + (o << 2) >> 2] = g; + c[m + (b * 56 | 0) + 16 + (o << 2) >> 2] = c[q + (c[p >> 2] << 4) >> 2]; + c[m + (d * 56 | 0) + 32 + (k << 2) >> 2] = n; + c[m + (d * 56 | 0) + 16 + (k << 2) >> 2] = b; + c[j >> 2] = (c[j >> 2] | 0) + 1; + c[i >> 2] = (c[i >> 2] | 0) + 1; + d = c[46620] | 0; + c[d + (a << 2) >> 2] = h; + c[d + (e << 2) >> 2] = g; + l = f; + return e | 0 + } + + function fS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, h = 0, i = 0, j = 0.0, k = 0.0, l = 0, m = 0, n = 0; + l = c[46619] | 0; + m = l + (a * 56 | 0) | 0; + n = l + (b * 56 | 0) | 0; + f = 0; + g = -4.0; + i = 0; + while (1) { + if ((i | 0) == 4) break; + h = c[l + (a * 56 | 0) + 16 + (i << 2) >> 2] | 0; + if ((h | 0) >= 1 ? (j = +gS(m, l + (h * 56 | 0) | 0, n), j > g) : 0) { + f = i; + g = j + } + i = i + 1 | 0 + } + c[d >> 2] = f; + f = 0; + i = 0; + g = -4.0; + while (1) { + if ((i | 0) == 4) break; + h = c[l + (b * 56 | 0) + 16 + (i << 2) >> 2] | 0; + if ((h | 0) >= 1 ? (k = +gS(n, l + (h * 56 | 0) | 0, m), k > g) : 0) { + f = i; + g = k + } + i = i + 1 | 0 + } + c[e >> 2] = f; + return + } + + function gS(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0; + g = +h[a >> 3]; + i = +h[b >> 3] - g; + d = +h[a + 8 >> 3]; + f = +h[b + 8 >> 3] - d; + g = +h[c >> 3] - g; + d = +h[c + 8 >> 3] - d; + e = d * f + g * i; + if (!(d * i - g * f >= 0.0)) d = -e / (+C(+(d * d + g * g)) * +C(+(f * f + i * i))) + -2.0; else d = e / (+C(+(d * d + g * g)) * +C(+(f * f + i * i))); + return +d + } + + function hS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, l = 0.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]; + i = e + 32 | 0; + j = a + 16 | 0; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + if (!d) { + f = a + 8 | 0; + g = j; + i = a + 24 | 0; + d = a + } else { + f = a + 24 | 0; + g = a; + i = a + 8 | 0; + d = j + } + k = +h[g >> 3]; + l = +h[i >> 3]; + h[e + 16 >> 3] = +h[d >> 3]; + h[e + 24 >> 3] = l; + h[e + 48 >> 3] = k; + h[e + 56 >> 3] = +h[f >> 3]; + a:do if (b | 0) { + d = 0; + while (1) { + if ((d | 0) == 4) break a; + j = e + (d << 4) + 8 | 0; + l = +h[j >> 3]; + b = e + (d << 4) | 0; + h[j >> 3] = +h[b >> 3]; + h[b >> 3] = -l; + d = d + 1 | 0 + } + } while (0); + return + } + + function iS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + h = b + 3 | 0; + i = b + 1 | 0; + j = b + 2 | 0; + k = a + (b * 56 | 0) + 44 | 0; + l = a + (h * 56 | 0) + 44 | 0; + e = 0; + f = b; + while (1) { + if ((f | 0) > (h | 0)) break; + do if ((f | 0) != (b | 0)) if ((f | 0) == (h | 0)) { + c[l >> 2] = b; + g = j; + break + } else { + c[a + (f * 56 | 0) + 44 >> 2] = f + 1; + g = f + -1 | 0; + break + } else { + c[k >> 2] = i; + g = h + } while (0); + c[a + (f * 56 | 0) + 48 >> 2] = g; + c[a + (f * 56 | 0) + 32 >> 2] = 0; + n = a + (f * 56 | 0) | 0; + m = d + (e << 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]; + G3(a + (g * 56 | 0) + 16 | 0, m | 0, 16) | 0; + e = e + 1 | 0; + f = f + 1 | 0 + } + return b + 4 | 0 + } + + function jS(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; + c[46623] = e << 1; + c[46624] = e; + k = uH(e * 80 | 0) | 0; + c[46625] = 1; + c[46626] = 1; + H3(f | 0, 0, e * 72 | 0) | 0; + g = kS(c[d + 4 >> 2] | 0, b, f, k) | 0; + e = 1; + while (1) { + if ((e | 0) > (a | 0)) break; + c[b + (e * 56 | 0) + 40 >> 2] = g; + c[b + (e * 56 | 0) + 36 >> 2] = g; + e = e + 1 | 0 + } + j = lS(a) | 0; + g = 2; + i = 1; + while (1) { + if ((i | 0) > (j | 0)) break; + e = mS(a, i + -1 | 0) | 0; + h = mS(a, i) | 0; + while (1) { + if ((e | 0) >= (h | 0)) { + e = 1; + break + } + nS(c[d + (g << 2) >> 2] | 0, b, f, k); + e = e + 1 | 0; + g = g + 1 | 0 + } + while (1) { + if ((e | 0) > (a | 0)) break; + oS(e, b, f, k); + e = e + 1 | 0 + } + i = i + 1 | 0 + } + e = mS(a, j) | 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + nS(c[d + (g << 2) >> 2] | 0, b, f, k); + g = g + 1 | 0; + e = e + 1 | 0 + } + D_(k); + return c[46625] | 0 + } + + function kS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + f = tS() | 0; + c[e + (f * 40 | 0) >> 2] = 2; + s = e + (f * 40 | 0) + 8 | 0; + k = b + (a * 56 | 0) | 0; + l = b + (a * 56 | 0) + 16 | 0; + xS(s, k, l); + n = tS() | 0; + c[e + (f * 40 | 0) + 36 >> 2] = n; + c[e + (n * 40 | 0) >> 2] = 3; + c[e + (n * 40 | 0) + 28 >> 2] = f; + j = tS() | 0; + c[e + (f * 40 | 0) + 32 >> 2] = j; + c[e + (j * 40 | 0) >> 2] = 2; + r = e + (j * 40 | 0) + 8 | 0; + yS(r, k, l); + c[e + (j * 40 | 0) + 28 >> 2] = f; + l = tS() | 0; + c[e + (j * 40 | 0) + 32 >> 2] = l; + c[e + (l * 40 | 0) >> 2] = 3; + c[e + (l * 40 | 0) + 28 >> 2] = j; + k = tS() | 0; + c[e + (j * 40 | 0) + 36 >> 2] = k; + c[e + (k * 40 | 0) >> 2] = 1; + c[e + (k * 40 | 0) + 4 >> 2] = a; + c[e + (k * 40 | 0) + 28 >> 2] = j; + j = tS() | 0; + c[e + (k * 40 | 0) + 32 >> 2] = j; + c[e + (j * 40 | 0) >> 2] = 3; + c[e + (j * 40 | 0) + 28 >> 2] = k; + g = tS() | 0; + c[e + (k * 40 | 0) + 36 >> 2] = g; + c[e + (g * 40 | 0) >> 2] = 3; + c[e + (g * 40 | 0) + 28 >> 2] = k; + k = sS(d) | 0; + i = sS(d) | 0; + m = sS(d) | 0; + o = sS(d) | 0; + p = d + (k * 72 | 0) + 8 | 0; + q = d + (i * 72 | 0) + 8 | 0; + t = d + (o * 72 | 0) + 24 | 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]; + G3(q | 0, s | 0, 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]; + p = d + (k * 72 | 0) + 24 | 0; + q = d + (i * 72 | 0) + 24 | 0; + s = d + (m * 72 | 0) + 8 | 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]; + G3(q | 0, r | 0, 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[d + (o * 72 | 0) + 16 >> 3] = 1073741824.0; + h[d + (o * 72 | 0) + 8 >> 3] = 1073741824.0; + h[d + (m * 72 | 0) + 32 >> 3] = -1073741824.0; + h[d + (m * 72 | 0) + 24 >> 3] = -1073741824.0; + c[d + (i * 72 | 0) >> 2] = a; + c[d + (k * 72 | 0) + 4 >> 2] = a; + c[d + (i * 72 | 0) + 40 >> 2] = o; + c[d + (k * 72 | 0) + 40 >> 2] = o; + c[d + (i * 72 | 0) + 48 >> 2] = m; + c[d + (k * 72 | 0) + 48 >> 2] = m; + c[d + (m * 72 | 0) + 40 >> 2] = k; + c[d + (o * 72 | 0) + 48 >> 2] = k; + c[d + (m * 72 | 0) + 44 >> 2] = i; + c[d + (o * 72 | 0) + 52 >> 2] = i; + c[d + (k * 72 | 0) + 56 >> 2] = j; + c[d + (i * 72 | 0) + 56 >> 2] = g; + c[d + (m * 72 | 0) + 56 >> 2] = l; + c[d + (o * 72 | 0) + 56 >> 2] = n; + c[d + (i * 72 | 0) + 68 >> 2] = 1; + c[d + (k * 72 | 0) + 68 >> 2] = 1; + c[d + (o * 72 | 0) + 68 >> 2] = 1; + c[d + (m * 72 | 0) + 68 >> 2] = 1; + c[e + (n * 40 | 0) + 24 >> 2] = o; + c[e + (l * 40 | 0) + 24 >> 2] = m; + c[e + (j * 40 | 0) + 24 >> 2] = k; + c[e + (g * 40 | 0) + 24 >> 2] = i; + c[b + (a * 56 | 0) + 32 >> 2] = 1; + return f | 0 + } + + function lS(a) { + a = a | 0; + var b = 0.0; + b = +(a | 0); + a = 0; + while (1) { + if (!(b >= 1.0)) break; + b = +g$(b); + a = a + 1 | 0 + } + return a + -1 | 0 + } + + function mS(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + d = +(a | 0); + c = d; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + c = +g$(c); + a = a + 1 | 0 + } + return ~~+N(+(d / c)) | 0 + } + + function nS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 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; + W = l; + l = l + 96 | 0; + S = W + 32 | 0; + f = W + 16 | 0; + T = W; + s = S; + k = b + (a * 56 | 0) | 0; + r = s + 56 | 0; + do { + c[s >> 2] = c[k >> 2]; + s = s + 4 | 0; + k = k + 4 | 0 + } while ((s | 0) < (r | 0)); + U = S + 16 | 0; + V = S + 24 | 0; + i = +h[V >> 3]; + H = S + 8 | 0; + j = +h[H >> 3]; + do if (!(i > j + 1.0e-07)) { + if (!(i < j + -1.0e-07) ? +h[U >> 3] > +h[S >> 3] : 0) { + G = 4; + break + } + G = (rS(a, b, 1) | 0) == 0; + f = c[S + 36 >> 2] | 0; + if (G) { + n = 0; + G = 7 + } else { + f = pS(S, U, f, b, e) | 0; + G = 20 + } + } else G = 4; while (0); + if ((G | 0) == 4) { + c[f >> 2] = c[S >> 2]; + c[f + 4 >> 2] = c[S + 4 >> 2]; + c[f + 8 >> 2] = c[S + 8 >> 2]; + c[f + 12 >> 2] = c[S + 12 >> 2]; + c[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[U >> 2] = c[f >> 2]; + c[U + 4 >> 2] = c[f + 4 >> 2]; + c[U + 8 >> 2] = c[f + 8 >> 2]; + c[U + 12 >> 2] = c[f + 12 >> 2]; + E = S + 36 | 0; + F = c[E >> 2] | 0; + G = S + 40 | 0; + f = c[G >> 2] | 0; + c[E >> 2] = f; + c[G >> 2] = F; + if (!(rS(a, b, 2) | 0)) { + n = 1; + G = 7 + } else { + f = pS(S, U, f, b, e) | 0; + G = 19 + } + } + if ((G | 0) == 7) { + m = pS(S, U, f, b, e) | 0; + f = sS(d) | 0; + c[d + (f * 72 | 0) + 68 >> 2] = 1; + s = d + (f * 72 | 0) | 0; + k = d + (m * 72 | 0) | 0; + r = s + 72 | 0; + do { + c[s >> 2] = c[k >> 2]; + s = s + 4 | 0; + k = k + 4 | 0 + } while ((s | 0) < (r | 0)); + q = +h[H >> 3]; + h[d + (f * 72 | 0) + 16 >> 3] = q; + h[d + (m * 72 | 0) + 32 >> 3] = q; + q = +h[S >> 3]; + h[d + (f * 72 | 0) + 8 >> 3] = q; + h[d + (m * 72 | 0) + 24 >> 3] = q; + c[d + (m * 72 | 0) + 48 >> 2] = f; + c[d + (m * 72 | 0) + 52 >> 2] = 0; + c[d + (f * 72 | 0) + 40 >> 2] = m; + c[d + (f * 72 | 0) + 44 >> 2] = 0; + g = c[d + (f * 72 | 0) + 48 >> 2] | 0; + if ((g | 0) > 0) { + k = d + (g * 72 | 0) + 40 | 0; + if ((c[k >> 2] | 0) == (m | 0)) c[k >> 2] = f; + g = d + (g * 72 | 0) + 44 | 0; + if ((c[g >> 2] | 0) == (m | 0)) c[g >> 2] = f + } + g = c[d + (f * 72 | 0) + 52 >> 2] | 0; + if ((g | 0) > 0) { + k = d + (g * 72 | 0) + 40 | 0; + if ((c[k >> 2] | 0) == (m | 0)) c[k >> 2] = f; + g = d + (g * 72 | 0) + 44 | 0; + if ((c[g >> 2] | 0) == (m | 0)) c[g >> 2] = f + } + E = tS() | 0; + G = tS() | 0; + F = d + (m * 72 | 0) + 56 | 0; + D = c[F >> 2] | 0; + c[e + (D * 40 | 0) >> 2] = 2; + C = e + (D * 40 | 0) + 8 | 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]; + c[e + (D * 40 | 0) + 4 >> 2] = a; + c[e + (D * 40 | 0) + 32 >> 2] = G; + c[e + (D * 40 | 0) + 36 >> 2] = E; + c[e + (E * 40 | 0) >> 2] = 3; + c[e + (E * 40 | 0) + 24 >> 2] = m; + c[e + (E * 40 | 0) + 28 >> 2] = D; + c[e + (G * 40 | 0) >> 2] = 3; + c[e + (G * 40 | 0) + 24 >> 2] = f; + c[e + (G * 40 | 0) + 28 >> 2] = D; + c[F >> 2] = E; + c[d + (f * 72 | 0) + 56 >> 2] = G; + if (n) G = 19; else G = 20 + } + if ((G | 0) == 19) if (!(rS(a, b, 1) | 0)) { + g = 1; + G = 21 + } else { + g = 1; + G = 32 + } else if ((G | 0) == 20) if (!(rS(a, b, 2) | 0)) { + g = 0; + G = 21 + } else { + g = 0; + G = 32 + } + if ((G | 0) == 21) { + o = pS(U, S, c[S + 40 >> 2] | 0, b, e) | 0; + n = sS(d) | 0; + c[d + (n * 72 | 0) + 68 >> 2] = 1; + s = d + (n * 72 | 0) | 0; + k = d + (o * 72 | 0) | 0; + r = s + 72 | 0; + do { + c[s >> 2] = c[k >> 2]; + s = s + 4 | 0; + k = k + 4 | 0 + } while ((s | 0) < (r | 0)); + q = +h[V >> 3]; + h[d + (n * 72 | 0) + 16 >> 3] = q; + h[d + (o * 72 | 0) + 32 >> 3] = q; + q = +h[U >> 3]; + h[d + (n * 72 | 0) + 8 >> 3] = q; + h[d + (o * 72 | 0) + 24 >> 3] = q; + c[d + (o * 72 | 0) + 48 >> 2] = n; + c[d + (o * 72 | 0) + 52 >> 2] = 0; + c[d + (n * 72 | 0) + 40 >> 2] = o; + c[d + (n * 72 | 0) + 44 >> 2] = 0; + k = c[d + (n * 72 | 0) + 48 >> 2] | 0; + if ((k | 0) > 0) { + m = d + (k * 72 | 0) + 40 | 0; + if ((c[m >> 2] | 0) == (o | 0)) c[m >> 2] = n; + k = d + (k * 72 | 0) + 44 | 0; + if ((c[k >> 2] | 0) == (o | 0)) c[k >> 2] = n + } + k = c[d + (n * 72 | 0) + 52 >> 2] | 0; + if ((k | 0) > 0) { + m = d + (k * 72 | 0) + 40 | 0; + if ((c[m >> 2] | 0) == (o | 0)) c[m >> 2] = n; + k = d + (k * 72 | 0) + 44 | 0; + if ((c[k >> 2] | 0) == (o | 0)) c[k >> 2] = n + } + D = tS() | 0; + F = tS() | 0; + E = d + (o * 72 | 0) + 56 | 0; + C = c[E >> 2] | 0; + c[e + (C * 40 | 0) >> 2] = 2; + A = e + (C * 40 | 0) + 8 | 0; + c[A >> 2] = c[U >> 2]; + c[A + 4 >> 2] = c[U + 4 >> 2]; + c[A + 8 >> 2] = c[U + 8 >> 2]; + c[A + 12 >> 2] = c[U + 12 >> 2]; + c[e + (C * 40 | 0) + 4 >> 2] = a; + c[e + (C * 40 | 0) + 32 >> 2] = F; + c[e + (C * 40 | 0) + 36 >> 2] = D; + c[e + (D * 40 | 0) >> 2] = 3; + c[e + (D * 40 | 0) + 24 >> 2] = o; + c[e + (D * 40 | 0) + 28 >> 2] = C; + c[e + (F * 40 | 0) >> 2] = 3; + c[e + (F * 40 | 0) + 24 >> 2] = n; + c[e + (F * 40 | 0) + 28 >> 2] = C; + c[E >> 2] = D; + c[d + (n * 72 | 0) + 56 >> 2] = F; + F = f; + f = 0 + } else if ((G | 0) == 32) { + F = f; + o = pS(U, S, c[S + 40 >> 2] | 0, b, e) | 0; + f = 1 + } + a:do if ((F | 0) > 0) { + D = d + (o * 72 | 0) + 24 | 0; + E = d + (o * 72 | 0) + 32 | 0; + C = (f | 0) != 0; + y = g ? b + (a * 56 | 0) + 48 | 0 : b + (a * 56 | 0) + 44 | 0; + z = T + 8 | 0; + g = 0; + f = 0; + x = F; + b:while (1) { + k = d + (x * 72 | 0) | 0; + v = d + (x * 72 | 0) + 24 | 0; + if (!(uS(v, D) | 0)) break a; + m = d + (x * 72 | 0) + 56 | 0; + u = c[m >> 2] | 0; + n = tS() | 0; + p = tS() | 0; + c[e + (u * 40 | 0) >> 2] = 1; + c[e + (u * 40 | 0) + 4 >> 2] = a; + c[e + (u * 40 | 0) + 32 >> 2] = n; + c[e + (u * 40 | 0) + 36 >> 2] = p; + c[e + (n * 40 | 0) >> 2] = 3; + c[e + (n * 40 | 0) + 24 >> 2] = x; + c[e + (n * 40 | 0) + 28 >> 2] = u; + c[e + (p * 40 | 0) >> 2] = 3; + w = sS(d) | 0; + c[e + (p * 40 | 0) + 24 >> 2] = w; + A = d + (w * 72 | 0) | 0; + c[d + (w * 72 | 0) + 68 >> 2] = 1; + c[e + (p * 40 | 0) + 28 >> 2] = u; + g = (x | 0) == (F | 0) ? w : g; + u = d + (x * 72 | 0) + 32 | 0; + if (+B(+(+h[u >> 3] - +h[E >> 3])) <= 1.0e-07 ? +B(+(+h[v >> 3] - +h[D >> 3])) <= 1.0e-07 : 0) f = w; + s = A; + r = s + 72 | 0; + do { + c[s >> 2] = c[k >> 2]; + s = s + 4 | 0; + k = k + 4 | 0 + } while ((s | 0) < (r | 0)); + c[m >> 2] = n; + c[d + (w * 72 | 0) + 56 >> 2] = p; + t = d + (x * 72 | 0) + 48 | 0; + m = d + (x * 72 | 0) + 52 | 0; + k = (c[m >> 2] | 0) < 1; + do if ((c[t >> 2] | 0) < 1) { + if (k) break b; + s = d + (x * 72 | 0) + 40 | 0; + k = c[s >> 2] | 0; + do if ((k | 0) > 0 ? (M = d + (x * 72 | 0) + 44 | 0, N = c[M >> 2] | 0, (N | 0) > 0) : 0) { + r = d + (x * 72 | 0) + 60 | 0; + k = c[r >> 2] | 0; + if ((k | 0) <= 0) { + c[d + (w * 72 | 0) + 40 >> 2] = N; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[M >> 2] = -1; + c[d + (N * 72 | 0) + 48 >> 2] = w; + break + } + if ((c[d + (x * 72 | 0) + 64 >> 2] | 0) == 1) { + c[d + (w * 72 | 0) + 40 >> 2] = N; + c[M >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = k; + c[d + ((c[s >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + p = w; + n = N + } else { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + t = d + (w * 72 | 0) + 40 | 0; + c[t >> 2] = c[M >> 2]; + n = c[s >> 2] | 0; + c[M >> 2] = n; + c[s >> 2] = k; + c[d + (k * 72 | 0) + 48 >> 2] = x; + p = x; + k = c[t >> 2] | 0 + } + c[d + (n * 72 | 0) + 48 >> 2] = p; + c[d + (k * 72 | 0) + 48 >> 2] = w; + c[d + (w * 72 | 0) + 60 >> 2] = 0; + c[r >> 2] = 0 + } else G = 77; while (0); + do if ((G | 0) == 77) { + G = 0; + n = d + (k * 72 | 0) + 48 | 0; + p = c[n >> 2] | 0; + k = d + (k * 72 | 0) + 52 | 0; + if ((p | 0) > 0 ? (c[k >> 2] | 0) > 0 : 0) { + k = c[d + (p * 72 | 0) + 4 >> 2] | 0; + if ((k | 0) > 0 ? (qS(k, b, U) | 0) == 0 : 0) { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[s >> 2] = -1; + c[d + ((c[d + (w * 72 | 0) + 40 >> 2] | 0) * 72 | 0) + 52 >> 2] = w; + break + } + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 40 >> 2] = -1; + c[d + ((c[s >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + break + } + c[n >> 2] = x; + c[k >> 2] = w + } while (0); + if (+B(+(+h[u >> 3] - +h[E >> 3])) <= 1.0e-07 ? C & +B(+(+h[v >> 3] - +h[D >> 3])) <= 1.0e-07 : 0) { + k = c[y >> 2] | 0; + if ((k | 0) > 0 ? (qS(k, b, S) | 0) != 0 : 0) { + c[d + ((c[m >> 2] | 0) * 72 | 0) + 40 >> 2] = x; + n = d + (w * 72 | 0) + 52 | 0; + k = w + } else { + c[d + ((c[d + (w * 72 | 0) + 52 >> 2] | 0) * 72 | 0) + 44 >> 2] = w; + n = m; + k = x + } + c[n >> 2] = -1; + c[d + (k * 72 | 0) + 48 >> 2] = -1; + k = c[m >> 2] | 0; + break + } + k = c[m >> 2] | 0; + m = d + (k * 72 | 0) + 40 | 0; + n = c[m >> 2] | 0; + p = d + (k * 72 | 0) + 44 | 0; + if ((n | 0) > 0 ? (O = c[p >> 2] | 0, P = (n | 0) == (x | 0), (O | 0) > 0) : 0) { + c[d + (k * 72 | 0) + 60 >> 2] = P ? O : n; + c[d + (k * 72 | 0) + 64 >> 2] = P ? 1 : 2 + } + c[m >> 2] = x; + c[p >> 2] = w + } else { + if (!k) { + i = +h[u >> 3]; + j = +h[H >> 3]; + q = i - j; + if (!(+B(+q) <= 1.0e-07)) { + h[z >> 3] = i; + i = +h[S >> 3]; + h[T >> 3] = (+h[U >> 3] - i) * (q / (+h[V >> 3] - j)) + i; + s = (vS(T, v) | 0) != 0 + } else s = +h[v >> 3] > +h[S >> 3]; + r = d + (x * 72 | 0) + 40 | 0; + k = c[r >> 2] | 0; + do if ((k | 0) > 0 ? (Q = d + (x * 72 | 0) + 44 | 0, R = c[Q >> 2] | 0, (R | 0) > 0) : 0) { + p = d + (x * 72 | 0) + 60 | 0; + k = c[p >> 2] | 0; + if ((k | 0) <= 0) { + c[d + (w * 72 | 0) + 40 >> 2] = R; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[Q >> 2] = -1; + c[d + (R * 72 | 0) + 48 >> 2] = w; + break + } + if ((c[d + (x * 72 | 0) + 64 >> 2] | 0) == 1) { + c[d + (w * 72 | 0) + 40 >> 2] = R; + c[Q >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = k; + c[d + ((c[r >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + n = w; + m = R + } else { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + X = d + (w * 72 | 0) + 40 | 0; + c[X >> 2] = c[Q >> 2]; + m = c[r >> 2] | 0; + c[Q >> 2] = m; + c[r >> 2] = k; + c[d + (k * 72 | 0) + 48 >> 2] = x; + n = x; + k = c[X >> 2] | 0 + } + c[d + (m * 72 | 0) + 48 >> 2] = n; + c[d + (k * 72 | 0) + 48 >> 2] = w; + c[d + (w * 72 | 0) + 60 >> 2] = 0; + c[p >> 2] = 0 + } else G = 106; while (0); + do if ((G | 0) == 106) { + G = 0; + m = d + (k * 72 | 0) + 48 | 0; + n = c[m >> 2] | 0; + k = d + (k * 72 | 0) + 52 | 0; + if ((n | 0) > 0 ? (c[k >> 2] | 0) > 0 : 0) { + k = c[d + (n * 72 | 0) + 4 >> 2] | 0; + if ((k | 0) > 0 ? (qS(k, b, U) | 0) == 0 : 0) { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[r >> 2] = -1; + c[d + ((c[d + (w * 72 | 0) + 40 >> 2] | 0) * 72 | 0) + 52 >> 2] = w; + break + } + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 40 >> 2] = -1; + c[d + ((c[r >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + break + } + c[m >> 2] = x; + c[k >> 2] = w + } while (0); + if (+B(+(+h[u >> 3] - +h[E >> 3])) <= 1.0e-07 ? C & +B(+(+h[v >> 3] - +h[D >> 3])) <= 1.0e-07 : 0) { + k = c[t >> 2] | 0; + c[d + (k * 72 | 0) + 40 >> 2] = x; + c[d + (k * 72 | 0) + 44 >> 2] = -1; + k = d + (x * 72 | 0) + 52 | 0; + X = c[k >> 2] | 0; + c[d + (X * 72 | 0) + 40 >> 2] = w; + c[d + (X * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 48 >> 2] = X; + c[d + (w * 72 | 0) + 52 >> 2] = -1; + c[k >> 2] = -1; + k = -1 + } else G = 116; + do if ((G | 0) == 116) { + G = 0; + k = c[t >> 2] | 0; + c[d + (k * 72 | 0) + 40 >> 2] = x; + m = d + (k * 72 | 0) + 44 | 0; + if (s) { + c[m >> 2] = w; + X = d + (x * 72 | 0) + 52 | 0; + v = c[X >> 2] | 0; + c[d + (v * 72 | 0) + 40 >> 2] = w; + c[d + (v * 72 | 0) + 44 >> 2] = -1; + c[X >> 2] = -1; + break + } else { + c[m >> 2] = -1; + k = d + (x * 72 | 0) + 52 | 0; + X = c[k >> 2] | 0; + c[d + (X * 72 | 0) + 40 >> 2] = x; + c[d + (X * 72 | 0) + 44 >> 2] = w; + c[d + (w * 72 | 0) + 48 >> 2] = X; + c[d + (w * 72 | 0) + 52 >> 2] = -1; + k = c[k >> 2] | 0; + break + } + } while (0); + break + } + s = d + (x * 72 | 0) + 40 | 0; + k = c[s >> 2] | 0; + do if ((k | 0) > 0 ? (I = d + (x * 72 | 0) + 44 | 0, J = c[I >> 2] | 0, (J | 0) > 0) : 0) { + r = d + (x * 72 | 0) + 60 | 0; + k = c[r >> 2] | 0; + if ((k | 0) <= 0) { + c[d + (w * 72 | 0) + 40 >> 2] = J; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[I >> 2] = -1; + c[d + (J * 72 | 0) + 48 >> 2] = w; + break + } + if ((c[d + (x * 72 | 0) + 64 >> 2] | 0) == 1) { + c[d + (w * 72 | 0) + 40 >> 2] = J; + c[I >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = k; + c[d + ((c[s >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + p = w; + n = J + } else { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + X = d + (w * 72 | 0) + 40 | 0; + c[X >> 2] = c[I >> 2]; + n = c[s >> 2] | 0; + c[I >> 2] = n; + c[s >> 2] = k; + c[d + (k * 72 | 0) + 48 >> 2] = x; + p = x; + k = c[X >> 2] | 0 + } + c[d + (n * 72 | 0) + 48 >> 2] = p; + c[d + (k * 72 | 0) + 48 >> 2] = w; + c[d + (w * 72 | 0) + 60 >> 2] = 0; + c[r >> 2] = 0 + } else G = 51; while (0); + do if ((G | 0) == 51) { + G = 0; + n = d + (k * 72 | 0) + 48 | 0; + p = c[n >> 2] | 0; + k = d + (k * 72 | 0) + 52 | 0; + if ((p | 0) > 0 ? (c[k >> 2] | 0) > 0 : 0) { + k = c[d + (p * 72 | 0) + 4 >> 2] | 0; + if ((k | 0) > 0 ? (qS(k, b, U) | 0) == 0 : 0) { + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[s >> 2] = -1; + c[d + ((c[d + (w * 72 | 0) + 40 >> 2] | 0) * 72 | 0) + 52 >> 2] = w; + break + } + c[d + (x * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 44 >> 2] = -1; + c[d + (w * 72 | 0) + 40 >> 2] = -1; + c[d + ((c[s >> 2] | 0) * 72 | 0) + 48 >> 2] = x; + break + } + c[n >> 2] = x; + c[k >> 2] = w + } while (0); + if (+B(+(+h[u >> 3] - +h[E >> 3])) <= 1.0e-07 ? C & +B(+(+h[v >> 3] - +h[D >> 3])) <= 1.0e-07 : 0) { + k = c[y >> 2] | 0; + if ((k | 0) > 0 ? (qS(k, b, S) | 0) != 0 : 0) { + c[d + ((c[t >> 2] | 0) * 72 | 0) + 40 >> 2] = x; + m = d + (w * 72 | 0) + 52 | 0; + k = w + } else { + c[d + ((c[d + (w * 72 | 0) + 48 >> 2] | 0) * 72 | 0) + 44 >> 2] = w; + k = x + } + c[m >> 2] = -1; + c[d + (k * 72 | 0) + 48 >> 2] = -1; + k = c[t >> 2] | 0; + break + } + k = c[t >> 2] | 0; + m = d + (k * 72 | 0) + 40 | 0; + n = c[m >> 2] | 0; + p = d + (k * 72 | 0) + 44 | 0; + if ((n | 0) > 0 ? (K = c[p >> 2] | 0, L = (n | 0) == (x | 0), (K | 0) > 0) : 0) { + c[d + (k * 72 | 0) + 60 >> 2] = L ? K : n; + c[d + (k * 72 | 0) + 64 >> 2] = L ? 1 : 2 + } + c[m >> 2] = x; + c[p >> 2] = w + } while (0); + c[A >> 2] = a; + c[d + (x * 72 | 0) + 4 >> 2] = a; + if ((k | 0) > 0) x = k; else break a + } + E1(135342, 19, 1, c[15686] | 0) | 0 + } else { + g = 0; + f = 0 + } while (0); + wS(a, F, o, 1, d, e); + wS(a, g, f, 2, d, e); + c[b + (a * 56 | 0) + 32 >> 2] = 1; + l = W; + return + } + + function oS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + if (!(c[b + (a * 56 | 0) + 32 >> 2] | 0)) { + f = b + (a * 56 | 0) | 0; + g = b + (a * 56 | 0) + 16 | 0; + h = b + (a * 56 | 0) + 36 | 0; + c[h >> 2] = c[d + ((pS(f, g, c[h >> 2] | 0, b, e) | 0) * 72 | 0) + 56 >> 2]; + a = b + (a * 56 | 0) + 40 | 0; + c[a >> 2] = c[d + ((pS(g, f, c[a >> 2] | 0, b, e) | 0) * 72 | 0) + 56 >> 2] + } + return + } + + function pS(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0.0, o = 0, p = 0.0, q = 0, r = 0; + o = a + 8 | 0; + q = b + 8 | 0; + a:while (1) { + b:do switch (c[f + (d * 40 | 0) >> 2] | 0) { + case 3: { + r = 3; + break a + } + case 2: { + g = +h[o >> 3]; + i = f + (d * 40 | 0) + 8 | 0; + j = +h[f + (d * 40 | 0) + 16 >> 3]; + k = j + 1.0e-07; + do if (!(g > k)) { + l = j + -1.0e-07; + if (!(g < l) ? +h[a >> 3] > +h[i >> 3] : 0) break; + if (+B(+(g - j)) <= 1.0e-07 ? (m = +h[i >> 3], +B(+(+h[a >> 3] - m)) <= 1.0e-07) : 0) { + g = +h[q >> 3]; + do if (!(g > k)) { + if (!(g < l) ? +h[b >> 3] > m : 0) break; + d = f + (d * 40 | 0) + 32 | 0; + break b + } while (0); + d = f + (d * 40 | 0) + 36 | 0; + break b + } + d = f + (d * 40 | 0) + 32 | 0; + break b + } while (0); + d = f + (d * 40 | 0) + 36 | 0; + break + } + case 1: { + g = +h[o >> 3]; + i = c[f + (d * 40 | 0) + 4 >> 2] | 0; + if (+B(+(g - +h[e + (i * 56 | 0) + 8 >> 3])) <= 1.0e-07 ? (n = +h[a >> 3], +B(+(n - +h[e + (i * 56 | 0) >> 3])) <= 1.0e-07) : 0) j = n; else r = 19; + do if ((r | 0) == 19) { + r = 0; + if (+B(+(g - +h[e + (i * 56 | 0) + 24 >> 3])) <= 1.0e-07 ? (p = +h[a >> 3], +B(+(p - +h[e + (i * 56 | 0) + 16 >> 3])) <= 1.0e-07) : 0) { + j = p; + break + } + if (!(qS(i, e, a) | 0)) { + d = f + (d * 40 | 0) + 36 | 0; + break b + } else { + d = f + (d * 40 | 0) + 32 | 0; + break b + } + } while (0); + if (!(+B(+(g - +h[q >> 3])) <= 1.0e-07)) if (!(qS(i, e, b) | 0)) { + d = f + (d * 40 | 0) + 36 | 0; + break b + } else { + d = f + (d * 40 | 0) + 32 | 0; + break b + } else if (+h[b >> 3] < j) { + d = f + (d * 40 | 0) + 32 | 0; + break b + } else { + d = f + (d * 40 | 0) + 36 | 0; + break b + } + } + default: { + r = 31; + break a + } + } while (0); + d = c[d >> 2] | 0 + } + if ((r | 0) == 3) return c[f + (d * 40 | 0) + 24 >> 2] | 0; else if ((r | 0) == 31) { + E1(135276, 35, 1, c[15686] | 0) | 0; + qa(135312, 135314, 349, 135326) + } + return 0 + } + + function qS(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0.0; + f = b + (a * 56 | 0) + 16 | 0; + g = +h[b + (a * 56 | 0) + 24 >> 3]; + i = b + (a * 56 | 0) | 0; + e = +h[b + (a * 56 | 0) + 8 >> 3]; + do if (!(g > e + 1.0e-07)) { + if (!(g < e + -1.0e-07) ? +h[f >> 3] > +h[i >> 3] : 0) { + j = 4; + break + } + d = +h[c + 8 >> 3]; + if (+B(+(g - d)) <= 1.0e-07) { + d = +h[c >> 3] < +h[f >> 3] ? 1.0 : -1.0; + break + } + if (!(+B(+(e - d)) <= 1.0e-07)) { + k = +h[f >> 3]; + d = (+h[i >> 3] - k) * (d - g) - (+h[c >> 3] - k) * (e - g); + break + } else { + d = +h[c >> 3] < +h[i >> 3] ? 1.0 : -1.0; + break + } + } else j = 4; while (0); + do if ((j | 0) == 4) { + d = +h[c + 8 >> 3]; + if (+B(+(g - d)) <= 1.0e-07) { + d = +h[c >> 3] < +h[f >> 3] ? 1.0 : -1.0; + break + } + if (!(+B(+(e - d)) <= 1.0e-07)) { + k = +h[i >> 3]; + d = (+h[f >> 3] - k) * (d - e) - (+h[c >> 3] - k) * (g - e); + break + } else { + d = +h[c >> 3] < +h[i >> 3] ? 1.0 : -1.0; + break + } + } while (0); + return d > 0.0 | 0 + } + + function rS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + return c[b + ((c[((d | 0) == 1 ? b + (a * 56 | 0) + 48 | 0 : b + (a * 56 | 0) + 44 | 0) >> 2] | 0) * 56 | 0) + 32 >> 2] | 0 + } + + function sS(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + b = c[46625] | 0; + if ((b | 0) < (c[46624] | 0)) { + c[a + (b * 72 | 0) >> 2] = -1; + c[a + (b * 72 | 0) + 4 >> 2] = -1; + c[a + (b * 72 | 0) + 68 >> 2] = 1; + c[46625] = b + 1; + l = e; + return b | 0 + } else { + e = c[15686] | 0; + c[d >> 2] = b; + g1(e, 135401, d) | 0; + qa(135312, 135314, 88, 135439) + } + return 0 + } + + function tS() { + var a = 0; + a = c[46626] | 0; + if ((a | 0) < (c[46623] | 0)) { + c[46626] = a + 1; + return a | 0 + } else { + E1(135362, 30, 1, c[15686] | 0) | 0; + qa(135312, 135314, 72, 135393) + } + return 0 + } + + function uS(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a + 8 >> 3]; + d = +h[b + 8 >> 3]; + if (!(c > d + 1.0e-07)) if (c < d + -1.0e-07) a = 0; else a = +h[a >> 3] >= +h[b >> 3] & 1; else a = 1; + return a | 0 + } + + function vS(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a + 8 >> 3]; + d = +h[b + 8 >> 3]; + if (!(c < d + -1.0e-07)) if (c > d + 1.0e-07) a = 0; else a = +h[a >> 3] < +h[b >> 3] & 1; else a = 1; + return a | 0 + } + + function wS(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + q = f + (d * 72 | 0) + 24 | 0; + p = (e | 0) == 1; + a:while (1) { + o = f + (b * 72 | 0) + 24 | 0; + j = f + (b * 72 | 0) + 48 | 0; + k = f + (b * 72 | 0) + 52 | 0; + l = f + (b * 72 | 0) | 0; + m = f + (b * 72 | 0) + 4 | 0; + n = f + (b * 72 | 0) + 56 | 0; + if ((b | 0) <= 0) break; + while (1) { + if (!(uS(o, q) | 0)) break a; + d = c[j >> 2] | 0; + e = (d | 0) > 0; + do if (p) { + if (e ? (c[f + (d * 72 | 0) + 4 >> 2] | 0) == (a | 0) : 0) break; + d = c[k >> 2] | 0; + if ((d | 0) <= 0) { + b = d; + continue a + } + if ((c[f + (d * 72 | 0) + 4 >> 2] | 0) != (a | 0)) { + b = d; + continue a + } + } else { + if (e ? (c[f + (d * 72 | 0) >> 2] | 0) == (a | 0) : 0) break; + d = c[k >> 2] | 0; + if ((d | 0) <= 0) { + b = d; + continue a + } + if ((c[f + (d * 72 | 0) >> 2] | 0) != (a | 0)) { + b = d; + continue a + } + } while (0); + if ((c[l >> 2] | 0) != (c[f + (d * 72 | 0) >> 2] | 0)) { + b = d; + continue a + } + if ((c[m >> 2] | 0) != (c[f + (d * 72 | 0) + 4 >> 2] | 0)) { + b = d; + continue a + } + r = c[f + (d * 72 | 0) + 56 >> 2] | 0; + e = c[g + (r * 40 | 0) + 28 >> 2] | 0; + h = g + (e * 40 | 0) + 32 | 0; + i = c[n >> 2] | 0; + if ((c[h >> 2] | 0) == (r | 0)) c[h >> 2] = i; else c[g + (e * 40 | 0) + 36 >> 2] = i; + e = c[f + (d * 72 | 0) + 48 >> 2] | 0; + c[j >> 2] = e; + do if ((e | 0) > 0) { + h = f + (e * 72 | 0) + 40 | 0; + if ((c[h >> 2] | 0) == (d | 0)) { + c[h >> 2] = b; + break + } + e = f + (e * 72 | 0) + 44 | 0; + if ((c[e >> 2] | 0) == (d | 0)) c[e >> 2] = b + } while (0); + e = c[f + (d * 72 | 0) + 52 >> 2] | 0; + c[k >> 2] = e; + do if ((e | 0) > 0) { + h = f + (e * 72 | 0) + 40 | 0; + if ((c[h >> 2] | 0) == (d | 0)) { + c[h >> 2] = b; + break + } + e = f + (e * 72 | 0) + 44 | 0; + if ((c[e >> 2] | 0) == (d | 0)) c[e >> 2] = b + } while (0); + r = f + (d * 72 | 0) + 24 | 0; + c[o >> 2] = c[r >> 2]; + c[o + 4 >> 2] = c[r + 4 >> 2]; + c[o + 8 >> 2] = c[r + 8 >> 2]; + c[o + 12 >> 2] = c[r + 12 >> 2]; + c[f + (d * 72 | 0) + 68 >> 2] = 2 + } + } + return + } + + function xS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +h[b + 8 >> 3]; + f = +h[d + 8 >> 3]; + do if (!(e > f + 1.0e-07)) { + if (!(+B(+(e - f)) <= 1.0e-07)) { + 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]; + break + } + if (+h[b >> 3] > +h[d >> 3] + 1.0e-07) { + 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]; + break + } else { + 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]; + break + } + } else { + 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 (0); + return + } + + function yS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +h[b + 8 >> 3]; + f = +h[d + 8 >> 3]; + do if (!(e < f + -1.0e-07)) { + if (!(+B(+(e - f)) <= 1.0e-07)) { + 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]; + break + } + if (+h[b >> 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]; + break + } else { + 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]; + break + } + } else { + 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 (0); + return + } + + function zS(a) { + a = a | 0; + var b = 0; + b = uH(8) | 0; + if (b | 0) { + c[b + 4 >> 2] = a; + c[b >> 2] = 0 + } + return b | 0 + } + + function AS(a, b) { + a = a | 0; + b = b | 0; + if (b) { + b = zS(b) | 0; + c[b >> 2] = a; + a = b + } + return a | 0 + } + + function BS(a) { + a = a | 0; + var b = 0; + do { + b = a; + a = c[a >> 2] | 0; + D_(b) + } while ((a | 0) != 0); + return + } + + function CS() { + var a = 0; + a = uH(1992) | 0; + if (a | 0) c[a >> 2] = DS(a) | 0; + return a | 0 + } + + function DS(a) { + a = a | 0; + var b = 0; + b = JS(a) | 0; + c[b + 4 >> 2] = 0; + a = a + 1972 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + return b | 0 + } + + function ES(a) { + a = a | 0; + FS(a, c[a >> 2] | 0); + D_(c[a >> 2] | 0); + D_(a); + return 0 + } + + function FS(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + g = a + 1980 | 0; + h = a + 1912 | 0; + i = a + 1936 | 0; + a:do if ((c[b + 4 >> 2] | 0) > 0) { + d = 0; + while (1) { + if ((d | 0) == 64) break a; + e = b + 8 + (d * 20 | 0) + 16 | 0; + f = c[e >> 2] | 0; + if (f | 0 ? (FS(a, f), D_(c[e >> 2] | 0), PS(b, d), c[g >> 2] = (c[g >> 2] | 0) + -1, c[h >> 2] | 0) : 0) c[i >> 2] = (c[i >> 2] | 0) + 1; + d = d + 1 | 0 + } + } else { + d = 0; + while (1) { + if ((d | 0) == 64) break a; + if (c[b + 8 + (d * 20 | 0) + 16 >> 2] | 0 ? (PS(b, d), c[g >> 2] = (c[g >> 2] | 0) + -1, c[h >> 2] | 0) : 0) c[i >> 2] = (c[i >> 2] | 0) + 1; + d = d + 1 | 0 + } + } while (0); + return + } + + function GS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + if (!b) qa(135797, 135447, 194, 135455); + e = c[b + 4 >> 2] | 0; + if ((e | 0) <= -1) qa(135467, 135447, 195, 135455); + if (!d) qa(135739, 135447, 196, 135455); + i = a + 1952 | 0; + c[i >> 2] = (c[i >> 2] | 0) + 1; + a:do if ((e | 0) > 0) { + i = 0; + e = 0; + while (1) { + if ((i | 0) == 64) break a; + f = b + 8 + (i * 20 | 0) + 16 | 0; + if ((c[f >> 2] | 0) != 0 ? (US(d, b + 8 + (i * 20 | 0) | 0) | 0) != 0 : 0) { + g = GS(a, c[f >> 2] | 0, d) | 0; + if (!e) e = g; else { + f = e; + while (1) { + h = c[f >> 2] | 0; + if (!h) break; else f = h + } + c[f >> 2] = g + } + } + i = i + 1 | 0 + } + } else { + g = 0; + e = 0; + while (1) { + if ((g | 0) == 64) break a; + f = b + 8 + (g * 20 | 0) | 0; + if ((c[b + 8 + (g * 20 | 0) + 16 >> 2] | 0) != 0 ? (US(d, f) | 0) != 0 : 0) e = AS(e, f) | 0; + g = g + 1 | 0 + } + } while (0); + return e | 0 + } + + function HS(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 64 | 0; + k = p + 52 | 0; + m = p + 32 | 0; + n = p + 16 | 0; + o = p; + c[k >> 2] = 0; + if (!((b | 0) != 0 & (e | 0) != 0)) qa(135653, 135447, 247, 135481); + if ((f | 0) > -1 ? (j = c[e >> 2] | 0, (c[j + 4 >> 2] | 0) >= (f | 0)) : 0) { + g = 0; + while (1) { + if ((g | 0) >= 2) break; + if ((c[b + (g << 2) >> 2] | 0) > (c[b + (g + 2 << 2) >> 2] | 0)) { + h = 8; + break + } else g = g + 1 | 0 + } + if ((h | 0) == 8) qa(135528, 135447, 250, 135481); + i = a + 1912 | 0; + g = a + 1908 | 0; + h = c[g >> 2] | 0; + if (c[i >> 2] | 0) { + q = h | 0 ? a + 1924 | 0 : a + 1916 | 0; + c[q >> 2] = (c[q >> 2] | 0) + 1 + } + if (!h) { + q = a + 1964 | 0; + c[q >> 2] = (c[q >> 2] | 0) + 1 + } + if (!(IS(a, b, d, j, k, f) | 0)) g = 0; else { + if (c[i >> 2] | 0) { + q = c[g >> 2] | 0 ? a + 1948 | 0 : a + 1944 | 0; + c[q >> 2] = (c[q >> 2] | 0) + 1 + } + g = JS(a) | 0; + q = a + 1976 | 0; + c[q >> 2] = (c[q >> 2] | 0) + 1; + q = c[e >> 2] | 0; + c[g + 4 >> 2] = (c[q + 4 >> 2] | 0) + 1; + MS(n, q); + 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]; + q = m + 16 | 0; + c[q >> 2] = c[e >> 2]; + OS(a, m, g, 0) | 0; + MS(o, c[k >> 2] | 0); + 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]; + c[q >> 2] = c[k >> 2]; + OS(a, m, g, 0) | 0; + c[e >> 2] = g; + g = a + 1980 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 2; + g = 1 + } + l = p; + return g | 0 + } + qa(135493, 135447, 248, 135481); + return 0 + } + + function IS(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 80 | 0; + m = q + 52 | 0; + n = q + 48 | 0; + o = q + 32 | 0; + p = q + 16 | 0; + k = q; + c[n >> 2] = 0; + if (!((b | 0) != 0 & (e | 0) != 0 & (f | 0) != 0)) qa(135571, 135447, 311, 135585); + if ((g | 0) > -1 ? (i = e + 4 | 0, h = c[i >> 2] | 0, (h | 0) >= (g | 0)) : 0) { + if (c[a + 1912 >> 2] | 0) { + h = c[a + 1908 >> 2] | 0 ? a + 1948 | 0 : a + 1944 | 0; + c[h >> 2] = (c[h >> 2] | 0) + 1; + h = c[i >> 2] | 0 + } + do if ((h | 0) > (g | 0)) { + i = NS(b, e) | 0; + h = e + 8 + (i * 20 | 0) + 16 | 0; + i = e + 8 + (i * 20 | 0) | 0; + if (!(IS(a, b, d, c[h >> 2] | 0, n, g) | 0)) { + TS(o, b, i); + c[i >> 2] = c[o >> 2]; + c[i + 4 >> 2] = c[o + 4 >> 2]; + c[i + 8 >> 2] = c[o + 8 >> 2]; + c[i + 12 >> 2] = c[o + 12 >> 2]; + j = 0; + break + } else { + MS(p, c[h >> 2] | 0); + c[i >> 2] = c[p >> 2]; + c[i + 4 >> 2] = c[p + 4 >> 2]; + c[i + 8 >> 2] = c[p + 8 >> 2]; + c[i + 12 >> 2] = c[p + 12 >> 2]; + j = c[n >> 2] | 0; + c[m + 16 >> 2] = j; + MS(k, j); + 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]; + j = a + 1980 | 0; + c[j >> 2] = (c[j >> 2] | 0) + 1; + j = OS(a, m, e, f) | 0; + break + } + } else if ((h | 0) == (g | 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[m + 16 >> 2] = d; + j = a + 1980 | 0; + c[j >> 2] = (c[j >> 2] | 0) + 1; + j = OS(a, m, e, f) | 0; + break + } else qa(135630, 135447, 341, 135585); while (0); + l = q; + return j | 0 + } + qa(135598, 135447, 312, 135585); + return 0 + } + + function JS(a) { + a = a | 0; + a = a + 1968 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + a = C_(1288) | 0; + KS(a); + return a | 0 + } + + function KS(a) { + a = a | 0; + var b = 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = -1; + b = 0; + while (1) { + if ((b | 0) == 64) break; + LS(a + 8 + (b * 20 | 0) | 0); + b = b + 1 | 0 + } + return + } + + function LS(a) { + a = a | 0; + QS(a); + c[a + 16 >> 2] = 0; + return + } + + function MS(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 32 | 0; + g = i + 16 | 0; + h = i; + if (!b) qa(135797, 135636, 99, 135643); + QS(g); + d = 1; + f = 0; + while (1) { + if ((f | 0) == 64) break; + do if (c[b + 8 + (f * 20 | 0) + 16 >> 2] | 0) { + e = b + 8 + (f * 20 | 0) | 0; + if (!d) { + TS(h, g, e); + 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]; + d = 0; + break + } else { + 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]; + d = 0; + break + } + } while (0); + f = f + 1 | 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]; + l = i; + return + } + + function NS(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + k = l; + l = l + 32 | 0; + i = k + 16 | 0; + j = k; + if (!((a | 0) != 0 & (b | 0) != 0)) qa(135653, 135636, 125, 135660); + d = 0; + e = 0; + f = 0; + g = 1; + h = 0; + while (1) { + if ((h | 0) == 64) break; + if (c[b + 8 + (h * 20 | 0) + 16 >> 2] | 0) { + n = b + 8 + (h * 20 | 0) | 0; + p = SS(n) | 0; + TS(j, a, n); + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + n = (SS(i) | 0) - p | 0; + m = (g | 0) != 0 | (n | 0) < (f | 0); + o = m | (p | 0) < (e | 0) & (n | 0) == (f | 0); + d = o ? h : d; + e = o ? p : e; + f = o ? n : f; + g = m ? 0 : g + } + h = h + 1 | 0 + } + l = k; + return d | 0 + } + + function OS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + if (!b) qa(135819, 135636, 167, 135671); + if (!d) qa(135797, 135636, 168, 135671); + do if ((c[d >> 2] | 0) < 64) { + a = 0; + while (1) { + if ((a | 0) >= 64) { + e = 10; + break + } + if (!(c[d + 8 + (a * 20 | 0) + 16 >> 2] | 0)) { + e = 8; + break + } + a = a + 1 | 0 + } + if ((e | 0) == 8) { + f = d + 8 + (a * 20 | 0) | 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]; + f = 0; + g = d; + break + } else if ((e | 0) == 10) qa(135681, 135636, 178, 135671) + } else { + if (c[a + 1912 >> 2] | 0) { + h = c[a + 1908 >> 2] | 0 ? a + 1948 | 0 : a + 1944 | 0; + c[h >> 2] = (c[h >> 2] | 0) + 1 + } + if (!e) qa(135694, 135636, 187, 135671); else { + VS(a, d, b, e); + f = 1; + g = (c[d + 4 >> 2] | 0) == 0 ? a + 1972 | 0 : a + 1976 | 0; + break + } + } while (0); + c[g >> 2] = (c[g >> 2] | 0) + 1; + return f | 0 + } + + function PS(a, b) { + a = a | 0; + b = b | 0; + if (!((a | 0) != 0 & b >>> 0 < 64)) qa(135698, 135636, 201, 135726); + if (!(c[a + 8 + (b * 20 | 0) + 16 >> 2] | 0)) qa(136220, 135636, 202, 135726); else { + LS(a + 8 + (b * 20 | 0) | 0); + c[a >> 2] = (c[a >> 2] | 0) + -1; + return + } + } + + function QS(a) { + a = a | 0; + var b = 0; + b = 0; + while (1) { + if ((b | 0) == 4) break; + c[a + (b << 2) >> 2] = 0; + b = b + 1 | 0 + } + return + } + + function RS(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + c[d >> 2] = 1; + c[d + 8 >> 2] = -1; + b = 1; + while (1) { + if ((b | 0) == 2) break; + c[d + (b + 2 << 2) >> 2] = 0; + c[d + (b << 2) >> 2] = 0; + b = b + 1 | 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]; + l = e; + return + } + + function SS(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + if (!a) qa(135739, 135741, 128, 135753); + a:do if ((c[a >> 2] | 0) > (c[a + 8 >> 2] | 0)) b = 0; else { + b = 1; + d = 0; + while (1) { + if ((d | 0) == 2) break a; + e = O(c[a + (d + 2 << 2) >> 2] | 0, b) | 0; + b = e - (c[a + (d << 2) >> 2] | 0) | 0; + d = d + 1 | 0 + } + } while (0); + return b | 0 + } + + function TS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!((b | 0) != 0 & (d | 0) != 0)) qa(135762, 135741, 195, 135770); + do if ((c[b >> 2] | 0) > (c[b + 8 >> 2] | 0)) { + c[a >> 2] = c[d >> 2]; + c[a + 4 >> 2] = c[d + 4 >> 2]; + c[a + 8 >> 2] = c[d + 8 >> 2]; + c[a + 12 >> 2] = c[d + 12 >> 2] + } else { + if ((c[d >> 2] | 0) > (c[d + 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]; + break + } else e = 0; + while (1) { + if ((e | 0) == 2) break; + j = c[b + (e << 2) >> 2] | 0; + h = c[d + (e << 2) >> 2] | 0; + c[f + (e << 2) >> 2] = (j | 0) < (h | 0) ? j : h; + h = e + 2 | 0; + j = c[b + (h << 2) >> 2] | 0; + i = c[d + (h << 2) >> 2] | 0; + c[f + (h << 2) >> 2] = (j | 0) > (i | 0) ? j : i; + e = e + 1 | 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] + } while (0); + l = g; + return + } + + function US(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if ((a | 0) != 0 & (b | 0) != 0) d = 0; else qa(135782, 135741, 216, 135789); + while (1) { + if ((d | 0) >= 2) { + d = 1; + break + } + e = d + 2 | 0; + if ((c[a + (d << 2) >> 2] | 0) > (c[b + (e << 2) >> 2] | 0)) { + d = 0; + break + } + if ((c[b + (d << 2) >> 2] | 0) > (c[a + (e << 2) >> 2] | 0)) { + d = 0; + break + } else d = d + 1 | 0 + } + return d | 0 + } + + function VS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0; + if (!b) qa(135797, 135799, 40, 135809); + if (!d) qa(135819, 135799, 41, 135809); + j = a + 1912 | 0; + if (c[j >> 2] | 0) { + i = c[a + 1908 >> 2] | 0 ? a + 1932 | 0 : a + 1928 | 0; + c[i >> 2] = (c[i >> 2] | 0) + 1 + } + h = b + 4 | 0; + i = c[h >> 2] | 0; + WS(a, b, d); + d = a + 1324 | 0; + XS(a); + f = SS(a + 1852 | 0) | 0; + f = (SS(a + 1868 | 0) | 0) + f | 0; + if (c[j >> 2] | 0 ? (f | 0) != 0 & (c[a + 1908 >> 2] | 0) == 0 : 0) { + j = a + 1960 | 0; + g[j >> 2] = +((c[a + 1320 >> 2] | 0) >>> 0) / +(f | 0) + +g[j >> 2] + } + j = JS(a) | 0; + c[e >> 2] = j; + c[h >> 2] = i; + c[j + 4 >> 2] = i; + YS(a, b, j, d); + if (((c[c[e >> 2] >> 2] | 0) + (c[b >> 2] | 0) | 0) == 65) return; else qa(135821, 135799, 86, 135809) + } + + function WS(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + h = l; + l = l + 16 | 0; + g = h; + if (!b) qa(135797, 135799, 106, 136208); + if (!d) qa(135819, 135799, 107, 136208); else e = 0; + while (1) { + if ((e | 0) >= 64) break; + if (!(c[b + 8 + (e * 20 | 0) + 16 >> 2] | 0)) { + f = 7; + break + } + j = b + 8 + (e * 20 | 0) | 0; + i = a + 4 + (e * 20 | 0) | 0; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + c[i + 16 >> 2] = c[j + 16 >> 2]; + e = e + 1 | 0 + } + if ((f | 0) == 7) qa(136220, 135799, 111, 136208); + e = a + 4 | 0; + j = a + 1284 | 0; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + c[j + 16 >> 2] = c[d + 16 >> 2]; + d = a + 1304 | 0; + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = c[e + 4 >> 2]; + c[d + 8 >> 2] = c[e + 8 >> 2]; + c[d + 12 >> 2] = c[e + 12 >> 2]; + e = 1; + while (1) { + if ((e | 0) == 65) break; + TS(g, d, a + 4 + (e * 20 | 0) | 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]; + e = e + 1 | 0 + } + c[a + 1320 >> 2] = SS(d) | 0; + KS(b); + l = h; + return + } + + function XS(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0, s = 0, t = 0, u = 0, v = 0; + u = l; + l = l + 48 | 0; + i = u + 32 | 0; + k = u + 16 | 0; + m = u; + ZS(a); + _S(a); + q = a + 1844 | 0; + s = a + 1848 | 0; + t = a + 1892 | 0; + n = a + 1852 | 0; + o = a + 1884 | 0; + p = a + 1868 | 0; + j = a + 1888 | 0; + f = 0; + e = 0; + while (1) { + d = c[q >> 2] | 0; + b = c[s >> 2] | 0; + if ((b + d | 0) >= 65) break; + h = 65 - (c[t >> 2] | 0) | 0; + if ((d | 0) < (h | 0) & (b | 0) < (h | 0)) { + g = -1; + h = 0 + } else { + r = 12; + break + } + while (1) { + if ((h | 0) == 65) break; + if (!(c[a + 1584 + (h << 2) >> 2] | 0)) { + v = a + 4 + (h * 20 | 0) | 0; + TS(k, v, n); + c[i >> 2] = c[k >> 2]; + c[i + 4 >> 2] = c[k + 4 >> 2]; + c[i + 8 >> 2] = c[k + 8 >> 2]; + c[i + 12 >> 2] = c[k + 12 >> 2]; + b = SS(i) | 0; + d = c[o >> 2] | 0; + TS(m, v, p); + c[i >> 2] = c[m >> 2]; + c[i + 4 >> 2] = c[m + 4 >> 2]; + c[i + 8 >> 2] = c[m + 8 >> 2]; + c[i + 12 >> 2] = c[m + 12 >> 2]; + v = SS(i) | 0; + b = v - (c[j >> 2] | 0) + (d - b) | 0; + d = (b | 0) > -1; + b = d ? b : 0 - b | 0; + d = (d ^ 1) & 1; + if ((b | 0) <= (g | 0)) if ((b | 0) == (g | 0)) { + v = (c[a + 1844 + (d << 2) >> 2] | 0) < (c[a + 1844 + (f << 2) >> 2] | 0); + b = g; + d = v ? d : f; + e = v ? h : e + } else { + b = g; + d = f + } else e = h + } else { + b = g; + d = f + } + g = b; + h = h + 1 | 0; + f = d + } + $S(a, e, f) + } + if ((r | 0) == 12) { + b = (d | 0) >= (65 - (c[t >> 2] | 0) | 0) & 1; + d = 0; + while (1) { + if ((d | 0) == 65) break; + if (!(c[a + 1584 + (d << 2) >> 2] | 0)) $S(a, d, b); + d = d + 1 | 0 + } + d = c[q >> 2] | 0; + b = c[s >> 2] | 0 + } + if ((b + d | 0) != 65) qa(135964, 135799, 210, 136050); + v = c[t >> 2] | 0; + if ((d | 0) < (v | 0) | (b | 0) < (v | 0)) qa(136061, 135799, 212, 136050); else { + l = u; + return + } + } + + function YS(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + if (!b) qa(135797, 135799, 297, 135861); + if (!d) qa(135871, 135799, 298, 135861); + if (!e) qa(135873, 135799, 299, 135861); else f = 0; + while (1) { + if ((f | 0) >= 65) { + e = 14; + break + } + e = c[a + 1324 + (f << 2) >> 2] | 0; + if (e >>> 0 >= 2) { + e = 9; + break + } + switch (e | 0) { + case 0: { + OS(a, a + 4 + (f * 20 | 0) | 0, b, 0) | 0; + break + } + case 1: { + OS(a, a + 4 + (f * 20 | 0) | 0, d, 0) | 0; + break + } + default: { + } + } + f = f + 1 | 0 + } + if ((e | 0) == 9) qa(135875, 135799, 303, 135861); else if ((e | 0) == 14) return + } + + function ZS(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d; + c[a + 1848 >> 2] = 0; + c[a + 1844 >> 2] = 0; + b = a + 1852 | 0; + f = a + 1868 | 0; + RS(e); + c[f >> 2] = c[e >> 2]; + c[f + 4 >> 2] = c[e + 4 >> 2]; + c[f + 8 >> 2] = c[e + 8 >> 2]; + c[f + 12 >> 2] = c[e + 12 >> 2]; + 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 + 1888 >> 2] = 0; + c[a + 1884 >> 2] = 0; + b = 0; + while (1) { + if ((b | 0) == 65) break; + c[a + 1584 + (b << 2) >> 2] = 0; + c[a + 1324 + (b << 2) >> 2] = -1; + b = b + 1 | 0 + } + l = d; + return + } + + function _S(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0; + o = l; + l = l + 304 | 0; + k = o + 32 | 0; + m = o + 16 | 0; + n = o; + b = 0; + while (1) { + if ((b | 0) == 65) break; + c[k + (b << 2) >> 2] = SS(a + 4 + (b * 20 | 0) | 0) | 0; + b = b + 1 | 0 + } + b = 0; + d = 0; + e = 0; + g = 0; + a:while (1) { + if ((g | 0) == 64) break; + i = g + 1 | 0; + j = a + 4 + (g * 20 | 0) | 0; + h = k + (g << 2) | 0; + f = i; + while (1) { + if ((f | 0) == 65) { + g = i; + continue a + } + TS(n, j, a + 4 + (f * 20 | 0) | 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]; + p = SS(m) | 0; + p = p - (c[h >> 2] | 0) - (c[k + (f << 2) >> 2] | 0) | 0; + q = p >>> 0 > e >>> 0; + r = q ? f : b; + f = f + 1 | 0; + b = r; + d = q ? g : d; + e = q ? p : e + } + } + $S(a, d, 0); + $S(a, b, 1); + l = o; + return + } + + function $S(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + e = a + 1584 + (b << 2) | 0; + if (c[e >> 2] | 0) qa(136164, 135799, 257, 136199); + c[a + 1324 + (b << 2) >> 2] = d; + c[e >> 2] = 1; + g = a + 1844 + (d << 2) | 0; + f = a + 1852 + (d << 4) | 0; + e = a + 4 + (b * 20 | 0) | 0; + if (!(c[g >> 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] + } else { + TS(h, e, f); + c[f >> 2] = c[h >> 2]; + c[f + 4 >> 2] = c[h + 4 >> 2]; + c[f + 8 >> 2] = c[h + 8 >> 2]; + c[f + 12 >> 2] = c[h + 12 >> 2] + } + c[a + 1884 + (d << 2) >> 2] = SS(f) | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1; + l = i; + return + } + + function aT() { + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0; + t = l; + l = l + 1200 | 0; + r = t + 800 | 0; + g = t; + c[46627] = 0; + c[46628] = -2; + f = r; + i = 200; + n = g; + p = 0; + q = 0; + o = r; + a:while (1) { + b[o >> 1] = p; + if ((f + (i << 1) + -2 | 0) >>> 0 > o >>> 0) k = i; else { + m = o - f >> 1; + e = m + 1 | 0; + if (i >>> 0 > 9999) { + s = 95; + break + } + k = i << 1; + k = k >>> 0 < 1e4 ? k : 1e4; + h = C_(k * 6 | 3) | 0; + if (h) { + F3(h | 0, f | 0, e << 1 | 0) | 0; + i = h + (k >>> 1 << 2) | 0; + F3(i | 0, n | 0, e << 2 | 0) | 0; + if ((f | 0) == (r | 0)) { + e = 0; + f = h + } else { + D_(f); + e = 0; + f = h + } + } else { + e = 4; + i = n + } + j = (e | 0) == 0; + h = f + (m << 1) | 0; + switch ((j ? ((f + (k << 1) + -2 | 0) >>> 0 > h >>> 0 ? 0 : 9) : e) & 15) { + case 9: { + e = 1; + s = 96; + break a + } + case 4: { + s = 95; + break a + } + case 0: { + g = j ? i + (m << 2) | 0 : g; + n = i; + o = j ? h : o; + break + } + default: { + e = 0; + break a + } + } + } + if ((p | 0) == 31) { + e = 0; + s = 96; + break + } + e = b[65430 + (p << 1) >> 1] | 0; + j = e << 16 >> 16; + do if (e << 16 >> 16 != -82) { + h = c[46628] | 0; + if ((h | 0) == -2) { + h = pU() | 0; + c[46628] = h + } + if ((h | 0) >= 1) if (h >>> 0 < 296) i = d[136239 + h >> 0] | 0; else i = 2; else { + c[46628] = 0; + i = 0 + } + h = i + j | 0; + if (h >>> 0 <= 271 ? (i | 0) == (a[136535 + h >> 0] | 0) : 0) { + p = a[136807 + h >> 0] | 0; + e = p << 24 >> 24; + if (p << 24 >> 24 < 1) { + h = 0 - e | 0; + s = 23; + break + } else { + c[46628] = -2; + g = g + 4 | 0; + c[g >> 2] = c[46629]; + j = (q | 0) == 0 ? 0 : q + -1 | 0; + h = o; + break + } + } else s = 22 + } else s = 22; while (0); + if ((s | 0) == 22) { + s = 0; + p = a[137079 + p >> 0] | 0; + h = p & 255; + if (!(p << 24 >> 24)) { + h = c[46628] | 0; + b:do switch (q | 0) { + case 0: { + c[46627] = (c[46627] | 0) + 1; + vT(140679); + h = o; + break + } + case 3: + if ((h | 0) < 1) if (!h) { + e = 1; + s = 96; + break a + } else { + h = o; + break b + } else { + c[46628] = -2; + h = o; + break b + } + default: + h = o + } while (0); + while (1) { + if (e << 16 >> 16 == 8) break; + if ((h | 0) == (f | 0)) { + e = 1; + s = 96; + break a + } + e = h + -2 | 0; + g = g + -4 | 0; + h = e; + e = b[65430 + (b[e >> 1] << 1) >> 1] | 0 + } + g = g + 4 | 0; + c[g >> 2] = c[46629]; + e = 1; + j = 3 + } else s = 23 + } + do if ((s | 0) == 23) { + s = 0; + j = d[137195 + h >> 0] | 0; + e = c[g + (1 - j << 2) >> 2] | 0; + do switch (h | 0) { + case 4: { + s = 26; + break a + } + case 2: { + c[46630] = bT(c[g + -4 >> 2] | 0, 2) | 0; + break + } + case 3: { + c[46630] = bT(c[g + -4 >> 2] | 0, 1) | 0; + break + } + case 5: { + e = dT() | 0; + break + } + case 8: { + eT(c[46631] | 0); + break + } + case 9: { + fT(c[g >> 2] | 0); + break + } + case 18: { + gT(c[g >> 2] | 0); + break + } + case 19: { + hT(); + break + } + case 20: { + gT(c[g >> 2] | 0); + break + } + case 21: { + hT(); + break + } + case 22: { + gT(c[g >> 2] | 0); + break + } + case 23: { + hT(); + break + } + case 24: { + gT(c[g >> 2] | 0); + break + } + case 25: { + hT(); + break + } + case 26: { + gT(c[g >> 2] | 0); + break + } + case 27: { + hT(); + break + } + case 28: { + gT(c[g >> 2] | 0); + break + } + case 29: { + hT(); + break + } + case 30: { + gT(c[g >> 2] | 0); + break + } + case 31: { + hT(); + break + } + case 32: { + gT(c[g >> 2] | 0); + break + } + case 33: { + hT(); + break + } + case 34: { + e = c[g + -4 >> 2] | 0; + break + } + case 35: { + e = c[g >> 2] | 0; + break + } + case 38: { + e = c[46631] | 0; + i = c[e + 4 >> 2] | 0; + if (i >>> 0 >= (c[e + 8 >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + i = c[46631] | 0; + e = i; + i = c[i + 4 >> 2] | 0 + } + a[i >> 0] = 0; + p = c[e >> 2] | 0; + c[e + 4 >> 2] = p; + if (iT(p) | 0) { + s = 51; + break a + } + c[(c[g >> 2] | 0) + 80 >> 2] = c[46632]; + e = Cw(55928, c[4554] | 0) | 0; + c[(c[g >> 2] | 0) + 84 >> 2] = e; + c[46632] = c[g >> 2]; + c[(c[g >> 2] | 0) + 108 >> 2] = c[c[46633] >> 2]; + e = c[g >> 2] | 0; + break + } + case 39: { + e = c[46631] | 0; + i = c[e + 4 >> 2] | 0; + if (i >>> 0 >= (c[e + 8 >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + i = c[46631] | 0; + e = i; + i = c[i + 4 >> 2] | 0 + } + a[i >> 0] = 0; + p = c[e >> 2] | 0; + c[e + 4 >> 2] = p; + if (iT(p) | 0) { + s = 56; + break a + } + e = c[46632] | 0; + c[46632] = c[e + 80 >> 2]; + break + } + case 40: { + e = c[g >> 2] | 0; + break + } + case 41: { + e = c[g + -4 >> 2] | 0; + break + } + case 42: { + e = c[g + -4 >> 2] | 0; + break + } + case 43: { + e = c[g + -4 >> 2] | 0; + break + } + case 44: { + e = c[g + -4 >> 2] | 0; + break + } + case 45: { + e = c[g + -4 >> 2] | 0; + break + } + case 48: { + e = c[g >> 2] | 0; + break + } + case 49: { + e = c[g >> 2] | 0; + break + } + case 50: { + a[(c[g + -8 >> 2] | 0) + 12 >> 0] = 1; + e = c[g >> 2] | 0; + break + } + case 51: { + jT(); + break + } + case 52: { + e = kT() | 0; + break + } + case 53: { + e = c[g >> 2] | 0; + break + } + case 54: { + e = c[g >> 2] | 0; + break + } + case 55: { + e = (c[g + -8 >> 2] | 0) + 100 | 0; + a[e >> 0] = a[e >> 0] | 1; + e = c[g >> 2] | 0; + break + } + case 56: { + lT(c[g + -4 >> 2] | 0, c[g >> 2] | 0, 1); + break + } + case 57: { + e = c[g + -12 >> 2] | 0; + break + } + case 58: { + lT(c[g + -4 >> 2] | 0, c[g >> 2] | 0, 2); + break + } + case 59: { + e = c[g + -12 >> 2] | 0; + break + } + case 60: { + lT(c[g + -4 >> 2] | 0, c[g >> 2] | 0, 3); + break + } + case 61: { + e = c[g + -12 >> 2] | 0; + break + } + case 62: { + lT(c[g >> 2] | 0, dT() | 0, 2); + break + } + case 63: { + e = c[g + -8 >> 2] | 0; + break + } + case 64: { + e = c[g + -4 >> 2] | 0; + break + } + case 65: { + e = c[g >> 2] | 0; + break + } + default: { + } + } while (0); + i = 0 - j | 0; + p = g + (i << 2) | 0; + i = o + (i << 1) | 0; + g = p + 4 | 0; + c[p + 4 >> 2] = e; + e = (d[137367 + h >> 0] | 0) + -41 | 0; + p = b[i >> 1] | 0; + h = p + (b[65662 + (e << 1) >> 1] | 0) | 0; + if (h >>> 0 < 272 ? (a[136535 + h >> 0] | 0) == (p | 0) : 0) { + e = a[136807 + h >> 0] | 0; + j = q; + h = i; + break + } + e = a[137437 + e >> 0] | 0; + j = q; + h = i + } while (0); + i = k; + p = e; + q = j; + o = h + 2 | 0 + } + if ((s | 0) == 26) { + cT(); + e = 1; + s = 96 + } else if ((s | 0) == 51) { + vT(137265); + cT(); + e = 1; + s = 96 + } else if ((s | 0) == 56) { + vT(137316); + cT(); + e = 1; + s = 96 + } else if ((s | 0) == 95) { + vT(137476); + e = 2; + s = 96 + } + if ((s | 0) == 96) if ((f | 0) != (r | 0)) D_(f); + l = t; + return e | 0 + } + + function bT(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = uH(8) | 0; + a[e + 4 >> 0] = d; + c[e >> 2] = b; + return e | 0 + } + + function cT() { + var a = 0, b = 0; + a = c[46632] | 0; + b = c[46630] | 0; + if (b | 0) { + XQ(b, 1); + c[46630] = 0 + } + c[13995] = 67; + while (1) { + if (!a) break; + b = c[a + 80 >> 2] | 0; + pT(a); + a = b + } + c[13995] = 56; + c[14004] = 68; + b = c[46635] | 0; + nb[c[b >> 2] & 63](b, 0, 64) | 0; + c[14004] = 56; + c[14013] = 69; + b = c[46636] | 0; + nb[c[b >> 2] & 63](b, 0, 64) | 0; + c[14013] = 56; + sT(); + return + } + + function dT() { + var a = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + e = c[46636] | 0; + f = uH(40) | 0; + if (Ew(c[46635] | 0) | 0) fT(0); + a = Ew(e) | 0; + b[f + 4 >> 1] = a; + a:do if (!a) a = e; else { + c[f >> 2] = uH(a * 24 | 0) | 0; + a = 0; + d = nb[c[e >> 2] & 63](e, 0, 128) | 0; + while (1) { + if (!d) { + a = e; + break a + } + g = (c[f >> 2] | 0) + (a * 24 | 0) | 0; + h = d + 8 | 0; + c[g >> 2] = c[h >> 2]; + c[g + 4 >> 2] = c[h + 4 >> 2]; + c[g + 8 >> 2] = c[h + 8 >> 2]; + c[g + 12 >> 2] = c[h + 12 >> 2]; + c[g + 16 >> 2] = c[h + 16 >> 2]; + c[g + 20 >> 2] = c[h + 20 >> 2]; + a = a + 1 | 0; + d = nb[c[e >> 2] & 63](e, d, 8) | 0 + } + } while (0); + nb[c[a >> 2] & 63](e, 0, 64) | 0; + return f | 0 + } + + function eT(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + e = uH(64) | 0; + f = b + 4 | 0; + d = c[f >> 2] | 0; + if (d >>> 0 >= (c[b + 8 >> 2] | 0) >>> 0) { + Uw(b, 1) | 0; + d = c[f >> 2] | 0 + } + a[d >> 0] = 0; + b = c[b >> 2] | 0; + c[f >> 2] = b; + c[e + 8 >> 2] = n1(b) | 0; + c[e + 12 >> 2] = c[c[46633] >> 2]; + f = c[46635] | 0; + nb[c[f >> 2] & 63](f, e, 1) | 0; + return + } + + function fT(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + i = uH(32) | 0; + j = c[46635] | 0; + e = Ew(j) | 0; + k = i + 8 | 0; + a[i + 14 >> 0] = d; + a:do if (!e) { + c[k >> 2] = uH(56) | 0; + b[i + 12 >> 1] = 1; + h = n1(191979) | 0; + k = c[k >> 2] | 0; + c[k >> 2] = h; + c[k + 4 >> 2] = c[c[46633] >> 2] + } else { + b[i + 12 >> 1] = e; + c[k >> 2] = uH(e * 56 | 0) | 0; + d = 0; + e = Aw(j) | 0; + while (1) { + if (!e) break a; + f = (c[k >> 2] | 0) + (d * 56 | 0) | 0; + g = e + 8 | 0; + h = f + 56 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (h | 0)); + d = d + 1 | 0; + e = c[e >> 2] | 0 + } + } while (0); + nb[c[j >> 2] & 63](j, 0, 64) | 0; + k = c[46636] | 0; + nb[c[k >> 2] & 63](k, i, 1) | 0; + return + } + + function gT(a) { + a = a | 0; + var b = 0, d = 0.0, e = 0, f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + g = j; + i = uH(8) | 0; + f = c[c[46633] >> 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]; + 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 (f | 0) { + a = g + 4 | 0; + if ((c[a >> 2] | 0) == 0 ? (b = c[f + 4 >> 2] | 0, b | 0) : 0) c[a >> 2] = b; + a = g + 16 | 0; + if (+h[a >> 3] < 0.0 ? (d = +h[f + 16 >> 3], d >= 0.0) : 0) h[a >> 3] = d; + if ((c[g >> 2] | 0) == 0 ? (e = c[f >> 2] | 0, e | 0) : 0) c[g >> 2] = e; + a = c[f + 24 >> 2] & 127; + if (a | 0) { + f = g + 24 | 0; + e = c[f >> 2] | 0; + c[f >> 2] = e & 127 | a | e & -128 + } + } + f = c[(c[46634] | 0) + 144 >> 2] | 0; + c[i >> 2] = nb[c[f >> 2] & 63](f, g, 1) | 0; + c[i + 4 >> 2] = c[46633]; + c[46633] = i; + l = j; + return + } + + function hT() { + var a = 0, b = 0; + b = c[46633] | 0; + a = c[b + 4 >> 2] | 0; + D_(b); + c[46633] = a; + return + } + + function iT(b) { + b = b | 0; + var c = 0; + while (1) { + c = a[b >> 0] | 0; + if (!(c << 24 >> 24)) { + b = 0; + break + } + if (c << 24 >> 24 == 32) b = b + 1 | 0; else { + b = 1; + break + } + } + return b | 0 + } + + function jT() { + var b = 0, d = 0, e = 0; + e = Cw(55964, c[4554] | 0) | 0; + b = c[46632] | 0; + d = uH(16) | 0; + c[d + 8 >> 2] = e; + if (a[b + 112 >> 0] & 2) a[d + 12 >> 0] = 1; + e = c[b + 84 >> 2] | 0; + nb[c[e >> 2] & 63](e, d, 1) | 0; + return + } + + function kT() { + var a = 0; + a = c[(c[46632] | 0) + 84 >> 2] | 0; + return nb[c[a >> 2] & 63](a, 0, 256) | 0 + } + + function lT(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = uH(16) | 0; + f = c[46632] | 0; + h = c[f + 84 >> 2] | 0; + h = c[(nb[c[h >> 2] & 63](h, 0, 256) | 0) + 8 >> 2] | 0; + c[g + 8 >> 2] = b; + nb[c[h >> 2] & 63](h, g, 1) | 0; + a[b + 92 >> 0] = e; + if (a[f + 112 >> 0] & 1) a[b + 100 >> 0] = 1; + c[b + 88 >> 2] = d; + return + } + + function mT(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function nT(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + yw(c[b + 8 >> 2] | 0) | 0; + D_(b); + return + } + + function oT(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + tT(c[b + 8 >> 2] | 0); + D_(b); + return + } + + function pT(a) { + a = a | 0; + yw(c[a + 84 >> 2] | 0) | 0; + UQ(a); + D_(a); + return + } + + function qT(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + D_(c[b + 8 >> 2] | 0); + D_(b); + return + } + + function rT(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = d + 12 | 0; + a = b[g >> 1] | 0; + if (a << 16 >> 16) { + h = d + 8 | 0; + e = 0; + f = c[h >> 2] | 0; + while (1) { + if ((e | 0) >= (a << 16 >> 16 | 0)) break; + D_(c[f >> 2] | 0); + e = e + 1 | 0; + f = f + 56 | 0; + a = b[g >> 1] | 0 + } + D_(c[h >> 2] | 0) + } + D_(d); + return + } + + function sT() { + var a = 0, b = 0; + a = c[46633] | 0; + while (1) { + b = c[a + 4 >> 2] | 0; + if (!b) break; + D_(a); + a = b + } + return + } + + function tT(b) { + b = b | 0; + var d = 0; + d = b + 88 | 0; + switch (a[b + 92 >> 0] | 0) { + case 1: { + pT(c[d >> 2] | 0); + break + } + case 2: { + VQ(c[d >> 2] | 0); + break + } + default: { + } + } + UQ(b); + D_(b); + return + } + + function uT(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = l; + l = l + 160 | 0; + e = f + 8 | 0; + g = f; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + c[46633] = g; + c[46632] = 0; + c[46630] = 0; + c[46634] = c[(c[(c[d + 52 >> 2] | 0) + 16 >> 2] | 0) + 144 >> 2]; + c[46635] = Cw(56e3, c[4554] | 0) | 0; + c[46636] = Cw(56036, c[4554] | 0) | 0; + Tw(e, 128, f + 24 | 0); + c[46631] = e; + if (!(yT(a, e, d) | 0)) { + aT() | 0; + c[b >> 2] = oU() | 0; + a = c[46630] | 0 + } else { + c[b >> 2] = 2; + a = 0 + } + yw(c[46635] | 0) | 0; + yw(c[46636] | 0) | 0; + c[46635] = 0; + c[46636] = 0; + c[46633] = 0; + Xw(e); + l = f; + return a | 0 + } + + function vT(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + e = l; + l = l + 16 | 0; + d = e; + if (!(a[186581] | 0)) { + a[186581] = 1; + f = wT() | 0; + c[d >> 2] = b; + c[d + 4 >> 2] = f; + Pw(1, 137493, d) | 0; + xT() + } + l = e; + return + } + + function wT() { + return dX(c[46637] | 0) | 0 + } + + function xT() { + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + b = c[46640] | 0; + c[b + 4 >> 2] = c[b >> 2]; + d = c[46649] | 0; + if ((d | 0) > 0) { + Vw(b, c[46647] | 0, d) | 0; + b = c[46640] | 0 + } + Vw(b, c[46646] | 0, c[46648] | 0) | 0; + d = c[46640] | 0; + b = c[d + 4 >> 2] | 0; + if (b >>> 0 >= (c[d + 8 >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + b = c[46640] | 0; + d = b; + b = c[b + 4 >> 2] | 0 + } + c[d + 4 >> 2] = b + 1; + a[b >> 0] = 0; + b = c[46640] | 0; + d = c[b >> 2] | 0; + c[b + 4 >> 2] = d; + c[e >> 2] = d; + Pw(3, 137509, e) | 0; + l = f; + return + } + + function yT(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + c[46640] = e; + Tw(186564, 128, 0); + c[46638] = b; + a[186583] = 0; + a[186580] = 0; + a[186581] = 0; + c[46648] = 0; + c[46649] = 0; + a[186582] = 1; + f = f + 52 | 0; + e = DV(hH(d[(c[(c[f >> 2] | 0) + 16 >> 2] | 0) + 115 >> 0] | 0) | 0) | 0; + c[46637] = e; + SW(e, c[(c[(c[f >> 2] | 0) + 16 >> 2] | 0) + 144 >> 2] | 0); + TW(c[46637] | 0, 70, 27); + UW(c[46637] | 0, 71); + return 0 + } + + function zT(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + do if (!(O$(d, 137521) | 0)) { + c[46629] = DT(e) | 0; + a[186582] = 0; + c[46639] = 286 + } else { + if (O$(d, 137527) | 0 ? O$(d, 137530) | 0 : 0) { + if (!(O$(d, 137533) | 0)) { + a[186582] = 1; + c[46629] = ET(e) | 0; + c[46639] = 287; + break + } + if (!(O$(d, 137541) | 0)) { + c[46629] = FT(b, e, 0) | 0; + c[46639] = 288; + break + } + if (!(O$(d, 137546) | 0)) { + c[46629] = FT(b, 0, 1) | 0; + c[46639] = 290; + break + } + if (!(O$(d, 137562) | 0)) { + c[46629] = FT(b, 0, 32) | 0; + c[46639] = 295; + break + } + if (!(O$(d, 137548) | 0)) { + c[46629] = FT(b, 0, 4) | 0; + c[46639] = 291; + break + } + if (!(O$(d, 137550) | 0)) { + c[46629] = FT(b, 0, 64) | 0; + c[46639] = 292; + break + } + if (!(O$(d, 137552) | 0)) { + c[46629] = FT(b, 0, 2) | 0; + c[46639] = 289; + break + } + if (!(O$(d, 137554) | 0)) { + c[46629] = FT(b, 0, 8) | 0; + c[46639] = 293; + break + } + if (!(O$(d, 137558) | 0)) { + c[46629] = FT(b, 0, 16) | 0; + c[46639] = 294; + break + } + if (!(O$(d, 137564) | 0)) { + GT(e); + c[46639] = 283; + break + } + if (!(O$(d, 137567) | 0)) { + c[46639] = 277; + break + } + if (!(O$(d, 137570) | 0)) { + c[46639] = 280; + break + } + if (!(O$(d, 137573) | 0)) { + c[46629] = HT(e) | 0; + c[46639] = 285; + break + } + if (!(O$(d, 137536) | 0)) { + c[46639] = 262; + break + } else { + CT(d); + break + } + } + a[186582] = 0; + c[46639] = 260 + } while (0); + return + } + + function AT(b, d) { + b = b | 0; + d = d | 0; + do if (!(O$(d, 137521) | 0)) { + c[46639] = 264; + a[186582] = 1 + } else { + if (O$(d, 137527) | 0 ? O$(d, 137530) | 0 : 0) { + if (!(O$(d, 137533) | 0)) { + c[46639] = 265; + a[186582] = 0; + break + } + if (!(O$(d, 137536) | 0)) { + c[46639] = 263; + break + } + if (!(O$(d, 137541) | 0)) { + c[46639] = 266; + break + } + if (!(O$(d, 137546) | 0)) { + c[46639] = 270; + break + } + if (!(O$(d, 137548) | 0)) { + c[46639] = 271; + break + } + if (!(O$(d, 137550) | 0)) { + c[46639] = 272; + break + } + if (!(O$(d, 137552) | 0)) { + c[46639] = 269; + break + } + if (!(O$(d, 137554) | 0)) { + c[46639] = 273; + break + } + if (!(O$(d, 137558) | 0)) { + c[46639] = 274; + break + } + if (!(O$(d, 137562) | 0)) { + c[46639] = 275; + break + } + if (!(O$(d, 137564) | 0)) { + c[46639] = (c[46639] | 0) == 283 ? 282 : 258; + break + } + if (!(O$(d, 137567) | 0)) { + c[46639] = (c[46639] | 0) == 277 ? 276 : 278; + break + } + if (!(O$(d, 137570) | 0)) { + c[46639] = (c[46639] | 0) == 280 ? 279 : 281; + break + } + if (!(O$(d, 137573) | 0)) { + c[46639] = (c[46639] | 0) == 285 ? 284 : 259; + break + } else { + CT(d); + break + } + } + c[46639] = 261 + } while (0); + return + } + + function BT(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + if (a[186582] | 0) { + b = 0; + while (1) { + if (!e) break; + h = d + 1 | 0; + g = a[d >> 0] | 0; + if ((g & 255) > 31) { + d = c[46640] | 0; + f = c[d + 4 >> 2] | 0; + if (f >>> 0 >= (c[d + 8 >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + f = c[46640] | 0; + d = f; + f = c[f + 4 >> 2] | 0 + } + c[d + 4 >> 2] = f + 1; + a[f >> 0] = g; + b = b + 1 | 0 + } + d = h; + e = e + -1 | 0 + } + if (b | 0) c[46639] = 267 + } + return + } + + function CT(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d; + c[46639] = 268; + a[186581] = 1; + f = wT() | 0; + c[e >> 2] = b; + c[e + 4 >> 2] = f; + Pw(1, 137577, e) | 0; + l = d; + return + } + + function DT(b) { + b = b | 0; + var d = 0; + d = uH(120) | 0; + c[d + 100 >> 2] = -1; + a[d + 88 >> 0] = -1; + IT(d, 56296, 22, b, 138529); + return d | 0 + } + + function ET(a) { + a = a | 0; + var c = 0; + c = uH(104) | 0; + b[c + 80 >> 1] = 1; + b[c + 82 >> 1] = 1; + IT(c, 56120, 22, a, 137883); + return c | 0 + } + + function FT(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 32 | 0; + e = f; + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + c[e + 16 >> 2] = 0; + c[e + 20 >> 2] = 0; + c[e + 24 >> 2] = 0; + c[e + 28 >> 2] = 0; + h[e + 16 >> 3] = -1.0; + c[e + 24 >> 2] = d & 127; + if (b | 0) IT(e, 56096, 3, b, 137734); + d = c[a + 144 >> 2] | 0; + e = nb[c[d >> 2] & 63](d, e, 1) | 0; + l = f; + return e | 0 + } + + function GT(a) { + a = a | 0; + c[46629] = 0; + IT(186516, 56088, 1, a, 137670); + return + } + + function HT(a) { + a = a | 0; + var b = 0; + b = uH(40) | 0; + IT(b, 56072, 2, a, 137616); + return b | 0 + } + + function IT(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o; + m = o + 8 | 0; + while (1) { + k = c[g >> 2] | 0; + if (!k) break; + i = c[g + 4 >> 2] | 0; + c[m >> 2] = k; + j = e2(m, e, f, 8, 102) | 0; + if (!j) { + c[n >> 2] = k; + c[n + 4 >> 2] = h; + Pw(0, 137622, n) | 0; + i = 1 + } else { + i = lb[c[j + 4 >> 2] & 127](b, i) | 0; + i = (i | (d[186580] | 0)) & 255 + } + a[186580] = i; + g = g + 8 | 0 + } + l = o; + return + } + + function JT(a, b) { + a = a | 0; + b = b | 0; + return O$(c[a >> 2] | 0, c[b >> 2] | 0) | 0 + } + + function KT(a, b) { + a = a | 0; + b = b | 0; + c[a + 36 >> 2] = n1(b) | 0; + return 0 + } + + function LT(a, b) { + a = a | 0; + b = b | 0; + c[a + 32 >> 2] = n1(b) | 0; + return 0 + } + + function MT(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + f = (I0(a[d >> 0] | 0) | 0) << 24 >> 24; + switch (f | 0) { + case 82: { + e = d + 1 | 0; + if (!(O$(e, 137681) | 0)) { + c[b >> 2] = 114; + e = 0 + } else h = 5; + break + } + case 76: { + h = 6; + break + } + default: { + e = d + 1 | 0; + h = 5 + } + } + do if ((h | 0) == 5) if (!(O$(e, 137686) | 0)) h = 6; else { + if ((f | 0) != 67 ? (O$(e, 137690) | 0) == 0 : 0) { + c[g >> 2] = d; + Pw(0, 137696, g) | 0; + e = 1; + break + } + c[b >> 2] = 110; + e = 0 + } while (0); + if ((h | 0) == 6) { + c[b >> 2] = 108; + e = 0 + } + l = i; + return e | 0 + } + + function NT(a, b) { + a = a | 0; + b = b | 0; + c[a + 4 >> 2] = b; + return 0 + } + + function OT(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = b; + return 0 + } + + function PT(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + if (!(QT(b, 137763, 0, 255, d) | 0)) { + h[a + 16 >> 3] = +(c[d >> 2] | 0); + a = 0 + } else a = 1; + l = e; + return a | 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, h = 0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 48 | 0; + j = k + 24 | 0; + i = k + 8 | 0; + h = k; + m = k + 36 | 0; + g = i1(a, m, 10) | 0; + do if ((c[m >> 2] | 0) != (a | 0)) { + if ((g | 0) > (e | 0)) { + c[i >> 2] = b; + c[i + 4 >> 2] = a; + c[i + 8 >> 2] = e; + Pw(0, 137805, i) | 0; + a = 1; + break + } + if ((g | 0) < (d | 0)) { + c[j >> 2] = b; + c[j + 4 >> 2] = a; + c[j + 8 >> 2] = d; + Pw(0, 137844, j) | 0; + a = 1; + break + } else { + c[f >> 2] = g; + a = 0; + break + } + } else { + c[h >> 2] = b; + c[h + 4 >> 2] = a; + Pw(0, 137774, h) | 0; + a = 1 + } while (0); + l = k; + return a | 0 + } + + function RT(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + switch ((I0(a[e >> 0] | 0) | 0) << 24 >> 24 | 0) { + case 76: { + if (!(O$(e + 1 | 0, 137686) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 4; + d = 0 + } else g = 9; + break + } + case 82: { + if (!(O$(e + 1 | 0, 137681) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 2; + d = 0 + } else g = 9; + break + } + case 84: { + if (!(O$(e + 1 | 0, 138481) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 6; + d = 0 + } else g = 9; + break + } + case 67: { + if (!(O$(e + 1 | 0, 137690) | 0)) d = 0; else g = 9; + break + } + default: + g = 9 + } + if ((g | 0) == 9) { + c[f >> 2] = e; + Pw(0, 138485, f) | 0; + d = 1 + } + l = h; + return d | 0 + } + + function ST(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + switch ((I0(a[e >> 0] | 0) | 0) << 24 >> 24 | 0) { + case 76: { + if (!(O$(e + 1 | 0, 137686) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 512; + d = 0 + } else g = 7; + break + } + case 82: { + if (!(O$(e + 1 | 0, 137681) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 256; + d = 0 + } else g = 7; + break + } + case 67: { + if (!(O$(e + 1 | 0, 137690) | 0)) d = 0; else g = 7; + break + } + default: + g = 7 + } + if ((g | 0) == 7) { + c[f >> 2] = e; + Pw(0, 138436, f) | 0; + d = 1 + } + l = h; + return d | 0 + } + + function TT(a, b) { + a = a | 0; + b = b | 0; + c[a + 20 >> 2] = n1(b) | 0; + return 0 + } + + function UT(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!(QT(e, 138429, 0, 255, f) | 0)) { + a[d + 33 >> 0] = c[f >> 2]; + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 32; + d = 0 + } else d = 1; + l = g; + return d | 0 + } + + function VT(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!(QT(e, 138417, 0, 255, f) | 0)) { + a[d + 34 >> 0] = c[f >> 2]; + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 64; + d = 0 + } else d = 1; + l = g; + return d | 0 + } + + function WT(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!(QT(e, 138405, -128, 127, f) | 0)) { + a[d + 32 >> 0] = c[f >> 2]; + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 128; + d = 0 + } else d = 1; + l = g; + return d | 0 + } + + function XT(a, b) { + a = a | 0; + b = b | 0; + c[a + 24 >> 2] = n1(b) | 0; + return 0 + } + + function YT(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + e = g + 4 | 0; + do if (!(QT(d, 138360, 0, 65535, e) | 0)) { + d = c[e >> 2] | 0; + if (!d) { + Pw(0, 138368, f) | 0; + d = 1; + break + } else { + b[a + 80 >> 1] = d; + d = 0; + break + } + } else d = 1; while (0); + l = g; + return d | 0 + } + + function ZT(a, e) { + a = a | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + switch ((I0(d[e >> 0] | 0) | 0) << 24 >> 24 | 0) { + case 84: { + if (!(O$(e + 1 | 0, 138309) | 0)) { + a = a + 36 | 0; + b[a >> 1] = b[a >> 1] | 1; + a = 0 + } else g = 5; + break + } + case 70: { + if (!(O$(e + 1 | 0, 138313) | 0)) a = 0; else g = 5; + break + } + default: + g = 5 + } + if ((g | 0) == 5) { + c[f >> 2] = e; + Pw(0, 138318, f) | 0; + a = 1 + } + l = h; + return a | 0 + } + + function _T(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + if (!(QT(b, 138295, 0, 360, d) | 0)) { + c[a + 28 >> 2] = c[d >> 2] & 65535; + a = 0 + } else a = 1; + l = e; + return a | 0 + } + + function $T(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if (!(QT(d, 138288, 0, 65535, e) | 0)) { + b[a + 40 >> 1] = c[e >> 2]; + a = 0 + } else a = 1; + l = f; + return a | 0 + } + + function aU(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = n1(b) | 0; + return 0 + } + + function bU(a, b) { + a = a | 0; + b = b | 0; + c[a + 16 >> 2] = n1(b) | 0; + return 0 + } + + function cU(a, b) { + a = a | 0; + b = b | 0; + c[a + 4 >> 2] = n1(b) | 0; + return 0 + } + + function dU(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + e = g + 4 | 0; + do if (!(QT(d, 138243, 0, 65535, e) | 0)) { + d = c[e >> 2] | 0; + if (!d) { + Pw(0, 138251, f) | 0; + d = 1; + break + } else { + b[a + 82 >> 1] = d; + d = 0; + break + } + } else d = 1; while (0); + l = g; + return d | 0 + } + + function eU(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + i = k; + h = 0; + a:while (1) { + b:while (1) { + g = e + 1 | 0; + e = a[e >> 0] | 0; + if (!(e << 24 >> 24)) break a; + e = e << 24 >> 24; + f = (P$(e) | 0) + -98 | 0; + switch (f >>> 1 | f << 31 | 0) { + case 5: { + j = 5; + break b + } + case 9: { + f = 2048; + break b + } + case 8: { + j = 6; + break b + } + case 0: { + j = 7; + break b + } + default: { + } + } + c[i >> 2] = e; + c[i + 4 >> 2] = e; + Pw(0, 138190, i) | 0; + e = g + } + if ((j | 0) == 5) { + j = 0; + f = 1024 + } else if ((j | 0) == 6) { + j = 0; + f = 4096 + } else if ((j | 0) == 7) { + j = 0; + f = 8192 + } + e = g; + h = h | f + } + if (h << 16 >> 16 != 15360) { + j = d + 36 | 0; + b[j >> 1] = b[j >> 1] | h + } + l = k; + return 0 + } + + function fU(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + i = k; + h = n1(e) | 0; + g = d + 42 | 0; + f = 0; + e = h; + while (1) { + d = k1(e, 138100) | 0; + if (!d) break; + if (((I0(a[d >> 0] | 0) | 0) & 255 | 0) == 82) { + e = d + 1 | 0; + if (!(O$(e, 138103) | 0)) { + b[g >> 1] = b[g >> 1] | 4; + d = f; + e = 0; + f = d; + continue + } + if (!(O$(e, 138110) | 0)) { + b[g >> 1] = b[g >> 1] | 2; + d = f; + e = 0; + f = d; + continue + } else { + c[i >> 2] = d; + Pw(0, 138116, i) | 0; + f = 1; + e = 0; + continue + } + } + if (!(O$(d, 138154) | 0)) { + b[g >> 1] = b[g >> 1] & -385; + d = f; + e = 0; + f = d; + continue + } + if (O$(d, 138160) | 0 ? O$(d, 138170) | 0 : 0) { + if (!(O$(d, 138176) | 0)) { + b[g >> 1] = b[g >> 1] | 128; + d = f; + e = 0; + f = d; + continue + } + if (!(O$(d, 138183) | 0)) { + b[g >> 1] = b[g >> 1] | 256; + d = f; + e = 0; + f = d; + continue + } else { + c[j >> 2] = d; + Pw(0, 138116, j) | 0; + f = 1; + e = 0; + continue + } + } + b[g >> 1] = b[g >> 1] | 32; + d = f; + e = 0; + f = d + } + D_(h); + l = k; + return f | 0 + } + + function gU(a, b) { + a = a | 0; + b = b | 0; + c[a + 8 >> 2] = n1(b) | 0; + return 0 + } + + function hU(a, b) { + a = a | 0; + b = b | 0; + c[a + 12 >> 2] = n1(b) | 0; + return 0 + } + + function iU(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + switch ((I0(a[e >> 0] | 0) | 0) << 24 >> 24 | 0) { + case 66: { + if (!(O$(e + 1 | 0, 138046) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 16; + d = 0 + } else g = 7; + break + } + case 84: { + if (!(O$(e + 1 | 0, 138052) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 8; + d = 0 + } else g = 7; + break + } + case 77: { + if (!(O$(e + 1 | 0, 138055) | 0)) d = 0; else g = 7; + break + } + default: + g = 7 + } + if ((g | 0) == 7) { + c[f >> 2] = e; + Pw(0, 138061, f) | 0; + d = 1 + } + l = h; + return d | 0 + } + + function jU(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if (!(QT(d, 138040, 0, 65535, e) | 0)) { + b[a + 38 >> 1] = c[e >> 2]; + a = 0 + } else a = 1; + l = f; + return a | 0 + } + + function kU(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + switch ((I0(a[e >> 0] | 0) | 0) << 24 >> 24 | 0) { + case 76: { + if (!(O$(e + 1 | 0, 137686) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 4; + d = 0 + } else g = 7; + break + } + case 82: { + if (!(O$(e + 1 | 0, 137681) | 0)) { + d = d + 36 | 0; + b[d >> 1] = b[d >> 1] | 2; + d = 0 + } else g = 7; + break + } + case 67: { + if (!(O$(e + 1 | 0, 137690) | 0)) d = 0; else g = 7; + break + } + default: + g = 7 + } + if ((g | 0) == 7) { + c[f >> 2] = e; + Pw(0, 137696, f) | 0; + d = 1 + } + l = h; + return d | 0 + } + + function lU(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if (!(QT(d, 138638, 0, 127, e) | 0)) { + a[b + 88 >> 0] = c[e >> 2]; + b = 0 + } else b = 1; + l = f; + return b | 0 + } + + function mU(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if ((a[d >> 0] | 0) == 42) { + b = b + 112 | 0; + a[b >> 0] = a[b >> 0] | 1; + b = 0 + } else { + c[e >> 2] = d; + Pw(0, 138598, e) | 0; + b = 1 + } + l = f; + return b | 0 + } + + function nU(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if ((a[d >> 0] | 0) == 42) { + b = b + 112 | 0; + a[b >> 0] = a[b >> 0] | 2; + b = 0 + } else { + c[e >> 2] = d; + Pw(0, 138561, e) | 0; + b = 1 + } + l = f; + return b | 0 + } + + function oU() { + var b = 0; + b = (a[186581] | a[186580]) << 24 >> 24; + JV(c[46637] | 0); + Xw(186564); + return b | 0 + } + + function pU() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + c[46639] = 0; + d = 0; + a:do { + b:do switch (a[186583] | 0) { + case 2: { + b = -1; + break a + } + case 0: { + a[186583] = 1; + h = 6; + b = 138650; + d = 0; + break + } + default: { + b = c[46638] | 0; + if (!(a[b >> 0] | 0)) { + a[186583] = 2; + h = 7; + b = 138657; + break b + } else { + d = qU(b) | 0; + h = d - b | 0; + break b + } + } + } while (0); + c[46647] = c[46646]; + c[46649] = c[46648]; + c[46646] = b; + c[46648] = h; + e = c[46642] | 0; + f = e - (c[46641] | 0) | 0; + g = c[46637] | 0; + if (!f) b = VW(g, b, h, (h | 0) == 0 & 1) | 0; else { + if (e >>> 0 < (c[46643] | 0) >>> 0) b = e; else { + Uw(186564, 1) | 0; + b = c[46642] | 0 + } + a[b >> 0] = 0; + b = c[46641] | 0; + c[46642] = b; + b = VW(g, b, f, 0) | 0 + } + if (!((b | 0) != 0 | (a[186581] | 0) != 0)) { + g = eX(cX(c[46637] | 0) | 0) | 0; + h = wT() | 0; + c[i >> 2] = g; + c[i + 4 >> 2] = h; + Pw(1, 137493, i) | 0; + xT(); + a[186581] = 1; + c[46639] = 268 + } + if (d | 0) c[46638] = d; + b = c[46639] | 0 + } while ((b | 0) == 0); + l = j; + return b | 0 + } + + function qU(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + d = b + 1 | 0; + e = a[b >> 0] | 0; + a:do if (e << 24 >> 24 == 60) { + e = a[d >> 0] | 0; + if (e << 24 >> 24 == 33) if (!(z$(b + 2 | 0, 138665, 2) | 0)) { + e = rU(b + 4 | 0) | 0; + d = e; + e = a[e >> 0] | 0; + g = 8 + } else { + e = d; + g = 5 + } else g = 6; + b:while (1) if ((g | 0) == 5) { + d = e; + e = a[e >> 0] | 0; + g = 6; + continue + } else if ((g | 0) == 6) { + switch (e << 24 >> 24) { + case 62: + case 0: { + g = 8; + continue b + } + default: { + } + } + e = d + 1 | 0; + g = 5; + continue + } else if ((g | 0) == 8) if (e << 24 >> 24 == 62) { + g = 10; + break + } else { + g = 9; + break + } + if ((g | 0) == 9) { + Pw(0, 138668, f) | 0; + a[186580] = 1; + break + } else if ((g | 0) == 10) { + d = d + 1 | 0; + break + } + } else { + d = b; + b = e; + while (1) { + switch (b << 24 >> 24) { + case 60: + case 0: + break a; + case 38: { + e = d + 1 | 0; + if ((a[e >> 0] | 0) == 35) g = 15; else e = MM(e, 186564) | 0; + break + } + default: + g = 15 + } + if ((g | 0) == 15) { + g = 0; + e = c[46642] | 0; + if (e >>> 0 >= (c[46643] | 0) >>> 0) { + Uw(186564, 1) | 0; + e = c[46642] | 0 + } + c[46642] = e + 1; + a[e >> 0] = b; + e = d + 1 | 0 + } + d = e; + b = a[e >> 0] | 0 + } + } while (0); + l = h; + return d | 0 + } + + function rU(b) { + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + f = 1; + c = b; + a:while (1) { + e = (f | 0) == 0; + d = c; + b:while (1) { + if (e) break a; + g = d + 1 | 0; + switch (a[d >> 0] | 0) { + case 0: { + c = g; + break a + } + case 60: { + h = 5; + break b + } + case 62: { + c = -1; + break b + } + default: + d = g + } + } + if ((h | 0) == 5) { + h = 0; + c = 1 + } + f = f + c | 0; + c = g + } + d = c + -1 | 0; + do if (a[d >> 0] | 0) { + c = c + -3 | 0; + if (c >>> 0 >= b >>> 0 ? (z$(c, 138665, 2) | 0) == 0 : 0) break; + Pw(0, 138709, i) | 0; + a[186580] = 1 + } while (0); + l = j; + return d | 0 + } + + function sU(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0, s = 0; + d = C_(28) | 0; + if (!d) d = 0; else { + e = 0; + f = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + r = (c[(c[a + (e << 2) >> 2] | 0) + 4 >> 2] | 0) + f | 0; + e = e + 1 | 0; + f = r + } + o = d + 8 | 0; + c[o >> 2] = tU(f << 4) | 0; + p = d + 12 | 0; + c[p >> 2] = tU((b << 2) + 4 | 0) | 0; + e = f << 2; + q = d + 16 | 0; + c[q >> 2] = tU(e) | 0; + e = tU(e) | 0; + r = d + 20 | 0; + c[r >> 2] = e; + c[d + 4 >> 2] = f; + c[d >> 2] = b; + f = 0; + h = 0; + while (1) { + c[(c[p >> 2] | 0) + (h << 2) >> 2] = f; + if ((h | 0) >= (b | 0)) break; + j = a + (h << 2) | 0; + n = c[j >> 2] | 0; + k = c[n + 4 >> 2] | 0; + l = f + -1 | 0; + g = 0; + i = f; + m = k; + while (1) { + if ((g | 0) >= (m | 0)) break; + m = (c[o >> 2] | 0) + (i << 4) | 0; + e = (c[n >> 2] | 0) + (g << 4) | 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]; + m = i + 1 | 0; + c[(c[q >> 2] | 0) + (i << 2) >> 2] = m; + e = c[r >> 2] | 0; + c[e + (i << 2) >> 2] = i + -1; + s = c[j >> 2] | 0; + g = g + 1 | 0; + i = m; + m = c[s + 4 >> 2] | 0; + n = s + } + s = l + k | 0; + c[(c[q >> 2] | 0) + (s << 2) >> 2] = f; + c[e + (f << 2) >> 2] = s; + f = i; + h = h + 1 | 0 + } + tV(d) + } + return d | 0 + } + + function tU(a) { + a = a | 0; + if (!a) a = 0; else a = C_(a) | 0; + return a | 0 + } + + function uU(a) { + a = a | 0; + var b = 0, d = 0; + D_(c[a + 8 >> 2] | 0); + D_(c[a + 12 >> 2] | 0); + D_(c[a + 16 >> 2] | 0); + D_(c[a + 20 >> 2] | 0); + d = a + 24 | 0; + b = c[d >> 2] | 0; + if (b | 0) { + D_(c[b >> 2] | 0); + D_(c[d >> 2] | 0) + } + D_(a); + return + } + + function vU(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 32 | 0; + m = p + 16 | 0; + j = p; + 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]; + n = AV(a, d, m) | 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]; + o = AV(a, f, m) | 0; + c[j >> 2] = c[b >> 2]; + c[j + 4 >> 2] = c[b + 4 >> 2]; + c[j + 8 >> 2] = c[b + 8 >> 2]; + c[j + 12 >> 2] = c[b + 12 >> 2]; + 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]; + m = jV(j, d, n, m, f, o, a) | 0; + d = c[a + 4 >> 2] | 0; + j = d + 1 | 0; + f = 1; + h = d; + while (1) { + h = c[m + (h << 2) >> 2] | 0; + k = f + 1 | 0; + if ((h | 0) == (j | 0)) break; else f = k + } + i = C_(k << 4) | 0; + h = i + (f << 4) | 0; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2]; + a = a + 8 | 0; + while (1) { + d = c[m + (d << 2) >> 2] | 0; + f = f + -1 | 0; + h = i + (f << 4) | 0; + if ((d | 0) == (j | 0)) break; + e = (c[a >> 2] | 0) + (d << 4) | 0; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2] + } + c[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]; + if (f | 0) qa(138727, 138734, 148, 138740); + if (n | 0) D_(n); + if (o | 0) D_(o); + c[g + 4 >> 2] = k; + c[g >> 2] = i; + D_(m); + l = p; + return 1 + } + + function wU(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + j = l; + l = l + 48 | 0; + h = j + 32 | 0; + g = j + 16 | 0; + f = j; + i = c[a >> 2] | 0; + d = c[a + 4 >> 2] | 0; + e = d + -1 | 0; + a = 0; + while (1) { + if ((a | 0) >= (d | 0)) { + a = 1; + break + } + m = i + (((e + a | 0) % (d | 0) | 0) << 4) | 0; + k = i + (a << 4) | 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[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[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]; + if ((pV(f, g, h) | 0) == 1) { + a = 0; + break + } else a = a + 1 | 0 + } + l = j; + return a | 0 + } + + function xU(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 64 | 0; + m = u + 48 | 0; + k = u + 32 | 0; + s = 4; + j = C_(40) | 0; + c[j >> 2] = 0; + n = u + 16 | 0; + q = u; + r = c[d >> 2] | 0; + i = c[d + 4 >> 2] | 0; + s = D3(186600, 1, j | 0, s | 0) | 0; + j = z; + o = 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, s | 0, j | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) d = z; else d = 0; + while (1) { + if (d | 0) { + d = -1; + break + } + o = 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]; + ja(28, n | 0, m | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, s | 0, j | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + d = z; + continue + } + ;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]; + h = e + 16 | 0; + o = 0; + c[m >> 2] = c[h >> 2]; + c[m + 4 >> 2] = c[h + 4 >> 2]; + c[m + 8 >> 2] = c[h + 8 >> 2]; + c[m + 12 >> 2] = c[h + 12 >> 2]; + ja(28, q | 0, m | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, s | 0, j | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + d = z; + continue + } + ;c[h >> 2] = c[q >> 2]; + c[h + 4 >> 2] = c[q + 4 >> 2]; + c[h + 8 >> 2] = c[q + 8 >> 2]; + c[h + 12 >> 2] = c[q + 12 >> 2]; + c[46689] = 0; + o = 0; + ia(112, 4); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, s | 0, j | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + d = z; + continue + } + g = c[46690] | 0; + d = c[46689] | 0; + c[46689] = d + 1; + d = g + (d << 4) | 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]; + o = 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[m >> 2] = c[h >> 2]; + c[m + 4 >> 2] = c[h + 4 >> 2]; + c[m + 8 >> 2] = c[h + 8 >> 2]; + c[m + 12 >> 2] = c[h + 12 >> 2]; + d = fa(1, a | 0, b | 0, r | 0, i | 0, k | 0, m | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, s | 0, j | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) d = z; else { + t = 8; + break + } + } + if ((t | 0) == 8) if ((d | 0) == -1) d = -1; else { + c[f + 4 >> 2] = c[46689]; + c[f >> 2] = c[46690]; + d = 0 + } + D_(s | 0); + l = u; + return d | 0 + } + + function yU(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0.0, g = 0.0, i = 0.0; + d = +h[b >> 3]; + e = b + 8 | 0; + f = +h[e >> 3]; + i = f * f + d * d; + g = +C(+i); + if (i > 1.0e-06) { + h[b >> 3] = d / g; + h[e >> 3] = f / g + } + ;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 zU(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 32 | 0; + e = f + 16 | 0; + d = f; + if ((c[46693] | 0) < (a | 0)) { + b = c[46690] | 0; + if (!b) { + e = C_(a << 4) | 0; + c[46690] = e; + if (!e) { + e = c[15686] | 0; + c[d >> 2] = 138749; + c[d + 4 >> 2] = 531; + c[d + 8 >> 2] = 138884; + g1(e, 138757, d) | 0; + bb(186600, 1) + } + } else { + d = F_(b, a << 4) | 0; + c[46690] = d; + if (!d) { + d = c[15686] | 0; + c[e >> 2] = 138749; + c[e + 4 >> 2] = 537; + c[e + 8 >> 2] = 138902; + g1(d, 138757, e) | 0; + bb(186600, 1) + } + } + c[46693] = a + } + l = f; + return + } + + function AU(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0.0, k = 0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0.0, s = 0.0, t = 0.0, u = 0.0, + v = 0.0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, 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, U = 0.0, V = 0.0, + W = 0.0; + R = l; + l = l + 336 | 0; + J = R + 320 | 0; + I = R + 304 | 0; + w = R + 144 | 0; + q = R + 128 | 0; + G = R + 112 | 0; + H = R + 96 | 0; + Q = R + 80 | 0; + A = R + 64 | 0; + C = R + 48 | 0; + K = R + 32 | 0; + L = R + 16 | 0; + M = R; + x = R + 288 | 0; + y = R + 272 | 0; + z = R + 256 | 0; + B = R + 240 | 0; + D = R + 224 | 0; + E = R + 208 | 0; + N = R + 192 | 0; + O = R + 176 | 0; + P = R + 160 | 0; + i = c[46692] | 0; + do if ((c[46691] | 0) < (e | 0)) { + if (!i) { + i = C_(e * 40 | 0) | 0; + c[46692] = i; + if (!i) { + i = -1; + break + } + } else { + i = F_(i, e * 40 | 0) | 0; + c[46692] = i; + if (!i) { + i = -1; + break + } + } + c[46691] = e; + k = 6 + } else k = 6; while (0); + if ((k | 0) == 6) { + h[i >> 3] = 0.0; + k = 1; + j = 0.0; + while (1) { + if ((k | 0) >= (e | 0)) break; + n = d + (k << 4) | 0; + F = d + (k + -1 << 4) | 0; + c[I >> 2] = c[n >> 2]; + c[I + 4 >> 2] = c[n + 4 >> 2]; + c[I + 8 >> 2] = c[n + 8 >> 2]; + c[I + 12 >> 2] = c[n + 12 >> 2]; + c[J >> 2] = c[F >> 2]; + c[J + 4 >> 2] = c[F + 4 >> 2]; + c[J + 8 >> 2] = c[F + 8 >> 2]; + c[J + 12 >> 2] = c[F + 12 >> 2]; + v = +BU(I, J) + j; + h[i + (k * 40 | 0) >> 3] = v; + k = k + 1 | 0; + j = v + } + F = e + -1 | 0; + n = i + (F * 40 | 0) | 0; + k = 1; + while (1) { + if ((k | 0) >= (e | 0)) break; + S = i + (k * 40 | 0) | 0; + h[S >> 3] = +h[S >> 3] / +h[n >> 3]; + k = k + 1 | 0 + } + k = 0; + while (1) { + if ((k | 0) >= (e | 0)) break; + S = i + (k * 40 | 0) + 8 | 0; + n = i + (k * 40 | 0) | 0; + v = +CU(+h[n >> 3]); + c[J >> 2] = c[f >> 2]; + c[J + 4 >> 2] = c[f + 4 >> 2]; + c[J + 8 >> 2] = c[f + 8 >> 2]; + c[J + 12 >> 2] = c[f + 12 >> 2]; + DU(x, J, v); + 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]; + S = i + (k * 40 | 0) + 24 | 0; + v = +EU(+h[n >> 3]); + c[J >> 2] = c[g >> 2]; + c[J + 4 >> 2] = c[g + 4 >> 2]; + c[J + 8 >> 2] = c[g + 8 >> 2]; + c[J + 12 >> 2] = c[g + 12 >> 2]; + DU(y, J, v); + c[S >> 2] = c[y >> 2]; + c[S + 4 >> 2] = c[y + 4 >> 2]; + c[S + 8 >> 2] = c[y + 8 >> 2]; + c[S + 12 >> 2] = c[y + 12 >> 2]; + k = k + 1 | 0 + } + c[I >> 2] = c[f >> 2]; + c[I + 4 >> 2] = c[f + 4 >> 2]; + c[I + 8 >> 2] = c[f + 8 >> 2]; + c[I + 12 >> 2] = c[f + 12 >> 2]; + c[J >> 2] = c[g >> 2]; + c[J + 4 >> 2] = c[g + 4 >> 2]; + c[J + 8 >> 2] = c[g + 8 >> 2]; + c[J + 12 >> 2] = c[g + 12 >> 2]; + FU(d, e, i, I, J, G, A, H, C); + 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[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]; + 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[J >> 2] = c[C >> 2]; + c[J + 4 >> 2] = c[C + 4 >> 2]; + c[J + 8 >> 2] = c[C + 8 >> 2]; + c[J + 12 >> 2] = c[C + 12 >> 2]; + if (!(GU(a, b, q, w, I, J, d, e) | 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]; + DU(z, J, .3333333333333333); + 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[J >> 2] = c[z >> 2]; + c[J + 4 >> 2] = c[z + 4 >> 2]; + c[J + 8 >> 2] = c[z + 8 >> 2]; + c[J + 12 >> 2] = c[z + 12 >> 2]; + HU(B, I, J); + v = +h[B >> 3]; + u = +h[B + 8 >> 3]; + c[J >> 2] = c[C >> 2]; + c[J + 4 >> 2] = c[C + 4 >> 2]; + c[J + 8 >> 2] = c[C + 8 >> 2]; + c[J + 12 >> 2] = c[C + 12 >> 2]; + DU(D, J, .3333333333333333); + 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[J >> 2] = c[D >> 2]; + c[J + 4 >> 2] = c[D + 4 >> 2]; + c[J + 8 >> 2] = c[D + 8 >> 2]; + c[J + 12 >> 2] = c[D + 12 >> 2]; + IU(E, I, J); + t = +h[E >> 3]; + p = +h[E + 8 >> 3]; + q = c[46692] | 0; + r = +h[G >> 3]; + s = +h[H >> 3]; + o = +h[G + 8 >> 3]; + m = +h[H + 8 >> 3]; + n = Q + 8 | 0; + i = -1; + j = -1.0; + k = 1; + while (1) { + if ((k | 0) >= (F | 0)) break; + T = +h[q + (k * 40 | 0) >> 3]; + U = +JU(T); + V = +CU(T); + W = +EU(T); + T = +KU(T); + h[Q >> 3] = V * v + r * U + W * t + s * T; + h[n >> 3] = W * p + V * u + o * U + m * T; + S = d + (k << 4) | 0; + c[I >> 2] = c[Q >> 2]; + c[I + 4 >> 2] = c[Q + 4 >> 2]; + c[I + 8 >> 2] = c[Q + 8 >> 2]; + c[I + 12 >> 2] = c[Q + 12 >> 2]; + c[J >> 2] = c[S >> 2]; + c[J + 4 >> 2] = c[S + 4 >> 2]; + c[J + 8 >> 2] = c[S + 8 >> 2]; + c[J + 12 >> 2] = c[S + 12 >> 2]; + T = +BU(I, J); + S = T > j; + i = S ? k : i; + j = S ? T : j; + k = k + 1 | 0 + } + S = d + (i << 4) | 0; + Q = d + (i + -1 << 4) | 0; + c[I >> 2] = c[S >> 2]; + c[I + 4 >> 2] = c[S + 4 >> 2]; + c[I + 8 >> 2] = c[S + 8 >> 2]; + c[I + 12 >> 2] = c[S + 12 >> 2]; + c[J >> 2] = c[Q >> 2]; + c[J + 4 >> 2] = c[Q + 4 >> 2]; + c[J + 8 >> 2] = c[Q + 8 >> 2]; + c[J + 12 >> 2] = c[Q + 12 >> 2]; + IU(N, I, J); + c[J >> 2] = c[N >> 2]; + c[J + 4 >> 2] = c[N + 4 >> 2]; + c[J + 8 >> 2] = c[N + 8 >> 2]; + c[J + 12 >> 2] = c[N + 12 >> 2]; + yU(L, J); + Q = i + 1 | 0; + N = d + (Q << 4) | 0; + c[I >> 2] = c[N >> 2]; + c[I + 4 >> 2] = c[N + 4 >> 2]; + c[I + 8 >> 2] = c[N + 8 >> 2]; + c[I + 12 >> 2] = c[N + 12 >> 2]; + c[J >> 2] = c[S >> 2]; + c[J + 4 >> 2] = c[S + 4 >> 2]; + c[J + 8 >> 2] = c[S + 8 >> 2]; + c[J + 12 >> 2] = c[S + 12 >> 2]; + IU(O, I, J); + 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]; + yU(M, J); + c[I >> 2] = c[L >> 2]; + c[I + 4 >> 2] = c[L + 4 >> 2]; + c[I + 8 >> 2] = c[L + 8 >> 2]; + c[I + 12 >> 2] = c[L + 12 >> 2]; + c[J >> 2] = c[M >> 2]; + c[J + 4 >> 2] = c[M + 4 >> 2]; + c[J + 8 >> 2] = c[M + 8 >> 2]; + c[J + 12 >> 2] = c[M + 12 >> 2]; + HU(P, I, J); + c[J >> 2] = c[P >> 2]; + c[J + 4 >> 2] = c[P + 4 >> 2]; + c[J + 8 >> 2] = c[P + 8 >> 2]; + c[J + 12 >> 2] = c[P + 12 >> 2]; + yU(K, J); + c[I >> 2] = c[f >> 2]; + c[I + 4 >> 2] = c[f + 4 >> 2]; + c[I + 8 >> 2] = c[f + 8 >> 2]; + c[I + 12 >> 2] = c[f + 12 >> 2]; + c[J >> 2] = c[K >> 2]; + c[J + 4 >> 2] = c[K + 4 >> 2]; + c[J + 8 >> 2] = c[K + 8 >> 2]; + c[J + 12 >> 2] = c[K + 12 >> 2]; + AU(a, b, d, Q, I, J) | 0; + c[I >> 2] = c[K >> 2]; + c[I + 4 >> 2] = c[K + 4 >> 2]; + c[I + 8 >> 2] = c[K + 8 >> 2]; + c[I + 12 >> 2] = c[K + 12 >> 2]; + c[J >> 2] = c[g >> 2]; + c[J + 4 >> 2] = c[g + 4 >> 2]; + c[J + 8 >> 2] = c[g + 8 >> 2]; + c[J + 12 >> 2] = c[g + 12 >> 2]; + AU(a, b, S, e - i | 0, I, J) | 0; + i = 0 + } else i = 0 + } + l = R; + return i | 0 + } + + function BU(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[b >> 3] - +h[a >> 3]; + d = +h[b + 8 >> 3] - +h[a + 8 >> 3]; + return +(+C(+(d * d + c * c))) + } + + function CU(a) { + a = +a; + var b = 0.0; + b = 1.0 - a; + return +(b * b * (a * 3.0)) + } + + function DU(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0; + h[b >> 3] = +h[b >> 3] * d; + e = b + 8 | 0; + h[e >> 3] = +h[e >> 3] * d; + 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 EU(a) { + a = +a; + return +(a * a * 3.0 * (1.0 - a)) + } + + function FU(a, b, d, e, f, g, i, j, k) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0.0, x = 0.0, + y = 0.0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0.0, I = 0.0, J = 0, K = 0, + L = 0, M = 0; + G = l; + l = l + 128 | 0; + B = G + 112 | 0; + v = G + 80 | 0; + u = G; + r = G + 96 | 0; + s = G + 64 | 0; + t = G + 48 | 0; + C = G + 32 | 0; + D = G + 16 | 0; + E = a + (b + -1 << 4) | 0; + q = 0; + w = 0.0; + x = 0.0; + y = 0.0; + z = 0.0; + A = 0.0; + while (1) { + if ((q | 0) >= (b | 0)) break; + K = d + (q * 40 | 0) + 8 | 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[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]; + H = +QU(v, B) + x; + J = d + (q * 40 | 0) + 24 | 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[B >> 2] = c[J >> 2]; + c[B + 4 >> 2] = c[J + 4 >> 2]; + c[B + 8 >> 2] = c[J + 8 >> 2]; + c[B + 12 >> 2] = c[J + 12 >> 2]; + p = +QU(v, B) + A; + c[v >> 2] = c[J >> 2]; + c[v + 4 >> 2] = c[J + 4 >> 2]; + c[v + 8 >> 2] = c[J + 8 >> 2]; + c[v + 12 >> 2] = c[J + 12 >> 2]; + c[B >> 2] = c[J >> 2]; + c[B + 4 >> 2] = c[J + 4 >> 2]; + c[B + 8 >> 2] = c[J + 8 >> 2]; + c[B + 12 >> 2] = c[J + 12 >> 2]; + o = +QU(v, B) + y; + L = a + (q << 4) | 0; + M = d + (q * 40 | 0) | 0; + I = +RU(+h[M >> 3]); + 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]; + DU(s, B, I); + I = +SU(+h[M >> 3]); + 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]; + DU(t, B, I); + 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[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]; + HU(r, v, B); + c[v >> 2] = c[L >> 2]; + c[v + 4 >> 2] = c[L + 4 >> 2]; + c[v + 8 >> 2] = c[L + 8 >> 2]; + c[v + 12 >> 2] = c[L + 12 >> 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]; + IU(u, v, B); + 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[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]; + I = +QU(v, B) + w; + c[v >> 2] = c[J >> 2]; + c[v + 4 >> 2] = c[J + 4 >> 2]; + c[v + 8 >> 2] = c[J + 8 >> 2]; + c[v + 12 >> 2] = c[J + 12 >> 2]; + c[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]; + q = q + 1 | 0; + w = I; + x = H; + y = o; + z = +QU(v, B) + z; + A = p + } + o = y * x - A * A; + p = o >= 0.0 ? o : -o; + if (!(p >= 1.0e-06 ? (m = (y * w - A * z) / o, n = (x * z - A * w) / o, !(p < 1.0e-06 | m <= 0.0 | n <= 0.0)) : 0)) F = 6; + if ((F | 0) == 6) { + 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[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]; + m = +BU(v, B) * .3333333333333333; + n = m + } + ;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[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]; + DU(C, B, m); + c[i >> 2] = c[C >> 2]; + c[i + 4 >> 2] = c[C + 4 >> 2]; + c[i + 8 >> 2] = c[C + 8 >> 2]; + c[i + 12 >> 2] = c[C + 12 >> 2]; + 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[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]; + DU(D, B, n); + 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]; + l = G; + return + } + + function GU(a, b, d, e, f, g, i, j) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0.0, s = 0.0, t = 0, u = 0.0, v = 0, + w = 0.0, x = 0, y = 0.0, z = 0, A = 0, B = 0, C = 0, D = 0.0, E = 0; + C = l; + l = l + 64 | 0; + B = C; + z = (j | 0) == 2; + y = +h[d >> 3]; + u = +h[d + 8 >> 3]; + v = B + 8 | 0; + w = +h[e >> 3]; + x = B + 16 | 0; + p = +h[e + 8 >> 3]; + q = B + 24 | 0; + r = +h[f >> 3]; + s = +h[g >> 3]; + t = B + 32 | 0; + o = +h[f + 8 >> 3]; + n = +h[g + 8 >> 3]; + e = B + 40 | 0; + f = B + 48 | 0; + g = B + 56 | 0; + d = 1; + k = 4.0; + m = 4.0; + while (1) { + h[B >> 3] = y; + h[v >> 3] = u; + D = m * .3333333333333333; + h[x >> 3] = D * w + y; + h[q >> 3] = D * p + u; + D = k * .3333333333333333; + h[t >> 3] = r - D * s; + h[e >> 3] = o - D * n; + h[f >> 3] = r; + h[g >> 3] = o; + if (d ? (D = +LU(B, 4), D < +LU(i, j) + -.001) : 0) { + d = 0; + break + } + if (MU(a, b, B) | 0) { + A = 5; + break + } + if (m == 0.0 & k == 0.0) { + A = 9; + break + } + E = m > .01; + d = 0; + k = E ? k * .5 : 0.0; + m = E ? m * .5 : 0.0 + } + a:do if ((A | 0) == 5) { + zU((c[46689] | 0) + 4 | 0); + e = c[46690] | 0; + d = 1; + while (1) { + if ((d | 0) == 4) { + d = 1; + break a + } + E = c[46689] | 0; + h[e + (E << 4) >> 3] = +h[B + (d << 4) >> 3]; + D = +h[B + (d << 4) + 8 >> 3]; + c[46689] = E + 1; + h[e + (E << 4) + 8 >> 3] = D; + d = d + 1 | 0 + } + } else if ((A | 0) == 9) if (z) { + zU((c[46689] | 0) + 4 | 0); + e = c[46690] | 0; + d = 1; + while (1) { + if ((d | 0) == 4) { + d = 1; + break a + } + E = c[46689] | 0; + h[e + (E << 4) >> 3] = +h[B + (d << 4) >> 3]; + D = +h[B + (d << 4) + 8 >> 3]; + c[46689] = E + 1; + h[e + (E << 4) + 8 >> 3] = D; + d = d + 1 | 0 + } + } else d = 0; while (0); + l = C; + return d | 0 + } + + function HU(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 IU(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 JU(a) { + a = +a; + a = 1.0 - a; + return +(a * a * a) + } + + function KU(a) { + a = +a; + return +(a * a * a) + } + + function LU(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0, e = 0.0, f = 0.0, g = 0; + c = 0.0; + d = 1; + while (1) { + if ((d | 0) >= (b | 0)) break; + g = d + -1 | 0; + e = +h[a + (d << 4) >> 3] - +h[a + (g << 4) >> 3]; + f = +h[a + (d << 4) + 8 >> 3] - +h[a + (g << 4) + 8 >> 3]; + c = +C(+(f * f + e * e)) + c; + d = d + 1 | 0 + } + return +c + } + + function MU(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, s = 0.0, + t = 0, u = 0, v = 0.0, w = 0, x = 0.0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0.0, E = 0.0; + C = l; + l = l + 64 | 0; + t = C + 32 | 0; + u = C; + w = u + 16 | 0; + y = d + 16 | 0; + z = d + 32 | 0; + A = d + 48 | 0; + B = d + 8 | 0; + g = d + 24 | 0; + i = d + 40 | 0; + j = d + 56 | 0; + k = u + 8 | 0; + m = u + 24 | 0; + f = 0; + a:while (1) { + if ((f | 0) >= (b | 0)) { + e = 1; + break + } + n = a + (f << 5) | 0; + c[u >> 2] = c[n >> 2]; + c[u + 4 >> 2] = c[n + 4 >> 2]; + c[u + 8 >> 2] = c[n + 8 >> 2]; + c[u + 12 >> 2] = c[n + 12 >> 2]; + n = a + (f << 5) + 16 | 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]; + n = NU(d, u, t) | 0; + b:do if ((n | 0) != 4) { + o = +h[u >> 3]; + p = +h[k >> 3]; + q = +h[w >> 3]; + r = +h[m >> 3]; + e = 0; + while (1) { + if ((e | 0) >= (n | 0)) break b; + s = +h[t + (e << 3) >> 3]; + if ((!(s < 1.0e-06 | s > .999999) ? (x = s * s * s, E = s * 3.0, D = 1.0 - s, s = E * s * D, v = D * D, E = v * E, D = v * D, v = +h[y >> 3] * E + +h[d >> 3] * D + +h[z >> 3] * s + +h[A >> 3] * x, x = +h[g >> 3] * E + +h[B >> 3] * D + +h[i >> 3] * s + +h[j >> 3] * x, s = v - o, D = x - p, !(D * D + s * s < .001)) : 0) ? (E = v - q, D = x - r, !(D * D + E * E < .001)) : 0) { + e = 0; + break a + } + e = e + 1 | 0 + } + } while (0); + f = f + 1 | 0 + } + l = C; + return e | 0 + } + + function NU(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0, s = 0, + t = 0, u = 0, v = 0; + v = l; + l = l + 96 | 0; + s = v + 48 | 0; + t = v + 24 | 0; + k = v; + u = v + 80 | 0; + p = +h[b >> 3]; + g = +h[b + 16 >> 3] - p; + q = +h[b + 8 >> 3]; + j = +h[b + 24 >> 3] - q; + c[u >> 2] = 0; + a:do if (!(g == 0.0)) { + j = j / g; + m = a + 16 | 0; + n = a + 32 | 0; + o = a + 48 | 0; + OU(+h[a + 8 >> 3] - +h[a >> 3] * j, +h[a + 24 >> 3] - +h[m >> 3] * j, +h[a + 40 >> 3] - +h[n >> 3] * j, +h[a + 56 >> 3] - +h[o >> 3] * j, s); + h[s >> 3] = j * p - q + +h[s >> 3]; + e = kV(s, t) | 0; + if ((e | 0) == 4) b = 4; else { + f = s + 8 | 0; + i = s + 16 | 0; + k = s + 24 | 0; + g = 1.0 / g; + b = 0; + while (1) { + if ((b | 0) >= (e | 0)) break; + j = +h[t + (b << 3) >> 3]; + if (j >= 0.0 & j <= 1.0 ? (OU(+h[a >> 3], +h[m >> 3], +h[n >> 3], +h[o >> 3], s), q = (+h[s >> 3] - p + ((+h[k >> 3] * j + +h[i >> 3]) * j + +h[f >> 3]) * j) * g, q >= 0.0 & q <= 1.0) : 0) PU(j, d, u); + b = b + 1 | 0 + } + b = c[u >> 2] | 0 + } + } else { + OU(+h[a >> 3], +h[a + 16 >> 3], +h[a + 32 >> 3], +h[a + 48 >> 3], s); + h[s >> 3] = +h[s >> 3] - p; + r = kV(s, t) | 0; + if (!(j == 0.0)) { + if ((r | 0) == 4) { + b = 4; + break + } + m = a + 8 | 0; + n = a + 24 | 0; + o = a + 40 | 0; + e = a + 56 | 0; + f = s + 8 | 0; + i = s + 16 | 0; + k = s + 24 | 0; + g = 1.0 / j; + b = 0; + while (1) { + if ((b | 0) >= (r | 0)) break; + j = +h[t + (b << 3) >> 3]; + if (j >= 0.0 & j <= 1.0 ? (OU(+h[m >> 3], +h[n >> 3], +h[o >> 3], +h[e >> 3], s), p = (+h[s >> 3] - q + ((+h[k >> 3] * j + +h[i >> 3]) * j + +h[f >> 3]) * j) * g, p >= 0.0 & p <= 1.0) : 0) PU(j, d, u); + b = b + 1 | 0 + } + b = c[u >> 2] | 0; + break + } + OU(+h[a + 8 >> 3], +h[a + 24 >> 3], +h[a + 40 >> 3], +h[a + 56 >> 3], s); + h[s >> 3] = +h[s >> 3] - q; + i = kV(s, k) | 0; + b = (i | 0) == 4; + b:do if ((r | 0) == 4) { + if (b) { + b = 4; + break a + } else b = 0; + while (1) { + if ((b | 0) >= (i | 0)) break b; + PU(+h[k + (b << 3) >> 3], d, u); + b = b + 1 | 0 + } + } else { + if (b) { + b = 0; + while (1) { + if ((b | 0) >= (r | 0)) break b; + PU(+h[t + (b << 3) >> 3], d, u); + b = b + 1 | 0 + } + } else e = 0; + while (1) { + if ((e | 0) >= (r | 0)) break b; + f = t + (e << 3) | 0; + b = 0; + while (1) { + if ((b | 0) >= (i | 0)) break; + g = +h[f >> 3]; + if (g == +h[k + (b << 3) >> 3]) PU(g, d, u); + b = b + 1 | 0 + } + e = e + 1 | 0 + } + } while (0); + b = c[u >> 2] | 0 + } while (0); + l = v; + return b | 0 + } + + function OU(a, b, c, d, e) { + a = +a; + b = +b; + c = +c; + d = +d; + e = e | 0; + h[e + 24 >> 3] = d - a + (b - c) * 3.0; + h[e + 16 >> 3] = (c + a) * 3.0 - b * 6.0; + h[e + 8 >> 3] = (b - a) * 3.0; + h[e >> 3] = a; + return + } + + function PU(a, b, d) { + a = +a; + b = b | 0; + d = d | 0; + var e = 0; + if (a >= 0.0 & a <= 1.0) { + e = c[d >> 2] | 0; + h[b + (e << 3) >> 3] = a; + c[d >> 2] = e + 1 + } + return + } + + function QU(a, b) { + a = a | 0; + b = b | 0; + return +(+h[b + 8 >> 3] * +h[a + 8 >> 3] + +h[b >> 3] * +h[a >> 3]) + } + + function RU(a) { + a = +a; + var b = 0.0; + b = 1.0 - a; + return +(b * b * (b + a * 3.0)) + } + + function SU(a) { + a = +a; + return +(a * a * ((1.0 - a) * 3.0 + a)) + } + + function TU(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0.0; + H = l; + l = l + 112 | 0; + E = H + 80 | 0; + D = H + 64 | 0; + C = H + 48 | 0; + G = 4; + F = C_(40) | 0; + c[F >> 2] = 0; + w = H + 32 | 0; + x = H + 16 | 0; + y = H; + A = H + 96 | 0; + G = D3(186776, 1, F | 0, G | 0) | 0; + F = z; + o = 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) e = z; else e = 0; + a:while (1) { + if (e | 0) { + e = -2; + break + } + g = a + 4 | 0; + o = 0; + ia(113, c[g >> 2] | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } + c[46733] = 0; + c[46734] = 0; + o = 0; + ia(114, c[g >> 2] << 1 | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } + m = (c[46736] | 0) / 2 | 0; + c[46737] = m; + c[46738] = m + -1; + m = c[g >> 2] | 0; + g = c[a >> 2] | 0; + e = 0; + f = -1; + i = t; + while (1) { + if ((e | 0) >= (m | 0)) break; + I = +h[g + (e << 4) >> 3]; + v = i > I; + u = v ? e : f; + e = e + 1 | 0; + f = u; + i = v ? I : i + } + v = g + (f << 4) | 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]; + v = g + (((f | 0) == 0 ? m : f) + -1 << 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]; + v = g + (((f | 0) == (m + -1 | 0) ? 0 : f + 1 | 0) << 4) | 0; + 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]; + I = +h[x >> 3]; + if ((+h[w >> 3] == I ? I == +h[y >> 3] : 0) ? +h[y + 8 >> 3] > +h[x + 8 >> 3] : 0) v = 15; else v = 12; + b:do if ((v | 0) == 12) { + v = 0; + o = 0; + e = ca(33, w | 0, x | 0, y | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + if ((e | 0) == 1) { + g = c[46740] | 0; + e = c[46741] | 0; + f = 0; + while (1) { + if ((f | 0) >= (m | 0)) break b; + j = c[a >> 2] | 0; + if (!(((f | 0) > 0 ? (B = f + -1 | 0, +h[j + (f << 4) >> 3] == +h[j + (B << 4) >> 3]) : 0) ? +h[j + (f << 4) + 8 >> 3] == +h[j + (B << 4) + 8 >> 3] : 0)) { + u = c[46733] | 0; + c[g + (u << 3) >> 2] = j + (f << 4); + c[g + (u << 3) + 4 >> 2] = g + (((u | 0) % (m | 0) | 0) << 3); + c[e + (u << 2) >> 2] = g + (u << 3); + c[46733] = u + 1 + } + f = f + 1 | 0 + } + } else v = 15 + } while (0); + c:do if ((v | 0) == 15) { + v = 0; + j = c[46740] | 0; + e = c[46741] | 0; + g = m; + while (1) { + f = g + -1 | 0; + if ((g | 0) <= 0) break c; + k = c[a >> 2] | 0; + if (((g | 0) < (m | 0) ? +h[k + (f << 4) >> 3] == +h[k + (g << 4) >> 3] : 0) ? +h[k + (f << 4) + 8 >> 3] == +h[k + (g << 4) + 8 >> 3] : 0) { + g = f; + continue + } + g = c[46733] | 0; + c[j + (g << 3) >> 2] = k + (f << 4); + c[j + (g << 3) + 4 >> 2] = j + (((g | 0) % (m | 0) | 0) << 3); + c[e + (g << 2) >> 2] = j + (g << 3); + c[46733] = g + 1; + g = f + } + } while (0); + o = 0; + ja(29, e | 0, c[46733] | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } + j = 0; + e = c[46734] | 0; + d:while (1) { + if ((j | 0) >= (e | 0)) { + s = 0; + break + } + k = j + 1 | 0; + g = k; + while (1) { + if ((g | 0) >= (e | 0)) { + j = k; + continue d + } + o = 0; + ja(30, j | 0, g | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue a + } + g = g + 1 | 0; + e = c[46734] | 0 + } + } + while (1) { + if ((s | 0) >= (e | 0)) break; + o = 0; + f = aa(103, s | 0, b | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + j = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!j) bb(g | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) { + e = z; + continue a + } + if (f | 0) break; + s = s + 1 | 0 + } + if ((s | 0) == (e | 0)) { + e = c[15686] | 0; + o = 0; + c[C >> 2] = 138776; + c[C + 4 >> 2] = 192; + c[C + 8 >> 2] = 138787; + ca(29, e | 0, 138757, C | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } else { + v = 41; + break + } + } + u = b + 16 | 0; + k = 0; + while (1) { + if ((k | 0) >= (e | 0)) break; + o = 0; + f = aa(103, k | 0, u | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + j = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!j) bb(g | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) { + e = z; + continue a + } + if (f | 0) break; + k = k + 1 | 0 + } + if ((k | 0) == (e | 0)) { + e = c[15686] | 0; + o = 0; + c[D >> 2] = 138776; + c[D + 4 >> 2] = 200; + c[D + 8 >> 2] = 138820; + ca(29, e | 0, 138757, D | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } else { + v = 48; + break + } + } + o = 0; + e = aa(104, s | 0, k | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue + } + if (!e) { + e = c[15686] | 0; + o = 0; + c[E >> 2] = 138776; + c[E + 4 >> 2] = 207; + c[E + 8 >> 2] = 138858; + ca(29, e | 0, 138757, E | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } + o = 0; + ia(115, 2); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } else { + v = 53; + break + } + } + if ((s | 0) == (k | 0)) { + o = 0; + ia(115, 2); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + continue + } else { + v = 56; + break + } + } + c[A >> 2] = b; + c[A + 4 >> 2] = 0; + f = A + 8 | 0; + c[f >> 2] = u; + c[A + 12 >> 2] = 0; + o = 0; + ja(31, 1, A | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue + } + c[46739] = c[46737]; + q = s; + e:while (1) { + if ((q | 0) == -1) { + g = f; + e = 0; + break + } + r = c[46743] | 0; + c[r + (q * 52 | 0) >> 2] = 2; + e = 0; + while (1) { + if ((e | 0) >= 3) { + v = 65; + break + } + v = c[r + (q * 52 | 0) + 4 + (e << 4) + 12 >> 2] | 0; + if (v | 0 ? (c[v >> 2] | 0) == 1 : 0) { + v = 68; + break + } + e = e + 1 | 0 + } + if ((v | 0) == 65) { + v = 0; + if ((e | 0) == 3) { + e = c[46735] | 0; + k = c[e + (c[46738] << 2) >> 2] | 0; + o = 0; + e = ca(33, u | 0, c[c[e + (c[46737] << 2) >> 2] >> 2] | 0, c[k >> 2] | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + j = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!j) bb(g | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) { + e = z; + continue a + } + j = (e | 0) == 1; + n = j ? f : k; + j = j ? k : f + } else v = 68 + } + if ((v | 0) == 68) { + v = 0; + k = c[r + (q * 52 | 0) + 4 + (e << 4) >> 2] | 0; + m = c[r + (q * 52 | 0) + 4 + (e << 4) + 4 >> 2] | 0; + o = 0; + e = ca(33, c[k >> 2] | 0, c[c[r + (q * 52 | 0) + 4 + (((e + 1 | 0) % 3 | 0) << 4) + 4 >> 2] >> 2] | 0, c[m >> 2] | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + j = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!j) bb(g | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) { + e = z; + continue a + } + j = (e | 0) == 1; + n = j ? k : m; + j = j ? m : k + } + do if ((q | 0) == (s | 0)) { + o = 0; + ja(31, 2, j | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + o = 0; + ja(31, 1, n | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + e = 0 + } else { + m = c[46735] | 0; + if ((c[m + (c[46737] << 2) >> 2] | 0) != (n | 0) ? (c[m + (c[46738] << 2) >> 2] | 0) != (n | 0) : 0) { + o = 0; + j = $(34, n | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + o = 0; + ja(32, 2, j | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + o = 0; + ja(31, 1, n | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + if ((j | 0) <= (c[46739] | 0)) { + e = 0; + break + } + c[46739] = j; + e = 0; + break + } + o = 0; + k = $(34, j | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + o = 0; + ja(32, 1, k | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + o = 0; + ja(31, 2, j | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + g = E3(c[e >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(e | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + continue a + } + if ((k | 0) >= (c[46739] | 0)) { + e = 0; + break + } + c[46739] = k; + e = 0 + } while (0); + while (1) { + if ((e | 0) >= 3) { + q = -1; + continue e + } + g = c[r + (q * 52 | 0) + 4 + (e << 4) + 12 >> 2] | 0; + if (g | 0 ? (c[g >> 2] | 0) == 1 : 0) break; + e = e + 1 | 0 + } + q = (g - (c[46743] | 0) | 0) / 52 | 0 + } + while (1) { + if (!g) break; + g = c[g + 4 >> 2] | 0; + e = e + 1 | 0 + } + o = 0; + ia(115, e | 0); + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + j = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!j) bb(g | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) e = z; else { + v = 94; + break + } + } + if ((v | 0) == 41) e = -1; else if ((v | 0) == 48) e = -1; else if ((v | 0) == 53) { + c[d + 4 >> 2] = 2; + e = c[46742] | 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]; + F = e + 16 | 0; + c[F >> 2] = c[u >> 2]; + c[F + 4 >> 2] = c[u + 4 >> 2]; + c[F + 8 >> 2] = c[u + 8 >> 2]; + c[F + 12 >> 2] = c[u + 12 >> 2]; + c[d >> 2] = e; + e = 0 + } else if ((v | 0) == 56) { + c[d + 4 >> 2] = 2; + e = c[46742] | 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]; + F = e + 16 | 0; + c[F >> 2] = c[u >> 2]; + c[F + 4 >> 2] = c[u + 4 >> 2]; + c[F + 8 >> 2] = c[u + 8 >> 2]; + c[F + 12 >> 2] = c[u + 12 >> 2]; + c[d >> 2] = e; + e = 0 + } else if ((v | 0) == 94) { + c[d + 4 >> 2] = e; + g = c[46742] | 0; + while (1) { + e = e + -1 | 0; + if (!f) break; + F = g + (e << 4) | 0; + E = c[f >> 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]; + f = c[f + 4 >> 2] | 0 + } + c[d >> 2] = g; + e = 0 + } + D_(G | 0); + l = H; + return e | 0 + } + + function UU(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 64 | 0; + e = h + 48 | 0; + g = h + 32 | 0; + f = h + 16 | 0; + d = h; + if ((c[46746] | 0) < (a | 0)) { + b = c[46740] | 0; + if (!b) { + g = C_(a << 3) | 0; + c[46740] = g; + if (!g) { + g = c[15686] | 0; + c[d >> 2] = 138776; + c[d + 4 >> 2] = 523; + c[d + 8 >> 2] = 139026; + g1(g, 138757, d) | 0; + bb(186776, 1) + } + g = C_(a << 2) | 0; + c[46741] = g; + if (!g) { + g = c[15686] | 0; + c[f >> 2] = 138776; + c[f + 4 >> 2] = 527; + c[f + 8 >> 2] = 139045; + g1(g, 138757, f) | 0; + bb(186776, 1) + } + } else { + f = F_(b, a << 3) | 0; + c[46740] = f; + if (!f) { + f = c[15686] | 0; + c[g >> 2] = 138776; + c[g + 4 >> 2] = 533; + c[g + 8 >> 2] = 139065; + g1(f, 138757, g) | 0; + bb(186776, 1) + } + g = F_(c[46741] | 0, a << 2) | 0; + c[46741] = g; + if (!g) { + g = c[15686] | 0; + c[e >> 2] = 138776; + c[e + 4 >> 2] = 539; + c[e + 8 >> 2] = 139085; + g1(g, 138757, e) | 0; + bb(186776, 1) + } + } + c[46746] = a + } + l = h; + return + } + + function VU(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 32 | 0; + e = f + 16 | 0; + d = f; + if ((c[46736] | 0) < (a | 0)) { + b = c[46735] | 0; + if (!b) { + e = C_(a << 2) | 0; + c[46735] = e; + if (!e) { + e = c[15686] | 0; + c[d >> 2] = 138776; + c[d + 4 >> 2] = 573; + c[d + 8 >> 2] = 138981; + g1(e, 138757, d) | 0; + bb(186776, 1) + } + } else { + d = F_(b, a << 2) | 0; + c[46735] = d; + if (!d) { + d = c[15686] | 0; + c[e >> 2] = 138776; + c[e + 4 >> 2] = 580; + c[e + 8 >> 2] = 139003; + g1(d, 138757, e) | 0; + bb(186776, 1) + } + } + c[46736] = a + } + l = f; + return + } + + function WU(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0; + d = +h[b + 8 >> 3]; + e = +h[b >> 3]; + d = (+h[c >> 3] - e) * (+h[a + 8 >> 3] - d) - (+h[a >> 3] - e) * (+h[c + 8 >> 3] - d); + return (d > 0.0 ? 1 : d < 0.0 ? 2 : 3) | 0 + } + + function XU(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + a:while (1) { + if ((b | 0) > 3) e = 0; else { + b = 9; + break + } + while (1) { + if ((e | 0) >= (b | 0)) { + b = 8; + break a + } + f = e + 1 | 0; + d = (f | 0) % (b | 0) | 0; + g = (e + 2 | 0) % (b | 0) | 0; + if (!(dV(e, g, a, b) | 0)) e = f; else break + } + eV(c[a + (e << 2) >> 2] | 0, c[a + (d << 2) >> 2] | 0, c[a + (g << 2) >> 2] | 0); + b = b + -1 | 0; + while (1) { + if ((d | 0) >= (b | 0)) continue a; + g = d + 1 | 0; + c[a + (d << 2) >> 2] = c[a + (g << 2) >> 2]; + d = g + } + } + if ((b | 0) == 8) { + a = c[15686] | 0; + c[h >> 2] = 138776; + c[h + 4 >> 2] = 324; + c[h + 8 >> 2] = 138921; + g1(a, 138757, h) | 0 + } else if ((b | 0) == 9) eV(c[a >> 2] | 0, c[a + 4 >> 2] | 0, c[a + 8 >> 2] | 0); + l = i; + return + } + + function YU(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; + i = c[46743] | 0; + j = i + (a * 52 | 0) | 0; + k = i + (b * 52 | 0) | 0; + g = 0; + while (1) { + if ((g | 0) == 3) break; + l = i + (a * 52 | 0) + 4 + (g << 4) | 0; + m = i + (a * 52 | 0) + 4 + (g << 4) + 4 | 0; + n = i + (a * 52 | 0) + 4 + (g << 4) + 12 | 0; + f = 0; + while (1) { + if ((f | 0) == 3) break; + o = c[c[l >> 2] >> 2] | 0; + h = c[c[i + (b * 52 | 0) + 4 + (f << 4) >> 2] >> 2] | 0; + if ((o | 0) == (h | 0)) { + d = c[c[i + (b * 52 | 0) + 4 + (f << 4) + 4 >> 2] >> 2] | 0; + if ((c[c[m >> 2] >> 2] | 0) == (d | 0)) e = 10; else e = 8 + } else { + d = c[c[i + (b * 52 | 0) + 4 + (f << 4) + 4 >> 2] >> 2] | 0; + e = 8 + } + if (((e | 0) == 8 ? (e = 0, (o | 0) == (d | 0)) : 0) ? (c[c[m >> 2] >> 2] | 0) == (h | 0) : 0) e = 10; + if ((e | 0) == 10) { + c[n >> 2] = k; + c[i + (b * 52 | 0) + 4 + (f << 4) + 12 >> 2] = j + } + f = f + 1 | 0 + } + g = g + 1 | 0 + } + return + } + + function ZU(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = c[46743] | 0; + d = 0; + e = 0; + while (1) { + if ((e | 0) == 3) break; + d = d + ((WU(c[c[f + (a * 52 | 0) + 4 + (e << 4) >> 2] >> 2] | 0, c[c[f + (a * 52 | 0) + 4 + (e << 4) + 4 >> 2] >> 2] | 0, b) | 0) != 2 & 1) | 0; + e = e + 1 | 0 + } + return ((d | 0) == 3 | (d | 0) == 0) & 1 | 0 + } + + function _U(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[46743] | 0; + e = d + (a * 52 | 0) | 0; + a:do if (!(c[e >> 2] | 0)) { + c[e >> 2] = 1; + if ((a | 0) == (b | 0)) d = 1; else { + f = 0; + while (1) { + if ((f | 0) >= 3) break; + e = c[d + (a * 52 | 0) + 4 + (f << 4) + 12 >> 2] | 0; + if (e) { + if (_U((e - d | 0) / 52 | 0, b) | 0) { + d = 1; + break a + } + d = c[46743] | 0 + } + f = f + 1 | 0 + } + c[d + (a * 52 | 0) >> 2] = 0; + d = 0 + } + } else d = 0; while (0); + return d | 0 + } + + function $U(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 32 | 0; + e = f + 16 | 0; + d = f; + if ((c[46744] | 0) < (a | 0)) { + b = c[46742] | 0; + if (!b) { + e = C_(a << 4) | 0; + c[46742] = e; + if (!e) { + e = c[15686] | 0; + c[d >> 2] = 138776; + c[d + 4 >> 2] = 593; + c[d + 8 >> 2] = 138884; + g1(e, 138757, d) | 0; + bb(186776, 1) + } + } else { + d = F_(b, a << 4) | 0; + c[46742] = d; + if (!d) { + d = c[15686] | 0; + c[e >> 2] = 138776; + c[e + 4 >> 2] = 599; + c[e + 8 >> 2] = 138902; + g1(d, 138757, e) | 0; + bb(186776, 1) + } + } + c[46744] = a + } + l = f; + return + } + + function aV(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[46738] | 0; + e = c[46737] | 0; + f = (d | 0) >= (e | 0); + if ((a | 0) == 1) if (f) { + c[b + 4 >> 2] = c[(c[46735] | 0) + (e << 2) >> 2]; + a = 186948; + d = -1 + } else { + a = 186948; + d = -1 + } else if (f) { + c[b + 4 >> 2] = c[(c[46735] | 0) + (d << 2) >> 2]; + a = 186952; + d = 1 + } else { + a = 186952; + d = 1 + } + f = (c[a >> 2] | 0) + d | 0; + c[a >> 2] = f; + c[(c[46735] | 0) + (f << 2) >> 2] = b; + return + } + + function bV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = c[46739] | 0; + g = c[46735] | 0; + b = c[46737] | 0; + while (1) { + if ((b | 0) >= (f | 0)) { + e = 4; + break + } + d = b + 1 | 0; + if ((WU(c[c[g + (d << 2) >> 2] >> 2] | 0, c[c[g + (b << 2) >> 2] >> 2] | 0, c[a >> 2] | 0) | 0) == 1) break; else b = d + } + a:do if ((e | 0) == 4) { + b = c[46738] | 0; + while (1) { + if ((b | 0) <= (f | 0)) { + b = f; + break a + } + d = b + -1 | 0; + if ((WU(c[c[g + (d << 2) >> 2] >> 2] | 0, c[c[g + (b << 2) >> 2] >> 2] | 0, c[a >> 2] | 0) | 0) == 2) break; else b = d + } + } while (0); + return b | 0 + } + + function cV(a, b) { + a = a | 0; + b = b | 0; + c[((a | 0) == 1 ? 186952 : 186948) >> 2] = b; + return + } + + function dV(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + f = c[c[d + (((a + -1 + e | 0) % (e | 0) | 0) << 2) >> 2] >> 2] | 0; + i = c[c[d + (a << 2) >> 2] >> 2] | 0; + g = c[c[d + (((a + 1 | 0) % (e | 0) | 0) << 2) >> 2] >> 2] | 0; + k = (WU(f, i, g) | 0) == 1; + j = c[c[d + (b << 2) >> 2] >> 2] | 0; + if (k) if ((WU(i, j, f) | 0) == 1) { + f = WU(j, i, g) | 0; + g = 1; + h = 5 + } else f = 0; else { + f = WU(i, j, g) | 0; + g = 2; + h = 5 + } + a:do if ((h | 0) == 5) if ((f | 0) == (g | 0)) { + f = 0; + while (1) { + if ((f | 0) >= (e | 0)) { + f = 1; + break a + } + g = f; + f = f + 1 | 0; + h = (f | 0) % (e | 0) | 0; + if ((h | 0) == (b | 0) | ((g | 0) == (b | 0) | ((g | 0) == (a | 0) | (h | 0) == (a | 0)))) continue; + if (gV(i, j, c[c[d + (g << 2) >> 2] >> 2] | 0, c[c[d + (h << 2) >> 2] >> 2] | 0) | 0) { + f = 0; + break + } + } + } else f = 0; while (0); + return f | 0 + } + + function eV(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = c[46734] | 0; + f = c[46745] | 0; + if ((e | 0) < (f | 0)) h = e; else { + fV(f + 20 | 0); + h = c[46734] | 0 + } + g = c[46743] | 0; + c[46734] = h + 1; + f = g + (h * 52 | 0) | 0; + c[f >> 2] = 0; + c[g + (h * 52 | 0) + 4 >> 2] = a; + c[g + (h * 52 | 0) + 8 >> 2] = b; + c[g + (h * 52 | 0) + 16 >> 2] = 0; + c[g + (h * 52 | 0) + 20 >> 2] = b; + c[g + (h * 52 | 0) + 24 >> 2] = d; + c[g + (h * 52 | 0) + 32 >> 2] = 0; + c[g + (h * 52 | 0) + 36 >> 2] = d; + c[g + (h * 52 | 0) + 40 >> 2] = a; + c[g + (h * 52 | 0) + 48 >> 2] = 0; + e = 0; + while (1) { + if ((e | 0) == 3) break; + c[g + (h * 52 | 0) + 4 + (e << 4) + 8 >> 2] = f; + e = e + 1 | 0 + } + return + } + + function fV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 32 | 0; + e = f + 16 | 0; + d = f; + if ((c[46745] | 0) < (a | 0)) { + b = c[46743] | 0; + if (!b) { + e = C_(a * 52 | 0) | 0; + c[46743] = e; + if (!e) { + e = c[15686] | 0; + c[d >> 2] = 138776; + c[d + 4 >> 2] = 552; + c[d + 8 >> 2] = 138942; + g1(e, 138757, d) | 0; + bb(186776, 1) + } + } else { + d = F_(b, a * 52 | 0) | 0; + c[46743] = d; + if (!d) { + d = c[15686] | 0; + c[e >> 2] = 138776; + c[e + 4 >> 2] = 558; + c[e + 8 >> 2] = 138961; + g1(d, 138757, e) | 0; + bb(186776, 1) + } + } + c[46745] = a + } + l = f; + return + } + + function gV(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; + f = WU(a, b, c) | 0; + if ((((f | 0) != 3 ? (g = WU(a, b, d) | 0, (g | 0) != 3) : 0) ? (h = WU(c, d, a) | 0, (h | 0) != 3) : 0) ? (e = WU(c, d, b) | 0, (e | 0) != 3) : 0) return ((f | 0) == 1 ^ (g | 0) == 1) & ((h | 0) == 1 ^ (e | 0) == 1) & 1 | 0; + if (((hV(a, b, c) | 0) == 0 ? (hV(a, b, d) | 0) == 0 : 0) ? (hV(c, d, a) | 0) == 0 : 0) return (hV(c, d, b) | 0) != 0 | 0; + return 1 + } + + function hV(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0; + e = +h[a >> 3]; + g = +h[b >> 3] - e; + f = +h[a + 8 >> 3]; + d = +h[b + 8 >> 3] - f; + e = +h[c >> 3] - e; + f = +h[c + 8 >> 3] - f; + if ((WU(a, b, c) | 0) == 3 ? f * d + e * g >= 0.0 : 0) a = f * f + e * e <= d * d + g * g & 1; else a = 0; + return a | 0 + } + + function iV(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0; + m = C_(d << 2) | 0; + n = C_((d << 3) + 8 | 0) | 0; + o = n + 8 | 0; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + c[m + (f << 2) >> 2] = -1; + h[o + (f << 3) >> 3] = -2147483647.0; + f = f + 1 | 0 + } + h[n >> 3] = -2147483648.0; + a:while (1) { + if ((a | 0) == (b | 0)) break; + l = o + (a << 3) | 0; + j = +h[l >> 3]; + h[l >> 3] = j == -2147483647.0 ? 0.0 : -j; + k = 0; + f = -1; + while (1) { + if ((k | 0) >= (d | 0)) { + a = f; + continue a + } + i = o + (k << 3) | 0; + g = +h[i >> 3]; + if (g < 0.0) { + q = (a | 0) < (k | 0); + p = +h[(c[e + ((q ? k : a) << 2) >> 2] | 0) + ((q ? a : k) << 3) >> 3]; + j = -(p + +h[l >> 3]); + if (p != 0.0 & g < j) { + h[i >> 3] = j; + c[m + (k << 2) >> 2] = a; + g = j + } + f = g > +h[o + (f << 3) >> 3] ? k : f + } + k = k + 1 | 0 + } + } + D_(n); + return m | 0 + } + + function jV(a, b, d, e, f, g, h) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0; + j = l; + l = l + 32 | 0; + k = j + 16 | 0; + m = j; + i = c[h + 4 >> 2] | 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[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]; + if (!(CV(m, b, k, f, h) | 0)) { + a = c[h + 24 >> 2] | 0; + c[a + (i << 2) >> 2] = g; + m = i + 1 | 0; + c[a + (m << 2) >> 2] = d; + a = iV(m, i, i + 2 | 0, a) | 0 + } else { + a = C_((i << 2) + 8 | 0) | 0; + m = i + 1 | 0; + c[a + (i << 2) >> 2] = m; + c[a + (m << 2) >> 2] = -1 + } + l = j; + return a | 0 + } + + function kV(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0; + d = +h[a + 24 >> 3]; + a:do if (d < 1.0e-07 & d > -1.0e-07) a = lV(a, b) | 0; else { + g = +h[a + 16 >> 3] / (d * 3.0); + f = +h[a + 8 >> 3] / d; + e = g * g; + d = g * 2.0 * e - g * f + +h[a >> 3] / d; + e = f * .3333333333333333 - e; + e = e * e * 4.0 * e; + f = d * d + e; + if (!(f < 0.0)) { + i = (+C(+f) - d) * .5; + e = +n$(i); + d = +n$(-d - i) + e; + h[b >> 3] = d; + if (f > 0.0) a = 1; else { + d = d * -.5; + h[b + 16 >> 3] = d; + a = 1; + c = 7 + } + } else { + i = +K(+(+C(+-f)), +-d); + d = +n$(+C(+-e) * .5) * 2.0; + h[b >> 3] = d * +E(+(i * .3333333333333333)); + h[b + 8 >> 3] = +E(+((i + 6.283185307179586) * .3333333333333333)) * d; + d = +E(+((i + -6.283185307179586) * .3333333333333333)) * d; + a = 2; + c = 7 + } + if ((c | 0) == 7) { + h[b + (a << 3) >> 3] = d; + a = 3 + } + c = 0; + while (1) { + if ((c | 0) >= (a | 0)) break a; + j = b + (c << 3) | 0; + h[j >> 3] = +h[j >> 3] - g; + c = c + 1 | 0 + } + } while (0); + return a | 0 + } + + function lV(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a + 16 >> 3]; + do if (!(c < 1.0e-07 & c > -1.0e-07)) { + d = +h[a + 8 >> 3] / (c * 2.0); + c = d * d - +h[a >> 3] / c; + if (!(c < 0.0)) if (c == 0.0) { + h[b >> 3] = -d; + a = 1; + break + } else { + c = +C(+c) - d; + h[b >> 3] = c; + h[b + 8 >> 3] = d * -2.0 - c; + a = 2; + break + } else a = 0 + } else a = mV(a, b) | 0; while (0); + return a | 0 + } + + function mV(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + d = +h[a + 8 >> 3]; + c = +h[a >> 3]; + if (d < 1.0e-07 & d > -1.0e-07) a = c < 1.0e-07 & c > -1.0e-07 ? 4 : 0; else { + h[b >> 3] = -c / d; + a = 1 + } + return a | 0 + } + + function nV(a) { + a = a | 0; + D_(c[a >> 2] | 0); + D_(a); + return + } + + function oV(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; + e = c[a + 4 >> 2] | 0; + i = (e * 3 | 0) + -2 | 0; + d = c[46748] | 0; + if ((i | 0) > (c[46747] | 0)) { + if (!d) d = C_(i << 4) | 0; else d = F_(d, i << 4) | 0; + c[46748] = d; + c[46747] = i; + h = d; + g = d + } else { + h = d; + g = d + } + f = c[a >> 2] | 0; + c[h >> 2] = c[f >> 2]; + c[h + 4 >> 2] = c[f + 4 >> 2]; + c[h + 8 >> 2] = c[f + 8 >> 2]; + c[h + 12 >> 2] = c[f + 12 >> 2]; + G3(h + 16 | 0, f | 0, 16) | 0; + e = e + -1 | 0; + d = 1; + a = 2; + while (1) { + if ((d | 0) >= (e | 0)) break; + j = h + (a + 2 << 4) | 0; + k = h + (a + 1 << 4) | 0; + m = h + (a << 4) | 0; + l = f + (d << 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]; + G3(k | 0, l | 0, 16) | 0; + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + d = d + 1 | 0; + a = a + 3 | 0 + } + l = h + (a << 4) | 0; + m = f + (d << 4) | 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]; + G3(h + (a + 1 << 4) | 0, m | 0, 16) | 0; + c[b + 4 >> 2] = i; + c[b >> 2] = g; + return + } + + function pV(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0; + d = +h[b + 8 >> 3]; + e = +h[b >> 3]; + d = (+h[c >> 3] - e) * (+h[a + 8 >> 3] - d) - (+h[a >> 3] - e) * (+h[c + 8 >> 3] - d); + return (d > .0001 ? 1 : (d < -.0001) << 31 >> 31) | 0 + } + + function qV(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0; + e = +h[a >> 3]; + f = +h[b >> 3]; + if (e != f) { + d = +h[c >> 3]; + if (!(e < d & d < f)) if (f < d) a = d < e; else a = 0; else a = 1 + } else { + f = +h[a + 8 >> 3]; + e = +h[c + 8 >> 3]; + d = +h[b + 8 >> 3]; + if (!(f < e & e < d)) if (d < e) a = e < f; else a = 0; else a = 1 + } + return a & 1 | 0 + } + + function rV(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 48 | 0; + i = m + 32 | 0; + h = m + 16 | 0; + g = m; + 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[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[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = c[d + 4 >> 2]; + c[i + 8 >> 2] = c[d + 8 >> 2]; + c[i + 12 >> 2] = c[d + 12 >> 2]; + j = pV(g, h, i) | 0; + if ((j | 0) == 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[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[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], (qV(g, h, i) | 0) != 0) : 0) f = 1; else k = 3; + do if ((k | 0) == 3) { + 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[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[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]; + f = pV(g, h, i) | 0; + if ((f | 0) == 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[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[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], qV(g, h, i) | 0) : 0) { + f = 1; + break + } + ;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[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2]; + c[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]; + a = pV(g, h, i) | 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[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + c[h + 8 >> 2] = c[e + 8 >> 2]; + c[h + 12 >> 2] = c[e + 12 >> 2]; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + k = (O(f, j) | 0) < 0; + f = (O(pV(g, h, i) | 0, a) | 0) >>> 31; + f = k ? f : 0 + } while (0); + l = m; + return f | 0 + } + + function sV(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a >> 3] - +h[b >> 3]; + d = +h[a + 8 >> 3] - +h[b + 8 >> 3]; + return +(d * d + c * c) + } + + function tV(a) { + a = a | 0; + c[a + 24 >> 2] = uV(c[a + 4 >> 2] | 0) | 0; + vV(a); + return + } + + function uV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + e = a + 2 | 0; + f = C_(e << 2) | 0; + b = E_(O(a, a) | 0, 8) | 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + c[f + (d << 2) >> 2] = b; + b = b + (a << 3) | 0; + d = d + 1 | 0 + } + while (1) { + if ((a | 0) >= (e | 0)) break; + c[f + (a << 2) >> 2] = 0; + a = a + 1 | 0 + } + return f | 0 + } + + function vV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + p = l; + l = l + 32 | 0; + i = p + 16 | 0; + g = p; + j = c[a + 4 >> 2] | 0; + m = c[a + 8 >> 2] | 0; + n = c[a + 16 >> 2] | 0; + o = c[a + 20 >> 2] | 0; + d = c[a + 24 >> 2] | 0; + b = 0; + while (1) { + if ((b | 0) >= (j | 0)) break; + q = c[o + (b << 2) >> 2] | 0; + e = m + (b << 4) | 0; + f = m + (q << 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[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]; + r = +wV(g, i); + f = c[d + (b << 2) >> 2] | 0; + h[f + (q << 3) >> 3] = r; + h[(c[d + (q << 2) >> 2] | 0) + (b << 3) >> 3] = r; + a = b + -1 | 0; + a = (q | 0) == (a | 0) ? b + -2 | 0 : a; + while (1) { + if ((a | 0) <= -1) break; + if ((xV(b, a, m, n, o) | 0 ? xV(a, b, m, n, o) | 0 : 0) ? (k = m + (a << 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[i >> 2] = c[k >> 2], c[i + 4 >> 2] = c[k + 4 >> 2], c[i + 8 >> 2] = c[k + 8 >> 2], c[i + 12 >> 2] = c[k + 12 >> 2], yV(g, i, j, j, j, m, n) | 0) : 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[k >> 2]; + c[i + 4 >> 2] = c[k + 4 >> 2]; + c[i + 8 >> 2] = c[k + 8 >> 2]; + c[i + 12 >> 2] = c[k + 12 >> 2]; + r = +wV(g, i); + h[f + (a << 3) >> 3] = r; + h[(c[d + (a << 2) >> 2] | 0) + (b << 3) >> 3] = r + } + a = a + -1 | 0 + } + b = b + 1 | 0 + } + l = p; + return + } + + function wV(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0; + e = l; + l = l + 32 | 0; + f = e + 16 | 0; + g = e; + 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]; + d = +C(+(+sV(g, f))); + l = e; + return +d + } + + 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, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + g = l; + l = l + 64 | 0; + h = g + 48 | 0; + i = g + 32 | 0; + j = g + 16 | 0; + k = g; + n = d + (c[f + (a << 2) >> 2] << 4) | 0; + m = d + (a << 4) | 0; + e = d + (c[e + (a << 2) >> 2] << 4) | 0; + f = d + (b << 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[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + c[i >> 2] = c[e >> 2]; + c[i + 4 >> 2] = c[e + 4 >> 2]; + c[i + 8 >> 2] = c[e + 8 >> 2]; + c[i + 12 >> 2] = c[e + 12 >> 2]; + c[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]; + f = zV(k, j, i, h) | 0; + l = g; + return f | 0 + } + + function yV(a, b, d, e, f, g, h) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + p = l; + l = l + 64 | 0; + n = p + 48 | 0; + m = p + 32 | 0; + k = p + 16 | 0; + j = p; + i = 0; + while (1) { + if ((i | 0) >= (d | 0)) { + o = 4; + break + } + r = g + (i << 4) | 0; + q = g + (c[h + (i << 2) >> 2] << 4) | 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[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[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]; + c[n >> 2] = c[q >> 2]; + c[n + 4 >> 2] = c[q + 4 >> 2]; + c[n + 8 >> 2] = c[q + 8 >> 2]; + c[n + 12 >> 2] = c[q + 12 >> 2]; + if (!(rV(j, k, m, n) | 0)) i = i + 1 | 0; else { + e = 0; + break + } + } + a:do if ((o | 0) == 4) while (1) { + if ((e | 0) >= (f | 0)) { + e = 1; + break a + } + q = g + (e << 4) | 0; + r = g + (c[h + (e << 2) >> 2] << 4) | 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[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[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[n >> 2] = c[r >> 2]; + c[n + 4 >> 2] = c[r + 4 >> 2]; + c[n + 8 >> 2] = c[r + 8 >> 2]; + c[n + 12 >> 2] = c[r + 12 >> 2]; + if (!(rV(j, k, m, n) | 0)) { + e = e + 1 | 0; + o = 4 + } else { + e = 0; + break + } + } while (0); + l = p; + return e | 0 + } + + function zV(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + g = l; + l = l + 48 | 0; + h = g + 32 | 0; + i = g + 16 | 0; + j = g; + 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]; + 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]; + f = pV(j, i, h) | 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[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + c[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]; + e = pV(j, i, h) | 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[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + c[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 = (pV(j, i, h) | 0) > 0; + l = g; + return (d ? e | f : e & f) >>> 31 ^ 1 | 0 + } + + function AV(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0; + s = l; + l = l + 80 | 0; + j = s + 64 | 0; + i = s + 48 | 0; + g = s + 32 | 0; + k = s + 16 | 0; + o = s; + p = c[a + 4 >> 2] | 0; + q = c[a + 8 >> 2] | 0; + r = c[a + 16 >> 2] | 0; + m = c[a + 20 >> 2] | 0; + n = C_((p << 3) + 16 | 0) | 0; + if ((b | 0) == -2222) { + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + b = BV(a, j) | 0 + } + if ((b | 0) > -1) { + a = c[a + 12 >> 2] | 0; + f = c[a + (b + 1 << 2) >> 2] | 0; + a = c[a + (b << 2) >> 2] | 0 + } else { + f = p; + a = p + } + b = 0; + while (1) { + if ((b | 0) >= (a | 0)) { + b = a; + break + } + u = q + (b << 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]; + u = q + (c[m + (b << 2) >> 2] << 4) | 0; + t = q + (c[r + (b << 2) >> 2] << 4) | 0; + c[k >> 2] = c[u >> 2]; + c[k + 4 >> 2] = c[u + 4 >> 2]; + c[k + 8 >> 2] = c[u + 8 >> 2]; + c[k + 12 >> 2] = c[u + 12 >> 2]; + c[g >> 2] = c[o >> 2]; + c[g + 4 >> 2] = c[o + 4 >> 2]; + c[g + 8 >> 2] = c[o + 8 >> 2]; + c[g + 12 >> 2] = c[o + 12 >> 2]; + c[i >> 2] = c[t >> 2]; + c[i + 4 >> 2] = c[t + 4 >> 2]; + c[i + 8 >> 2] = c[t + 8 >> 2]; + c[i + 12 >> 2] = c[t + 12 >> 2]; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + if ((zV(k, g, i, j) | 0) != 0 ? (c[i >> 2] = c[d >> 2], c[i + 4 >> 2] = c[d + 4 >> 2], c[i + 8 >> 2] = c[d + 8 >> 2], c[i + 12 >> 2] = c[d + 12 >> 2], c[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], (yV(i, j, a, f, p, q, r) | 0) != 0) : 0) { + c[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = c[d + 4 >> 2]; + c[i + 8 >> 2] = c[d + 8 >> 2]; + c[i + 12 >> 2] = c[d + 12 >> 2]; + c[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]; + e = +wV(i, j) + } else e = 0.0; + h[n + (b << 3) >> 3] = e; + b = b + 1 | 0 + } + while (1) { + if ((b | 0) >= (f | 0)) { + b = f; + break + } + h[n + (b << 3) >> 3] = 0.0; + b = b + 1 | 0 + } + while (1) { + if ((b | 0) >= (p | 0)) break; + t = q + (b << 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]; + t = q + (c[m + (b << 2) >> 2] << 4) | 0; + u = q + (c[r + (b << 2) >> 2] << 4) | 0; + c[k >> 2] = c[t >> 2]; + c[k + 4 >> 2] = c[t + 4 >> 2]; + c[k + 8 >> 2] = c[t + 8 >> 2]; + c[k + 12 >> 2] = c[t + 12 >> 2]; + c[g >> 2] = c[o >> 2]; + c[g + 4 >> 2] = c[o + 4 >> 2]; + c[g + 8 >> 2] = c[o + 8 >> 2]; + c[g + 12 >> 2] = c[o + 12 >> 2]; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + if ((zV(k, g, i, j) | 0) != 0 ? (c[i >> 2] = c[d >> 2], c[i + 4 >> 2] = c[d + 4 >> 2], c[i + 8 >> 2] = c[d + 8 >> 2], c[i + 12 >> 2] = c[d + 12 >> 2], c[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], (yV(i, j, a, f, p, q, r) | 0) != 0) : 0) { + c[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = c[d + 4 >> 2]; + c[i + 8 >> 2] = c[d + 8 >> 2]; + c[i + 12 >> 2] = c[d + 12 >> 2]; + c[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]; + e = +wV(i, j) + } else e = 0.0; + h[n + (b << 3) >> 3] = e; + b = b + 1 | 0 + } + h[n + (p << 3) >> 3] = 0.0; + h[n + (p + 1 << 3) >> 3] = 0.0; + l = s; + return n | 0 + } + + function BV(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + m = l; + l = l + 32 | 0; + f = m + 8 | 0; + e = m; + h = m + 24 | 0; + i = a + 8 | 0; + j = a + 12 | 0; + k = h + 4 | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[a >> 2] | 0)) { + d = -1111; + break + } + o = c[j >> 2] | 0; + n = c[o + (d << 2) >> 2] | 0; + c[h >> 2] = (c[i >> 2] | 0) + (n << 4); + g = d + 1 | 0; + c[k >> 2] = (c[o + (g << 2) >> 2] | 0) - n; + c[e >> 2] = c[h >> 2]; + c[e + 4 >> 2] = c[h + 4 >> 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]; + if (!(wU(e, f) | 0)) d = g; else break + } + l = m; + return d | 0 + } + + function CV(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 64 | 0; + n = t + 48 | 0; + m = t + 32 | 0; + p = t + 16 | 0; + o = t; + r = c[f + 4 >> 2] | 0; + s = c[f + 8 >> 2] | 0; + q = c[f + 16 >> 2] | 0; + g = (e | 0) < 0; + do if ((b | 0) < 0) if (g) { + g = 0; + i = 0; + f = 0; + h = 0 + } else { + b = c[f + 12 >> 2] | 0; + f = 0; + h = 0; + i = e; + j = b; + b = b + (e << 2) | 0; + k = 9 + } else { + if (g) { + k = c[f + 12 >> 2] | 0; + f = 0; + h = 0; + i = b; + j = k; + b = k + (b << 2) | 0; + k = 9; + break + } + g = c[f + 12 >> 2] | 0; + if ((b | 0) > (e | 0)) { + f = c[g + (e + 1 << 2) >> 2] | 0; + h = c[g + (e << 2) >> 2] | 0; + i = b; + j = g; + b = g + (b << 2) | 0; + k = 9; + break + } else { + f = c[g + (b + 1 << 2) >> 2] | 0; + h = c[g + (b << 2) >> 2] | 0; + i = e; + j = g; + b = g + (e << 2) | 0; + k = 9; + break + } + } while (0); + if ((k | 0) == 9) { + g = c[j + (i + 1 << 2) >> 2] | 0; + i = c[b >> 2] | 0 + } + b = 0; + while (1) { + if ((b | 0) >= (h | 0)) { + k = 13; + break + } + j = s + (b << 4) | 0; + e = s + (c[q + (b << 2) >> 2] << 4) | 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[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[m >> 2] = c[j >> 2]; + c[m + 4 >> 2] = c[j + 4 >> 2]; + c[m + 8 >> 2] = c[j + 8 >> 2]; + c[m + 12 >> 2] = c[j + 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]; + if (!(rV(o, p, m, n) | 0)) b = b + 1 | 0; else { + g = 0; + break + } + } + a:do if ((k | 0) == 13) { + while (1) { + if ((f | 0) >= (i | 0)) break; + e = s + (f << 4) | 0; + k = s + (c[q + (f << 2) >> 2] << 4) | 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[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[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]; + c[n >> 2] = c[k >> 2]; + c[n + 4 >> 2] = c[k + 4 >> 2]; + c[n + 8 >> 2] = c[k + 8 >> 2]; + c[n + 12 >> 2] = c[k + 12 >> 2]; + if (!(rV(o, p, m, n) | 0)) { + f = f + 1 | 0; + k = 13 + } else { + g = 0; + break a + } + } + while (1) { + if ((g | 0) >= (r | 0)) { + g = 1; + break a + } + e = s + (g << 4) | 0; + k = s + (c[q + (g << 2) >> 2] << 4) | 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[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[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]; + c[n >> 2] = c[k >> 2]; + c[n + 4 >> 2] = c[k + 4 >> 2]; + c[n + 8 >> 2] = c[k + 8 >> 2]; + c[n + 12 >> 2] = c[k + 12 >> 2]; + if (!(rV(o, p, m, n) | 0)) g = g + 1 | 0; else { + g = 0; + break + } + } + } while (0); + l = t; + return g | 0 + } + + function DV(a) { + a = a | 0; + return EV(a, 0, 0) | 0 + } + + function EV(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return FV(a, b, c, 0) | 0 + } + + function FV(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; + if (!d) { + g = C_(496) | 0; + if (!g) g = 0; else { + c[g + 12 >> 2] = 35; + c[g + 16 >> 2] = 105; + c[g + 20 >> 2] = 103; + d = 35; + h = 6 + } + } else { + g = kb[c[d >> 2] & 63](496) | 0; + if (!g) g = 0; else { + h = c[d >> 2] | 0; + c[g + 12 >> 2] = h; + c[g + 16 >> 2] = c[d + 4 >> 2]; + c[g + 20 >> 2] = c[d + 8 >> 2]; + d = h; + h = 6 + } + } + do if ((h | 0) == 6) { + c[g + 8 >> 2] = 0; + c[g + 32 >> 2] = 0; + c[g + 376 >> 2] = 16; + j = g + 12 | 0; + i = kb[d & 63](256) | 0; + d = g + 388 | 0; + c[d >> 2] = i; + if (!i) { + tb[c[g + 20 >> 2] & 127](g); + g = 0; + break + } + h = kb[c[j >> 2] & 63](1024) | 0; + i = g + 44 | 0; + c[i >> 2] = h; + if (!h) { + e = g + 20 | 0; + tb[c[e >> 2] & 127](c[d >> 2] | 0); + tb[c[e >> 2] & 127](g); + g = 0; + break + } + c[g + 48 >> 2] = h + 1024; + if (!f) { + f = GV(j) | 0; + c[g + 352 >> 2] = f; + if (!f) { + e = g + 20 | 0; + tb[c[e >> 2] & 127](c[i >> 2] | 0); + tb[c[e >> 2] & 127](c[d >> 2] | 0); + tb[c[e >> 2] & 127](g); + g = 0; + break + } + } else c[g + 352 >> 2] = f; + c[g + 372 >> 2] = 0; + c[g + 364 >> 2] = 0; + c[g + 300 >> 2] = 0; + c[g + 464 >> 2] = 0; + c[g + 460 >> 2] = 0; + c[g + 124 >> 2] = 0; + c[g + 244 >> 2] = 0; + d = g + 468 | 0; + a[d >> 0] = 33; + h = g + 232 | 0; + a[h >> 0] = 0; + a[g + 233 >> 0] = 0; + c[g + 392 >> 2] = 0; + c[g + 396 >> 2] = 0; + a[g + 400 >> 0] = 0; + f = g + 228 | 0; + c[f >> 2] = 0; + HV(g + 412 | 0, j); + HV(g + 436 | 0, j); + IV(g, b); + if (b | 0 ? (c[f >> 2] | 0) == 0 : 0) { + JV(g); + g = 0; + break + } + if (!e) { + c[g + 224 >> 2] = TX() | 0; + break + } else { + a[h >> 0] = 1; + c[g + 224 >> 2] = xZ() | 0; + a[d >> 0] = a[e >> 0] | 0; + break + } + } while (0); + return g | 0 + } + + function GV(b) { + b = b | 0; + var d = 0; + d = kb[c[b >> 2] & 63](188) | 0; + if (d | 0) { + HV(d + 80 | 0, b); + HV(d + 104 | 0, b); + QW(d, b); + QW(d + 20 | 0, b); + QW(d + 40 | 0, b); + QW(d + 60 | 0, b); + a[d + 131 >> 0] = 0; + QW(d + 132 | 0, b); + c[d + 152 >> 2] = 0; + c[d + 156 >> 2] = 0; + a[d + 160 >> 0] = 0; + b = d + 164 | 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; + a[d + 128 >> 0] = 1; + a[d + 129 >> 0] = 0; + a[d + 130 >> 0] = 0 + } + return d | 0 + } + + function HV(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + c[a + 12 >> 2] = 0; + c[a + 16 >> 2] = 0; + c[a + 20 >> 2] = b; + return + } + + function IV(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + c[d + 276 >> 2] = 56; + EZ(d + 252 | 0); + if (e | 0) c[d + 228 >> 2] = RV(e, d + 12 | 0) | 0; + c[d + 356 >> 2] = 0; + HY(d + 148 | 0, d + 144 | 0, 0) | 0; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + e = d + 116 | 0; + g = d + 52 | 0; + h = g + 64 | 0; + do { + c[g >> 2] = 0; + g = g + 4 | 0 + } while ((g | 0) < (h | 0)); + c[e >> 2] = d; + c[d + 120 >> 2] = 0; + e = d + 128 | 0; + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + e = c[d + 8 >> 2] | 0; + c[d + 24 >> 2] = e; + c[d + 28 >> 2] = e; + c[d + 36 >> 2] = 0; + c[d + 40 >> 2] = 0; + e = d + 312 | 0; + g = d + 404 | 0; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + g = d + 280 | 0; + f = d + 304 | 0; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + c[g + 8 >> 2] = 0; + c[g + 12 >> 2] = 0; + c[g + 16 >> 2] = 0; + g = e; + h = g + 36 | 0; + do { + c[g >> 2] = 0; + g = g + 4 | 0 + } while ((g | 0) < (h | 0)); + b[e + 36 >> 1] = 0; + a[f >> 0] = 1; + c[d + 308 >> 2] = 0; + c[d + 360 >> 2] = 0; + c[d + 368 >> 2] = 0; + c[d + 380 >> 2] = 0; + c[d + 236 >> 2] = 0; + c[d + 248 >> 2] = 0; + c[d + 240 >> 2] = 0; + c[d + 472 >> 2] = 0; + c[d + 476 >> 2] = 0; + a[d + 484 >> 0] = 0; + a[d + 485 >> 0] = 0; + c[d + 488 >> 2] = 0; + c[d + 492 >> 2] = 0; + return + } + + function JV(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + if (b | 0) { + e = b + 364 | 0; + g = b + 20 | 0; + d = c[b + 360 >> 2] | 0; + while (1) { + if (!d) { + d = c[e >> 2] | 0; + if (!d) break; + c[e >> 2] = 0 + } + h = c[d >> 2] | 0; + tb[c[g >> 2] & 127](c[d + 36 >> 2] | 0); + KV(c[d + 44 >> 2] | 0, b); + tb[c[g >> 2] & 127](d); + d = h + } + e = b + 300 | 0; + d = c[b + 296 >> 2] | 0; + while (1) { + if (!d) { + d = c[e >> 2] | 0; + if (!d) break; + c[e >> 2] = 0 + } + h = c[d + 8 >> 2] | 0; + tb[c[g >> 2] & 127](d); + d = h + } + KV(c[b + 372 >> 2] | 0, b); + KV(c[b + 368 >> 2] | 0, b); + LV(b + 412 | 0); + LV(b + 436 | 0); + d = b + 12 | 0; + tb[c[g >> 2] & 127](c[b + 228 >> 2] | 0); + if ((a[b + 484 >> 0] | 0) == 0 ? (f = c[b + 352 >> 2] | 0, f | 0) : 0) MV(f, (c[b + 472 >> 2] | 0) == 0 & 1, d); + tb[c[g >> 2] & 127](c[b + 388 >> 2] | 0); + tb[c[g >> 2] & 127](c[b + 460 >> 2] | 0); + tb[c[g >> 2] & 127](c[b + 8 >> 2] | 0); + tb[c[g >> 2] & 127](c[b + 44 >> 2] | 0); + tb[c[g >> 2] & 127](c[b + 392 >> 2] | 0); + tb[c[g >> 2] & 127](c[b + 236 >> 2] | 0); + d = c[b + 248 >> 2] | 0; + if (d | 0) tb[d & 127](c[b + 240 >> 2] | 0); + tb[c[g >> 2] & 127](b) + } + return + } + + function KV(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = b + 20 | 0; + while (1) { + if (!a) break; + d = c[a + 4 >> 2] | 0; + tb[c[b >> 2] & 127](c[a + 16 >> 2] | 0); + tb[c[b >> 2] & 127](a); + a = d + } + return + } + + function LV(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 20 | 0; + b = c[a >> 2] | 0; + while (1) { + if (!b) break; + e = c[b >> 2] | 0; + tb[c[(c[d >> 2] | 0) + 8 >> 2] & 127](b); + b = e + } + b = c[a + 4 >> 2] | 0; + while (1) { + if (!b) break; + e = c[b >> 2] | 0; + tb[c[(c[d >> 2] | 0) + 8 >> 2] & 127](b); + b = e + } + return + } + + function MV(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + g = a + 20 | 0; + NV(f, g); + d = d + 8 | 0; + while (1) { + e = OV(f) | 0; + if (!e) break; + if (!(c[e + 16 >> 2] | 0)) continue; + tb[c[d >> 2] & 127](c[e + 20 >> 2] | 0) + } + PV(a); + PV(a + 132 | 0); + PV(g); + PV(a + 40 | 0); + PV(a + 60 | 0); + LV(a + 80 | 0); + LV(a + 104 | 0); + if (b << 24 >> 24) { + tb[c[d >> 2] & 127](c[a + 184 >> 2] | 0); + tb[c[d >> 2] & 127](c[a + 164 >> 2] | 0) + } + tb[c[d >> 2] & 127](a); + l = h; + return + } + + function NV(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[b >> 2] | 0; + c[a >> 2] = d; + c[a + 4 >> 2] = d + (c[b + 8 >> 2] << 2); + return + } + + function OV(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = c[a + 4 >> 2] | 0; + e = c[a >> 2] | 0; + do { + if ((e | 0) == (d | 0)) { + b = 0; + break + } + b = e; + e = e + 4 | 0; + c[a >> 2] = e; + b = c[b >> 2] | 0 + } while (!(b | 0)); + return b | 0 + } + + function PV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + d = a + 8 | 0; + e = a + 16 | 0; + b = 0; + while (1) { + f = c[(c[e >> 2] | 0) + 8 >> 2] | 0; + g = c[a >> 2] | 0; + if (b >>> 0 >= (c[d >> 2] | 0) >>> 0) break; + tb[f & 127](c[g + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + tb[f & 127](g); + return + } + + function QV(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = SV(a) | 0; + if (!f) { + c[a + 276 >> 2] = 57; + f = TV(a, b, d, e) | 0 + } + return f | 0 + } + + function RV(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = 0; + do { + f = e; + e = e + 1 | 0 + } while ((a[b + f >> 0] | 0) != 0); + d = kb[c[d >> 2] & 63](e) | 0; + if (!d) d = 0; else F3(d | 0, b | 0, e | 0) | 0; + return d | 0 + } + + function SV(b) { + b = b | 0; + var d = 0; + d = b + 228 | 0; + if (!(nb[(a[b + 232 >> 0] << 24 >> 24 ? 35 : 34) & 63](b + 148 | 0, b + 144 | 0, c[d >> 2] | 0) | 0)) b = PW(b, c[d >> 2] | 0) | 0; else b = 0; + return b | 0 + } + + function TV(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + g = l; + l = l + 16 | 0; + h = g; + c[h >> 2] = d; + j = b + 144 | 0; + i = c[j >> 2] | 0; + i = ob[c[i >> 2] & 127](i, d, e, h) | 0; + f = UV(b, c[j >> 2] | 0, d, e, i, c[h >> 2] | 0, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + l = g; + return f | 0 + } + + function UV(b, e, f, g, h, i, j, k) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, + A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, + O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, + aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0, ga = 0, ha = 0, ia = 0, ja = 0, ka = 0, la = 0, + ma = 0, na = 0, oa = 0, pa = 0, qa = 0, ra = 0, sa = 0, ta = 0, ua = 0, va = 0, wa = 0, xa = 0, + ya = 0, za = 0, Aa = 0, Ba = 0, Ca = 0, Da = 0, Ea = 0, Fa = 0, Ga = 0; + Ga = l; + l = l + 16 | 0; + Da = Ga; + c[Da >> 2] = i; + r = c[b + 352 >> 2] | 0; + s = b + 144 | 0; + if ((c[s >> 2] | 0) == (e | 0)) { + p = b + 284 | 0; + q = b + 288 | 0; + na = b + 296 | 0 + } else { + na = b + 296 | 0; + q = c[na >> 2] | 0; + p = q; + q = q + 4 | 0 + } + t = k << 24 >> 24 != 0; + pa = b + 252 | 0; + u = b + 80 | 0; + v = b + 476 | 0; + w = b + 84 | 0; + x = b + 320 | 0; + y = b + 412 | 0; + z = b + 316 | 0; + A = b + 424 | 0; + B = b + 428 | 0; + C = b + 324 | 0; + ra = b + 4 | 0; + D = b + 485 | 0; + E = r + 132 | 0; + F = b + 312 | 0; + ta = r + 129 | 0; + G = r + 128 | 0; + H = r + 80 | 0; + I = r + 92 | 0; + J = r + 96 | 0; + K = b + 136 | 0; + L = b + 88 | 0; + M = b + 488 | 0; + va = b + 112 | 0; + wa = r + 131 | 0; + xa = b + 116 | 0; + ya = r + 130 | 0; + za = b + 108 | 0; + Aa = b + 356 | 0; + N = b + 340 | 0; + O = b + 132 | 0; + P = b + 344 | 0; + Q = b + 348 | 0; + R = b + 328 | 0; + S = b + 349 | 0; + T = b + 420 | 0; + U = r + 120 | 0; + V = r + 116 | 0; + W = b + 92 | 0; + X = b + 472 | 0; + Y = b + 336 | 0; + Z = b + 332 | 0; + _ = b + 96 | 0; + $ = b + 256 | 0; + aa = b + 464 | 0; + ba = b + 460 | 0; + ca = r + 160 | 0; + da = r + 184 | 0; + ea = r + 180 | 0; + fa = r + 164 | 0; + ga = b + 128 | 0; + ha = b + 12 | 0; + ia = b + 16 | 0; + ja = b + 268 | 0; + ka = b + 120 | 0; + la = r + 176 | 0; + ma = r + 168 | 0; + o = e; + n = f; + e = h; + a:while (1) { + c[p >> 2] = n; + f = c[Da >> 2] | 0; + c[q >> 2] = f; + i = f; + b:do if ((e | 0) < 1) { + if (t & (e | 0) != 0) { + m = 7; + break a + } + switch (e | 0) { + case -1: { + i = 5; + m = 280; + break a + } + case 0: { + m = 9; + break a + } + case -2: { + i = 6; + break a + } + case -4: { + m = 10; + break a + } + case -15: { + e = 15; + break b + } + default: { + } + } + c[Da >> 2] = g; + e = 0 - e | 0; + i = g + } while (0); + h = pb[c[pa >> 2] & 127](pa, e, n, i, o) | 0; + c:do switch (h | 0) { + case 2: { + m = 58; + break a + } + case -1: { + m = 184; + break a + } + case 1: { + i = VV(b, 0, n, c[Da >> 2] | 0) | 0; + if (i | 0) { + m = 280; + break a + } + i = c[s >> 2] | 0; + break + } + case 4: { + if (!(c[w >> 2] | 0)) i = 1; else { + m = WV(y, o, n, c[Da >> 2] | 0) | 0; + c[z >> 2] = m; + if (!m) { + i = 1; + m = 280; + break a + } + c[B >> 2] = c[A >> 2]; + c[C >> 2] = 0; + i = 0 + } + c[x >> 2] = 0; + m = 274; + break + } + case 7: { + i = c[w >> 2] | 0; + if (!i) m = 275; else { + yb[i & 15](c[ra >> 2] | 0, c[z >> 2] | 0, c[x >> 2] | 0, c[C >> 2] | 0, 1); + c[z >> 2] = 0; + XV(y); + i = o + } + break + } + case 57: { + i = VV(b, 1, n, c[Da >> 2] | 0) | 0; + if (i | 0) { + m = 280; + break a + } + i = c[s >> 2] | 0; + break + } + case 6: { + a[D >> 0] = 0; + m = YV(b, E, 75291, 36) | 0; + c[F >> 2] = m; + if (!m) { + i = 1; + m = 280; + break a + } + a[ta >> 0] = 1; + if (!(c[w >> 2] | 0)) m = 33; else { + if (!(ob[c[o + 52 >> 2] & 127](o, n, c[Da >> 2] | 0, p) | 0)) { + i = 32; + m = 280; + break a + } + i = c[o + 64 >> 2] | 0; + i = WV(y, o, n + i | 0, (c[Da >> 2] | 0) + (0 - i) | 0) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + ZV(i); + c[B >> 2] = c[A >> 2]; + c[C >> 2] = i; + i = 0; + m = 34 + } + break + } + case 14: { + m = 33; + break + } + case 8: { + i = c[z >> 2] | 0; + if (!i) i = 1; else { + yb[c[w >> 2] & 15](c[ra >> 2] | 0, i, c[x >> 2] | 0, c[C >> 2] | 0, 0); + XV(y); + i = 0 + } + if (!((c[x >> 2] | 0) == 0 ? !(a[D >> 0] | 0) : 0)) { + f = a[ta >> 0] | 0; + a[ta >> 0] = 1; + do if (c[M >> 2] | 0 ? c[va >> 2] | 0 : 0) { + h = YV(b, E, 75291, 36) | 0; + if (!h) { + i = 1; + m = 280; + break a + } + if (!(a[D >> 0] | 0)) e = h + 20 | 0; else { + e = h + 20 | 0; + c[e >> 2] = c[Aa >> 2] + } + a[wa >> 0] = 0; + if (!(pb[c[va >> 2] & 127](c[xa >> 2] | 0, 0, c[e >> 2] | 0, c[h + 16 >> 2] | 0, c[h + 24 >> 2] | 0) | 0)) { + i = 21; + m = 280; + break a + } + if (!(a[wa >> 0] | 0)) { + if (c[x >> 2] | 0) break; + a[ta >> 0] = f; + break + } + if (((a[ya >> 0] | 0) == 0 ? (oa = c[za >> 2] | 0, oa | 0) : 0) ? (kb[oa & 63](c[ra >> 2] | 0) | 0) == 0 : 0) { + i = 22; + m = 280; + break a + } + } while (0); + a[D >> 0] = 0 + } + e = c[L >> 2] | 0; + if (!e) m = 274; else { + tb[e & 127](c[ra >> 2] | 0); + i = o + } + break + } + case 34: { + m = $V(b, o, n, c[Da >> 2] | 0) | 0; + c[N >> 2] = m; + if (!m) { + i = 1; + m = 280; + break a + } else m = 80; + break + } + case 22: { + m = aW(b, o, n, c[Da >> 2] | 0) | 0; + c[P >> 2] = m; + if (!m) { + i = 1; + m = 280; + break a + } + a[Q >> 0] = 0; + c[R >> 2] = 0; + a[S >> 0] = 0; + m = 80; + break + } + case 23: { + a[Q >> 0] = 1; + c[R >> 2] = 139106; + m = 80; + break + } + case 24: { + a[S >> 0] = 1; + c[R >> 2] = 139112; + m = 80; + break + } + case 25: { + c[R >> 2] = 139115; + m = 80; + break + } + case 26: { + c[R >> 2] = 139121; + m = 80; + break + } + case 27: { + c[R >> 2] = 139128; + m = 80; + break + } + case 28: { + c[R >> 2] = 139135; + m = 80; + break + } + case 29: { + c[R >> 2] = 139144; + m = 80; + break + } + case 30: { + c[R >> 2] = 139152; + m = 80; + break + } + case 32: + case 31: { + if ((a[G >> 0] | 0) != 0 ? (c[O >> 2] | 0) != 0 : 0) { + if (!(bW(y, (c[R >> 2] | 0) == 0 ? ((h | 0) == 32 ? 139161 : 139171) : 139173) | 0)) { + i = 1; + m = 280; + break a + } + if (!(cW(y, o, n, c[Da >> 2] | 0) | 0)) { + i = 1; + m = 280; + break a + } + c[R >> 2] = c[B >> 2]; + i = o + } else m = 275; + break + } + case 36: + case 35: { + if (a[G >> 0] | 0) { + if (!(dW(c[N >> 2] | 0, c[P >> 2] | 0, a[Q >> 0] | 0, a[S >> 0] | 0, 0, b) | 0)) { + i = 1; + m = 280; + break a + } + if ((c[O >> 2] | 0) != 0 ? (qa = c[R >> 2] | 0, (qa | 0) != 0) : 0) { + switch (a[qa >> 0] | 0) { + case 40: { + m = 93; + break + } + case 78: { + if ((a[qa + 1 >> 0] | 0) == 79) m = 93; + break + } + default: { + } + } + if ((m | 0) == 93) { + m = 0; + i = c[A >> 2] | 0; + if ((i | 0) == (c[T >> 2] | 0)) { + if (!((eW(y) | 0) << 24 >> 24)) { + i = 1; + m = 280; + break a + } + i = c[A >> 2] | 0 + } + c[A >> 2] = i + 1; + a[i >> 0] = 41; + i = c[A >> 2] | 0; + if ((i | 0) == (c[T >> 2] | 0)) { + if (!((eW(y) | 0) << 24 >> 24)) { + i = 1; + m = 280; + break a + } + i = c[A >> 2] | 0 + } + c[A >> 2] = i + 1; + a[i >> 0] = 0; + c[R >> 2] = c[B >> 2]; + c[B >> 2] = c[A >> 2] + } + c[q >> 2] = n; + zb[c[O >> 2] & 15](c[ra >> 2] | 0, c[c[N >> 2] >> 2] | 0, c[c[P >> 2] >> 2] | 0, c[R >> 2] | 0, 0, (h | 0) == 36 & 1); + XV(y); + i = o + } else m = 275 + } else m = 275; + break + } + case 38: + case 37: { + if (a[G >> 0] | 0) { + i = c[o + 64 >> 2] | 0; + i = fW(b, o, a[Q >> 0] | 0, n + i | 0, (c[Da >> 2] | 0) + (0 - i) | 0, H) | 0; + if (i | 0) { + m = 280; + break a + } + e = c[J >> 2] | 0; + c[J >> 2] = c[I >> 2]; + if (!(dW(c[N >> 2] | 0, c[P >> 2] | 0, a[Q >> 0] | 0, 0, e, b) | 0)) { + i = 1; + m = 280; + break a + } + if ((c[O >> 2] | 0) != 0 ? (sa = c[R >> 2] | 0, (sa | 0) != 0) : 0) { + switch (a[sa >> 0] | 0) { + case 40: { + m = 108; + break + } + case 78: { + if ((a[sa + 1 >> 0] | 0) == 79) m = 108; + break + } + default: { + } + } + if ((m | 0) == 108) { + m = 0; + i = c[A >> 2] | 0; + if ((i | 0) == (c[T >> 2] | 0)) { + if (!((eW(y) | 0) << 24 >> 24)) { + i = 1; + m = 280; + break a + } + i = c[A >> 2] | 0 + } + c[A >> 2] = i + 1; + a[i >> 0] = 41; + i = c[A >> 2] | 0; + if ((i | 0) == (c[T >> 2] | 0)) { + if (!((eW(y) | 0) << 24 >> 24)) { + i = 1; + m = 280; + break a + } + i = c[A >> 2] | 0 + } + c[A >> 2] = i + 1; + a[i >> 0] = 0; + c[R >> 2] = c[B >> 2]; + c[B >> 2] = c[A >> 2] + } + c[q >> 2] = n; + zb[c[O >> 2] & 15](c[ra >> 2] | 0, c[c[N >> 2] >> 2] | 0, c[c[P >> 2] >> 2] | 0, c[R >> 2] | 0, e, (h | 0) == 38 & 1); + XV(y); + i = o + } else m = 275 + } else m = 275; + break + } + case 12: { + if (a[G >> 0] | 0) { + i = c[o + 64 >> 2] | 0; + i = gW(b, o, n + i | 0, (c[Da >> 2] | 0) + (0 - i) | 0) | 0; + e = c[F >> 2] | 0; + f = c[U >> 2] | 0; + if (e) { + c[e + 4 >> 2] = f; + c[(c[F >> 2] | 0) + 8 >> 2] = (c[V >> 2] | 0) - (c[U >> 2] | 0); + c[U >> 2] = c[V >> 2]; + if (!(c[K >> 2] | 0)) e = 1; else { + c[q >> 2] = n; + e = c[F >> 2] | 0; + Ab[c[K >> 2] & 0](c[ra >> 2] | 0, c[e >> 2] | 0, d[e + 33 >> 0] | 0, c[e + 4 >> 2] | 0, c[e + 8 >> 2] | 0, c[Aa >> 2] | 0, 0, 0, 0); + e = 0 + } + } else { + c[V >> 2] = f; + e = 1 + } + if (!i) { + i = e; + m = 274 + } else { + m = 280; + break a + } + } else m = 275; + break + } + case 5: { + a[D >> 0] = 0; + a[ta >> 0] = 1; + if (!(c[w >> 2] | 0)) { + c[x >> 2] = 75291; + i = 1 + } else { + m = c[o + 64 >> 2] | 0; + m = WV(y, o, n + m | 0, (c[Da >> 2] | 0) + (0 - m) | 0) | 0; + c[x >> 2] = m; + if (!m) { + i = 1; + m = 280; + break a + } + c[B >> 2] = c[A >> 2]; + i = 0 + } + if ((((a[ya >> 0] | 0) == 0 ? (c[M >> 2] | 0) == 0 : 0) ? (ua = c[za >> 2] | 0, ua | 0) : 0) ? (kb[ua & 63](c[ra >> 2] | 0) | 0) == 0 : 0) { + i = 22; + m = 280; + break a + } + if (!(c[F >> 2] | 0)) { + e = YV(b, E, 75291, 36) | 0; + c[F >> 2] = e; + if (!e) { + i = 1; + m = 280; + break a + } + c[e + 24 >> 2] = 0; + m = 133 + } else m = 133; + break + } + case 13: { + i = 1; + m = 133; + break + } + case 15: { + if (((a[G >> 0] | 0) != 0 ? (c[F >> 2] | 0) != 0 : 0) ? (c[K >> 2] | 0) != 0 : 0) { + c[q >> 2] = n; + i = c[F >> 2] | 0; + Ab[c[K >> 2] & 0](c[ra >> 2] | 0, c[i >> 2] | 0, d[i + 33 >> 0] | 0, 0, 0, c[i + 20 >> 2] | 0, c[i + 16 >> 2] | 0, c[i + 24 >> 2] | 0, 0); + i = o + } else m = 275; + break + } + case 16: { + if ((a[G >> 0] | 0) != 0 ? (c[F >> 2] | 0) != 0 : 0) { + h = WV(H, o, n, c[Da >> 2] | 0) | 0; + c[(c[F >> 2] | 0) + 28 >> 2] = h; + if (!(c[(c[F >> 2] | 0) + 28 >> 2] | 0)) { + i = 1; + m = 280; + break a + } + c[J >> 2] = c[I >> 2]; + if (c[W >> 2] | 0) { + c[q >> 2] = n; + i = c[F >> 2] | 0; + zb[c[W >> 2] & 15](c[ra >> 2] | 0, c[i >> 2] | 0, c[i + 20 >> 2] | 0, c[i + 16 >> 2] | 0, c[i + 24 >> 2] | 0, c[i + 28 >> 2] | 0); + i = o; + break c + } + if (c[K >> 2] | 0) { + c[q >> 2] = n; + i = c[F >> 2] | 0; + Ab[c[K >> 2] & 0](c[ra >> 2] | 0, c[i >> 2] | 0, 0, 0, 0, c[i + 20 >> 2] | 0, c[i + 16 >> 2] | 0, c[i + 24 >> 2] | 0, c[i + 28 >> 2] | 0); + i = o + } else m = 275 + } else m = 275; + break + } + case 9: { + if (nb[c[o + 44 >> 2] & 63](o, n, c[Da >> 2] | 0) | 0) { + c[F >> 2] = 0; + m = 275; + break c + } + if (!(a[G >> 0] | 0)) { + c[I >> 2] = c[J >> 2]; + c[F >> 2] = 0; + m = 275; + break c + } + i = WV(H, o, n, c[Da >> 2] | 0) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + e = YV(b, r, i, 36) | 0; + c[F >> 2] = e; + if (!e) { + i = 1; + m = 280; + break a + } + if ((c[e >> 2] | 0) != (i | 0)) { + c[I >> 2] = c[J >> 2]; + c[F >> 2] = 0; + m = 275; + break c + } + c[J >> 2] = c[I >> 2]; + c[(c[F >> 2] | 0) + 24 >> 2] = 0; + a[(c[F >> 2] | 0) + 33 >> 0] = 0; + if (!(c[X >> 2] | 0)) i = (c[na >> 2] | 0) != 0; else i = 1; + a[(c[F >> 2] | 0) + 34 >> 0] = (i ^ 1) & 1; + if (!(c[K >> 2] | 0)) m = 275; else i = o; + break + } + case 10: { + if (!(a[G >> 0] | 0)) { + c[I >> 2] = c[J >> 2]; + c[F >> 2] = 0; + m = 275; + break c + } + i = WV(H, o, n, c[Da >> 2] | 0) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + e = YV(b, E, i, 36) | 0; + c[F >> 2] = e; + if (!e) { + i = 1; + m = 280; + break a + } + if ((c[e >> 2] | 0) != (i | 0)) { + c[I >> 2] = c[J >> 2]; + c[F >> 2] = 0; + m = 275; + break c + } + c[J >> 2] = c[I >> 2]; + c[(c[F >> 2] | 0) + 24 >> 2] = 0; + a[(c[F >> 2] | 0) + 33 >> 0] = 1; + if (!(c[X >> 2] | 0)) i = (c[na >> 2] | 0) != 0; else i = 1; + a[(c[F >> 2] | 0) + 34 >> 0] = (i ^ 1) & 1; + if (!(c[K >> 2] | 0)) m = 275; else i = o; + break + } + case 18: { + c[Y >> 2] = 0; + c[Z >> 2] = 0; + if (!(c[_ >> 2] | 0)) m = 275; else { + n = WV(y, o, n, c[Da >> 2] | 0) | 0; + c[Z >> 2] = n; + if (!n) { + i = 1; + m = 280; + break a + } + c[B >> 2] = c[A >> 2]; + i = o + } + break + } + case 21: { + if (!(ob[c[o + 52 >> 2] & 127](o, n, c[Da >> 2] | 0, p) | 0)) { + i = 32; + m = 280; + break a + } + if (!(c[Z >> 2] | 0)) m = 275; else { + i = c[o + 64 >> 2] | 0; + i = WV(y, o, n + i | 0, (c[Da >> 2] | 0) + (0 - i) | 0) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + ZV(i); + c[Y >> 2] = i; + c[B >> 2] = c[A >> 2]; + i = o + } + break + } + case 19: { + if ((c[Z >> 2] | 0) != 0 ? (c[_ >> 2] | 0) != 0 : 0) { + i = c[o + 64 >> 2] | 0; + i = WV(y, o, n + i | 0, (c[Da >> 2] | 0) + (0 - i) | 0) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + c[q >> 2] = n; + yb[c[_ >> 2] & 15](c[ra >> 2] | 0, c[Z >> 2] | 0, c[Aa >> 2] | 0, i, c[Y >> 2] | 0); + i = 0 + } else i = 1; + XV(y); + m = 274; + break + } + case 20: { + if ((c[Y >> 2] | 0) != 0 ? (c[_ >> 2] | 0) != 0 : 0) { + c[q >> 2] = n; + yb[c[_ >> 2] & 15](c[ra >> 2] | 0, c[Z >> 2] | 0, c[Aa >> 2] | 0, 0, c[Y >> 2] | 0); + i = 0 + } else i = 1; + XV(y); + m = 274; + break + } + case 58: { + if (c[u >> 2] | 0) hW(b, o, n, c[Da >> 2] | 0); + i = iW(b, o, Da, g, j, k) | 0; + if (i | 0) { + m = 280; + break a + } + if (!(c[Da >> 2] | 0)) { + m = 189; + break a + } else i = o; + break + } + case 44: { + i = c[aa >> 2] | 0; + do if ((c[$ >> 2] | 0) >>> 0 >= i >>> 0) { + if (!i) { + h = c[ha >> 2] | 0; + c[aa >> 2] = 32; + h = kb[h & 63](32) | 0; + c[ba >> 2] = h; + if (!h) { + m = 198; + break a + } else break + } + f = c[ia >> 2] | 0; + h = c[ba >> 2] | 0; + i = i << 1; + c[aa >> 2] = i; + i = lb[f & 127](h, i) | 0; + if (!i) { + m = 193; + break a + } + c[ba >> 2] = i; + i = c[da >> 2] | 0; + if (i | 0) { + i = lb[c[ia >> 2] & 127](i, c[aa >> 2] << 2) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + c[da >> 2] = i + } + } while (0); + a[(c[ba >> 2] | 0) + (c[$ >> 2] | 0) >> 0] = 0; + if (a[ca >> 0] | 0) { + i = kW(b) | 0; + if ((i | 0) < 0) { + i = 1; + m = 280; + break a + } + c[(c[da >> 2] | 0) + (c[ea >> 2] << 2) >> 2] = i; + c[ea >> 2] = (c[ea >> 2] | 0) + 1; + c[(c[fa >> 2] | 0) + (i * 28 | 0) >> 2] = 6; + if (c[ga >> 2] | 0) i = o; else m = 275 + } else m = 275; + break + } + case 50: { + i = (c[ba >> 2] | 0) + (c[$ >> 2] | 0) | 0; + if ((a[i >> 0] | 0) == 124) { + i = 2; + m = 280; + break a + } + a[i >> 0] = 44; + if ((a[ca >> 0] | 0) != 0 ? (c[ga >> 2] | 0) != 0 : 0) i = o; else m = 275; + break + } + case 49: { + f = c[ba >> 2] | 0; + e = c[$ >> 2] | 0; + i = a[f + e >> 0] | 0; + if (i << 24 >> 24 == 44) { + i = 2; + m = 280; + break a + } + if (i << 24 >> 24 == 0 & (a[ca >> 0] | 0) != 0 ? (Ba = (c[fa >> 2] | 0) + ((c[(c[da >> 2] | 0) + ((c[ea >> 2] | 0) + -1 << 2) >> 2] | 0) * 28 | 0) | 0, (c[Ba >> 2] | 0) != 3) : 0) { + c[Ba >> 2] = 5; + i = (c[ga >> 2] | 0) == 0 & 1; + f = c[ba >> 2] | 0; + e = c[$ >> 2] | 0 + } else i = 1; + a[f + e >> 0] = 124; + m = 274; + break + } + case 59: + case 60: { + a[ta >> 0] = 1; + if (c[M >> 2] | 0) { + e = c[o + 64 >> 2] | 0; + e = WV(H, o, n + e | 0, (c[Da >> 2] | 0) + (0 - e) | 0) | 0; + if (!e) { + i = 1; + m = 280; + break a + } + f = YV(b, E, e, 0) | 0; + c[I >> 2] = c[J >> 2]; + do if (c[ja >> 2] | 0) { + if (!(a[ya >> 0] | 0)) { + if (a[ta >> 0] | 0) { + m = 219; + break + } + } else if (c[na >> 2] | 0) { + m = 219; + break + } + if (!f) { + i = 11; + m = 280; + break a + } + if (!(a[f + 34 >> 0] | 0)) { + i = 24; + m = 280; + break a + } + } else m = 219; while (0); + if ((m | 0) == 219 ? (m = 0, (f | 0) == 0) : 0) { + a[G >> 0] = a[ya >> 0] | 0; + if ((h | 0) != 60) { + m = 275; + break c + } + i = c[ka >> 2] | 0; + if (!i) { + m = 275; + break c + } + vb[i & 127](c[ra >> 2] | 0, e, 1); + i = o; + break c + } + i = f + 32 | 0; + if (a[i >> 0] | 0) { + i = 12; + m = 280; + break a + } + if (c[f + 4 >> 2] | 0) { + i = lW(b, f, (h | 0) == 60 & 1) | 0; + e = (i | 0) == 0; + if (e) { + i = (e ^ 1) & 1; + m = 274; + break c + } else { + m = 280; + break a + } + } + if (!(c[va >> 2] | 0)) { + a[G >> 0] = a[ya >> 0] | 0; + m = 275; + break c + } + a[wa >> 0] = 0; + a[i >> 0] = 1; + h = (pb[c[va >> 2] & 127](c[xa >> 2] | 0, 0, c[f + 20 >> 2] | 0, c[f + 16 >> 2] | 0, c[f + 24 >> 2] | 0) | 0) == 0; + a[i >> 0] = 0; + if (h) { + i = 21; + m = 280; + break a + } + e = a[ya >> 0] | 0; + if (!(a[wa >> 0] | 0)) { + a[G >> 0] = e; + i = o; + break c + } else i = 0 + } else { + e = a[ya >> 0] | 0; + a[G >> 0] = e; + i = 1 + } + if ((e << 24 >> 24 == 0 ? (Ca = c[za >> 2] | 0, (Ca | 0) != 0) : 0) ? (kb[Ca & 63](c[ra >> 2] | 0) | 0) == 0 : 0) { + i = 22; + m = 280; + break a + } else m = 274; + break + } + case 40: { + if (!(c[ga >> 2] | 0)) m = 275; else { + n = $V(b, o, n, c[Da >> 2] | 0) | 0; + c[N >> 2] = n; + if (!n) { + i = 1; + m = 280; + break a + } + c[ea >> 2] = 0; + c[la >> 2] = 0; + a[ca >> 0] = 1; + i = o + } + break + } + case 42: + case 41: { + if (!(a[ca >> 0] | 0)) m = 275; else { + if (!(c[ga >> 2] | 0)) i = 1; else { + i = kb[c[ha >> 2] & 63](20) | 0; + if (!i) { + i = 1; + m = 280; + break a + } + m = i + 4 | 0; + c[m >> 2] = 0; + c[m + 4 >> 2] = 0; + c[m + 8 >> 2] = 0; + c[m + 12 >> 2] = 0; + c[i >> 2] = (h | 0) == 41 ? 2 : 1; + c[q >> 2] = n; + vb[c[ga >> 2] & 127](c[ra >> 2] | 0, c[c[N >> 2] >> 2] | 0, i); + i = 0 + } + a[ca >> 0] = 0; + m = 274 + } + break + } + case 43: { + if ((a[ca >> 0] | 0) != 0 ? (c[(c[fa >> 2] | 0) + ((c[(c[da >> 2] | 0) + ((c[ea >> 2] | 0) + -1 << 2) >> 2] | 0) * 28 | 0) >> 2] = 3, (c[ga >> 2] | 0) != 0) : 0) i = o; else m = 275; + break + } + case 51: { + e = 0; + m = 247; + break + } + case 53: { + e = 1; + m = 247; + break + } + case 52: { + e = 2; + m = 247; + break + } + case 54: { + e = 3; + m = 247; + break + } + case 45: { + f = 0; + m = 258; + break + } + case 47: { + f = 1; + m = 258; + break + } + case 46: { + f = 2; + m = 258; + break + } + case 48: { + f = 3; + m = 258; + break + } + case 55: { + if (!(nW(b, o, n, c[Da >> 2] | 0) | 0)) { + i = 1; + m = 280; + break a + } else i = o; + break + } + case 56: { + if (!(oW(b, o, n, c[Da >> 2] | 0) | 0)) { + i = 1; + m = 280; + break a + } else i = o; + break + } + case 0: { + if ((e | 0) == 14) i = o; else m = 275; + break + } + case 3: { + if (!(c[w >> 2] | 0)) m = 275; else i = o; + break + } + case 11: { + if ((a[G >> 0] | 0) != 0 ? (c[K >> 2] | 0) != 0 : 0) i = o; else m = 275; + break + } + case 17: { + if (!(c[_ >> 2] | 0)) m = 275; else i = o; + break + } + case 33: { + if ((a[G >> 0] | 0) != 0 ? (c[O >> 2] | 0) != 0 : 0) i = o; else m = 275; + break + } + case 39: { + if (!(c[ga >> 2] | 0)) m = 275; else i = o; + break + } + default: + m = 275 + } while (0); + if ((m | 0) == 33) if (!(ob[c[o + 52 >> 2] & 127](o, n, c[Da >> 2] | 0, p) | 0)) { + i = 32; + m = 280; + break + } else { + i = 1; + m = 34 + } else if ((m | 0) == 80) { + m = 0; + if ((a[G >> 0] | 0) != 0 ? (c[O >> 2] | 0) != 0 : 0) i = o; else m = 275 + } else if ((m | 0) == 133) { + m = 0; + if ((a[G >> 0] | 0) != 0 ? (c[F >> 2] | 0) != 0 : 0) { + e = c[o + 64 >> 2] | 0; + e = WV(H, o, n + e | 0, (c[Da >> 2] | 0) + (0 - e) | 0) | 0; + c[(c[F >> 2] | 0) + 16 >> 2] = e; + e = c[F >> 2] | 0; + if (!(c[e + 16 >> 2] | 0)) { + i = 1; + m = 280; + break + } + c[e + 20 >> 2] = c[Aa >> 2]; + c[J >> 2] = c[I >> 2]; + if ((h | 0) == 13 & (c[K >> 2] | 0) != 0) i = o; else m = 274 + } else m = 274 + } else if ((m | 0) == 247) { + m = 0; + if (a[ca >> 0] | 0) { + i = c[Da >> 2] | 0; + if (e) i = i + (0 - (c[o + 64 >> 2] | 0)) | 0; + f = kW(b) | 0; + if ((f | 0) < 0) { + i = 1; + m = 280; + break + } + c[(c[fa >> 2] | 0) + (f * 28 | 0) >> 2] = 4; + c[(c[fa >> 2] | 0) + (f * 28 | 0) + 4 >> 2] = e; + i = $V(b, o, n, i) | 0; + if (!i) { + i = 1; + m = 280; + break + } + e = c[i >> 2] | 0; + c[(c[fa >> 2] | 0) + (f * 28 | 0) + 8 >> 2] = e; + i = 0; + do { + h = i; + i = i + 1 | 0 + } while ((a[e + h >> 0] | 0) != 0); + c[ma >> 2] = (c[ma >> 2] | 0) + i; + if (c[ga >> 2] | 0) i = o; else m = 275 + } else m = 275 + } else if ((m | 0) == 258) if (a[ca >> 0] | 0) { + e = (c[ga >> 2] | 0) == 0; + i = e & 1; + m = (c[ea >> 2] | 0) + -1 | 0; + c[ea >> 2] = m; + c[(c[fa >> 2] | 0) + ((c[(c[da >> 2] | 0) + (m << 2) >> 2] | 0) * 28 | 0) + 4 >> 2] = f; + if (!(c[ea >> 2] | 0)) { + if (!e) { + e = mW(b) | 0; + if (!e) { + i = 1; + m = 280; + break + } + c[q >> 2] = n; + vb[c[ga >> 2] & 127](c[ra >> 2] | 0, c[c[N >> 2] >> 2] | 0, e) + } + a[ca >> 0] = 0; + c[ma >> 2] = 0; + m = 274 + } else m = 274 + } else m = 275; + if ((m | 0) == 34) { + m = 0; + if ((a[G >> 0] | 0) != 0 ? (c[F >> 2] | 0) != 0 : 0) { + e = c[o + 64 >> 2] | 0; + e = WV(H, o, n + e | 0, (c[Da >> 2] | 0) + (0 - e) | 0) | 0; + if (!e) { + i = 1; + m = 280; + break + } + ZV(e); + c[(c[F >> 2] | 0) + 24 >> 2] = e; + c[J >> 2] = c[I >> 2]; + if ((h | 0) == 14 & (c[K >> 2] | 0) != 0) i = o; else m = 274 + } else m = 274 + } + if ((m | 0) == 274) { + m = 0; + if (!(i << 24 >> 24)) i = o; else m = 275 + } + if ((m | 0) == 275) { + m = 0; + if (!(c[u >> 2] | 0)) i = o; else { + hW(b, o, n, c[Da >> 2] | 0); + i = o + } + } + switch (c[v >> 2] | 0) { + case 3: { + m = 278; + break a + } + case 2: { + i = 35; + m = 280; + break a + } + default: { + } + } + e = c[Da >> 2] | 0; + o = i; + n = e; + e = ob[c[i >> 2] & 127](i, e, g, Da) | 0 + } + d:switch (m | 0) { + case 7: { + c[j >> 2] = n; + i = 0; + break + } + case 9: { + c[p >> 2] = f; + i = 4; + break + } + case 10: { + i = (o | 0) == (c[s >> 2] | 0); + if (!i ? (a[(c[na >> 2] | 0) + 20 >> 0] | 0) == 0 : 0) { + c[j >> 2] = n; + i = 0; + break + } + if ((a[b + 484 >> 0] | 0) != 0 | i ^ 1) if ((pb[c[pa >> 2] & 127](pa, -4, g, g, o) | 0) == -1) i = 29; else { + c[j >> 2] = n; + i = 0 + } else i = 3; + break + } + case 58: { + do if ((a[D >> 0] | 0 ? (Ea = a[ta >> 0] | 0, a[ta >> 0] = 1, c[M >> 2] | 0) : 0) ? c[va >> 2] | 0 : 0) { + i = YV(b, E, 75291, 36) | 0; + if (!i) { + i = 1; + break d + } + Da = i + 20 | 0; + c[Da >> 2] = c[Aa >> 2]; + a[wa >> 0] = 0; + if (!(pb[c[va >> 2] & 127](c[xa >> 2] | 0, 0, c[Da >> 2] | 0, c[i + 16 >> 2] | 0, c[i + 24 >> 2] | 0) | 0)) { + i = 21; + break d + } + if (!(a[wa >> 0] | 0)) { + a[ta >> 0] = Ea; + break + } + if (((a[ya >> 0] | 0) == 0 ? (Fa = c[za >> 2] | 0, Fa | 0) : 0) ? (kb[Fa & 63](c[ra >> 2] | 0) | 0) == 0 : 0) { + i = 22; + break d + } + } while (0); + c[b + 276 >> 2] = 58; + i = _V(b, n, g, j) | 0; + break + } + case 184: { + i = (e | 0) == 28 ? 10 : (e | 0) == 12 ? 17 : 2; + break + } + case 189: { + c[b + 276 >> 2] = 59; + i = 0; + break + } + case 193: { + c[aa >> 2] = (c[aa >> 2] | 0) >>> 1; + i = 1; + break + } + case 198: { + c[aa >> 2] = 0; + i = 1; + break + } + case 278: { + c[j >> 2] = c[Da >> 2]; + i = 0; + break + } + case 280: + break + } + l = Ga; + return i | 0 + } + + function VV(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 32 | 0; + p = q + 16 | 0; + m = q + 12 | 0; + i = q + 8 | 0; + j = q + 4 | 0; + k = q; + c[p >> 2] = 0; + c[m >> 2] = 0; + c[i >> 2] = 0; + c[k >> 2] = -1; + n = b + 144 | 0; + o = b + 284 | 0; + g = (d | 0) != 0; + a:do if (rb[(a[b + 232 >> 0] << 24 >> 24 ? 2 : 1) & 3](d, c[n >> 2] | 0, e, f, o, i, j, p, m, k) | 0) { + if ((c[k >> 2] | 0) == 1 & (g ^ 1) ? (a[(c[b + 352 >> 2] | 0) + 130 >> 0] = 1, h = b + 488 | 0, (c[h >> 2] | 0) == 1) : 0) c[h >> 2] = 0; + h = b + 140 | 0; + if (!(c[h >> 2] | 0)) if (!(c[b + 80 >> 2] | 0)) { + e = 0; + d = 0 + } else { + hW(b, c[n >> 2] | 0, e, f); + e = 0; + d = 0 + } else { + d = c[p >> 2] | 0; + if (!d) d = 0; else { + f = c[n >> 2] | 0; + d = WV(b + 436 | 0, f, d, d + (lb[c[f + 28 >> 2] & 127](f, d) | 0) | 0) | 0; + if (!d) { + d = 1; + break + } + c[b + 452 >> 2] = c[b + 448 >> 2] + } + g = c[i >> 2] | 0; + if (g) { + i = c[n >> 2] | 0; + g = WV(b + 436 | 0, i, g, (c[j >> 2] | 0) + (0 - (c[i + 64 >> 2] | 0)) | 0) | 0; + if (!g) { + d = 1; + break + } + } else g = 0; + xb[c[h >> 2] & 31](c[b + 4 >> 2] | 0, g, d, c[k >> 2] | 0); + e = g + } + do if (!(c[b + 228 >> 2] | 0)) { + g = c[m >> 2] | 0; + h = g; + if (g | 0) { + k = c[g + 64 >> 2] | 0; + m = c[n >> 2] | 0; + if ((k | 0) == (c[m + 64 >> 2] | 0) ? (k | 0) != 2 | (g | 0) == (m | 0) : 0) { + c[n >> 2] = h; + break + } + c[o >> 2] = c[p >> 2]; + d = 19; + break a + } + g = c[p >> 2] | 0; + if (g | 0) { + h = b + 436 | 0; + if (!d) { + d = c[n >> 2] | 0; + d = WV(h, d, g, g + (lb[c[d + 28 >> 2] & 127](d, g) | 0) | 0) | 0; + if (!d) { + d = 1; + break a + } + } + d = PW(b, d) | 0; + XV(h); + if ((d | 0) != 18) break a; + c[o >> 2] = c[p >> 2]; + d = 18; + break a + } + } while (0); + if ((d | 0) != 0 | (e | 0) != 0) { + XV(b + 436 | 0); + d = 0 + } else d = 0 + } else d = g ? 31 : 30; while (0); + l = q; + return d | 0 + } + + function WV(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + do if (!(cW(b, d, e, f) | 0)) d = 0; else { + e = b + 12 | 0; + d = c[e >> 2] | 0; + if ((d | 0) == (c[b + 8 >> 2] | 0)) { + if (!((eW(b) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[e >> 2] | 0 + } + c[e >> 2] = d + 1; + a[d >> 0] = 0; + d = c[b + 16 >> 2] | 0 + } while (0); + return d | 0 + } + + function XV(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + e = a + 4 | 0; + b = c[e >> 2] | 0; + a:do if (!b) { + c[e >> 2] = c[a >> 2]; + b = a + } else { + d = c[a >> 2] | 0; + while (1) { + if (!d) { + b = a; + break a + } + g = c[d >> 2] | 0; + c[d >> 2] = b; + c[e >> 2] = d; + f = d; + d = g; + b = f + } + } while (0); + c[b >> 2] = 0; + c[a + 16 >> 2] = 0; + c[a + 12 >> 2] = 0; + c[a + 8 >> 2] = 0; + return + } + + function YV(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0; + w = e + 8 | 0; + a:do if (!(c[w >> 2] | 0)) if (g) { + a[e + 4 >> 0] = 6; + c[w >> 2] = 64; + h = e + 16 | 0; + i = kb[c[c[h >> 2] >> 2] & 63](256) | 0; + c[e >> 2] = i; + if (!i) { + c[w >> 2] = 0; + h = 0; + break + } else { + H3(i | 0, 0, 256) | 0; + j = NW(b, f) | 0; + j = (c[w >> 2] | 0) + -1 & j; + i = e; + o = 27; + break + } + } else h = 0; else { + v = NW(b, f) | 0; + k = c[w >> 2] | 0; + j = k + -1 | 0; + l = c[e >> 2] | 0; + m = v & 0 - k; + u = e + 4 | 0; + n = j >>> 2; + i = 0; + j = j & v; + while (1) { + h = c[l + (j << 2) >> 2] | 0; + if (!h) break; + if ((OW(f, c[h >> 2] | 0) | 0) << 24 >> 24) break a; + if (!(i << 24 >> 24)) h = (m >>> ((d[u >> 0] | 0) + -1 | 0) & n | 1) & 255; else h = i; + t = h & 255; + i = h; + j = j - t + (j >>> 0 < t >>> 0 ? k : 0) | 0 + } + if (g) { + i = a[u >> 0] | 0; + h = i & 255; + if (!((c[e + 12 >> 2] | 0) >>> (h + -1 | 0))) { + h = e + 16 | 0; + i = e; + o = 27; + break + } + q = h + 1 & 255; + j = i + 1 & 255; + s = 1 << j; + r = s + -1 | 0; + i = s << 2; + h = e + 16 | 0; + t = kb[c[c[h >> 2] >> 2] & 63](i) | 0; + if (t) { + H3(t | 0, 0, i | 0) | 0; + p = 0 - s | 0; + n = j + -1 | 0; + o = r >>> 2; + m = 0; + while (1) { + if (m >>> 0 >= (c[w >> 2] | 0) >>> 0) break; + i = c[(c[e >> 2] | 0) + (m << 2) >> 2] | 0; + if (i | 0) { + i = NW(b, c[i >> 2] | 0) | 0; + k = ((i & p) >>> n & o | 1) & 255; + i = i & r; + j = 0; + while (1) { + l = t + (i << 2) | 0; + if (!(c[l >> 2] | 0)) break; + l = j << 24 >> 24 == 0 ? k : j; + x = l & 255; + i = i + (i >>> 0 < x >>> 0 ? s : 0) - x | 0; + j = l + } + c[l >> 2] = c[(c[e >> 2] | 0) + (m << 2) >> 2] + } + m = m + 1 | 0 + } + tb[c[(c[h >> 2] | 0) + 8 >> 2] & 127](c[e >> 2] | 0); + c[e >> 2] = t; + a[u >> 0] = q; + c[w >> 2] = s; + k = ((v & p) >>> n & o | 1) & 255; + i = r & v; + j = 0; + while (1) { + if (!(c[t + (i << 2) >> 2] | 0)) { + j = i; + i = e; + o = 27; + break a + } + x = j << 24 >> 24 == 0 ? k : j; + w = x & 255; + i = i + (i >>> 0 < w >>> 0 ? s : 0) - w | 0; + j = x + } + } else h = 0 + } else h = 0 + } while (0); + if ((o | 0) == 27) { + h = kb[c[c[h >> 2] >> 2] & 63](g) | 0; + c[(c[i >> 2] | 0) + (j << 2) >> 2] = h; + h = c[(c[i >> 2] | 0) + (j << 2) >> 2] | 0; + if (!h) h = 0; else { + H3(h | 0, 0, g | 0) | 0; + c[c[(c[i >> 2] | 0) + (j << 2) >> 2] >> 2] = f; + h = e + 12 | 0; + c[h >> 2] = (c[h >> 2] | 0) + 1; + h = c[(c[i >> 2] | 0) + (j << 2) >> 2] | 0 + } + } + return h | 0 + } + + function ZV(b) { + b = b | 0; + var c = 0, d = 0, e = 0; + e = b; + c = b; + while (1) { + d = a[e >> 0] | 0; + if (!(d << 24 >> 24)) break; + switch (d << 24 >> 24 | 0) { + case 10: + case 13: + case 32: { + if ((c | 0) != (b | 0)) { + if ((a[c + -1 >> 0] | 0) != 32) { + a[c >> 0] = 32; + c = c + 1 | 0 + } + } else c = b; + break + } + default: { + a[c >> 0] = d; + c = c + 1 | 0 + } + } + e = e + 1 | 0 + } + if ((c | 0) != (b | 0)) { + b = c + -1 | 0; + b = (a[b >> 0] | 0) == 32 ? b : c + } + a[b >> 0] = 0; + return + } + + function _V(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + d = rW(b, 0, c[b + 144 >> 2] | 0, d, e, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + if ((d | 0) == 0 ? (AW(b) | 0) << 24 >> 24 == 0 : 0) d = 1; + return d | 0 + } + + function $V(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = c[a + 352 >> 2] | 0; + b = WV(g + 80 | 0, b, d, e) | 0; + do if ((b | 0) != 0 ? (f = YV(a, g + 20 | 0, b, 24) | 0, (f | 0) != 0) : 0) if ((c[f >> 2] | 0) == (b | 0)) { + c[g + 96 >> 2] = c[g + 92 >> 2]; + if (!(CW(a, f) | 0)) { + f = 0; + break + } + } else c[g + 92 >> 2] = c[g + 96 >> 2]; else f = 0; while (0); + return f | 0 + } + + function aW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + m = c[b + 352 >> 2] | 0; + k = m + 80 | 0; + n = m + 92 | 0; + h = c[n >> 2] | 0; + l = m + 88 | 0; + if ((h | 0) == (c[l >> 2] | 0)) if (!((eW(k) | 0) << 24 >> 24)) g = 0; else { + h = c[n >> 2] | 0; + i = 4 + } else i = 4; + a:do if ((i | 0) == 4) { + c[n >> 2] = h + 1; + a[h >> 0] = 0; + d = WV(k, d, e, f) | 0; + if ((d | 0) != 0 ? (j = d + 1 | 0, g = YV(b, m + 40 | 0, j, 12) | 0, (g | 0) != 0) : 0) { + if ((c[g >> 2] | 0) != (j | 0)) { + c[n >> 2] = c[m + 96 >> 2]; + break + } + h = c[n >> 2] | 0; + i = m + 96 | 0; + c[i >> 2] = h; + if (a[b + 232 >> 0] | 0) { + e = a[j >> 0] | 0; + b:do if (e << 24 >> 24 == 120) if ((((a[d + 2 >> 0] | 0) == 109 ? (a[d + 3 >> 0] | 0) == 108 : 0) ? (a[d + 4 >> 0] | 0) == 110 : 0) ? (a[d + 5 >> 0] | 0) == 115 : 0) { + switch (a[d + 6 >> 0] | 0) { + case 0: { + h = m + 152 | 0; + break + } + case 58: { + h = YV(b, m + 60 | 0, d + 7 | 0, 8) | 0; + break + } + default: { + f = 0; + d = 120; + break b + } + } + c[g + 4 >> 2] = h; + a[g + 9 >> 0] = 1; + break a + } else { + f = 0; + d = 120 + } else { + f = 0; + d = e + } while (0); + c:while (1) { + switch (d << 24 >> 24) { + case 0: + break a; + case 58: { + e = 0; + break c + } + default: { + } + } + d = f + 1 | 0; + f = d; + d = a[j + d >> 0] | 0 + } + while (1) { + d = (h | 0) == (c[l >> 2] | 0); + if ((e | 0) >= (f | 0)) break; + if (d) { + if (!((eW(k) | 0) << 24 >> 24)) { + g = 0; + break a + } + h = c[n >> 2] | 0 + } + d = a[j + e >> 0] | 0; + c[n >> 2] = h + 1; + a[h >> 0] = d; + e = e + 1 | 0; + h = c[n >> 2] | 0 + } + if (d) { + if (!((eW(k) | 0) << 24 >> 24)) { + g = 0; + break + } + h = c[n >> 2] | 0 + } + c[n >> 2] = h + 1; + a[h >> 0] = 0; + h = YV(b, m + 60 | 0, c[i >> 2] | 0, 8) | 0; + c[g + 4 >> 2] = h; + if (h) { + d = c[i >> 2] | 0; + if ((c[h >> 2] | 0) == (d | 0)) { + c[i >> 2] = c[n >> 2]; + break + } else { + c[n >> 2] = d; + break + } + } else g = 0 + } + } else g = 0 + } while (0); + return g | 0 + } + + function bW(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + g = b + 12 | 0; + h = b + 8 | 0; + while (1) { + e = a[d >> 0] | 0; + if (!(e << 24 >> 24)) { + i = 7; + break + } + f = c[g >> 2] | 0; + if ((f | 0) == (c[h >> 2] | 0)) { + if (!((eW(b) | 0) << 24 >> 24)) { + d = 0; + break + } + f = c[g >> 2] | 0; + e = a[d >> 0] | 0 + } + c[g >> 2] = f + 1; + a[f >> 0] = e; + d = d + 1 | 0 + } + if ((i | 0) == 7) d = c[b + 16 >> 2] | 0; + return d | 0 + } + + function cW(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + c[h >> 2] = d; + g = a + 12 | 0; + if ((c[g >> 2] | 0) == 0 ? (eW(a) | 0) << 24 >> 24 == 0 : 0) d = 0; else f = 3; + a:do if ((f | 0) == 3) { + d = b + 56 | 0; + f = a + 8 | 0; + while (1) { + if ((pb[c[d >> 2] & 127](b, h, e, g, c[f >> 2] | 0) | 0) >>> 0 < 2) break; + if (!((eW(a) | 0) << 24 >> 24)) { + d = 0; + break a + } + } + d = c[a + 16 >> 2] | 0 + } while (0); + l = i; + return d | 0 + } + + function dW(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + i = f << 24 >> 24 == 0; + n = b + 12 | 0; + m = c[n >> 2] | 0; + a:do if (!(i & (g | 0) == 0)) { + j = b + 20 | 0; + f = 0; + while (1) { + if ((f | 0) >= (m | 0)) break; + if ((c[(c[j >> 2] | 0) + (f * 12 | 0) >> 2] | 0) == (d | 0)) { + f = 1; + break a + } else f = f + 1 | 0 + } + if ((!i ? (k = b + 8 | 0, (c[k >> 2] | 0) == 0) : 0) ? (a[d + 9 >> 0] | 0) == 0 : 0) { + c[k >> 2] = d; + l = 9 + } else l = 9 + } else l = 9; while (0); + b:do if ((l | 0) == 9) { + j = b + 16 | 0; + do if ((m | 0) == (c[j >> 2] | 0)) if (!m) { + c[j >> 2] = 8; + f = kb[c[h + 12 >> 2] & 63](96) | 0; + c[b + 20 >> 2] = f; + if (f | 0) break; + c[j >> 2] = 0; + f = 0; + break b + } else { + i = b + 20 | 0; + f = lb[c[h + 16 >> 2] & 127](c[i >> 2] | 0, m * 24 | 0) | 0; + if (!f) { + f = 0; + break b + } + c[j >> 2] = m << 1; + c[i >> 2] = f; + break + } else f = c[b + 20 >> 2] | 0; while (0); + h = c[n >> 2] | 0; + c[f + (h * 12 | 0) >> 2] = d; + c[f + (h * 12 | 0) + 8 >> 2] = g; + a[f + (h * 12 | 0) + 4 >> 0] = e; + if (!(e << 24 >> 24)) a[d + 8 >> 0] = 1; + c[n >> 2] = (c[n >> 2] | 0) + 1; + f = 1 + } while (0); + return f | 0 + } + + function eW(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + b = a + 4 | 0; + e = c[b >> 2] | 0; + do if (e) { + f = a + 16 | 0; + g = c[f >> 2] | 0; + if (!g) { + c[a >> 2] = e; + c[b >> 2] = c[e >> 2]; + c[e >> 2] = 0; + l = c[a >> 2] | 0; + b = l + 8 | 0; + c[f >> 2] = b; + c[a + 8 >> 2] = (c[l + 4 >> 2] | 0) + (l + 8); + c[a + 12 >> 2] = b; + b = 1; + break + } + d = a + 8 | 0; + if (((c[d >> 2] | 0) - g | 0) < (c[e + 4 >> 2] | 0)) { + k = c[e >> 2] | 0; + c[e >> 2] = c[a >> 2]; + l = c[b >> 2] | 0; + c[a >> 2] = l; + c[b >> 2] = k; + b = c[f >> 2] | 0; + F3(l + 8 | 0, b | 0, (c[d >> 2] | 0) - b | 0) | 0; + b = c[a >> 2] | 0; + l = a + 12 | 0; + c[l >> 2] = (c[l >> 2] | 0) - (c[f >> 2] | 0) + (b + 8); + c[f >> 2] = b + 8; + c[d >> 2] = (c[b + 4 >> 2] | 0) + (b + 8); + b = 1 + } else h = 6 + } else h = 6; while (0); + a:do if ((h | 0) == 6) { + e = c[a >> 2] | 0; + k = a + 16 | 0; + do if (!e) { + i = k; + b = c[k >> 2] | 0 + } else { + j = c[k >> 2] | 0; + b = j; + if ((j | 0) != (e + 8 | 0)) { + i = k; + break + } + f = a + 8 | 0; + g = (c[f >> 2] | 0) - b << 1; + h = a + 12 | 0; + d = (c[h >> 2] | 0) - b | 0; + if ((g | 0) < 0) { + b = 0; + break a + } + b = MW(g) | 0; + if (!b) { + b = 0; + break a + } + b = lb[c[(c[a + 20 >> 2] | 0) + 4 >> 2] & 127](e, b) | 0; + if (!b) { + b = 0; + break a + } + c[a >> 2] = b; + c[b + 4 >> 2] = g; + b = c[a >> 2] | 0; + c[h >> 2] = b + 8 + d; + c[k >> 2] = b + 8; + c[f >> 2] = b + 8 + g; + b = 1; + break a + } while (0); + j = a + 8 | 0; + b = (c[j >> 2] | 0) - b | 0; + if ((b | 0) >= 0) { + if ((b | 0) >= 1024) { + b = b << 1; + if ((b | 0) < 0) { + b = 0; + break + } + } else b = 1024; + d = MW(b) | 0; + if ((d | 0) != 0 ? (l = kb[c[c[a + 20 >> 2] >> 2] & 63](d) | 0, (l | 0) != 0) : 0) { + c[l + 4 >> 2] = b; + c[l >> 2] = c[a >> 2]; + c[a >> 2] = l; + h = a + 12 | 0; + a = c[h >> 2] | 0; + e = c[k >> 2] | 0; + d = a; + f = e; + if ((a | 0) == (e | 0)) { + g = l + 8 | 0; + e = f + } else { + g = l + 8 | 0; + F3(g | 0, e | 0, d - f | 0) | 0; + e = c[i >> 2] | 0; + d = c[h >> 2] | 0 + } + c[h >> 2] = l + 8 + (d - e); + c[k >> 2] = g; + c[j >> 2] = l + 8 + b; + b = 1 + } else b = 0 + } else b = 0 + } while (0); + return b | 0 + } + + function fW(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0; + b = LW(b, d, e, f, g, h) | 0; + do if (!b) { + d = h + 12 | 0; + b = c[d >> 2] | 0; + if ((e << 24 >> 24 == 0 ? (c[h + 16 >> 2] | 0) != (b | 0) : 0) ? (i = b + -1 | 0, (a[i >> 0] | 0) == 32) : 0) { + c[d >> 2] = i; + b = i + } + if ((b | 0) == (c[h + 8 >> 2] | 0)) { + if (!((eW(h) | 0) << 24 >> 24)) { + b = 1; + break + } + b = c[d >> 2] | 0 + } + c[d >> 2] = b + 1; + a[b >> 0] = 0; + b = 0 + } while (0); + return b | 0 + } + + function gW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + H = l; + l = l + 16 | 0; + B = H; + C = H + 4 | 0; + g = c[b + 352 >> 2] | 0; + D = g + 104 | 0; + F = b + 272 | 0; + E = c[F >> 2] | 0; + c[F >> 2] = 1; + if ((c[D >> 2] | 0) == 0 ? (eW(D) | 0) << 24 >> 24 == 0 : 0) g = 1; else { + n = d + 20 | 0; + o = b + 484 | 0; + p = b + 144 | 0; + q = b + 412 | 0; + r = d + 64 | 0; + s = g + 132 | 0; + t = b + 428 | 0; + u = b + 424 | 0; + v = b + 224 | 0; + w = b + 112 | 0; + m = g + 130 | 0; + x = g + 128 | 0; + y = g + 131 | 0; + z = b + 116 | 0; + A = g + 112 | 0; + j = g + 116 | 0; + k = d + 40 | 0; + a:while (1) { + b:do switch (ob[c[n >> 2] & 127](d, e, f, B) | 0) { + case -4: { + g = 0; + break a + } + case -1: { + G = 37; + break a + } + case 0: { + G = 39; + break a + } + case 28: { + if ((a[o >> 0] | 0) == 0 ? (c[p >> 2] | 0) == (d | 0) : 0) { + G = 19; + break a + } + g = c[r >> 2] | 0; + g = WV(q, d, e + g | 0, (c[B >> 2] | 0) + (0 - g) | 0) | 0; + if (!g) { + g = 1; + break a + } + h = YV(b, s, g, 0) | 0; + c[u >> 2] = c[t >> 2]; + if (!h) { + G = 9; + break a + } + i = h + 32 | 0; + if (a[i >> 0] | 0) { + G = 11; + break a + } + g = h + 16 | 0; + if (!(c[g >> 2] | 0)) { + a[i >> 0] = 1; + g = c[h + 4 >> 2] | 0; + g = gW(b, c[v >> 2] | 0, g, g + (c[h + 8 >> 2] | 0) | 0) | 0; + a[i >> 0] = 0; + if (!g) break b; else break a + } + if (c[w >> 2] | 0) { + a[y >> 0] = 0; + a[i >> 0] = 1; + h = (pb[c[w >> 2] & 127](c[z >> 2] | 0, 0, c[h + 20 >> 2] | 0, c[g >> 2] | 0, c[h + 24 >> 2] | 0) | 0) == 0; + a[i >> 0] = 0; + if (h) { + g = 21; + break a + } + if (a[y >> 0] | 0) break b + } + a[x >> 0] = a[m >> 0] | 0; + break + } + case 6: + case 9: { + if (!(cW(D, d, e, c[B >> 2] | 0) | 0)) { + g = 1; + break a + } + break + } + case -3: { + c[B >> 2] = e + (c[r >> 2] | 0); + G = 22; + break + } + case 7: { + G = 22; + break + } + case 10: { + g = lb[c[k >> 2] & 127](d, e) | 0; + if ((g | 0) < 0) { + G = 27; + break a + } + h = gX(g, C) | 0; + e = 0; + while (1) { + if ((e | 0) >= (h | 0)) break; + g = c[j >> 2] | 0; + if ((c[A >> 2] | 0) == (g | 0)) { + if (!((eW(D) | 0) << 24 >> 24)) { + g = 1; + G = 35; + break a + } + g = c[j >> 2] | 0 + } + i = a[C + e >> 0] | 0; + c[j >> 2] = g + 1; + a[g >> 0] = i; + e = e + 1 | 0 + } + break + } + default: { + G = 41; + break a + } + } while (0); + if ((G | 0) == 22) { + G = 0; + g = c[j >> 2] | 0; + if ((c[A >> 2] | 0) == (g | 0)) { + if (!((eW(D) | 0) << 24 >> 24)) { + g = 1; + break + } + g = c[j >> 2] | 0 + } + c[j >> 2] = g + 1; + a[g >> 0] = 10 + } + e = c[B >> 2] | 0 + } + if ((G | 0) == 9) { + a[x >> 0] = a[m >> 0] | 0; + g = 0 + } else if ((G | 0) == 11) if ((c[p >> 2] | 0) == (d | 0)) { + c[b + 284 >> 2] = e; + g = 12 + } else g = 12; else if ((G | 0) == 19) { + c[b + 284 >> 2] = e; + g = 10 + } else if ((G | 0) == 27) if ((c[p >> 2] | 0) == (d | 0)) { + c[b + 284 >> 2] = e; + g = 14; + G = 35 + } else { + g = 14; + G = 35 + } else if ((G | 0) == 37) if ((c[p >> 2] | 0) == (d | 0)) { + c[b + 284 >> 2] = e; + g = 4 + } else g = 4; else if ((G | 0) == 39) if ((c[p >> 2] | 0) == (d | 0)) { + c[b + 284 >> 2] = c[B >> 2]; + g = 4 + } else g = 4; else if ((G | 0) == 41) if ((c[p >> 2] | 0) == (d | 0)) { + c[b + 284 >> 2] = e; + g = 23 + } else g = 23; + c[F >> 2] = E + } + l = H; + return g | 0 + } + + function hW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 16 | 0; + n = p; + o = p + 4 | 0; + c[n >> 2] = e; + if (!(a[d + 68 >> 0] | 0)) { + if ((c[b + 144 >> 2] | 0) == (d | 0)) { + g = b + 288 | 0; + h = b + 284 | 0 + } else { + h = c[b + 296 >> 2] | 0; + g = h + 4 | 0 + } + i = b + 44 | 0; + j = d + 56 | 0; + k = b + 48 | 0; + m = b + 80 | 0; + e = b + 4 | 0; + do { + c[o >> 2] = c[i >> 2]; + b = pb[c[j >> 2] & 127](d, n, f, o, c[k >> 2] | 0) | 0; + c[g >> 2] = c[n >> 2]; + q = c[i >> 2] | 0; + vb[c[m >> 2] & 127](c[e >> 2] | 0, q, (c[o >> 2] | 0) - q | 0); + c[h >> 2] = c[n >> 2] + } while (b >>> 0 > 1) + } else vb[c[b + 80 >> 2] & 127](c[b + 4 >> 2] | 0, e, f - e | 0); + l = p; + return + } + + function iW(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 16 | 0; + j = m; + k = c[d >> 2] | 0; + if ((c[a + 144 >> 2] | 0) == (b | 0)) { + i = a + 284 | 0; + c[i >> 2] = k; + h = a + 288 | 0 + } else { + i = c[a + 296 >> 2] | 0; + h = i + 4 | 0 + } + c[i >> 2] = k; + c[d >> 2] = 0; + n = ob[c[b + 12 >> 2] & 127](b, k, e, j) | 0; + e = c[j >> 2] | 0; + c[h >> 2] = e; + switch (n | 0) { + case 42: { + if (c[a + 80 >> 2] | 0) { + hW(a, b, k, e); + e = c[j >> 2] | 0 + } + c[d >> 2] = e; + c[f >> 2] = e; + e = (c[a + 476 >> 2] | 0) == 2 ? 35 : 0; + break + } + case 0: { + c[i >> 2] = e; + e = 4; + break + } + case -2: { + if (!(g << 24 >> 24)) e = 6; else { + c[f >> 2] = k; + e = 0 + } + break + } + case -4: + case -1: { + if (!(g << 24 >> 24)) e = 2; else { + c[f >> 2] = k; + e = 0 + } + break + } + default: { + c[i >> 2] = e; + e = 23 + } + } + l = m; + return e | 0 + } + + function jW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + c[g >> 2] = d; + d = iW(b, c[b + 144 >> 2] | 0, g, e, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + g = c[g >> 2] | 0; + if (!((d | 0) != 0 | (g | 0) == 0)) { + c[b + 276 >> 2] = 57; + d = TV(b, g, e, f) | 0 + } + l = h; + return d | 0 + } + + function kW(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = c[a + 352 >> 2] | 0; + j = i + 184 | 0; + if (!(c[j >> 2] | 0)) { + b = kb[c[a + 12 >> 2] & 63](c[a + 464 >> 2] << 2) | 0; + c[j >> 2] = b; + if (!b) b = -1; else { + c[b >> 2] = 0; + d = 4 + } + } else d = 4; + do if ((d | 0) == 4) { + h = i + 176 | 0; + b = c[h >> 2] | 0; + g = i + 172 | 0; + d = c[g >> 2] | 0; + f = i + 164 | 0; + e = c[f >> 2] | 0; + if (b >>> 0 < d >>> 0) g = e; else { + if (!e) { + b = kb[c[a + 12 >> 2] & 63](896) | 0; + if (!b) { + b = -1; + break + } else { + d = b; + b = 32 + } + } else { + b = lb[c[a + 16 >> 2] & 127](e, d * 56 | 0) | 0; + if (!b) { + b = -1; + break + } + d = b; + b = c[g >> 2] << 1 + } + c[g >> 2] = b; + c[f >> 2] = d; + b = c[h >> 2] | 0; + g = d + } + c[h >> 2] = b + 1; + d = c[i + 180 >> 2] | 0; + if (d | 0) { + a = c[(c[j >> 2] | 0) + (d + -1 << 2) >> 2] | 0; + f = g + (a * 28 | 0) + 16 | 0; + d = c[f >> 2] | 0; + if (d | 0) c[g + (d * 28 | 0) + 24 >> 2] = b; + d = g + (a * 28 | 0) + 20 | 0; + e = c[d >> 2] | 0; + if (!e) c[g + (a * 28 | 0) + 12 >> 2] = b; + c[f >> 2] = b; + c[d >> 2] = e + 1 + } + j = g + (b * 28 | 0) + 12 | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = 0; + c[j + 8 >> 2] = 0; + c[j + 12 >> 2] = 0 + } while (0); + return b | 0 + } + + function lW(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + n = p; + o = b + 300 | 0; + f = c[o >> 2] | 0; + if (!f) { + f = kb[c[b + 12 >> 2] & 63](24) | 0; + if (!f) f = 1; else { + m = f; + g = 4 + } + } else { + c[o >> 2] = c[f + 8 >> 2]; + m = f; + g = 4 + } + do if ((g | 0) == 4) { + h = d + 32 | 0; + a[h >> 0] = 1; + i = d + 12 | 0; + c[i >> 2] = 0; + j = b + 296 | 0; + k = m + 8 | 0; + c[k >> 2] = c[j >> 2]; + c[j >> 2] = m; + c[m + 12 >> 2] = d; + f = b + 308 | 0; + c[m + 16 >> 2] = c[f >> 2]; + a[m + 20 >> 0] = e; + c[m >> 2] = 0; + c[m + 4 >> 2] = 0; + g = c[d + 4 >> 2] | 0; + e = g + (c[d + 8 >> 2] | 0) | 0; + c[n >> 2] = g; + if (!(a[d + 33 >> 0] | 0)) f = rW(b, c[f >> 2] | 0, c[b + 224 >> 2] | 0, g, e, n, 0) | 0; else { + d = b + 224 | 0; + f = c[d >> 2] | 0; + f = ob[c[f >> 2] & 127](f, g, e, n) | 0; + f = UV(b, c[d >> 2] | 0, g, e, f, c[n >> 2] | 0, n, 0) | 0 + } + if (!f) { + f = c[n >> 2] | 0; + if ((e | 0) != (f | 0) ? (c[b + 476 >> 2] | 0) == 3 : 0) { + c[i >> 2] = f - g; + c[b + 276 >> 2] = 60; + f = 0; + break + } + a[h >> 0] = 0; + c[j >> 2] = c[k >> 2]; + c[k >> 2] = c[o >> 2]; + c[o >> 2] = m; + f = 0 + } + } while (0); + l = p; + return f | 0 + } + + function mW(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + d = g + 4 | 0; + e = g; + b = c[a + 352 >> 2] | 0; + f = b + 176 | 0; + b = kb[c[a + 12 >> 2] & 63](((c[f >> 2] | 0) * 20 | 0) + (c[b + 168 >> 2] | 0) | 0) | 0; + if (!b) b = 0; else { + c[e >> 2] = b + ((c[f >> 2] | 0) * 20 | 0); + c[d >> 2] = b + 20; + qW(a, 0, b, d, e) + } + l = g; + return b | 0 + } + + function nW(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = a + 64 | 0; + if (!(c[j >> 2] | 0)) if (!(c[a + 80 >> 2] | 0)) d = 1; else { + hW(a, b, d, e); + d = 1 + } else { + h = b + 64 | 0; + g = d + (c[h >> 2] << 1) | 0; + d = g + (lb[c[b + 28 >> 2] & 127](b, g) | 0) | 0; + f = a + 412 | 0; + g = WV(f, b, g, d) | 0; + if ((g | 0) != 0 ? (c[a + 428 >> 2] = c[a + 424 >> 2], i = lb[c[b + 32 >> 2] & 127](b, d) | 0, i = WV(f, b, i, e + (0 - (c[h >> 2] << 1)) | 0) | 0, (i | 0) != 0) : 0) { + pW(i); + vb[c[j >> 2] & 127](c[a + 4 >> 2] | 0, g, i); + XV(f); + d = 1 + } else d = 0 + } + return d | 0 + } + + function oW(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = a + 68 | 0; + if (!(c[g >> 2] | 0)) if (!(c[a + 80 >> 2] | 0)) b = 1; else { + hW(a, b, d, e); + b = 1 + } else { + f = a + 412 | 0; + h = c[b + 64 >> 2] | 0; + b = WV(f, b, d + (h << 2) | 0, e + (O(h, -3) | 0) | 0) | 0; + if (!b) b = 0; else { + pW(b); + ub[c[g >> 2] & 63](c[a + 4 >> 2] | 0, b); + XV(f); + b = 1 + } + } + return b | 0 + } + + function pW(b) { + b = b | 0; + var c = 0, d = 0, e = 0; + a:while (1) { + switch (a[b >> 0] | 0) { + case 0: + break a; + case 13: { + d = b; + c = 13; + e = 4; + break a + } + default: { + } + } + b = b + 1 | 0 + } + if ((e | 0) == 4) { + while (1) { + if (c << 24 >> 24 == 13) { + a[d >> 0] = 10; + e = b + 1 | 0; + b = (a[e >> 0] | 0) == 10 ? b + 2 | 0 : e + } else { + a[d >> 0] = c; + b = b + 1 | 0 + } + d = d + 1 | 0; + c = a[b >> 0] | 0; + if (!(c << 24 >> 24)) break; else e = 4 + } + a[d >> 0] = 0 + } + return + } + + function qW(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + k = (c[b + 352 >> 2] | 0) + 164 | 0; + j = c[(c[k >> 2] | 0) + (d * 28 | 0) >> 2] | 0; + c[e >> 2] = j; + c[e + 4 >> 2] = c[(c[k >> 2] | 0) + (d * 28 | 0) + 4 >> 2]; + if ((j | 0) == 4) { + c[e + 8 >> 2] = c[g >> 2]; + d = c[(c[k >> 2] | 0) + (d * 28 | 0) + 8 >> 2] | 0; + while (1) { + j = a[d >> 0] | 0; + k = c[g >> 2] | 0; + c[g >> 2] = k + 1; + a[k >> 0] = j; + if (!(a[d >> 0] | 0)) break; else d = d + 1 | 0 + } + c[e + 12 >> 2] = 0; + c[e + 16 >> 2] = 0 + } else { + h = c[(c[k >> 2] | 0) + (d * 28 | 0) + 20 >> 2] | 0; + i = e + 12 | 0; + c[i >> 2] = h; + j = e + 16 | 0; + c[j >> 2] = c[f >> 2]; + c[f >> 2] = (c[f >> 2] | 0) + (h * 20 | 0); + d = (c[k >> 2] | 0) + (d * 28 | 0) + 12 | 0; + h = 0; + while (1) { + d = c[d >> 2] | 0; + if (h >>> 0 >= (c[i >> 2] | 0) >>> 0) break; + qW(b, d, (c[j >> 2] | 0) + (h * 20 | 0) | 0, f, g); + d = (c[k >> 2] | 0) + (d * 28 | 0) + 24 | 0; + h = h + 1 | 0 + } + c[e + 8 >> 2] = 0 + } + return + } + + function rW(b, d, e, f, g, h, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, + M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, + _ = 0, $ = 0, aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0, ga = 0, ha = 0, ia = 0, ja = 0, + ka = 0, la = 0, ma = 0, na = 0; + ma = l; + l = l + 48 | 0; + ja = ma + 28 | 0; + ea = ma + 32 | 0; + ka = ma + 24 | 0; + Z = ma; + c[ja >> 2] = f; + _ = c[b + 352 >> 2] | 0; + if ((c[b + 144 >> 2] | 0) == (e | 0)) { + fa = b + 284 | 0; + Y = b + 288 | 0 + } else { + Y = c[b + 296 >> 2] | 0; + fa = Y; + Y = Y + 4 | 0 + } + c[fa >> 2] = f; + t = e + 4 | 0; + ga = b + 80 | 0; + u = b + 476 | 0; + v = e + 44 | 0; + w = e + 64 | 0; + x = _ + 80 | 0; + y = _ + 96 | 0; + z = _ + 92 | 0; + A = _ + 129 | 0; + B = b + 112 | 0; + C = b + 116 | 0; + D = b + 428 | 0; + E = b + 424 | 0; + F = b + 304 | 0; + G = b + 120 | 0; + ha = b + 4 | 0; + H = _ + 130 | 0; + $ = b + 60 | 0; + I = b + 364 | 0; + J = b + 12 | 0; + K = b + 360 | 0; + L = e + 28 | 0; + ia = b + 308 | 0; + aa = e + 56 | 0; + M = b + 16 | 0; + N = b + 52 | 0; + O = b + 412 | 0; + P = b + 388 | 0; + Q = b + 56 | 0; + R = b + 232 | 0; + S = b + 233 | 0; + T = b + 468 | 0; + U = b + 104 | 0; + V = b + 372 | 0; + W = e + 40 | 0; + X = b + 72 | 0; + ba = e + 68 | 0; + ca = b + 44 | 0; + da = b + 48 | 0; + a:while (1) { + s = c[ja >> 2] | 0; + c[ea >> 2] = s; + s = ob[c[t >> 2] & 127](e, s, g, ea) | 0; + f = c[ea >> 2] | 0; + c[Y >> 2] = f; + k = f; + b:do switch (s | 0) { + case -3: { + la = 6; + break a + } + case -4: { + la = 15; + break a + } + case 0: { + la = 20; + break a + } + case -1: { + la = 21; + break a + } + case -2: { + la = 23; + break a + } + case 12: { + f = 17; + break a + } + case -5: { + la = 134; + break a + } + case 9: { + s = c[w >> 2] | 0; + s = (nb[c[v >> 2] & 63](e, (c[ja >> 2] | 0) + s | 0, k + (0 - s) | 0) | 0) & 255; + a[ka >> 0] = s; + do if (s << 24 >> 24) { + f = c[$ >> 2] | 0; + if (f | 0) { + vb[f & 127](c[ha >> 2] | 0, ka, 1); + break + } + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0) + } else { + j = c[w >> 2] | 0; + j = WV(x, e, (c[ja >> 2] | 0) + j | 0, (c[ea >> 2] | 0) + (0 - j) | 0) | 0; + if (!j) { + f = 1; + la = 56; + break a + } + k = YV(b, _, j, 0) | 0; + c[z >> 2] = c[y >> 2]; + if ((a[A >> 0] | 0) != 0 ? (a[H >> 0] | 0) == 0 : 0) { + if (!k) { + f = c[G >> 2] | 0; + if (f | 0) { + vb[f & 127](c[ha >> 2] | 0, j, 0); + break + } + if (!(c[ga >> 2] | 0)) break; + hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0); + break + } + } else { + if (!k) { + f = 11; + la = 56; + break a + } + if (!(a[k + 34 >> 0] | 0)) { + f = 24; + la = 56; + break a + } + } + f = k + 32 | 0; + if (a[f >> 0] | 0) { + f = 12; + la = 56; + break a + } + if (c[k + 28 >> 2] | 0) { + f = 15; + la = 56; + break a + } + if (!(c[k + 4 >> 2] | 0)) { + if (!(c[B >> 2] | 0)) { + if (!(c[ga >> 2] | 0)) break; + hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0); + break + } + a[f >> 0] = 1; + j = tW(b) | 0; + a[f >> 0] = 0; + if (!j) { + f = 1; + la = 56; + break a + } + if (!(pb[c[B >> 2] & 127](c[C >> 2] | 0, j, c[k + 20 >> 2] | 0, c[k + 16 >> 2] | 0, c[k + 24 >> 2] | 0) | 0)) { + f = 21; + la = 56; + break a + } + c[E >> 2] = c[D >> 2]; + break + } + if (a[F >> 0] | 0) { + f = lW(b, k, 0) | 0; + if (!f) break; else { + la = 58; + break a + } + } + f = c[G >> 2] | 0; + if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0) + } else vb[f & 127](c[ha >> 2] | 0, c[k >> 2] | 0, 0); + break b + } while (0); + break + } + case 1: + case 2: { + f = c[I >> 2] | 0; + if (!f) { + f = kb[c[J >> 2] & 63](48) | 0; + if (!f) { + f = 1; + la = 75; + break a + } + j = kb[c[J >> 2] & 63](32) | 0; + c[f + 36 >> 2] = j; + if (!j) { + la = 63; + break a + } + c[f + 40 >> 2] = j + 32 + } else c[I >> 2] = c[f >> 2]; + o = f + 44 | 0; + c[o >> 2] = 0; + c[f >> 2] = c[K >> 2]; + c[K >> 2] = f; + s = f + 12 | 0; + c[f + 16 >> 2] = 0; + c[f + 20 >> 2] = 0; + r = (c[ja >> 2] | 0) + (c[w >> 2] | 0) | 0; + q = f + 4 | 0; + c[q >> 2] = r; + p = f + 8 | 0; + c[p >> 2] = lb[c[L >> 2] & 127](e, r) | 0; + c[ia >> 2] = (c[ia >> 2] | 0) + 1; + q = c[q >> 2] | 0; + p = q + (c[p >> 2] | 0) | 0; + c[Z >> 2] = q; + q = f + 36 | 0; + c[ka >> 2] = c[q >> 2]; + r = f + 40 | 0; + j = c[r >> 2] | 0; + while (1) { + na = pb[c[aa >> 2] & 127](e, Z, p, ka, j + -1 | 0) | 0; + j = c[ka >> 2] | 0; + m = c[q >> 2] | 0; + k = m; + n = j - k | 0; + if ((na | 0) == 1 ? 1 : (c[Z >> 2] | 0) >>> 0 >= p >>> 0) break; + k = (c[r >> 2] | 0) - k << 1; + j = lb[c[M >> 2] & 127](m, k) | 0; + if (!j) { + la = 69; + break a + } + c[q >> 2] = j; + na = j + k | 0; + c[r >> 2] = na; + c[ka >> 2] = j + n; + j = na + } + c[f + 24 >> 2] = n; + c[s >> 2] = k; + a[j >> 0] = 0; + f = uW(b, e, c[ja >> 2] | 0, s, o) | 0; + if (f | 0) { + la = 75; + break a + } + f = c[N >> 2] | 0; + if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0) + } else vb[f & 127](c[ha >> 2] | 0, c[s >> 2] | 0, c[P >> 2] | 0); + XV(O); + break + } + case 3: + case 4: { + na = (c[ja >> 2] | 0) + (c[w >> 2] | 0) | 0; + c[ka >> 2] = 0; + na = WV(O, e, na, na + (lb[c[L >> 2] & 127](e, na) | 0) | 0) | 0; + c[Z >> 2] = na; + if (!na) { + f = 1; + la = 89; + break a + } + c[D >> 2] = c[E >> 2]; + f = uW(b, e, c[ja >> 2] | 0, Z, ka) | 0; + if (f | 0) { + la = 79; + break a + } + c[D >> 2] = c[E >> 2]; + f = c[N >> 2] | 0; + if (!f) j = 1; else { + vb[f & 127](c[ha >> 2] | 0, c[Z >> 2] | 0, c[P >> 2] | 0); + j = 0 + } + f = c[Q >> 2] | 0; + if (!f) { + if (j | 0 ? c[ga >> 2] | 0 : 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0) + } else { + if (c[N >> 2] | 0) { + c[fa >> 2] = c[Y >> 2]; + f = c[Q >> 2] | 0 + } + ub[f & 63](c[ha >> 2] | 0, c[Z >> 2] | 0) + } + XV(O); + vW(b, c[ka >> 2] | 0); + if ((c[ia >> 2] | 0) == 0 ? (c[u >> 2] & -2 | 0) != 2 : 0) { + la = 92; + break a + } + break + } + case 5: { + if ((c[ia >> 2] | 0) == (d | 0)) { + f = 13; + break a + } + n = c[K >> 2] | 0; + c[K >> 2] = c[n >> 2]; + c[n >> 2] = c[I >> 2]; + c[I >> 2] = n; + f = (c[ja >> 2] | 0) + (c[w >> 2] << 1) | 0; + j = lb[c[L >> 2] & 127](e, f) | 0; + if ((j | 0) != (c[n + 8 >> 2] | 0)) { + la = 96; + break a + } + if (L0(c[n + 4 >> 2] | 0, f, j) | 0) { + la = 96; + break a + } + c[ia >> 2] = (c[ia >> 2] | 0) + -1; + f = c[Q >> 2] | 0; + if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0) + } else { + j = c[n + 16 >> 2] | 0; + m = n + 12 | 0; + if ((j | 0) != 0 & (a[R >> 0] | 0) != 0) { + f = (c[m >> 2] | 0) + (c[n + 28 >> 2] | 0) | 0; + while (1) { + k = a[j >> 0] | 0; + if (!(k << 24 >> 24)) break; + a[f >> 0] = k; + f = f + 1 | 0; + j = j + 1 | 0 + } + j = c[n + 20 >> 2] | 0; + c:do if ((j | 0) != 0 & (a[S >> 0] | 0) != 0) { + a[f >> 0] = a[T >> 0] | 0; + while (1) { + f = f + 1 | 0; + k = a[j >> 0] | 0; + if (!(k << 24 >> 24)) break c; + a[f >> 0] = k; + j = j + 1 | 0 + } + } while (0); + a[f >> 0] = 0; + f = c[Q >> 2] | 0 + } + ub[f & 63](c[ha >> 2] | 0, c[m >> 2] | 0) + } + k = n + 44 | 0; + while (1) { + m = c[k >> 2] | 0; + if (!m) break; + f = c[U >> 2] | 0; + if (!f) { + f = m; + j = m + } else { + ub[f & 63](c[ha >> 2] | 0, c[c[m >> 2] >> 2] | 0); + f = m; + j = c[k >> 2] | 0 + } + c[k >> 2] = c[j + 4 >> 2]; + c[m + 4 >> 2] = c[V >> 2]; + c[V >> 2] = m; + c[(c[f >> 2] | 0) + 4 >> 2] = c[m + 8 >> 2] + } + if (!(c[ia >> 2] | 0)) { + la = 117; + break a + } + break + } + case 10: { + f = lb[c[W >> 2] & 127](e, c[ja >> 2] | 0) | 0; + if ((f | 0) < 0) { + f = 14; + break a + } + j = c[$ >> 2] | 0; + if (j | 0) { + s = c[ha >> 2] | 0; + na = gX(f, ka) | 0; + vb[j & 127](s, ka, na); + break b + } + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, c[ea >> 2] | 0); + break + } + case 7: { + f = c[$ >> 2] | 0; + if (f | 0) { + a[ka >> 0] = 10; + vb[f & 127](c[ha >> 2] | 0, ka, 1); + break b + } + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, k); + break + } + case 8: { + f = c[X >> 2] | 0; + if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, k) + } else tb[f & 127](c[ha >> 2] | 0); + f = xW(b, e, ea, g, h, i) | 0; + if (f | 0) break a; + if (!(c[ea >> 2] | 0)) { + la = 133; + break a + } + break + } + case 6: { + j = c[$ >> 2] | 0; + if (!j) { + if (!(c[ga >> 2] | 0)) break b; + hW(b, e, c[ja >> 2] | 0, k); + break b + } + if (!(a[ba >> 0] | 0)) f = k; else { + na = c[ja >> 2] | 0; + vb[j & 127](c[ha >> 2] | 0, na, f - na | 0); + break b + } + while (1) { + c[ka >> 2] = c[ca >> 2]; + na = pb[c[aa >> 2] & 127](e, ja, f, ka, c[da >> 2] | 0) | 0; + c[Y >> 2] = c[ja >> 2]; + s = c[ca >> 2] | 0; + vb[j & 127](c[ha >> 2] | 0, s, (c[ka >> 2] | 0) - s | 0); + if (na >>> 0 < 2) break; + c[fa >> 2] = c[ja >> 2]; + f = c[ea >> 2] | 0 + } + break + } + case 11: { + if (!(nW(b, e, c[ja >> 2] | 0, k) | 0)) { + f = 1; + break a + } + break + } + case 13: { + if (!(oW(b, e, c[ja >> 2] | 0, k) | 0)) { + f = 1; + break a + } + break + } + default: + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, k) + } while (0); + na = c[ea >> 2] | 0; + c[ja >> 2] = na; + c[fa >> 2] = na; + switch (c[u >> 2] | 0) { + case 2: { + f = 35; + break a + } + case 3: { + la = 160; + break a + } + default: { + } + } + } + switch (la | 0) { + case 6: { + if (i << 24 >> 24) { + c[h >> 2] = c[ja >> 2]; + f = 0; + break + } + c[Y >> 2] = g; + f = c[$ >> 2] | 0; + if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, g) + } else { + a[ka >> 0] = 10; + vb[f & 127](c[ha >> 2] | 0, ka, 1) + } + if (d) if ((c[ia >> 2] | 0) == (d | 0)) { + c[h >> 2] = g; + f = 0 + } else f = 13; else f = 3; + break + } + case 15: { + if (i << 24 >> 24) { + c[h >> 2] = c[ja >> 2]; + f = 0; + break + } + if ((d | 0) > 0) if ((c[ia >> 2] | 0) == (d | 0)) { + c[h >> 2] = c[ja >> 2]; + f = 0 + } else f = 13; else f = 3; + break + } + case 20: { + c[fa >> 2] = f; + f = 4; + break + } + case 21: { + if (!(i << 24 >> 24)) f = 5; else { + c[h >> 2] = c[ja >> 2]; + f = 0 + } + break + } + case 23: { + if (!(i << 24 >> 24)) f = 6; else { + c[h >> 2] = c[ja >> 2]; + f = 0 + } + break + } + case 56: + break; + case 58: + break; + case 63: { + tb[c[b + 20 >> 2] & 127](f); + f = 1; + la = 75; + break + } + case 69: { + f = 1; + la = 75; + break + } + case 79: { + vW(b, c[ka >> 2] | 0); + la = 89; + break + } + case 92: { + f = wW(b, c[ea >> 2] | 0, g, h) | 0; + break + } + case 96: { + c[fa >> 2] = f; + f = 7; + break + } + case 117: { + f = wW(b, c[ea >> 2] | 0, g, h) | 0; + break + } + case 133: { + c[b + 276 >> 2] = 61; + f = 0; + break + } + case 134: { + if (i << 24 >> 24) { + c[h >> 2] = c[ja >> 2]; + f = 0; + break + } + f = c[$ >> 2] | 0; + do if (!f) { + if (c[ga >> 2] | 0) hW(b, e, c[ja >> 2] | 0, g) + } else if (!(a[ba >> 0] | 0)) { + c[ka >> 2] = c[ca >> 2]; + pb[c[aa >> 2] & 127](e, ja, g, ka, c[da >> 2] | 0) | 0; + na = c[ca >> 2] | 0; + vb[c[$ >> 2] & 127](c[ha >> 2] | 0, na, (c[ka >> 2] | 0) - na | 0); + break + } else { + na = c[ja >> 2] | 0; + vb[f & 127](c[ha >> 2] | 0, na, g - na | 0); + break + } while (0); + if (!d) { + c[fa >> 2] = g; + f = 3; + break + } + if ((c[ia >> 2] | 0) == (d | 0)) { + c[h >> 2] = g; + f = 0; + break + } else { + c[fa >> 2] = g; + f = 13; + break + } + } + case 160: { + c[h >> 2] = c[ea >> 2]; + f = 0; + break + } + } + l = ma; + return f | 0 + } + + function sW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + q = l; + l = l + 16 | 0; + p = q; + k = b + 296 | 0; + m = c[k >> 2] | 0; + do if (m) { + n = c[m + 12 >> 2] | 0; + h = n + 4 | 0; + j = c[h >> 2] | 0; + i = n + 12 | 0; + g = j + (c[i >> 2] | 0) | 0; + j = j + (c[n + 8 >> 2] | 0) | 0; + c[p >> 2] = g; + o = n + 33 | 0; + if (!(a[o >> 0] | 0)) g = rW(b, c[m + 16 >> 2] | 0, c[b + 224 >> 2] | 0, g, j, p, 0) | 0; else { + s = b + 224 | 0; + r = c[s >> 2] | 0; + r = ob[c[r >> 2] & 127](r, g, j, p) | 0; + g = UV(b, c[s >> 2] | 0, g, j, r, c[p >> 2] | 0, p, 0) | 0 + } + if (!g) { + g = c[p >> 2] | 0; + if ((j | 0) != (g | 0) ? (c[b + 476 >> 2] | 0) == 3 : 0) { + c[i >> 2] = g - (c[h >> 2] | 0); + g = 0; + break + } + a[n + 32 >> 0] = 0; + s = m + 8 | 0; + c[k >> 2] = c[s >> 2]; + g = b + 300 | 0; + c[s >> 2] = c[g >> 2]; + c[g >> 2] = m; + g = b + 276 | 0; + if (!(a[o >> 0] | 0)) { + c[g >> 2] = 58; + g = rW(b, (c[b + 472 >> 2] | 0) != 0 & 1, c[b + 144 >> 2] | 0, d, e, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + break + } else { + c[g >> 2] = 57; + s = b + 144 | 0; + g = c[s >> 2] | 0; + g = ob[c[g >> 2] & 127](g, d, e, p) | 0; + g = UV(b, c[s >> 2] | 0, d, e, g, c[p >> 2] | 0, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + break + } + } + } else g = 23; while (0); + l = q; + return g | 0 + } + + function tW(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + n = q; + m = c[b + 352 >> 2] | 0; + h = m + 156 | 0; + o = b + 412 | 0; + p = b + 424 | 0; + a:do if (!(c[h >> 2] | 0)) { + d = 0; + i = b + 420 | 0; + k = b + 468 | 0; + j = 12 + } else { + d = c[p >> 2] | 0; + i = b + 420 | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[p >> 2] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = 61; + g = b + 468 | 0; + e = (c[(c[h >> 2] | 0) + 20 >> 2] | 0) + (((a[g >> 0] | 0) != 0) << 31 >> 31) | 0; + f = 0; + while (1) { + if ((f | 0) >= (e | 0)) { + d = 1; + k = g; + j = 12; + break a + } + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break a + } + d = c[p >> 2] | 0 + } + k = a[(c[(c[h >> 2] | 0) + 16 >> 2] | 0) + f >> 0] | 0; + c[p >> 2] = d + 1; + a[d >> 0] = k; + f = f + 1 | 0 + } + } while (0); + b:do if ((j | 0) == 12) { + NV(n, m + 60 | 0); + c:while (1) { + do { + e = OV(n) | 0; + if (!e) break c; + h = e + 4 | 0 + } while (!(c[h >> 2] | 0)); + if (d << 24 >> 24) { + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = 12 + } + g = c[e >> 2] | 0; + while (1) { + e = a[g >> 0] | 0; + d = c[p >> 2] | 0; + f = (d | 0) == (c[i >> 2] | 0); + if (!(e << 24 >> 24)) break; + if (f) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0; + e = a[g >> 0] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = e; + g = g + 1 | 0 + } + if (f) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = 61; + f = (c[(c[h >> 2] | 0) + 20 >> 2] | 0) + (((a[k >> 0] | 0) != 0) << 31 >> 31) | 0; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) { + d = 1; + continue c + } + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0 + } + j = a[(c[(c[h >> 2] | 0) + 16 >> 2] | 0) + e >> 0] | 0; + c[p >> 2] = d + 1; + a[d >> 0] = j; + e = e + 1 | 0 + } + } + NV(n, m); + d:while (1) { + do { + e = OV(n) | 0; + if (!e) break d + } while (!(a[e + 32 >> 0] | 0)); + if (d << 24 >> 24) { + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = 12 + } + f = c[e >> 2] | 0; + while (1) { + e = a[f >> 0] | 0; + if (!(e << 24 >> 24)) { + d = 1; + continue d + } + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break b + } + d = c[p >> 2] | 0; + e = a[f >> 0] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = e; + f = f + 1 | 0 + } + } + d = c[p >> 2] | 0; + if ((d | 0) == (c[i >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[p >> 2] | 0 + } + c[p >> 2] = d + 1; + a[d >> 0] = 0; + d = c[b + 428 >> 2] | 0 + } while (0); + l = q; + return d | 0 + } + + function uW(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, + L = 0, M = 0, N = 0, O = 0, P = 0; + O = l; + l = l + 80 | 0; + K = O + 16 | 0; + L = O; + M = c[b + 352 >> 2] | 0; + k = M + 20 | 0; + i = YV(b, k, c[g >> 2] | 0, 0) | 0; + if (!i) { + i = BW(M + 80 | 0, c[g >> 2] | 0) | 0; + if ((i | 0) != 0 ? (j = YV(b, k, i, 24) | 0, (j | 0) != 0) : 0) if ((a[b + 232 >> 0] | 0) != 0 ? (CW(b, j) | 0) == 0 : 0) i = 1; else A = 6; else i = 1 + } else { + j = i; + A = 6 + } + a:do if ((A | 0) == 6) { + x = c[j + 12 >> 2] | 0; + k = e + 36 | 0; + m = b + 376 | 0; + t = b + 388 | 0; + u = ob[c[k >> 2] & 127](e, f, c[m >> 2] | 0, c[t >> 2] | 0) | 0; + i = u + x | 0; + n = c[m >> 2] | 0; + if ((i | 0) > (n | 0)) { + i = i + 16 | 0; + c[m >> 2] = i; + i = lb[c[b + 16 >> 2] & 127](c[t >> 2] | 0, i << 4) | 0; + if (!i) { + c[m >> 2] = n; + i = 1; + break + } + c[t >> 2] = i; + if ((u | 0) > (n | 0)) ob[c[k >> 2] & 127](e, f, u, i) | 0 + } + J = c[t >> 2] | 0; + r = e + 28 | 0; + H = b + 412 | 0; + I = b + 428 | 0; + w = j + 20 | 0; + q = b + 424 | 0; + s = 0; + p = 0; + k = 0; + while (1) { + if ((p | 0) >= (u | 0)) break; + o = c[(c[t >> 2] | 0) + (p << 4) >> 2] | 0; + o = aW(b, e, o, o + (lb[c[r >> 2] & 127](e, o) | 0) | 0) | 0; + if (!o) { + i = 1; + break a + } + i = (c[o >> 2] | 0) + -1 | 0; + if (a[i >> 0] | 0) { + A = 15; + break + } + a[i >> 0] = 1; + f = s + 1 | 0; + c[J + (s << 2) >> 2] = c[o >> 2]; + n = c[t >> 2] | 0; + if (a[n + (p << 4) + 12 >> 0] | 0) { + G = WV(H, e, c[n + (p << 4) + 4 >> 2] | 0, c[n + (p << 4) + 8 >> 2] | 0) | 0; + c[J + (f << 2) >> 2] = G; + if (!G) { + i = 1; + break a + } + } else { + b:do if (!(a[o + 8 >> 0] | 0)) i = 1; else { + i = 0; + while (1) { + if ((i | 0) >= (x | 0)) { + i = 1; + break b + } + m = c[w >> 2] | 0; + if ((o | 0) == (c[m + (i * 12 | 0) >> 2] | 0)) break; + i = i + 1 | 0 + } + i = a[m + (i * 12 | 0) + 4 >> 0] | 0 + } while (0); + i = fW(b, e, i, c[n + (p << 4) + 4 >> 2] | 0, c[n + (p << 4) + 8 >> 2] | 0, H) | 0; + if (i | 0) break a; + c[J + (f << 2) >> 2] = c[I >> 2] + } + c[I >> 2] = c[q >> 2]; + i = c[o + 4 >> 2] | 0; + do if (i) if (a[o + 9 >> 0] | 0) { + i = DW(b, i, o, c[J + (f << 2) >> 2] | 0, h) | 0; + if (!i) { + i = s; + break + } else break a + } else { + a[(c[o >> 2] | 0) + -1 >> 0] = 2; + k = k + 1 | 0; + i = s + 2 | 0; + break + } else i = s + 2 | 0; while (0); + s = i; + p = p + 1 | 0 + } + if ((A | 0) == 15) { + if ((c[b + 144 >> 2] | 0) != (e | 0)) { + i = 8; + break + } + c[b + 284 >> 2] = c[(c[t >> 2] | 0) + (p << 4) >> 2]; + i = 8; + break + } + c[b + 380 >> 2] = s; + i = c[j + 8 >> 2] | 0; + c:do if ((i | 0) != 0 ? (v = c[i >> 2] | 0, (a[v + -1 >> 0] | 0) != 0) : 0) { + i = 0; + while (1) { + if ((i | 0) >= (s | 0)) { + f = 0; + p = k; + G = s; + break c + } + if ((c[J + (i << 2) >> 2] | 0) == (v | 0)) { + A = 37; + break c + } + i = i + 2 | 0 + } + } else { + i = -1; + A = 37 + } while (0); + if ((A | 0) == 37) { + c[b + 384 >> 2] = i; + f = 0; + p = k; + G = s + } + while (1) { + if ((f | 0) >= (x | 0)) break; + i = c[w >> 2] | 0; + n = i + (f * 12 | 0) | 0; + k = c[n >> 2] | 0; + m = (c[k >> 2] | 0) + -1 | 0; + d:do if ((a[m >> 0] | 0) == 0 ? (y = i + (f * 12 | 0) + 8 | 0, z = c[y >> 2] | 0, (z | 0) != 0) : 0) { + i = c[k + 4 >> 2] | 0; + do if (i) if (a[k + 9 >> 0] | 0) { + i = DW(b, i, k, z, h) | 0; + if (!i) { + i = p; + k = G; + break d + } else break a + } else { + a[m >> 0] = 2; + i = p + 1 | 0; + break + } else { + a[m >> 0] = 1; + i = p + } while (0); + c[J + (G << 2) >> 2] = c[c[n >> 2] >> 2]; + c[J + (G + 1 << 2) >> 2] = c[y >> 2]; + k = G + 2 | 0 + } else { + i = p; + k = G + } while (0); + f = f + 1 | 0; + p = i; + G = k + } + c[J + (G << 2) >> 2] = 0; + e:do if (!p) i = 0; else { + o = b + 396 | 0; + n = c[o >> 2] | 0; + F = b + 400 | 0; + f = a[F >> 0] | 0; + i = f & 255; + do if (!(p << 1 >> i)) { + i = 1 << i; + m = b + 392 | 0; + if (!n) { + k = i; + A = 55 + } else { + k = i; + i = n + } + } else { + i = f; + do { + E = i; + i = i + 1 << 24 >> 24 + } while ((p >> (E & 255) | 0) != 0); + i = (i & 255) > 3 ? i : 3; + a[F >> 0] = i; + i = i & 255; + m = b + 392 | 0; + k = lb[c[b + 16 >> 2] & 127](c[m >> 2] | 0, 12 << i) | 0; + if (!k) { + a[F >> 0] = f; + i = 1; + break a + } else { + c[m >> 2] = k; + k = 1 << i; + A = 55; + break + } + } while (0); + f:do if ((A | 0) == 55) { + i = k; + while (1) { + if (!i) { + i = -1; + break f + } + E = i + -1 | 0; + c[(c[m >> 2] | 0) + (E * 12 | 0) >> 2] = -1; + i = E + } + } while (0); + E = i + -1 | 0; + c[o >> 2] = E; + w = M + 40 | 0; + x = b + 424 | 0; + y = b + 420 | 0; + z = k + -1 | 0; + A = 0 - k | 0; + B = z >>> 2; + C = b + 233 | 0; + D = b + 468 | 0; + i = 0; + v = p; + g:while (1) { + while (1) { + if ((i | 0) >= (G | 0)) break e; + e = J + (i << 2) | 0; + n = c[e >> 2] | 0; + f = n + -1 | 0; + if ((a[f >> 0] | 0) == 2) break; + a[f >> 0] = 0; + i = i + 2 | 0 + } + EW(b, L); + FW(K, L); + a[f >> 0] = 0; + f = YV(b, w, n, 0) | 0; + if (!f) { + i = 1; + break + } + f = c[f + 4 >> 2] | 0; + if (!f) { + i = 1; + break + } + u = c[f + 4 >> 2] | 0; + if (!u) { + i = 27; + break + } + q = u + 20 | 0; + r = u + 16 | 0; + p = 0; + while (1) { + f = c[q >> 2] | 0; + o = c[r >> 2] | 0; + if ((p | 0) >= (f | 0)) break; + o = a[o + p >> 0] | 0; + f = c[x >> 2] | 0; + if ((f | 0) == (c[y >> 2] | 0)) { + if (!((eW(H) | 0) << 24 >> 24)) { + i = 1; + break g + } + f = c[x >> 2] | 0 + } + c[x >> 2] = f + 1; + a[f >> 0] = o; + p = p + 1 | 0 + } + GW(K, o, f); + do { + t = n; + n = n + 1 | 0 + } while ((a[t >> 0] | 0) != 58); + GW(K, n, HW(n) | 0); + while (1) { + f = c[x >> 2] | 0; + if ((f | 0) == (c[y >> 2] | 0)) { + if (!((eW(H) | 0) << 24 >> 24)) { + i = 1; + break g + } + f = c[x >> 2] | 0 + } + t = a[n >> 0] | 0; + c[x >> 2] = f + 1; + a[f >> 0] = t; + if (!(a[n >> 0] | 0)) break; else n = n + 1 | 0 + } + t = IW(K) | 0; + q = c[m >> 2] | 0; + r = t & A; + n = 0; + s = z & t; + while (1) { + if ((c[q + (s * 12 | 0) >> 2] | 0) != (E | 0)) break; + if ((c[q + (s * 12 | 0) + 4 >> 2] | 0) == (t | 0)) { + f = c[q + (s * 12 | 0) + 8 >> 2] | 0; + o = c[I >> 2] | 0; + while (1) { + P = a[o >> 0] | 0; + p = P << 24 >> 24 == 0; + if (p | P << 24 >> 24 != (a[f >> 0] | 0)) break; + f = f + 1 | 0; + o = o + 1 | 0 + } + if (p) { + i = 8; + break g + } + } + if (!(n << 24 >> 24)) n = (r >>> ((d[F >> 0] | 0) + -1 | 0) & B | 1) & 255; + P = n & 255; + s = s + ((s | 0) < (P | 0) ? k : 0) - P | 0 + } + if (a[C >> 0] | 0) { + a[(c[x >> 2] | 0) + -1 >> 0] = a[D >> 0] | 0; + f = c[c[u >> 2] >> 2] | 0; + while (1) { + n = c[x >> 2] | 0; + if ((n | 0) == (c[y >> 2] | 0)) { + if (!((eW(H) | 0) << 24 >> 24)) { + i = 1; + break g + } + n = c[x >> 2] | 0 + } + P = a[f >> 0] | 0; + c[x >> 2] = n + 1; + a[n >> 0] = P; + if (!(a[f >> 0] | 0)) break; else f = f + 1 | 0 + } + } + P = c[I >> 2] | 0; + c[I >> 2] = c[x >> 2]; + c[e >> 2] = P; + c[(c[m >> 2] | 0) + (s * 12 | 0) >> 2] = E; + c[(c[m >> 2] | 0) + (s * 12 | 0) + 4 >> 2] = t; + c[(c[m >> 2] | 0) + (s * 12 | 0) + 8 >> 2] = P; + v = v + -1 | 0; + i = i + 2 | 0; + if (!v) break e + } + break a + } while (0); + while (1) { + if ((i | 0) >= (G | 0)) { + i = h; + break + } + a[(c[J + (i << 2) >> 2] | 0) + -1 >> 0] = 0; + i = i + 2 | 0 + } + while (1) { + i = c[i >> 2] | 0; + if (!i) break; + a[(c[c[i + 12 >> 2] >> 2] | 0) + -1 >> 0] = 0; + i = i + 4 | 0 + } + if (!(a[b + 232 >> 0] | 0)) i = 0; else { + i = c[j + 4 >> 2] | 0; + if (!i) { + i = c[M + 156 >> 2] | 0; + if (!i) { + i = 0; + break + } + k = c[g >> 2] | 0 + } else { + i = c[i + 4 >> 2] | 0; + if (!i) { + i = 27; + break + } + j = c[g >> 2] | 0; + while (1) { + k = j + 1 | 0; + if ((a[j >> 0] | 0) == 58) break; else j = k + } + } + if ((a[b + 233 >> 0] | 0) != 0 ? (N = c[c[i >> 2] >> 2] | 0, (N | 0) != 0) : 0) { + j = 0; + while (1) { + m = j + 1 | 0; + if (!(a[N + j >> 0] | 0)) break; else j = m + } + } else m = 0; + c[g + 4 >> 2] = k; + p = i + 20 | 0; + c[g + 16 >> 2] = c[p >> 2]; + c[g + 8 >> 2] = c[c[i >> 2] >> 2]; + c[g + 20 >> 2] = m; + q = 0; + while (1) { + r = q + 1 | 0; + if (!(a[k + q >> 0] | 0)) break; else q = r + } + j = c[p >> 2] | 0; + n = r + m + j | 0; + f = i + 24 | 0; + if ((n | 0) > (c[f >> 2] | 0)) { + j = n + 24 | 0; + o = kb[c[b + 12 >> 2] & 63](j) | 0; + if (!o) { + i = 1; + break + } + c[f >> 2] = j; + f = i + 16 | 0; + F3(o | 0, c[f >> 2] | 0, c[p >> 2] | 0) | 0; + j = b + 360 | 0; + while (1) { + j = c[j >> 2] | 0; + if (!j) break; + n = j + 12 | 0; + if ((c[n >> 2] | 0) == (c[f >> 2] | 0)) c[n >> 2] = o + } + tb[c[b + 20 >> 2] & 127](c[f >> 2] | 0); + c[f >> 2] = o; + n = o; + j = c[p >> 2] | 0 + } else { + n = i + 16 | 0; + f = n; + n = c[n >> 2] | 0 + } + j = n + j | 0; + F3(j | 0, k | 0, r | 0) | 0; + if (m | 0) { + P = j + q | 0; + a[P >> 0] = a[b + 468 >> 0] | 0; + F3(P + 1 | 0, c[c[i >> 2] >> 2] | 0, m | 0) | 0 + } + c[g >> 2] = c[f >> 2]; + i = 0 + } + } while (0); + l = O; + return i | 0 + } + + function vW(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + e = a + 104 | 0; + f = a + 372 | 0; + d = a + 4 | 0; + while (1) { + if (!b) break; + a = c[e >> 2] | 0; + if (!a) a = b; else { + ub[a & 63](c[d >> 2] | 0, c[c[b >> 2] >> 2] | 0); + a = b + } + h = b + 4 | 0; + g = c[h >> 2] | 0; + c[h >> 2] = c[f >> 2]; + c[f >> 2] = b; + c[(c[a >> 2] | 0) + 4 >> 2] = c[b + 8 >> 2]; + b = g + } + return + } + + function wW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + q = l; + l = l + 16 | 0; + j = q; + c[b + 276 >> 2] = 62; + k = b + 284 | 0; + c[k >> 2] = d; + m = b + 144 | 0; + n = b + 288 | 0; + o = b + 80 | 0; + i = b + 476 | 0; + g = d; + a:while (1) { + c[j >> 2] = 0; + r = c[m >> 2] | 0; + r = ob[c[r >> 2] & 127](r, g, e, j) | 0; + d = c[j >> 2] | 0; + c[n >> 2] = d; + h = d; + switch (r | 0) { + case -15: { + p = 3; + break a + } + case -4: { + p = 7; + break a + } + case 0: { + p = 12; + break a + } + case -1: { + p = 13; + break a + } + case -2: { + p = 15; + break a + } + case 15: { + if (c[o >> 2] | 0) hW(b, c[m >> 2] | 0, g, h); + break + } + case 11: { + if (!(nW(b, c[m >> 2] | 0, g, h) | 0)) { + d = 1; + break a + } + break + } + case 13: { + if (!(oW(b, c[m >> 2] | 0, g, h) | 0)) { + d = 1; + break a + } + break + } + default: { + d = 9; + break a + } + } + d = c[j >> 2] | 0; + c[k >> 2] = d; + switch (c[i >> 2] | 0) { + case 2: { + d = 35; + break a + } + case 3: { + p = 18; + break a + } + default: { + } + } + g = d + } + do if ((p | 0) == 3) { + if (c[o >> 2] | 0) { + hW(b, c[m >> 2] | 0, g, h); + if ((c[i >> 2] | 0) == 2) { + d = 35; + break + } + d = c[j >> 2] | 0 + } + c[f >> 2] = d; + d = 0 + } else if ((p | 0) == 7) { + c[f >> 2] = g; + d = 0 + } else if ((p | 0) == 12) { + c[k >> 2] = d; + d = 4 + } else if ((p | 0) == 13) if (!(a[b + 480 >> 0] | 0)) { + c[f >> 2] = g; + d = 0 + } else d = 5; else if ((p | 0) == 15) if (!(a[b + 480 >> 0] | 0)) { + c[f >> 2] = g; + d = 0 + } else d = 6; else if ((p | 0) == 18) { + c[f >> 2] = d; + d = 0 + } while (0); + l = q; + return d | 0 + } + + function xW(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0; + B = l; + l = l + 16 | 0; + y = B + 8 | 0; + z = B + 4 | 0; + x = B; + i = c[e >> 2] | 0; + c[y >> 2] = i; + if ((c[b + 144 >> 2] | 0) == (d | 0)) { + s = b + 284 | 0; + c[s >> 2] = i; + t = b + 288 | 0 + } else { + t = c[b + 296 >> 2] | 0; + s = t; + t = t + 4 | 0 + } + c[s >> 2] = i; + c[e >> 2] = 0; + k = d + 8 | 0; + m = b + 60 | 0; + u = b + 80 | 0; + v = b + 4 | 0; + w = b + 476 | 0; + n = d + 68 | 0; + o = b + 44 | 0; + p = d + 56 | 0; + q = b + 48 | 0; + a:while (1) { + j = ob[c[k >> 2] & 127](d, c[y >> 2] | 0, f, z) | 0; + i = c[z >> 2] | 0; + c[t >> 2] = i; + r = i; + b:do switch (j | 0) { + case 40: { + A = 6; + break a + } + case 0: { + A = 23; + break a + } + case -2: { + A = 24; + break a + } + case -4: + case -1: { + A = 26; + break a + } + case 7: { + i = c[m >> 2] | 0; + if (i | 0) { + a[x >> 0] = 10; + vb[i & 127](c[v >> 2] | 0, x, 1); + break b + } + if (c[u >> 2] | 0) hW(b, d, c[y >> 2] | 0, r); + break + } + case 6: { + j = c[m >> 2] | 0; + if (!j) { + if (!(c[u >> 2] | 0)) break b; + hW(b, d, c[y >> 2] | 0, r); + break b + } + if (!(a[n >> 0] | 0)) i = r; else { + r = c[y >> 2] | 0; + vb[j & 127](c[v >> 2] | 0, r, i - r | 0); + break b + } + while (1) { + c[x >> 2] = c[o >> 2]; + r = pb[c[p >> 2] & 127](d, y, i, x, c[q >> 2] | 0) | 0; + c[t >> 2] = c[z >> 2]; + i = c[o >> 2] | 0; + vb[j & 127](c[v >> 2] | 0, i, (c[x >> 2] | 0) - i | 0); + if (r >>> 0 < 2) break; + c[s >> 2] = c[y >> 2]; + i = c[z >> 2] | 0 + } + break + } + default: { + A = 28; + break a + } + } while (0); + r = c[z >> 2] | 0; + c[y >> 2] = r; + c[s >> 2] = r; + switch (c[w >> 2] | 0) { + case 3: { + A = 30; + break a + } + case 2: { + i = 35; + break a + } + default: { + } + } + } + if ((A | 0) == 6) { + i = c[b + 76 >> 2] | 0; + if (!i) { + if (c[u >> 2] | 0) hW(b, d, c[y >> 2] | 0, r) + } else tb[i & 127](c[v >> 2] | 0); + i = c[z >> 2] | 0; + c[e >> 2] = i; + c[g >> 2] = i; + i = (c[w >> 2] | 0) == 2 ? 35 : 0 + } else if ((A | 0) == 23) { + c[s >> 2] = i; + i = 4 + } else if ((A | 0) == 24) if (!(h << 24 >> 24)) i = 6; else { + c[g >> 2] = c[y >> 2]; + i = 0 + } else if ((A | 0) == 26) if (!(h << 24 >> 24)) i = 20; else { + c[g >> 2] = c[y >> 2]; + i = 0 + } else if ((A | 0) == 28) { + c[s >> 2] = i; + i = 23 + } else if ((A | 0) == 30) { + c[g >> 2] = c[z >> 2]; + i = 0 + } + l = B; + return i | 0 + } + + function yW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + c[g >> 2] = d; + d = xW(b, c[b + 144 >> 2] | 0, g, e, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + g = c[g >> 2] | 0; + do if (!((d | 0) != 0 | (g | 0) == 0)) { + d = b + 276 | 0; + if (!(c[b + 472 >> 2] | 0)) { + c[d >> 2] = 58; + d = _V(b, g, e, f) | 0; + break + } else { + c[d >> 2] = 63; + d = zW(b, g, e, f) | 0; + break + } + } while (0); + l = h; + return d | 0 + } + + function zW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + d = rW(b, 1, c[b + 144 >> 2] | 0, d, e, f, (a[b + 480 >> 0] | 0) == 0 & 1) | 0; + if ((d | 0) == 0 ? (AW(b) | 0) << 24 >> 24 == 0 : 0) d = 1; + return d | 0 + } + + function AW(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + m = a + 16 | 0; + a = a + 360 | 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) { + a = 1; + break + } + i = (c[a + 24 >> 2] | 0) + 1 | 0; + j = a + 36 | 0; + f = c[j >> 2] | 0; + e = f + i | 0; + l = a + 4 | 0; + d = c[l >> 2] | 0; + if ((d | 0) == (e | 0)) { + a = 1; + break + } + k = a + 8 | 0; + b = c[k >> 2] | 0; + g = b + i | 0; + h = a + 40 | 0; + if ((g | 0) > ((c[h >> 2] | 0) - f | 0)) { + e = lb[c[m >> 2] & 127](f, g) | 0; + if (!e) { + a = 0; + break + } + b = a + 12 | 0; + f = c[j >> 2] | 0; + if ((c[b >> 2] | 0) == (f | 0)) c[b >> 2] = e; + b = a + 16 | 0; + d = c[b >> 2] | 0; + if (d | 0) c[b >> 2] = e + (d - f); + c[j >> 2] = e; + c[h >> 2] = e + g; + e = e + i | 0; + d = c[l >> 2] | 0; + b = c[k >> 2] | 0 + } + F3(e | 0, d | 0, b | 0) | 0; + c[l >> 2] = e + } + return a | 0 + } + + function BW(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + f = b + 12 | 0; + g = b + 8 | 0; + while (1) { + e = c[f >> 2] | 0; + if ((e | 0) == (c[g >> 2] | 0)) { + if (!((eW(b) | 0) << 24 >> 24)) { + d = 0; + break + } + e = c[f >> 2] | 0 + } + i = a[d >> 0] | 0; + c[f >> 2] = e + 1; + a[e >> 0] = i; + if (!(a[d >> 0] | 0)) { + h = 6; + break + } else d = d + 1 | 0 + } + if ((h | 0) == 6) { + i = b + 16 | 0; + d = c[i >> 2] | 0; + c[i >> 2] = c[f >> 2] + } + return d | 0 + } + + function CW(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + n = c[b + 352 >> 2] | 0; + j = n + 80 | 0; + k = n + 92 | 0; + l = n + 88 | 0; + m = n + 60 | 0; + n = n + 96 | 0; + i = d + 4 | 0; + h = c[d >> 2] | 0; + a:while (1) { + switch (a[h >> 0] | 0) { + case 0: { + e = 1; + break a + } + case 58: { + g = c[d >> 2] | 0; + while (1) { + e = c[k >> 2] | 0; + f = (e | 0) == (c[l >> 2] | 0); + if ((g | 0) == (h | 0)) break; + if (f) { + if (!((eW(j) | 0) << 24 >> 24)) { + e = 0; + break a + } + e = c[k >> 2] | 0 + } + f = a[g >> 0] | 0; + c[k >> 2] = e + 1; + a[e >> 0] = f; + g = g + 1 | 0 + } + if (f) { + if (!((eW(j) | 0) << 24 >> 24)) { + e = 0; + break a + } + e = c[k >> 2] | 0 + } + c[k >> 2] = e + 1; + a[e >> 0] = 0; + e = YV(b, m, c[n >> 2] | 0, 8) | 0; + if (!e) { + e = 0; + break a + } + f = c[n >> 2] | 0; + if ((c[e >> 2] | 0) == (f | 0)) c[n >> 2] = c[k >> 2]; else c[k >> 2] = f; + c[i >> 2] = e; + break + } + default: { + } + } + h = h + 1 | 0 + } + return e | 0 + } + + function DW(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + k = a[f >> 0] | 0; + i = c[d >> 2] | 0; + h = (i | 0) == 0; + do if (!(k << 24 >> 24)) if (h) { + m = 0; + j = 11 + } else h = 28; else if (((!h ? (a[i >> 0] | 0) == 120 : 0) ? (a[i + 1 >> 0] | 0) == 109 : 0) ? (a[i + 2 >> 0] | 0) == 108 : 0) { + h = a[i + 3 >> 0] | 0; + if ((h << 24 >> 24 == 110 ? (a[i + 4 >> 0] | 0) == 115 : 0) ? (a[i + 5 >> 0] | 0) == 0 : 0) { + h = 39; + break + } + m = h << 24 >> 24 == 0 & 1; + j = 11 + } else { + m = 0; + j = 11 + } while (0); + a:do if ((j | 0) == 11) { + l = m << 24 >> 24 != 0; + h = 1; + i = 1; + n = 0; + while (1) { + j = i << 24 >> 24 != 0; + if (!(k << 24 >> 24)) break; + do if (j) { + if ((n | 0) <= 36 ? k << 24 >> 24 == (a[139175 + n >> 0] | 0) : 0) break; + i = 0 + } else i = 0; while (0); + do if (!(l | h << 24 >> 24 == 0)) { + if ((n | 0) <= 29 ? k << 24 >> 24 == (a[139212 + n >> 0] | 0) : 0) break; + h = 0 + } while (0); + k = n + 1 | 0; + n = k; + k = a[f + k >> 0] | 0 + } + if ((m & 255 | 0) != (j & (n | 0) == 36 & 1 | 0)) { + h = l ? 38 : 40; + break + } + if (!(h << 24 >> 24 != 0 & (n | 0) == 29)) { + o = b + 468 | 0; + n = n + ((a[o >> 0] | 0) != 0 & 1) | 0; + h = b + 372 | 0; + j = c[h >> 2] | 0; + do if (!j) { + h = b + 12 | 0; + i = kb[c[h >> 2] & 63](28) | 0; + if (!i) { + h = 1; + break a + } + j = n + 24 | 0; + m = kb[c[h >> 2] & 63](j) | 0; + c[i + 16 >> 2] = m; + if (!m) { + tb[c[b + 20 >> 2] & 127](i); + h = 1; + break a + } else { + c[i + 24 >> 2] = j; + j = i; + break + } + } else { + i = j + 24 | 0; + if ((n | 0) > (c[i >> 2] | 0)) { + k = j + 16 | 0; + l = n + 24 | 0; + m = lb[c[b + 16 >> 2] & 127](c[k >> 2] | 0, l) | 0; + if (!m) { + h = 1; + break a + } + c[k >> 2] = m; + c[i >> 2] = l + } + c[h >> 2] = c[j + 4 >> 2] + } while (0); + c[j + 20 >> 2] = n; + i = j + 16 | 0; + F3(c[i >> 2] | 0, f | 0, n | 0) | 0; + h = a[o >> 0] | 0; + if (h << 24 >> 24) a[(c[i >> 2] | 0) + (n + -1) >> 0] = h; + c[j >> 2] = d; + c[j + 12 >> 2] = e; + i = d + 4 | 0; + c[j + 8 >> 2] = c[i >> 2]; + if ((a[f >> 0] | 0) == 0 ? ((c[b + 352 >> 2] | 0) + 152 | 0) == (d | 0) : 0) h = 0; else h = j; + c[i >> 2] = h; + c[j + 4 >> 2] = c[g >> 2]; + c[g >> 2] = j; + if ((e | 0) != 0 ? (p = c[b + 100 >> 2] | 0, (p | 0) != 0) : 0) { + vb[p & 127](c[b + 4 >> 2] | 0, c[d >> 2] | 0, c[i >> 2] | 0 ? f : 0); + h = 0 + } else h = 0 + } else h = 40 + } while (0); + return h | 0 + } + + function EW(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = b; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + b = b + 8 | 0; + c[b >> 2] = KW(a) | 0; + c[b + 4 >> 2] = 0; + return + } + + function FW(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = b; + g = c[d + 4 >> 2] ^ 1936682341; + e = a; + c[e >> 2] = c[d >> 2] ^ 1886610805; + c[e + 4 >> 2] = g; + e = b + 8 | 0; + g = e; + d = c[g + 4 >> 2] ^ 1685025377; + f = a + 8 | 0; + c[f >> 2] = c[g >> 2] ^ 1852075885; + c[f + 4 >> 2] = d; + f = b; + b = c[f + 4 >> 2] ^ 1819895653; + d = a + 16 | 0; + c[d >> 2] = c[f >> 2] ^ 1852142177; + c[d + 4 >> 2] = b; + d = c[e + 4 >> 2] ^ 1952801890; + b = a + 24 | 0; + c[b >> 2] = c[e >> 2] ^ 2037671283; + c[b + 4 >> 2] = d; + c[a + 40 >> 2] = a + 32; + b = a + 48 | 0; + c[b >> 2] = 0; + c[b + 4 >> 2] = 0; + return + } + + function GW(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, A = 0, B = 0; + n = e + f | 0; + o = b + 40 | 0; + p = b + 40 | 0; + q = b + 32 | 0; + r = b + 33 | 0; + s = b + 34 | 0; + t = b + 35 | 0; + h = b + 36 | 0; + i = b + 37 | 0; + j = b + 38 | 0; + k = b + 39 | 0; + l = b + 24 | 0; + m = b + 48 | 0; + f = e; + do { + while (1) { + g = c[o >> 2] | 0; + if (f >>> 0 >= n >>> 0) { + e = 0; + break + } + if (g >>> 0 >= p >>> 0) { + e = 1; + break + } + e = a[f >> 0] | 0; + c[o >> 2] = g + 1; + a[g >> 0] = e; + f = f + 1 | 0 + } + if (g >>> 0 < p >>> 0) break; + A = d[q >> 0] | 0; + B = A3(d[r >> 0] | 0 | 0, 0, 8) | 0; + g = z; + y = A3(d[s >> 0] | 0 | 0, 0, 16) | 0; + g = g | z; + w = A3(d[t >> 0] | 0 | 0, 0, 24) | 0; + g = g | z | (d[h >> 0] | 0); + u = A3(d[i >> 0] | 0 | 0, 0, 40) | 0; + g = g | z; + x = A3(d[j >> 0] | 0 | 0, 0, 48) | 0; + g = g | z; + v = A3(d[k >> 0] | 0 | 0, 0, 56) | 0; + v = B | A | y | w | u | x | v; + g = g | z; + x = l; + u = g ^ c[x + 4 >> 2]; + w = l; + c[w >> 2] = v ^ c[x >> 2]; + c[w + 4 >> 2] = u; + JW(b, 2); + w = b; + g = c[w + 4 >> 2] ^ g; + u = b; + c[u >> 2] = c[w >> 2] ^ v; + c[u + 4 >> 2] = g; + c[o >> 2] = q; + u = m; + u = s3(c[u >> 2] | 0, c[u + 4 >> 2] | 0, 8, 0) | 0; + g = m; + c[g >> 2] = u; + c[g + 4 >> 2] = z + } while (e); + return + } + + function HW(b) { + b = b | 0; + var c = 0; + c = 0; + while (1) { + if (!(a[b >> 0] | 0)) break; + c = c + 1 | 0; + b = b + 1 | 0 + } + return c | 0 + } + + function IW(a) { + a = a | 0; + var b = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + f = a + 32 | 0; + h = (c[a + 40 >> 2] | 0) - f | 0; + e = a + 48 | 0; + e = s3(c[e >> 2] | 0, c[e + 4 >> 2] | 0, h | 0, 0) | 0; + e = A3(e | 0, z | 0, 56) | 0; + b = z; + switch (h << 24 >> 24 | 0) { + case 7: { + e = A3(d[a + 38 >> 0] | 0 | 0, 0, 48) | 0 | e; + b = z | b; + g = 3; + break + } + case 6: { + g = 3; + break + } + case 5: { + g = 4; + break + } + case 4: { + g = 5; + break + } + case 3: { + g = 6; + break + } + case 2: { + g = 7; + break + } + case 1: { + g = 8; + break + } + default: { + } + } + if ((g | 0) == 3) { + h = A3(d[a + 37 >> 0] | 0 | 0, 0, 40) | 0; + e = h | e; + b = z | b; + g = 4 + } + if ((g | 0) == 4) { + b = d[a + 36 >> 0] | 0 | b; + g = 5 + } + if ((g | 0) == 5) { + h = A3(d[a + 35 >> 0] | 0 | 0, 0, 24) | 0; + e = h | e; + b = z | b; + g = 6 + } + if ((g | 0) == 6) { + h = A3(d[a + 34 >> 0] | 0 | 0, 0, 16) | 0; + e = h | e; + b = z | b; + g = 7 + } + if ((g | 0) == 7) { + h = A3(d[a + 33 >> 0] | 0 | 0, 0, 8) | 0; + b = z | b; + e = h | e; + g = 8 + } + if ((g | 0) == 8) e = e | (d[f >> 0] | 0); + h = a + 24 | 0; + i = h; + g = c[i + 4 >> 2] ^ b; + f = h; + c[f >> 2] = c[i >> 2] ^ e; + c[f + 4 >> 2] = g; + JW(a, 2); + f = a; + b = c[f + 4 >> 2] ^ b; + g = a; + c[g >> 2] = c[f >> 2] ^ e; + c[g + 4 >> 2] = b; + g = a + 16 | 0; + b = g; + e = c[b + 4 >> 2] | 0; + f = g; + c[f >> 2] = c[b >> 2] ^ 255; + c[f + 4 >> 2] = e; + JW(a, 4); + f = a; + a = a + 8 | 0; + z = c[a + 4 >> 2] ^ c[f + 4 >> 2] ^ c[g + 4 >> 2] ^ c[h + 4 >> 2]; + return c[a >> 2] ^ c[f >> 2] ^ c[g >> 2] ^ c[h >> 2] | 0 + } + + function JW(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; + e = a + 8 | 0; + f = a + 24 | 0; + g = a + 16 | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + h = e; + n = c[h >> 2] | 0; + h = c[h + 4 >> 2] | 0; + o = a; + o = s3(c[o >> 2] | 0, c[o + 4 >> 2] | 0, n | 0, h | 0) | 0; + k = z; + m = A3(n | 0, h | 0, 13) | 0; + l = z; + h = z3(n | 0, h | 0, 51) | 0; + h = (m | h) ^ o; + l = (l | z) ^ k; + m = f; + n = c[m >> 2] | 0; + m = c[m + 4 >> 2] | 0; + j = g; + j = s3(c[j >> 2] | 0, c[j + 4 >> 2] | 0, n | 0, m | 0) | 0; + i = z; + q = A3(n | 0, m | 0, 16) | 0; + p = z; + m = z3(n | 0, m | 0, 48) | 0; + m = (q | m) ^ j; + p = (p | z) ^ i; + o = s3(k | 0, o | 0, m | 0, p | 0) | 0; + k = z; + q = a; + c[q >> 2] = o; + c[q + 4 >> 2] = k; + q = A3(m | 0, p | 0, 21) | 0; + n = z; + p = z3(m | 0, p | 0, 43) | 0; + m = f; + c[m >> 2] = (q | p) ^ o; + c[m + 4 >> 2] = (n | z) ^ k; + i = s3(j | 0, i | 0, h | 0, l | 0) | 0; + j = z; + m = A3(h | 0, l | 0, 17) | 0; + k = z; + l = z3(h | 0, l | 0, 47) | 0; + h = e; + c[h >> 2] = (m | l) ^ i; + c[h + 4 >> 2] = (k | z) ^ j; + h = g; + c[h >> 2] = j; + c[h + 4 >> 2] = i; + d = d + 1 | 0 + } + return + } + + function KW(a) { + a = a | 0; + var b = 0; + while (1) { + b = c[a + 472 >> 2] | 0; + if (!b) break; else a = b + } + return c[a + 492 >> 2] | 0 + } + + function LW(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, 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; + L = l; + l = l + 16 | 0; + I = L; + J = L + 4 | 0; + K = c[b + 352 >> 2] | 0; + o = d + 16 | 0; + p = d + 40 | 0; + q = b + 144 | 0; + r = b + 284 | 0; + s = e << 24 >> 24 == 0; + t = h + 12 | 0; + v = h + 16 | 0; + w = h + 8 | 0; + x = d + 44 | 0; + y = d + 64 | 0; + z = b + 436 | 0; + A = b + 452 | 0; + B = b + 448 | 0; + C = (K + 80 | 0) == (h | 0); + D = b + 268 | 0; + E = K + 130 | 0; + F = K + 129 | 0; + G = b + 296 | 0; + H = b + 224 | 0; + i = 0; + a:while (1) { + b:while (1) { + switch (ob[c[o >> 2] & 127](d, f, g, I) | 0) { + case -4: { + i = 0; + n = 61; + break a + } + case 0: { + n = 4; + break a + } + case -1: { + n = 6; + break a + } + case 6: { + n = 21; + break b + } + case -3: { + n = 22; + break b + } + case 7: + case 39: { + n = 23; + break b + } + case 10: { + j = lb[c[p >> 2] & 127](d, f) | 0; + c:do if ((j | 0) < 0) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + j = 1; + i = 14 + } else { + j = 1; + i = 14 + } else { + if (s & (j | 0) == 32) { + k = c[t >> 2] | 0; + if ((c[v >> 2] | 0) == (k | 0)) { + j = 4; + break + } + if ((a[k + -1 >> 0] | 0) == 32) { + j = 4; + break + } + } + m = gX(j, J) | 0; + k = 0; + while (1) { + if ((k | 0) >= (m | 0)) { + j = 0; + break c + } + j = c[t >> 2] | 0; + if ((j | 0) == (c[w >> 2] | 0)) { + if (!((eW(h) | 0) << 24 >> 24)) { + j = 1; + i = 1; + break c + } + j = c[t >> 2] | 0 + } + M = a[J + k >> 0] | 0; + c[t >> 2] = j + 1; + a[j >> 0] = M; + k = k + 1 | 0 + } + } while (0); + switch (j & 7) { + case 4: + case 0: + break b; + default: { + } + } + break + } + case 9: { + j = c[y >> 2] | 0; + j = (nb[c[x >> 2] & 63](d, f + j | 0, (c[I >> 2] | 0) + (0 - j) | 0) | 0) & 255; + if (j << 24 >> 24) { + n = 31; + break b + } + j = c[y >> 2] | 0; + j = WV(z, d, f + j | 0, (c[I >> 2] | 0) + (0 - j) | 0) | 0; + if (!j) { + i = 1; + n = 61; + break a + } + m = YV(b, K, j, 0) | 0; + c[B >> 2] = c[A >> 2]; + do if (C) { + if (!(c[D >> 2] | 0)) if (!m) break b; else break; + if (!(a[E >> 0] | 0)) { + j = (m | 0) != 0; + if (!(a[F >> 0] | 0)) { + n = 45; + break + } else { + u = j; + n = 47; + break + } + } else { + j = (m | 0) != 0; + if (!(c[G >> 2] | 0)) { + n = 45; + break + } else { + u = j; + n = 47; + break + } + } + } else if (!(a[F >> 0] | 0)) if (!m) { + i = 11; + n = 61; + break a + } else { + n = 46; + break + } else { + j = (m | 0) != 0; + if (!(a[E >> 0] | 0)) { + u = j; + n = 47; + break + } else { + n = 45; + break + } + } while (0); + if ((n | 0) == 45) if (j) n = 46; else { + i = 11; + n = 61; + break a + } else if ((n | 0) == 47 ? (n = 0, !u) : 0) break b; + if ((n | 0) == 46 ? (n = 0, (a[m + 34 >> 0] | 0) == 0) : 0) { + i = 24; + n = 61; + break a + } + k = m + 32 | 0; + if (a[k >> 0] | 0) { + n = 49; + break a + } + if (c[m + 28 >> 2] | 0) { + n = 52; + break a + } + j = c[m + 4 >> 2] | 0; + if (!j) { + n = 55; + break a + } + m = j + (c[m + 8 >> 2] | 0) | 0; + a[k >> 0] = 1; + m = LW(b, c[H >> 2] | 0, e, j, m, h) | 0; + a[k >> 0] = 0; + j = (m | 0) == 0; + if (j) break b; else { + j = (j ^ 1) & 1; + i = m + } + break + } + default: { + n = 58; + break a + } + } + if (j) break a + } + if ((n | 0) == 21) { + n = 0; + if (!(cW(h, d, f, c[I >> 2] | 0) | 0)) { + i = 1; + n = 61; + break + } + } else if ((n | 0) == 22) { + c[I >> 2] = f + (c[y >> 2] | 0); + n = 23 + } else if ((n | 0) == 31) { + n = 0; + f = c[t >> 2] | 0; + if ((f | 0) == (c[w >> 2] | 0)) { + if (!((eW(h) | 0) << 24 >> 24)) { + i = 1; + n = 61; + break + } + f = c[t >> 2] | 0 + } + c[t >> 2] = f + 1; + a[f >> 0] = j + } + do if ((n | 0) == 23) { + n = 0; + f = c[t >> 2] | 0; + if (s) { + if ((c[v >> 2] | 0) == (f | 0)) break; + if ((a[f + -1 >> 0] | 0) == 32) break + } + if ((f | 0) == (c[w >> 2] | 0)) { + if (!((eW(h) | 0) << 24 >> 24)) { + i = 1; + n = 61; + break a + } + f = c[t >> 2] | 0 + } + c[t >> 2] = f + 1; + a[f >> 0] = 32 + } while (0); + f = c[I >> 2] | 0 + } + if ((n | 0) == 4) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = c[I >> 2]; + i = 4; + n = 61 + } else { + i = 4; + n = 61 + } else if ((n | 0) == 6) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + i = 4; + n = 61 + } else { + i = 4; + n = 61 + } else if ((n | 0) == 49) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + i = 12; + n = 61 + } else { + i = 12; + n = 61 + } else if ((n | 0) == 52) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + i = 15; + n = 61 + } else { + i = 15; + n = 61 + } else if ((n | 0) == 55) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + i = 16; + n = 61 + } else { + i = 16; + n = 61 + } else if ((n | 0) == 58) if ((c[q >> 2] | 0) == (d | 0)) { + c[r >> 2] = f; + i = 23; + n = 61 + } else { + i = 23; + n = 61 + } + l = L; + return i | 0 + } + + function MW(a) { + a = a | 0; + var b = 0; + b = a + 8 | 0; + return ((a | 0) < 1 ? 0 : (b | 0) > 0 ? b : 0) | 0 + } + + function NW(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = l; + l = l + 80 | 0; + d = c + 16 | 0; + e = c; + EW(a, e); + FW(d, e); + GW(d, b, HW(b) | 0); + b = IW(d) | 0; + l = c; + return b | 0 + } + + function OW(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + while (1) { + d = a[b >> 0] | 0; + if (d << 24 >> 24 != (a[c >> 0] | 0)) { + c = 0; + break + } + if (!(d << 24 >> 24)) { + c = 1; + break + } + c = c + 1 | 0; + b = b + 1 | 0 + } + return c | 0 + } + + function PW(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 1040 | 0; + i = k; + f = c[b + 124 >> 2] | 0; + a:do if (!f) e = 18; else { + e = 0; + while (1) { + if ((e | 0) == 256) break; + c[i + (e << 2) >> 2] = -1; + e = e + 1 | 0 + } + g = i + 1028 | 0; + c[g >> 2] = 0; + j = i + 1024 | 0; + c[j >> 2] = 0; + h = i + 1032 | 0; + c[h >> 2] = 0; + do if (nb[f & 63](c[b + 244 >> 2] | 0, d, i) | 0) { + f = c[b + 12 >> 2] | 0; + e = hX() | 0; + e = kb[f & 63](e) | 0; + c[b + 236 >> 2] = e; + if (!e) { + e = c[h >> 2] | 0; + if (!e) e = 1; else { + tb[e & 127](c[j >> 2] | 0); + e = 1 + } + } else { + e = ob[(a[b + 232 >> 0] << 24 >> 24 ? 65 : 64) & 127](e, i, c[g >> 2] | 0, c[j >> 2] | 0) | 0; + if (!e) break; + c[b + 240 >> 2] = c[j >> 2]; + c[b + 248 >> 2] = c[h >> 2]; + c[b + 144 >> 2] = e; + e = 0 + } + break a + } while (0); + e = c[h >> 2] | 0; + if (e | 0) tb[e & 127](c[j >> 2] | 0); + e = 18 + } while (0); + l = k; + return e | 0 + } + + function QW(b, d) { + b = b | 0; + d = d | 0; + a[b + 4 >> 0] = 0; + c[b + 8 >> 2] = 0; + c[b + 12 >> 2] = 0; + c[b >> 2] = 0; + c[b + 16 >> 2] = d; + return + } + + function RW(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0; + l = c[b + 352 >> 2] | 0; + m = b + 424 | 0; + n = b + 420 | 0; + o = b + 412 | 0; + p = b + 428 | 0; + q = l + 152 | 0; + r = b + 368 | 0; + j = l + 60 | 0; + k = l + 80 | 0; + a:while (1) { + h = d; + b:while (1) { + if (!(a[d >> 0] | 0)) { + d = 1; + break a + } + f = a[h >> 0] | 0; + switch (f << 24 >> 24) { + case 0: + case 12: { + s = 5; + break b + } + case 61: + break b; + default: { + } + } + e = c[m >> 2] | 0; + if ((e | 0) == (c[n >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break a + } + e = c[m >> 2] | 0; + f = a[h >> 0] | 0 + } + c[m >> 2] = e + 1; + a[e >> 0] = f; + h = h + 1 | 0 + } + if ((s | 0) == 5) { + s = 0; + d = c[m >> 2] | 0; + if ((d | 0) == (c[n >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[m >> 2] | 0 + } + c[m >> 2] = d + 1; + a[d >> 0] = 0; + d = YV(b, l, c[p >> 2] | 0, 0) | 0; + if (d | 0) a[d + 32 >> 0] = 1; + d = (a[h >> 0] | 0) == 0 ? h : h + 1 | 0; + c[m >> 2] = c[p >> 2]; + continue + } + d = c[m >> 2] | 0; + if ((c[p >> 2] | 0) == (d | 0)) f = q; else { + if ((d | 0) == (c[n >> 2] | 0)) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[m >> 2] | 0 + } + c[m >> 2] = d + 1; + a[d >> 0] = 0; + f = YV(b, j, c[p >> 2] | 0, 8) | 0; + if (!f) { + d = 0; + break + } + e = c[f >> 2] | 0; + i = c[p >> 2] | 0; + d = i; + if ((e | 0) == (i | 0)) { + i = BW(k, e) | 0; + c[f >> 2] = i; + if (!i) { + d = 0; + break + } + d = c[p >> 2] | 0 + } + c[m >> 2] = d + } + c:while (1) { + i = h + 1 | 0; + e = a[i >> 0] | 0; + g = (d | 0) == (c[n >> 2] | 0); + switch (e << 24 >> 24) { + case 0: + case 12: + break c; + default: { + } + } + if (g) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break a + } + d = c[m >> 2] | 0; + e = a[i >> 0] | 0 + } + c[m >> 2] = d + 1; + a[d >> 0] = e; + h = i; + d = c[m >> 2] | 0 + } + if (g) { + if (!((eW(o) | 0) << 24 >> 24)) { + d = 0; + break + } + d = c[m >> 2] | 0 + } + c[m >> 2] = d + 1; + a[d >> 0] = 0; + if (DW(b, f, 0, c[p >> 2] | 0, r) | 0) { + d = 0; + break + } + c[m >> 2] = c[p >> 2]; + d = (a[i >> 0] | 0) == 0 ? i : h + 2 | 0 + } + return d | 0 + } + + function SW(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (a | 0 ? (d = a + 4 | 0, e = (c[d >> 2] | 0) == (c[a >> 2] | 0), c[a >> 2] = b, e) : 0) c[d >> 2] = b; + return + } + + function TW(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + if (a | 0) { + c[a + 52 >> 2] = b; + c[a + 56 >> 2] = d + } + return + } + + function UW(a, b) { + a = a | 0; + b = b | 0; + if (a | 0) c[a + 60 >> 2] = b; + return + } + + function VW(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + g = (b | 0) == 0; + a:do if (!(g | (e | 0) < 0) ? !((d | 0) == 0 & (e | 0) != 0) : 0) { + h = b + 476 | 0; + switch (c[h >> 2] | 0) { + case 3: { + c[b + 280 >> 2] = 33; + g = 0; + break a + } + case 2: { + c[b + 280 >> 2] = 36; + g = 0; + break a + } + case 0: { + if ((c[b + 472 >> 2] | 0) == 0 ? (WW(b) | 0) << 24 >> 24 == 0 : 0) { + c[b + 280 >> 2] = 1; + g = 0; + break a + } + break + } + default: { + } + } + c[h >> 2] = 1; + if (e | 0) { + g = YW(b, e) | 0; + if (!g) { + g = 0; + break + } + F3(g | 0, d | 0, e | 0) | 0; + g = ZW(b, e, f) | 0; + break + } + a[b + 480 >> 0] = f; + if (!f) g = 1; else { + g = b + 24 | 0; + j = c[g >> 2] | 0; + d = b + 292 | 0; + c[d >> 2] = j; + f = c[b + 28 >> 2] | 0; + c[b + 40 >> 2] = f; + e = b + 276 | 0; + f = ob[c[e >> 2] & 127](b, j, f, g) | 0; + c[b + 280 >> 2] = f; + if (f | 0) { + c[b + 288 >> 2] = c[b + 284 >> 2]; + c[e >> 2] = 66; + g = 0; + break + } + switch (c[h >> 2] | 0) { + case 3: { + j = c[b + 144 >> 2] | 0; + xb[c[j + 48 >> 2] & 31](j, c[d >> 2] | 0, c[g >> 2] | 0, b + 404 | 0); + c[d >> 2] = c[g >> 2]; + g = 2; + break a + } + case 1: + case 0: { + c[h >> 2] = 2; + g = 1; + break a + } + default: { + g = 1; + break a + } + } + } + } else i = 3; while (0); + if ((i | 0) == 3) if (g) g = 0; else { + c[b + 280 >> 2] = 41; + g = 0 + } + return g | 0 + } + + function WW(b) { + b = b | 0; + var d = 0; + d = b + 492 | 0; + if (!(c[d >> 2] | 0)) c[d >> 2] = _W() | 0; + if (!(a[b + 232 >> 0] | 0)) b = 1; else b = RW(b, 139242) | 0; + return b | 0 + } + + function XW(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + return c[a + 280 >> 2] | 0 + } + + function YW(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; + a:do if (!a) d = 0; else { + if ((b | 0) < 0) { + c[a + 280 >> 2] = 1; + d = 0; + break + } + switch (c[a + 476 >> 2] | 0) { + case 3: { + c[a + 280 >> 2] = 33; + d = 0; + break a + } + case 2: { + c[a + 280 >> 2] = 36; + d = 0; + break a + } + default: { + m = a + 32 | 0; + j = c[m >> 2] | 0; + n = a + 28 | 0; + e = c[n >> 2] | 0; + d = e; + if ((j - e | 0) >= (b | 0)) break a; + p = a + 24 | 0; + k = c[p >> 2] | 0; + i = e - k | 0; + e = i + b | 0; + if ((e | 0) < 0) { + c[a + 280 >> 2] = 1; + d = 0; + break a + } + l = a + 8 | 0; + f = c[l >> 2] | 0; + q = f; + g = k - q | 0; + h = (g | 0) > 1024; + b = h ? 1024 : g; + e = b + e | 0; + do if ((e | 0) > (j - q | 0)) { + d = j - k | 0; + d = (d | 0) == 0 ? 1024 : d; + do d = d << 1; while ((d | 0) < (e | 0) & (d | 0) > 0); + if ((d | 0) < 1) { + c[a + 280 >> 2] = 1; + d = 0; + break a + } + e = kb[c[a + 12 >> 2] & 63](d) | 0; + if (!e) { + c[a + 280 >> 2] = 1; + d = 0; + break a + } + c[m >> 2] = e + d; + d = c[p >> 2] | 0; + if (!d) { + d = e + (c[n >> 2] | 0) | 0; + c[n >> 2] = d; + c[l >> 2] = e; + o = 22; + break + } else { + q = d; + o = q - (c[l >> 2] | 0) | 0; + o = (o | 0) < 1024 ? o : 1024; + F3(e | 0, d + (0 - o) | 0, (c[n >> 2] | 0) - q + o | 0) | 0; + tb[c[a + 20 >> 2] & 127](c[l >> 2] | 0); + c[l >> 2] = e; + d = e + ((c[n >> 2] | 0) - (c[p >> 2] | 0)) + o | 0; + c[n >> 2] = d; + e = e + o | 0; + o = 22; + break + } + } else if (h) { + e = g - b | 0; + G3(f | 0, f + e | 0, b + i | 0) | 0; + e = 0 - e | 0; + d = (c[n >> 2] | 0) + e | 0; + c[n >> 2] = d; + e = (c[p >> 2] | 0) + e | 0; + o = 22 + } while (0); + if ((o | 0) == 22) c[p >> 2] = e; + c[a + 288 >> 2] = 0; + c[a + 284 >> 2] = 0; + c[a + 292 >> 2] = 0; + break a + } + } + } while (0); + return d | 0 + } + + function ZW(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + a:do if (!b) d = 0; else { + f = b + 476 | 0; + switch (c[f >> 2] | 0) { + case 3: { + c[b + 280 >> 2] = 33; + d = 0; + break a + } + case 2: { + c[b + 280 >> 2] = 36; + d = 0; + break a + } + case 0: { + if ((c[b + 472 >> 2] | 0) == 0 ? (WW(b) | 0) << 24 >> 24 == 0 : 0) { + c[b + 280 >> 2] = 1; + d = 0; + break a + } + break + } + default: { + } + } + c[f >> 2] = 1; + g = b + 24 | 0; + j = c[g >> 2] | 0; + h = b + 292 | 0; + c[h >> 2] = j; + k = b + 28 | 0; + i = (c[k >> 2] | 0) + d | 0; + c[k >> 2] = i; + c[b + 40 >> 2] = i; + k = b + 36 | 0; + c[k >> 2] = (c[k >> 2] | 0) + d; + a[b + 480 >> 0] = e; + d = b + 276 | 0; + i = ob[c[d >> 2] & 127](b, j, i, g) | 0; + c[b + 280 >> 2] = i; + if (i | 0) { + c[b + 288 >> 2] = c[b + 284 >> 2]; + c[d >> 2] = 66; + d = 0; + break + } + switch (c[f >> 2] | 0) { + case 3: { + d = 2; + break + } + case 1: + case 0: { + if (!e) d = 1; else { + c[f >> 2] = 2; + d = 1; + break a + } + break + } + default: + d = 1 + } + k = c[b + 144 >> 2] | 0; + xb[c[k + 48 >> 2] & 31](k, c[h >> 2] | 0, c[g >> 2] | 0, b + 404 | 0); + c[h >> 2] = c[g >> 2] + } while (0); + return d | 0 + } + + function _W() { + var a = 0, b = 0, d = 0; + b = l; + l = l + 16 | 0; + a = b; + if (!($W(a) | 0)) { + d = bX() | 0; + d = (H1() | 0) ^ d; + c[a >> 2] = d; + a = aX(139296, O(d, 2147483647) | 0) | 0 + } else a = aX(139283, c[a >> 2] | 0) | 0; + l = b; + return a | 0 + } + + function $W(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + e = X_(139283, 0, f) | 0; + if ((e | 0) < 0) b = 0; else { + b = 0; + while (1) { + g = G1(e, a + b | 0, 4 - b | 0) | 0; + d = g + b | 0; + if ((g | 0) > 0) if (d >>> 0 < 4) b = d; else { + b = 1; + break + } + if ((c[(O_() | 0) >> 2] | 0) != 4) { + b = 0; + break + } + } + X0(e) | 0 + } + l = f; + return b | 0 + } + + function aX(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + d = Ta(139361) | 0; + if (d | 0 ? (b$(d, 139381) | 0) == 0 : 0) { + d = c[15686] | 0; + c[e >> 2] = a; + c[e + 4 >> 2] = 8; + c[e + 8 >> 2] = b; + c[e + 12 >> 2] = 4; + g1(d, 139383, e) | 0 + } + l = f; + return b | 0 + } + + function bX() { + var a = 0, b = 0; + b = l; + l = l + 16 | 0; + a = b; + if (!(Ua(a | 0, 0) | 0)) { + l = b; + return c[a + 4 >> 2] | 0 + } else qa(139308, 139330, 819, 139341); + return 0 + } + + function cX(a) { + a = a | 0; + if (!a) a = 41; else a = c[a + 280 >> 2] | 0; + return a | 0 + } + + function dX(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if (!a) a = 0; else { + b = a + 284 | 0; + d = c[b >> 2] | 0; + if (d | 0 ? (e = a + 292 | 0, f = c[e >> 2] | 0, d >>> 0 >= f >>> 0) : 0) { + g = c[a + 144 >> 2] | 0; + xb[c[g + 48 >> 2] & 31](g, f, d, a + 404 | 0); + c[e >> 2] = c[b >> 2] + } + a = (c[a + 404 >> 2] | 0) + 1 | 0 + } + return a | 0 + } + + function eX(a) { + a = a | 0; + do switch (a | 0) { + case 41: { + a = 139420; + break + } + case 1: { + a = 140692; + break + } + case 2: { + a = 140679; + break + } + case 3: { + a = 140662; + break + } + case 4: { + a = 140630; + break + } + case 5: { + a = 140615; + break + } + case 6: { + a = 140597; + break + } + case 7: { + a = 140582; + break + } + case 8: { + a = 140562; + break + } + case 9: { + a = 140534; + break + } + case 10: { + a = 140499; + break + } + case 11: { + a = 140482; + break + } + case 12: { + a = 140455; + break + } + case 13: { + a = 140435; + break + } + case 14: { + a = 140397; + break + } + case 15: { + a = 140370; + break + } + case 16: { + a = 140328; + break + } + case 17: { + a = 140281; + break + } + case 18: { + a = 140264; + break + } + case 19: { + a = 140213; + break + } + case 20: { + a = 140190; + break + } + case 21: { + a = 140144; + break + } + case 22: { + a = 140117; + break + } + case 23: { + a = 140066; + break + } + case 24: { + a = 140030; + break + } + case 25: { + a = 139978; + break + } + case 26: { + a = 139933; + break + } + case 27: { + a = 139918; + break + } + case 28: { + a = 139892; + break + } + case 29: { + a = 139854; + break + } + case 30: { + a = 139822; + break + } + case 31: { + a = 139789; + break + } + case 32: { + a = 139755; + break + } + case 33: { + a = 139738; + break + } + case 34: { + a = 139717; + break + } + case 35: { + a = 139701; + break + } + case 36: { + a = 139684; + break + } + case 37: { + a = 139640; + break + } + case 38: { + a = 139560; + break + } + case 39: { + a = 139501; + break + } + case 40: { + a = 139437; + break + } + default: + a = 0 + } while (0); + return a | 0 + } + + function fX(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = c[b >> 2] | 0; + f = 0; + a:while (1) { + if (e >>> 0 <= a >>> 0) break; + h = e + -1 | 0; + g = d[h >> 0] | 0; + do if ((g & 248 | 0) == 240) if ((f + 1 | 0) >>> 0 > 3) { + i = 5; + break a + } else f = 0; else { + if ((g & 240 | 0) == 224) if ((f + 1 | 0) >>> 0 > 2) { + i = 8; + break a + } else { + f = 0; + break + } + if ((g & 224 | 0) == 192) if ((f + 1 | 0) >>> 0 > 1) { + i = 11; + break a + } else { + f = 0; + break + } else if (!(g & 128)) break a; else break + } while (0); + e = h; + f = f + 1 | 0 + } + if ((i | 0) == 5) e = e + 3 | 0; else if ((i | 0) == 8) e = e + 2 | 0; else if ((i | 0) == 11) e = e + 1 | 0; + c[b >> 2] = e; + return + } + + function gX(b, c) { + b = b | 0; + c = c | 0; + do if ((b | 0) >= 0) { + if ((b | 0) < 128) { + a[c >> 0] = b; + b = 1; + break + } + if ((b | 0) < 2048) { + a[c >> 0] = b >>> 6 | 192; + a[c + 1 >> 0] = b & 63 | 128; + b = 2; + break + } + if ((b | 0) < 65536) { + a[c >> 0] = b >>> 12 | 224; + a[c + 1 >> 0] = b >>> 6 & 63 | 128; + a[c + 2 >> 0] = b & 63 | 128; + b = 3; + break + } + if ((b | 0) < 1114112) { + a[c >> 0] = b >>> 18 | 240; + a[c + 1 >> 0] = b >>> 12 & 63 | 128; + a[c + 2 >> 0] = b >>> 6 & 63 | 128; + a[c + 3 >> 0] = b & 63 | 128; + b = 4 + } else b = 0 + } else b = 0; while (0); + return b | 0 + } + + function hX() { + return 1908 + } + + function iX(e, f, g, h) { + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + i = 0; + while (1) { + if ((i | 0) == 364) { + i = 0; + break + } + a[e + i >> 0] = a[56472 + i >> 0] | 0; + i = i + 1 | 0 + } + a:while (1) { + if ((i | 0) >= 128) { + j = 5; + break + } + switch (a[56544 + i >> 0] | 0) { + case 0: + case 28: + break; + default: + if ((c[f + (i << 2) >> 2] | 0) != (i | 0)) { + e = 0; + break a + } + } + i = i + 1 | 0 + } + b:do if ((j | 0) == 5) { + q = e + 72 | 0; + m = e + 372 | 0; + n = e + 884 | 0; + o = (g | 0) == 0; + l = 0; + while (1) { + if ((l | 0) >= 256) break; + p = c[f + (l << 2) >> 2] | 0; + do if ((p | 0) == -1) { + a[q + l >> 0] = 1; + b[m + (l << 1) >> 1] = -1; + a[n + (l << 2) >> 0] = 1; + a[n + (l << 2) + 1 >> 0] = 0 + } else { + if ((p | 0) < 0) { + if (o | (p | 0) < -4) { + e = 0; + break b + } + a[q + l >> 0] = 3 - p; + a[n + (l << 2) >> 0] = 0; + b[m + (l << 1) >> 1] = 0; + break + } + if ((p | 0) < 128) { + i = a[56544 + p >> 0] | 0; + switch (i << 24 >> 24) { + case 0: + case 28: + break; + default: + if ((p | 0) != (l | 0)) { + e = 0; + break b + } + } + a[q + l >> 0] = i; + a[n + (l << 2) >> 0] = 1; + a[n + (l << 2) + 1 >> 0] = p; + b[m + (l << 1) >> 1] = (p | 0) == 0 ? -1 : p & 65535; + break + } + if ((jX(p) | 0) < 0) { + a[q + l >> 0] = 0; + b[m + (l << 1) >> 1] = -1; + a[n + (l << 2) >> 0] = 1; + a[n + (l << 2) + 1 >> 0] = 0; + break + } + if ((p | 0) > 65535) { + e = 0; + break b + } + i = p >>> 8; + j = p >>> 5 & 7; + k = 1 << (p & 31); + if (!(c[56836 + ((d[140706 + i >> 0] << 3 | j) << 2) >> 2] & k)) a[q + l >> 0] = c[56836 + ((d[140962 + i >> 0] << 3 | j) << 2) >> 2] & k | 0 ? 26 : 28; else a[q + l >> 0] = 22; + a[n + (l << 2) >> 0] = gX(p, n + (l << 2) + 1 | 0) | 0; + b[m + (l << 1) >> 1] = p + } while (0); + l = l + 1 | 0 + } + c[e + 368 >> 2] = h; + c[e + 364 >> 2] = g; + if (!o) { + c[e + 328 >> 2] = 106; + c[e + 332 >> 2] = 106; + c[e + 336 >> 2] = 106; + c[e + 340 >> 2] = 107; + c[e + 344 >> 2] = 107; + c[e + 348 >> 2] = 107; + c[e + 352 >> 2] = 108; + c[e + 356 >> 2] = 108; + c[e + 360 >> 2] = 108 + } + c[e + 56 >> 2] = 13; + c[e + 60 >> 2] = 14 + } while (0); + return e | 0 + } + + function jX(b) { + b = b | 0; + var c = 0; + switch (b >> 8 | 0) { + case 223: + case 222: + case 221: + case 220: + case 219: + case 218: + case 217: + case 216: { + b = -1; + break + } + case 0: { + if (!(a[56544 + b >> 0] | 0)) b = -1; else c = 4; + break + } + case 255: { + if ((b | 1 | 0) == 65535) b = -1; else c = 4; + break + } + default: + c = 4 + } + return b | 0 + } + + function kX(a, b) { + a = a | 0; + b = b | 0; + a = lb[c[a + 364 >> 2] & 127](c[a + 368 >> 2] | 0, b) | 0; + if (a >>> 0 > 65535) a = 0; else a = c[56836 + (((d[140962 + (a >>> 8) >> 0] | 0) << 3 | a >>> 5 & 7) << 2) >> 2] & 1 << (a & 31); + return a | 0 + } + + function lX(a, b) { + a = a | 0; + b = b | 0; + a = lb[c[a + 364 >> 2] & 127](c[a + 368 >> 2] | 0, b) | 0; + if (a >>> 0 > 65535) a = 0; else a = c[56836 + (((d[140706 + (a >>> 8) >> 0] | 0) << 3 | a >>> 5 & 7) << 2) >> 2] & 1 << (a & 31); + return a | 0 + } + + function mX(a, b) { + a = a | 0; + b = b | 0; + a = lb[c[a + 364 >> 2] & 127](c[a + 368 >> 2] | 0, b) | 0; + if (a >>> 0 > 65535) a = 1; else a = (jX(a) | 0) >>> 31; + return a | 0 + } + + function nX(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + q = l; + l = l + 16 | 0; + m = q; + n = b + 364 | 0; + o = b + 884 | 0; + p = b + 368 | 0; + k = b + 72 | 0; + while (1) { + i = c[e >> 2] | 0; + if ((i | 0) == (f | 0)) { + h = 0; + break + } + r = d[i >> 0] | 0; + j = o + (r << 2) + 1 | 0; + r = a[o + (r << 2) >> 0] | 0; + b = r << 24 >> 24; + if (!(r << 24 >> 24)) { + b = gX(lb[c[n >> 2] & 127](c[p >> 2] | 0, i) | 0, m) | 0; + if ((b | 0) > (h - (c[g >> 2] | 0) | 0)) { + h = 2; + break + } + i = c[e >> 2] | 0; + j = m; + i = i + ((d[k + (d[i >> 0] | 0) >> 0] | 0) + -3) | 0 + } else { + if ((h - (c[g >> 2] | 0) | 0) < (b | 0)) { + h = 2; + break + } + i = i + 1 | 0 + } + c[e >> 2] = i; + F3(c[g >> 2] | 0, j | 0, b | 0) | 0; + c[g >> 2] = (c[g >> 2] | 0) + b + } + l = q; + return h | 0 + } + + function oX(a, e, f, g, h) { + a = a | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + m = a + 372 | 0; + n = a + 364 | 0; + o = a + 368 | 0; + l = a + 72 | 0; + while (1) { + k = c[e >> 2] | 0; + a = k >>> 0 < f >>> 0; + i = c[g >> 2] | 0; + if (!(a & i >>> 0 < h >>> 0)) break; + a = b[m + ((d[k >> 0] | 0) << 1) >> 1] | 0; + if (!(a << 16 >> 16)) { + a = (lb[c[n >> 2] & 127](c[o >> 2] | 0, k) | 0) & 65535; + i = c[e >> 2] | 0; + j = (d[l + (d[i >> 0] | 0) >> 0] | 0) + -3 | 0 + } else { + j = 1; + i = k + } + c[e >> 2] = i + j; + k = c[g >> 2] | 0; + c[g >> 2] = k + 2; + b[k >> 1] = a + } + return ((i | 0) != (h | 0) | a ^ 1 ? 0 : 2) | 0 + } + + function pX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + a:do if (e >>> 0 < f >>> 0) { + n = b + 72 | 0; + do switch (a[n + (d[e >> 0] | 0) >> 0] | 0) { + case 12: { + h = QX(12, b, e + 1 | 0, f, g) | 0; + break a + } + case 13: { + h = QX(13, b, e + 1 | 0, f, g) | 0; + break a + } + case 2: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + h = -1; + break a + } + switch (a[n + (d[h >> 0] | 0) >> 0] | 0) { + case 16: { + h = RX(b, e + 2 | 0, f, g) | 0; + break a + } + case 15: { + h = MX(b, e + 2 | 0, f, g) | 0; + break a + } + case 7: + case 6: + case 5: + case 29: + case 24: + case 22: { + c[g >> 2] = e; + h = 29; + break a + } + default: { + c[g >> 2] = h; + h = 0; + break a + } + } + } + case 9: { + if ((e + 1 | 0) == (f | 0)) { + c[g >> 2] = f; + h = -15; + break a + } else k = 3; + break + } + case 10: + case 21: { + k = 3; + break + } + case 30: { + h = GX(b, e + 1 | 0, f, g) | 0; + break a + } + case 35: { + c[g >> 2] = e + 1; + h = 38; + break a + } + case 20: { + c[g >> 2] = e + 1; + h = 25; + break a + } + case 4: { + i = e + 1 | 0; + h = f - i | 0; + if ((h | 0) <= 0) { + h = -26; + break a + } + if ((a[i >> 0] | 0) == 93) { + if ((h | 0) <= 1) { + h = -1; + break a + } + if ((a[e + 2 >> 0] | 0) == 62) { + c[g >> 2] = e + 3; + h = 34; + break a + } + } + c[g >> 2] = i; + h = 26; + break a + } + case 31: { + c[g >> 2] = e + 1; + h = 23; + break a + } + case 32: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + h = -24; + break a + } + switch (a[n + (d[h >> 0] | 0) >> 0] | 0) { + case 33: { + c[g >> 2] = e + 2; + h = 36; + break a + } + case 15: { + c[g >> 2] = e + 2; + h = 35; + break a + } + case 34: { + c[g >> 2] = e + 2; + h = 37; + break a + } + case 32: + case 36: + case 35: + case 11: + case 21: + case 10: + case 9: { + c[g >> 2] = h; + h = 24; + break a + } + default: { + c[g >> 2] = h; + h = 0; + break a + } + } + } + case 36: { + c[g >> 2] = e + 1; + h = 21; + break a + } + case 11: { + c[g >> 2] = e + 1; + h = 17; + break a + } + case 19: { + h = SX(b, e + 1 | 0, f, g) | 0; + break a + } + case 5: { + if ((f - e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) if (!(lb[c[b + 328 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else { + h = 19; + i = 2 + } else { + h = 18; + i = 2 + } + break + } + case 6: { + if ((f - e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) if (!(lb[c[b + 332 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else { + h = 19; + i = 3 + } else { + h = 18; + i = 3 + } + break + } + case 7: { + if ((f - e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) if (!(lb[c[b + 336 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else { + h = 19; + i = 4 + } else { + h = 18; + i = 4 + } + break + } + case 24: + case 22: { + h = 18; + i = 1; + break + } + case 23: + case 27: + case 26: + case 25: { + h = 19; + i = 1; + break + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } while (0); + if ((k | 0) == 3) { + j = f; + i = e; + b:while (1) { + h = i; + i = i + 1 | 0; + if ((j - i | 0) <= 0) { + k = 18; + break + } + switch (a[n + (d[i >> 0] | 0) >> 0] | 0) { + case 10: + case 21: + continue b; + case 9: + break; + default: { + k = 17; + break b + } + } + if ((h + 2 | 0) == (f | 0)) { + k = 17; + break + } + } + if ((k | 0) == 17) { + c[g >> 2] = i; + h = 15; + break + } else if ((k | 0) == 18) { + c[g >> 2] = i; + h = 15; + break + } + } + k = b + 328 | 0; + l = b + 332 | 0; + m = b + 336 | 0; + j = e + i | 0; + c:while (1) { + i = f - j | 0; + if ((i | 0) <= 0) { + k = 99; + break + } + switch (a[n + (d[j >> 0] | 0) >> 0] | 0) { + case 29: { + k = 56; + break c + } + case 10: + case 9: + case 21: + case 30: + case 20: + case 36: + case 35: + case 32: + case 11: { + k = 70; + break c + } + case 34: { + k = 89; + break c + } + case 33: { + k = 92; + break c + } + case 15: { + k = 95; + break c + } + case 27: + case 26: + case 25: + case 24: + case 22: { + e = h; + j = j + 1 | 0; + h = e; + continue c + } + case 5: { + if ((i | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, j) | 0)) { + k = 60; + break c + } + e = h; + j = j + 2 | 0; + h = e; + continue c + } + case 6: { + if ((i | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[l >> 2] & 127](b, j) | 0)) { + k = 64; + break c + } + e = h; + j = j + 3 | 0; + h = e; + continue c + } + case 7: { + if ((i | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[m >> 2] & 127](b, j) | 0)) { + k = 68; + break c + } + e = h; + j = j + 4 | 0; + h = e; + continue c + } + case 23: { + i = j + 1 | 0; + switch (h & 63) { + case 18: + break; + case 41: { + h = 19; + j = i; + continue c + } + default: { + e = h; + j = i; + h = e; + continue c + } + } + h = f - i | 0; + if ((h | 0) <= 0) { + h = -1; + break a + } + switch (a[n + (d[i >> 0] | 0) >> 0] | 0) { + case 29: { + k = 74; + break c + } + case 27: + case 26: + case 25: + case 24: + case 22: { + h = 41; + j = j + 2 | 0; + continue c + } + case 5: { + if ((h | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, i) | 0)) { + k = 78; + break c + } + h = 41; + j = j + 3 | 0; + continue c + } + case 6: { + if ((h | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[l >> 2] & 127](b, i) | 0)) { + k = 82; + break c + } + h = 41; + j = j + 4 | 0; + continue c + } + case 7: { + if ((h | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[m >> 2] & 127](b, i) | 0)) { + k = 86; + break c + } + h = 41; + j = j + 5 | 0; + continue c + } + default: { + h = 19; + j = i; + continue c + } + } + } + default: { + k = 98; + break c + } + } + } + switch (k | 0) { + case 56: { + c[g >> 2] = j; + h = 0; + break a + } + case 60: { + c[g >> 2] = j; + h = 0; + break a + } + case 64: { + c[g >> 2] = j; + h = 0; + break a + } + case 68: { + c[g >> 2] = j; + h = 0; + break a + } + case 70: { + c[g >> 2] = j; + break a + } + case 74: { + c[g >> 2] = i; + h = 0; + break a + } + case 78: { + c[g >> 2] = i; + h = 0; + break a + } + case 82: { + c[g >> 2] = i; + h = 0; + break a + } + case 86: { + c[g >> 2] = i; + h = 0; + break a + } + case 89: + if ((h | 0) == 19) { + c[g >> 2] = j; + h = 0; + break a + } else { + c[g >> 2] = j + 1; + h = 32; + break a + } + case 92: + if ((h | 0) == 19) { + c[g >> 2] = j; + h = 0; + break a + } else { + c[g >> 2] = j + 1; + h = 31; + break a + } + case 95: + if ((h | 0) == 19) { + c[g >> 2] = j; + h = 0; + break a + } else { + c[g >> 2] = j + 1; + h = 30; + break a + } + case 98: { + c[g >> 2] = j; + h = 0; + break a + } + case 99: { + h = 0 - h | 0; + break a + } + } + } else h = -4; while (0); + return h | 0 + } + + function qX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + a:do if (e >>> 0 < f >>> 0) { + m = b + 72 | 0; + b:do switch (a[m + (d[e >> 0] | 0) >> 0] | 0) { + case 2: { + h = JX(b, e + 1 | 0, f, g) | 0; + break a + } + case 3: { + h = FX(b, e + 1 | 0, f, g) | 0; + break a + } + case 9: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + h = -3; + break a + } + c[g >> 2] = (a[m + (d[h >> 0] | 0) >> 0] | 0) == 10 ? e + 2 | 0 : h; + h = 7; + break a + } + case 10: { + c[g >> 2] = e + 1; + h = 7; + break a + } + case 4: { + i = e + 1 | 0; + if ((f - i | 0) <= 0) { + h = -5; + break a + } + if ((a[i >> 0] | 0) == 93) { + h = e + 2 | 0; + if ((f - h | 0) <= 0) { + h = -5; + break a + } + if ((a[h >> 0] | 0) == 62) { + c[g >> 2] = h; + h = 0; + break a + } else h = f + } else h = f; + break + } + case 5: { + h = f; + if ((h - e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[b + 352 >> 2] & 127](b, e) | 0)) { + i = e + 2 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 6: { + h = f; + if ((h - e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[b + 356 >> 2] & 127](b, e) | 0)) { + i = e + 3 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 7: { + h = f; + if ((h - e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[b + 360 >> 2] & 127](b, e) | 0)) { + i = e + 4 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + h = 0; + break a + } + default: { + i = e + 1 | 0; + h = f + } + } while (0); + j = b + 352 | 0; + k = b + 356 | 0; + l = b + 360 | 0; + c:while (1) { + f = h - i | 0; + if ((f | 0) <= 0) { + f = 49; + break + } + switch (a[m + (d[i >> 0] | 0) >> 0] | 0) { + case 10: + case 9: + case 8: + case 1: + case 0: + case 2: + case 3: { + f = 47; + break c + } + case 5: { + if ((f | 0) < 2) { + f = 32; + break c + } + if (lb[c[j >> 2] & 127](b, i) | 0) { + f = 32; + break c + } + i = i + 2 | 0; + continue c + } + case 6: { + if ((f | 0) < 3) { + f = 36; + break c + } + if (lb[c[k >> 2] & 127](b, i) | 0) { + f = 36; + break c + } + i = i + 3 | 0; + continue c + } + case 7: { + if ((f | 0) < 4) { + f = 40; + break c + } + if (lb[c[l >> 2] & 127](b, i) | 0) { + f = 40; + break c + } + i = i + 4 | 0; + continue c + } + case 4: { + if ((f | 0) <= 1) { + f = 47; + break c + } + e = i + 1 | 0; + if ((a[e >> 0] | 0) != 93) { + i = e; + continue c + } + if ((f | 0) <= 2) { + f = 47; + break c + } + i = i + 2 | 0; + if ((a[i >> 0] | 0) == 62) { + f = 46; + break c + } else { + i = e; + continue c + } + } + default: { + i = i + 1 | 0; + continue c + } + } + } + if ((f | 0) == 32) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 36) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 40) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 46) { + c[g >> 2] = i; + h = 0; + break + } else if ((f | 0) == 47) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 49) { + c[g >> 2] = i; + h = 6; + break + } + } else h = -4; while (0); + return h | 0 + } + + function rX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + a:do if (e >>> 0 < f >>> 0) { + l = b + 72 | 0; + b:do switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 4: { + i = e + 1 | 0; + h = f; + if ((h - i | 0) <= 0) { + h = -1; + break a + } + if ((a[i >> 0] | 0) == 93) { + f = e + 2 | 0; + if ((h - f | 0) <= 0) { + h = -1; + break a + } + if ((a[f >> 0] | 0) == 62) { + c[g >> 2] = e + 3; + h = 40; + break a + } + } + break + } + case 9: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + h = -1; + break a + } + c[g >> 2] = (a[l + (d[h >> 0] | 0) >> 0] | 0) == 10 ? e + 2 | 0 : h; + h = 7; + break a + } + case 10: { + c[g >> 2] = e + 1; + h = 7; + break a + } + case 5: { + h = f; + if ((h - e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[b + 352 >> 2] & 127](b, e) | 0)) { + i = e + 2 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 6: { + h = f; + if ((h - e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[b + 356 >> 2] & 127](b, e) | 0)) { + i = e + 3 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 7: { + h = f; + if ((h - e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[b + 360 >> 2] & 127](b, e) | 0)) { + i = e + 4 | 0; + break b + } else { + c[g >> 2] = e; + h = 0; + break a + } + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + h = 0; + break a + } + default: { + i = e + 1 | 0; + h = f + } + } while (0); + e = b + 352 | 0; + j = b + 356 | 0; + k = b + 360 | 0; + c:while (1) { + f = h - i | 0; + if ((f | 0) <= 0) { + f = 39; + break + } + switch (a[l + (d[i >> 0] | 0) >> 0] | 0) { + case 4: + case 10: + case 9: + case 8: + case 1: + case 0: { + f = 37; + break c + } + case 5: { + if ((f | 0) < 2) { + f = 30; + break c + } + if (!(lb[c[e >> 2] & 127](b, i) | 0)) f = 2; else { + f = 30; + break c + } + break + } + case 6: { + if ((f | 0) < 3) { + f = 33; + break c + } + if (!(lb[c[j >> 2] & 127](b, i) | 0)) f = 3; else { + f = 33; + break c + } + break + } + case 7: { + if ((f | 0) < 4) { + f = 36; + break c + } + if (!(lb[c[k >> 2] & 127](b, i) | 0)) f = 4; else { + f = 36; + break c + } + break + } + default: + f = 1 + } + i = i + f | 0 + } + if ((f | 0) == 30) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 33) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 36) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 37) { + c[g >> 2] = i; + h = 6; + break + } else if ((f | 0) == 39) { + c[g >> 2] = i; + h = 6; + break + } + } else h = -4; while (0); + return h | 0 + } + + function sX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + j = b + 72 | 0; + k = b + 352 | 0; + l = b + 356 | 0; + m = b + 360 | 0; + i = 0; + a:while (1) { + h = f - e | 0; + if ((h | 0) <= 0) { + f = -1; + break + } + switch (a[j + (d[e >> 0] | 0) >> 0] | 0) { + case 8: + case 1: + case 0: { + n = 16; + break a + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (lb[c[k >> 2] & 127](b, e) | 0) { + n = 6; + break a + } + h = i; + e = e + 2 | 0; + i = h; + continue a + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (lb[c[l >> 2] & 127](b, e) | 0) { + n = 10; + break a + } + h = i; + e = e + 3 | 0; + i = h; + continue a + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (lb[c[m >> 2] & 127](b, e) | 0) { + n = 14; + break a + } + h = i; + e = e + 4 | 0; + i = h; + continue a + } + case 2: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + f = -1; + break a + } + if ((a[h >> 0] | 0) != 33) { + o = i; + e = h; + i = o; + continue a + } + h = e + 2 | 0; + if ((f - h | 0) <= 0) { + f = -1; + break a + } + o = (a[h >> 0] | 0) == 91; + i = i + (o & 1) | 0; + e = o ? e + 3 | 0 : h; + continue a + } + case 4: { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + f = -1; + break a + } + if ((a[h >> 0] | 0) != 93) { + o = i; + e = h; + i = o; + continue a + } + h = e + 2 | 0; + if ((f - h | 0) <= 0) { + f = -1; + break a + } + if ((a[h >> 0] | 0) != 62) { + o = i; + e = h; + i = o; + continue a + } + e = e + 3 | 0; + if (!i) { + n = 26; + break a + } + i = i + -1 | 0; + continue a + } + default: { + o = i; + e = e + 1 | 0; + i = o; + continue a + } + } + } + if ((n | 0) == 6) { + c[g >> 2] = e; + f = 0 + } else if ((n | 0) == 10) { + c[g >> 2] = e; + f = 0 + } else if ((n | 0) == 14) { + c[g >> 2] = e; + f = 0 + } else if ((n | 0) == 16) { + c[g >> 2] = e; + f = 0 + } else if ((n | 0) == 26) { + c[g >> 2] = e; + f = 42 + } + return f | 0 + } + + function tX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 0) { + l = b + 72 | 0; + i = e; + a:while (1) { + if ((k - i | 0) <= 0) { + j = 24; + break + } + switch (a[l + (d[i >> 0] | 0) >> 0] | 0) { + case 3: { + j = 8; + break a + } + case 2: { + j = 11; + break a + } + case 10: { + j = 12; + break a + } + case 9: { + j = 15; + break a + } + case 21: { + j = 19; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 1 + } + i = i + h | 0 + } + if ((j | 0) == 8) if ((i | 0) == (e | 0)) { + h = FX(b, e + 1 | 0, f, g) | 0; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 11) { + c[g >> 2] = i; + h = 0; + break + } else if ((j | 0) == 12) if ((i | 0) == (e | 0)) { + c[g >> 2] = e + 1; + h = 7; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 15) { + if ((i | 0) != (e | 0)) { + c[g >> 2] = i; + h = 6; + break + } + h = e + 1 | 0; + if ((k - h | 0) <= 0) { + h = -3; + break + } + c[g >> 2] = (a[l + (d[h >> 0] | 0) >> 0] | 0) == 10 ? e + 2 | 0 : h; + h = 7; + break + } else if ((j | 0) == 19) if ((i | 0) == (e | 0)) { + c[g >> 2] = e + 1; + h = 39; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 24) { + c[g >> 2] = i; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function uX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 0) { + l = b + 72 | 0; + i = e; + a:while (1) { + if ((k - i | 0) <= 0) { + j = 23; + break + } + switch (a[l + (d[i >> 0] | 0) >> 0] | 0) { + case 3: { + j = 8; + break a + } + case 30: { + j = 11; + break a + } + case 10: { + j = 14; + break a + } + case 9: { + j = 17; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 1 + } + i = i + h | 0 + } + if ((j | 0) == 8) if ((i | 0) == (e | 0)) { + h = FX(b, e + 1 | 0, f, g) | 0; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 11) if ((i | 0) == (e | 0)) { + h = GX(b, e + 1 | 0, f, g) | 0; + h = (h | 0) == 22 ? 0 : h; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 14) if ((i | 0) == (e | 0)) { + c[g >> 2] = e + 1; + h = 7; + break + } else { + c[g >> 2] = i; + h = 6; + break + } else if ((j | 0) == 17) { + if ((i | 0) != (e | 0)) { + c[g >> 2] = i; + h = 6; + break + } + h = e + 1 | 0; + if ((k - h | 0) <= 0) { + h = -3; + break + } + c[g >> 2] = (a[l + (d[h >> 0] | 0) >> 0] | 0) == 10 ? e + 2 | 0 : h; + h = 7; + break + } else if ((j | 0) == 23) { + c[g >> 2] = i; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function vX(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = d; + b = c; + while (1) { + c = a[e >> 0] | 0; + if (!(c << 24 >> 24)) { + g = 6; + break + } + if ((f - b | 0) < 1) { + b = 0; + break + } + if ((a[b >> 0] | 0) != c << 24 >> 24) { + b = 0; + break + } + e = e + 1 | 0; + b = b + 1 | 0 + } + if ((g | 0) == 6) b = (b | 0) == (d | 0) & 1; + return b | 0 + } + + function wX(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0; + f = b + 72 | 0; + b = c; + a:while (1) { + switch (a[f + (d[b >> 0] | 0) >> 0] | 0) { + case 5: { + e = 2; + break + } + case 6: { + e = 3; + break + } + case 7: { + e = 4; + break + } + case 27: + case 26: + case 25: + case 24: + case 23: + case 22: + case 29: { + e = 1; + break + } + default: + break a + } + b = b + e | 0 + } + return b - c | 0 + } + + function xX(b, c) { + b = b | 0; + c = c | 0; + b = b + 72 | 0; + a:while (1) { + switch (a[b + (d[c >> 0] | 0) >> 0] | 0) { + case 21: + case 9: + case 10: + break; + default: + break a + } + c = c + 1 | 0 + } + return c | 0 + } + + function yX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + l = b + 72 | 0; + j = 0; + k = 0; + b = 1; + a:while (1) { + h = e + 1 | 0; + i = a[h >> 0] | 0; + do switch (a[l + (i & 255) >> 0] | 0) { + case 5: { + if (!b) if ((k | 0) < (f | 0)) { + c[g + (k << 4) >> 2] = h; + a[g + (k << 4) + 12 >> 0] = 1; + b = 1 + } else b = 1; + h = k; + i = j; + e = e + 2 | 0; + k = h; + j = i; + continue a + } + case 6: { + if (!b) if ((k | 0) < (f | 0)) { + c[g + (k << 4) >> 2] = h; + a[g + (k << 4) + 12 >> 0] = 1; + b = 1 + } else b = 1; + h = k; + i = j; + e = e + 3 | 0; + k = h; + j = i; + continue a + } + case 7: { + if (!b) if ((k | 0) < (f | 0)) { + c[g + (k << 4) >> 2] = h; + a[g + (k << 4) + 12 >> 0] = 1; + b = 1 + } else b = 1; + h = k; + i = j; + e = e + 4 | 0; + k = h; + j = i; + continue a + } + case 24: + case 22: + case 29: { + if (b | 0) { + o = b; + n = k; + i = j; + e = h; + b = o; + k = n; + j = i; + continue a + } + if ((k | 0) >= (f | 0)) { + n = k; + o = j; + b = 1; + e = h; + k = n; + j = o; + continue a + } + c[g + (k << 4) >> 2] = h; + a[g + (k << 4) + 12 >> 0] = 1; + n = k; + o = j; + b = 1; + e = h; + k = n; + j = o; + continue a + } + case 12: { + if ((b | 0) != 2) { + if ((k | 0) >= (f | 0)) { + o = k; + j = 12; + b = 2; + e = h; + k = o; + continue a + } + c[g + (k << 4) + 4 >> 2] = e + 2; + o = k; + j = 12; + b = 2; + e = h; + k = o; + continue a + } + if ((j | 0) != 12) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + if ((k | 0) < (f | 0)) c[g + (k << 4) + 8 >> 2] = h; + j = 12; + k = k + 1 | 0; + b = 0; + e = h; + continue a + } + case 13: { + if ((b | 0) != 2) { + if ((k | 0) >= (f | 0)) { + o = k; + j = 13; + b = 2; + e = h; + k = o; + continue a + } + c[g + (k << 4) + 4 >> 2] = e + 2; + o = k; + j = 13; + b = 2; + e = h; + k = o; + continue a + } + if ((j | 0) != 13) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + if ((k | 0) < (f | 0)) c[g + (k << 4) + 8 >> 2] = h; + j = 13; + k = k + 1 | 0; + b = 0; + e = h; + continue a + } + case 3: { + if ((k | 0) >= (f | 0)) { + i = b; + n = k; + o = j; + e = h; + b = i; + k = n; + j = o; + continue a + } + a[g + (k << 4) + 12 >> 0] = 0; + i = b; + n = k; + o = j; + e = h; + b = i; + k = n; + j = o; + continue a + } + case 21: { + switch (b | 0) { + case 1: { + n = k; + o = j; + b = 0; + e = h; + k = n; + j = o; + continue a + } + case 2: + break; + default: { + i = b; + n = k; + o = j; + e = h; + b = i; + k = n; + j = o; + continue a + } + } + if ((k | 0) >= (f | 0)) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + b = g + (k << 4) + 12 | 0; + if (!(a[b >> 0] | 0)) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + if (((i << 24 >> 24 == 32 ? (h | 0) != (c[g + (k << 4) + 4 >> 2] | 0) : 0) ? (m = a[e + 2 >> 0] | 0, m << 24 >> 24 != 32) : 0) ? (j | 0) != (d[l + (m & 255) >> 0] | 0) : 0) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + a[b >> 0] = 0; + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + case 10: + case 9: { + switch (b | 0) { + case 1: { + n = k; + o = j; + b = 0; + e = h; + k = n; + j = o; + continue a + } + case 2: + break; + default: { + i = b; + n = k; + o = j; + e = h; + b = i; + k = n; + j = o; + continue a + } + } + if ((k | 0) >= (f | 0)) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + a[g + (k << 4) + 12 >> 0] = 0; + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } + case 17: + case 11: + if ((b | 0) == 2) { + n = k; + o = j; + b = 2; + e = h; + k = n; + j = o; + continue a + } else break a; + default: { + i = b; + n = k; + o = j; + e = h; + b = i; + k = n; + j = o; + continue a + } + } while (0) + } + return k | 0 + } + + function zX(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + b = c + 2 | 0; + d = a[b >> 0] | 0; + a:do if (d << 24 >> 24 == 120) { + d = c + 3 | 0; + b = 0; + while (1) { + b:while (1) { + e = a[d >> 0] | 0; + c = e << 24 >> 24; + if (e << 24 >> 24 == 59) { + e = 14; + break a + } + switch (c | 0) { + case 57: + case 56: + case 55: + case 54: + case 53: + case 52: + case 51: + case 50: + case 49: + case 48: { + e = 7; + break b + } + case 70: + case 69: + case 68: + case 67: + case 66: + case 65: { + e = 8; + break b + } + case 102: + case 101: + case 100: + case 99: + case 98: + case 97: { + e = 9; + break b + } + default: { + } + } + d = d + 1 | 0 + } + if ((e | 0) == 7) { + e = 0; + b = c + -48 | b << 4 + } else if ((e | 0) == 8) { + e = 0; + b = (b << 4) + -55 + c | 0 + } else if ((e | 0) == 9) { + e = 0; + b = (b << 4) + -87 + c | 0 + } + if ((b | 0) < 1114112) d = d + 1 | 0; else { + b = -1; + break + } + } + } else { + c = b; + b = 0; + while (1) { + if (d << 24 >> 24 == 59) { + e = 14; + break a + } + b = (d << 24 >> 24) + -48 + (b * 10 | 0) | 0; + if ((b | 0) >= 1114112) { + b = -1; + break a + } + d = c + 1 | 0; + c = d; + d = a[d >> 0] | 0 + } + } while (0); + if ((e | 0) == 14) b = jX(b) | 0; + return b | 0 + } + + function AX(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + a:do switch (d - c | 0) { + case 2: { + if ((a[c + 1 >> 0] | 0) == 116) { + b = a[c >> 0] | 0; + b = b << 24 >> 24 == 108 ? 60 : b << 24 >> 24 == 103 ? 62 : 0 + } else e = 14; + break + } + case 3: { + if (((a[c >> 0] | 0) == 97 ? (a[c + 1 >> 0] | 0) == 109 : 0) ? (a[c + 2 >> 0] | 0) == 112 : 0) b = 38; else e = 14; + break + } + case 4: + switch (a[c >> 0] | 0) { + case 113: { + if ((a[c + 1 >> 0] | 0) != 117) { + e = 14; + break a + } + if ((a[c + 2 >> 0] | 0) != 111) { + e = 14; + break a + } + if ((a[c + 3 >> 0] | 0) == 116) { + b = 34; + break a + } else { + e = 14; + break a + } + } + case 97: { + if ((a[c + 1 >> 0] | 0) != 112) { + e = 14; + break a + } + if ((a[c + 2 >> 0] | 0) != 111) { + e = 14; + break a + } + if ((a[c + 3 >> 0] | 0) == 115) { + b = 39; + break a + } else { + e = 14; + break a + } + } + default: { + e = 14; + break a + } + } + default: + e = 14 + } while (0); + if ((e | 0) == 14) b = 0; + return b | 0 + } + + function BX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + h = b + 72 | 0; + i = g + 4 | 0; + while (1) { + if ((f - e | 0) <= 0) break; + switch (a[h + (d[e >> 0] | 0) >> 0] | 0) { + case 5: { + e = e + 2 | 0; + break + } + case 6: { + e = e + 3 | 0; + break + } + case 7: { + e = e + 4 | 0; + break + } + case 10: { + c[i >> 2] = -1; + c[g >> 2] = (c[g >> 2] | 0) + 1; + e = e + 1 | 0; + break + } + case 9: { + c[g >> 2] = (c[g >> 2] | 0) + 1; + b = e + 1 | 0; + if ((f - b | 0) > 0) e = (a[h + (d[b >> 0] | 0) >> 0] | 0) == 10 ? e + 2 | 0 : b; else e = b; + c[i >> 2] = -1; + break + } + default: + e = e + 1 | 0 + } + c[i >> 2] = (c[i >> 2] | 0) + 1 + } + return + } + + function CX(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = e + -1 | 0; + b = b + 72 | 0; + a:while (1) { + d = d + 1 | 0; + if ((g - d | 0) <= 0) { + d = 1; + break + } + e = a[d >> 0] | 0; + switch (a[b + (e & 255) >> 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: + continue a; + case 21: + if (e << 24 >> 24 == 9) { + h = 7; + break a + } else continue a; + case 22: + case 26: { + if (e << 24 >> 24 >= 0) continue a; + break + } + default: { + } + } + switch (e << 24 >> 24 | 0) { + case 64: + case 36: + break; + default: { + h = 7; + break a + } + } + } + if ((h | 0) == 7) { + c[f >> 2] = d; + d = 0 + } + return d | 0 + } + + function DX(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; + i = h; + while (1) { + j = c[e >> 2] | 0; + if ((j | 0) == (f | 0)) { + b = 0; + break + } + k = d[j >> 0] | 0; + b = c[g >> 2] | 0; + if (!(k & 128)) { + if ((b | 0) == (h | 0)) { + b = 2; + break + } + c[e >> 2] = j + 1; + j = a[j >> 0] | 0; + k = c[g >> 2] | 0; + c[g >> 2] = k + 1; + a[k >> 0] = j; + continue + } else { + if ((i - b | 0) < 2) { + b = 2; + break + } + c[g >> 2] = b + 1; + a[b >> 0] = k >>> 6 | 192; + j = c[g >> 2] | 0; + c[g >> 2] = j + 1; + a[j >> 0] = k & 63 | 128; + c[e >> 2] = (c[e >> 2] | 0) + 1; + continue + } + } + return b | 0 + } + + function EX(a, e, f, g, h) { + a = a | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0; + while (1) { + a = c[e >> 2] | 0; + i = a >>> 0 < f >>> 0; + j = c[g >> 2] | 0; + if (!(i & j >>> 0 < h >>> 0)) break; + c[e >> 2] = a + 1; + i = d[a >> 0] | 0; + j = c[g >> 2] | 0; + c[g >> 2] = j + 2; + b[j >> 1] = i + } + return ((j | 0) != (h | 0) | i ^ 1 ? 0 : 2) | 0 + } + + function FX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f; + h = k - e | 0; + a:do if ((h | 0) > 0) { + l = b + 72 | 0; + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + f = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 4; + break + } + case 19: { + f = HX(b, e + 1 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + h = b + 328 | 0; + i = b + 332 | 0; + j = b + 336 | 0; + e = e + f | 0; + b:while (1) { + f = k - e | 0; + if ((f | 0) <= 0) { + f = -1; + break a + } + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + h = 18; + break b + } + case 18: { + h = 29; + break b + } + case 27: + case 26: + case 25: + case 24: + case 22: { + f = 1; + break + } + case 5: { + if ((f | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[h >> 2] & 127](b, e) | 0)) { + h = 21; + break b + } else f = 2; + break + } + case 6: { + if ((f | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[i >> 2] & 127](b, e) | 0)) { + h = 24; + break b + } else f = 3; + break + } + case 7: { + if ((f | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, e) | 0)) { + h = 27; + break b + } else f = 4; + break + } + default: { + h = 30; + break b + } + } + e = e + f | 0 + } + if ((h | 0) == 18) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 21) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 24) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 27) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 29) { + c[g >> 2] = e + 1; + f = 9; + break + } else if ((h | 0) == 30) { + c[g >> 2] = e; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function GX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + h = f - e | 0; + a:do if ((h | 0) > 0) { + l = b + 72 | 0; + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 4; + break + } + case 30: + case 9: + case 10: + case 21: { + c[g >> 2] = e; + f = 22; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + i = b + 328 | 0; + j = b + 332 | 0; + k = b + 336 | 0; + e = e + h | 0; + b:while (1) { + h = f - e | 0; + if ((h | 0) <= 0) { + f = -1; + break a + } + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + h = 18; + break b + } + case 18: { + h = 29; + break b + } + case 27: + case 26: + case 25: + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[i >> 2] & 127](b, e) | 0)) { + h = 21; + break b + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, e) | 0)) { + h = 24; + break b + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, e) | 0)) { + h = 27; + break b + } else h = 4; + break + } + default: { + h = 30; + break b + } + } + e = e + h | 0 + } + if ((h | 0) == 18) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 21) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 24) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 27) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 29) { + c[g >> 2] = e + 1; + f = 28; + break + } else if ((h | 0) == 30) { + c[g >> 2] = e; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function HX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + i = f; + a:do if ((i - e | 0) > 0) { + h = a[e >> 0] | 0; + if (h << 24 >> 24 == 120) { + b = IX(b, e + 1 | 0, f, g) | 0; + break + } + f = b + 72 | 0; + if ((a[f + (h & 255) >> 0] | 0) != 25) { + c[g >> 2] = e; + b = 0; + break + } + b:while (1) { + b = e + 1 | 0; + if ((i - b | 0) <= 0) { + b = -1; + break a + } + switch (a[f + (d[b >> 0] | 0) >> 0] | 0) { + case 25: { + e = b; + break + } + case 18: { + f = 8; + break b + } + default: { + f = 9; + break b + } + } + } + if ((f | 0) == 8) { + c[g >> 2] = e + 2; + b = 10; + break + } else if ((f | 0) == 9) { + c[g >> 2] = b; + b = 0; + break + } + } else b = -1; while (0); + return b | 0 + } + + function IX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0; + a:do if ((f - e | 0) > 0) { + b = b + 72 | 0; + if ((a[b + (d[e >> 0] | 0) >> 0] & -2) << 24 >> 24 != 24) { + c[g >> 2] = e; + f = 0; + break + } + b:while (1) { + h = e + 1 | 0; + if ((f - h | 0) <= 0) { + f = -1; + break a + } + switch (a[b + (d[h >> 0] | 0) >> 0] | 0) { + case 24: + case 25: { + e = h; + break + } + case 18: { + b = 6; + break b + } + default: { + b = 7; + break b + } + } + } + if ((b | 0) == 6) { + c[g >> 2] = e + 2; + f = 10; + break + } else if ((b | 0) == 7) { + c[g >> 2] = h; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function JX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + q = f; + h = q - e | 0; + a:do if ((h | 0) > 0) { + p = b + 72 | 0; + switch (a[p + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + h = 0; + break a + } + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + h = 0; + break a + } else h = 4; + break + } + case 16: { + h = e + 1 | 0; + if ((q - h | 0) <= 0) { + h = -1; + break a + } + switch (a[p + (d[h >> 0] | 0) >> 0] | 0) { + case 27: { + h = KX(b, e + 2 | 0, f, g) | 0; + break a + } + case 20: { + h = LX(e + 2 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = h; + h = 0; + break a + } + } + } + case 15: { + h = MX(b, e + 1 | 0, f, g) | 0; + break a + } + case 17: { + h = NX(b, e + 1 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } + j = b + 328 | 0; + k = b + 332 | 0; + l = b + 336 | 0; + m = b + 340 | 0; + n = b + 344 | 0; + o = b + 348 | 0; + i = 0; + h = e + h | 0; + b:while (1) { + e = q - h | 0; + if ((e | 0) <= 0) { + h = -1; + break a + } + c:do switch (a[p + (d[h >> 0] | 0) >> 0] | 0) { + case 29: { + r = 24; + break b + } + case 10: + case 9: + case 21: { + r = 50; + break b + } + case 11: { + r = 64; + break b + } + case 17: + break b; + case 27: + case 26: + case 25: + case 24: + case 22: { + e = 1; + break + } + case 5: { + if ((e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, h) | 0)) { + r = 27; + break b + } else e = 2; + break + } + case 6: { + if ((e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, h) | 0)) { + r = 30; + break b + } else e = 3; + break + } + case 7: { + if ((e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[l >> 2] & 127](b, h) | 0)) { + r = 33; + break b + } else e = 4; + break + } + case 23: { + if (i | 0) { + r = 35; + break b + } + i = h + 1 | 0; + e = q - i | 0; + if ((e | 0) <= 0) { + h = -1; + break a + } + switch (a[p + (d[i >> 0] | 0) >> 0] | 0) { + case 29: { + r = 38; + break b + } + case 24: + case 22: { + i = 1; + e = 2; + break c + } + case 5: { + if ((e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[m >> 2] & 127](b, i) | 0)) { + r = 42; + break b + } else { + i = 1; + e = 3; + break c + } + } + case 6: { + if ((e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[n >> 2] & 127](b, i) | 0)) { + r = 45; + break b + } else { + i = 1; + e = 4; + break c + } + } + case 7: { + if ((e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[o >> 2] & 127](b, i) | 0)) { + r = 48; + break b + } else { + i = 1; + e = 5; + break c + } + } + default: { + r = 49; + break b + } + } + } + default: { + r = 69; + break b + } + } while (0); + h = h + e | 0 + } + d:switch (r | 0) { + case 24: { + c[g >> 2] = h; + h = 0; + break a + } + case 27: { + c[g >> 2] = h; + h = 0; + break a + } + case 30: { + c[g >> 2] = h; + h = 0; + break a + } + case 33: { + c[g >> 2] = h; + h = 0; + break a + } + case 35: { + c[g >> 2] = h; + h = 0; + break a + } + case 38: { + c[g >> 2] = i; + h = 0; + break a + } + case 42: { + c[g >> 2] = i; + h = 0; + break a + } + case 45: { + c[g >> 2] = i; + h = 0; + break a + } + case 48: { + c[g >> 2] = i; + h = 0; + break a + } + case 49: { + c[g >> 2] = i; + h = 0; + break a + } + case 50: { + e:while (1) { + r = 0; + i = h + 1 | 0; + e = q - i | 0; + if ((e | 0) <= 0) { + h = -1; + break a + } + switch (a[p + (d[i >> 0] | 0) >> 0] | 0) { + case 11: { + h = i; + r = 64; + break d + } + case 17: { + h = i; + break d + } + case 10: + case 9: + case 21: { + h = i; + r = 50; + break + } + case 29: { + r = 52; + break e + } + case 24: + case 22: { + i = 2; + break e + } + case 5: { + r = 53; + break e + } + case 6: { + r = 56; + break e + } + case 7: { + r = 59; + break e + } + default: { + r = 62; + break e + } + } + } + if ((r | 0) == 52) { + c[g >> 2] = i; + h = 0; + break a + } else if ((r | 0) == 53) { + if ((e | 0) < 2) { + h = -2; + break a + } + if (!(lb[c[m >> 2] & 127](b, i) | 0)) { + c[g >> 2] = i; + h = 0; + break a + } else i = 3 + } else if ((r | 0) == 56) { + if ((e | 0) < 3) { + h = -2; + break a + } + if (!(lb[c[n >> 2] & 127](b, i) | 0)) { + c[g >> 2] = i; + h = 0; + break a + } else i = 4 + } else if ((r | 0) == 59) { + if ((e | 0) < 4) { + h = -2; + break a + } + if (!(lb[c[o >> 2] & 127](b, i) | 0)) { + c[g >> 2] = i; + h = 0; + break a + } else i = 5 + } else if ((r | 0) == 62) { + c[g >> 2] = i; + h = 0; + break a + } + h = OX(b, h + i | 0, f, g) | 0; + break a + } + case 69: { + c[g >> 2] = h; + h = 0; + break a + } + } + if ((r | 0) == 64) { + c[g >> 2] = h + 1; + h = 2; + break + } + i = h + 1 | 0; + if ((q - i | 0) > 0) if ((a[i >> 0] | 0) == 62) { + c[g >> 2] = h + 2; + h = 4; + break + } else { + c[g >> 2] = i; + h = 0; + break + } else h = -1 + } else h = -1; while (0); + return h | 0 + } + + function KX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + a:do if ((f - e | 0) > 0) { + if ((a[e >> 0] | 0) != 45) { + c[g >> 2] = e; + f = 0; + break + } + h = b + 72 | 0; + i = b + 352 | 0; + j = b + 356 | 0; + k = b + 360 | 0; + l = e + 1 | 0; + b:while (1) { + e = f - l | 0; + if ((e | 0) <= 0) { + f = -1; + break a + } + switch (a[h + (d[l >> 0] | 0) >> 0] | 0) { + case 8: + case 1: + case 0: { + e = 19; + break b + } + case 5: { + if ((e | 0) < 2) { + f = -2; + break a + } + if (lb[c[i >> 2] & 127](b, l) | 0) { + e = 9; + break b + } + l = l + 2 | 0; + continue b + } + case 6: { + if ((e | 0) < 3) { + f = -2; + break a + } + if (lb[c[j >> 2] & 127](b, l) | 0) { + e = 13; + break b + } + l = l + 3 | 0; + continue b + } + case 7: { + if ((e | 0) < 4) { + f = -2; + break a + } + if (lb[c[k >> 2] & 127](b, l) | 0) { + e = 17; + break b + } + l = l + 4 | 0; + continue b + } + case 27: { + e = l + 1 | 0; + if ((f - e | 0) <= 0) { + f = -1; + break a + } + if ((a[e >> 0] | 0) == 45) { + e = 22; + break b + } else { + l = e; + continue b + } + } + default: { + l = l + 1 | 0; + continue b + } + } + } + if ((e | 0) == 9) { + c[g >> 2] = l; + f = 0; + break + } else if ((e | 0) == 13) { + c[g >> 2] = l; + f = 0; + break + } else if ((e | 0) == 17) { + c[g >> 2] = l; + f = 0; + break + } else if ((e | 0) == 19) { + c[g >> 2] = l; + f = 0; + break + } else if ((e | 0) == 22) { + e = l + 2 | 0; + if ((f - e | 0) <= 0) { + f = -1; + break + } + if ((a[e >> 0] | 0) == 62) { + c[g >> 2] = l + 3; + f = 13; + break + } else { + c[g >> 2] = e; + f = 0; + break + } + } + } else f = -1; while (0); + return f | 0 + } + + function LX(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + if ((d - b | 0) > 5) { + d = 0; + while (1) { + if ((d | 0) >= 6) { + d = 8; + break + } + if ((a[b >> 0] | 0) != (a[141218 + d >> 0] | 0)) { + d = 0; + break + } + d = d + 1 | 0; + b = b + 1 | 0 + } + c[e >> 2] = b + } else d = -1; + return d | 0 + } + + function MX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + p = q; + o = f; + f = o - e | 0; + a:do if ((f | 0) > 0) { + n = b + 72 | 0; + switch (a[n + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + f = 1; + break + } + case 5: { + if ((f | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 2; + break + } + case 6: { + if ((f | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 3; + break + } + case 7: { + if ((f | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else f = 4; + break + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + i = b + 328 | 0; + j = b + 332 | 0; + k = b + 336 | 0; + f = e + f | 0; + b:while (1) { + h = o - f | 0; + if ((h | 0) <= 0) { + f = -1; + break a + } + switch (a[n + (d[f >> 0] | 0) >> 0] | 0) { + case 29: { + m = 17; + break b + } + case 10: + case 9: + case 21: { + m = 28; + break b + } + case 15: { + m = 50; + break b + } + case 27: + case 26: + case 25: + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[i >> 2] & 127](b, f) | 0)) { + m = 20; + break b + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, f) | 0)) { + m = 23; + break b + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, f) | 0)) { + m = 26; + break b + } else h = 4; + break + } + default: + break b + } + f = f + h | 0 + } + if ((m | 0) == 17) { + c[g >> 2] = f; + f = 0; + break + } else if ((m | 0) == 20) { + c[g >> 2] = f; + f = 0; + break + } else if ((m | 0) == 23) { + c[g >> 2] = f; + f = 0; + break + } else if ((m | 0) == 26) { + c[g >> 2] = f; + f = 0; + break + } else if ((m | 0) == 28) { + if (!(PX(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + i = b + 352 | 0; + j = b + 356 | 0; + k = b + 360 | 0; + h = f + 1 | 0; + c:while (1) { + f = o - h | 0; + if ((f | 0) <= 0) { + f = -1; + break a + } + switch (a[n + (d[h >> 0] | 0) >> 0] | 0) { + case 8: + case 1: + case 0: { + m = 45; + break c + } + case 5: { + if ((f | 0) < 2) { + f = -2; + break a + } + if (lb[c[i >> 2] & 127](b, h) | 0) { + m = 35; + break c + } + h = h + 2 | 0; + continue c + } + case 6: { + if ((f | 0) < 3) { + f = -2; + break a + } + if (lb[c[j >> 2] & 127](b, h) | 0) { + m = 39; + break c + } + h = h + 3 | 0; + continue c + } + case 7: { + if ((f | 0) < 4) { + f = -2; + break a + } + if (lb[c[k >> 2] & 127](b, h) | 0) { + m = 43; + break c + } + h = h + 4 | 0; + continue c + } + case 15: { + f = h + 1 | 0; + if ((o - f | 0) <= 0) { + f = -1; + break a + } + if ((a[f >> 0] | 0) == 62) { + m = 48; + break c + } else { + h = f; + continue c + } + } + default: { + h = h + 1 | 0; + continue c + } + } + } + if ((m | 0) == 35) { + c[g >> 2] = h; + f = 0; + break + } else if ((m | 0) == 39) { + c[g >> 2] = h; + f = 0; + break + } else if ((m | 0) == 43) { + c[g >> 2] = h; + f = 0; + break + } else if ((m | 0) == 45) { + c[g >> 2] = h; + f = 0; + break + } else if ((m | 0) == 48) { + c[g >> 2] = h + 2; + f = c[p >> 2] | 0; + break + } + } else if ((m | 0) == 50) { + if (!(PX(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + h = f + 1 | 0; + if ((o - h | 0) <= 0) { + f = -1; + break + } + if ((a[h >> 0] | 0) == 62) { + c[g >> 2] = f + 2; + f = c[p >> 2] | 0; + break + } else f = h + } + c[g >> 2] = f; + f = 0 + } else f = -1; while (0); + l = q; + return f | 0 + } + + function NX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + h = f - e | 0; + a:do if ((h | 0) > 0) { + l = b + 72 | 0; + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 4; + break + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + i = b + 328 | 0; + j = b + 332 | 0; + k = b + 336 | 0; + h = e + h | 0; + b:while (1) { + e = f - h | 0; + if ((e | 0) <= 0) { + f = -1; + break a + } + switch (a[l + (d[h >> 0] | 0) >> 0] | 0) { + case 29: { + i = 17; + break b + } + case 10: + case 9: + case 21: { + i = 27; + break b + } + case 11: { + i = 32; + break b + } + case 23: + case 27: + case 26: + case 25: + case 24: + case 22: { + e = 1; + break + } + case 5: { + if ((e | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[i >> 2] & 127](b, h) | 0)) { + i = 20; + break b + } else e = 2; + break + } + case 6: { + if ((e | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, h) | 0)) { + i = 23; + break b + } else e = 3; + break + } + case 7: { + if ((e | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, h) | 0)) { + i = 26; + break b + } else e = 4; + break + } + default: { + i = 33; + break b + } + } + h = h + e | 0 + } + if ((i | 0) == 17) { + c[g >> 2] = h; + f = 0; + break + } else if ((i | 0) == 20) { + c[g >> 2] = h; + f = 0; + break + } else if ((i | 0) == 23) { + c[g >> 2] = h; + f = 0; + break + } else if ((i | 0) == 26) { + c[g >> 2] = h; + f = 0; + break + } else if ((i | 0) == 27) { + c:while (1) { + e = h + 1 | 0; + if ((f - e | 0) <= 0) { + f = -1; + break a + } + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 10: + case 9: + case 21: { + h = e; + i = 27; + break + } + case 11: { + i = 29; + break c + } + default: { + i = 30; + break c + } + } + } + if ((i | 0) == 29) { + c[g >> 2] = h + 2; + f = 5; + break + } else if ((i | 0) == 30) { + c[g >> 2] = e; + f = 0; + break + } + } else if ((i | 0) == 32) { + c[g >> 2] = h + 1; + f = 5; + break + } else if ((i | 0) == 33) { + c[g >> 2] = h; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function OX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0; + y = l; + l = l + 16 | 0; + v = y; + c[v >> 2] = e; + w = f; + r = b + 72 | 0; + s = b + 328 | 0; + t = b + 332 | 0; + u = b + 336 | 0; + k = b + 340 | 0; + m = b + 344 | 0; + n = b + 348 | 0; + o = b + 352 | 0; + p = b + 356 | 0; + q = b + 360 | 0; + i = 0; + a:while (1) { + h = w - e | 0; + if ((h | 0) <= 0) { + e = -1; + break + } + b:do switch (a[r + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + x = 4; + break a + } + case 27: + case 26: + case 25: + case 24: + case 22: { + h = e + 1 | 0; + c[v >> 2] = h; + j = i; + e = h; + i = j; + continue a + } + case 5: { + if ((h | 0) < 2) { + e = -2; + break a + } + if (!(lb[c[s >> 2] & 127](b, e) | 0)) { + x = 8; + break a + } + h = e + 2 | 0; + c[v >> 2] = h; + j = i; + e = h; + i = j; + continue a + } + case 6: { + if ((h | 0) < 3) { + e = -2; + break a + } + if (!(lb[c[t >> 2] & 127](b, e) | 0)) { + x = 12; + break a + } + h = e + 3 | 0; + c[v >> 2] = h; + j = i; + e = h; + i = j; + continue a + } + case 7: { + if ((h | 0) < 4) { + e = -2; + break a + } + if (!(lb[c[u >> 2] & 127](b, e) | 0)) { + x = 16; + break a + } + h = e + 4 | 0; + c[v >> 2] = h; + j = i; + e = h; + i = j; + continue a + } + case 23: { + if (i | 0) { + x = 19; + break a + } + h = e + 1 | 0; + c[v >> 2] = h; + i = w - h | 0; + if ((i | 0) <= 0) { + e = -1; + break a + } + switch (a[r + (d[h >> 0] | 0) >> 0] | 0) { + case 29: { + x = 22; + break a + } + case 24: + case 22: { + j = e + 2 | 0; + c[v >> 2] = j; + i = 1; + e = j; + continue a + } + case 5: { + if ((i | 0) < 2) { + e = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, h) | 0)) { + x = 26; + break a + } + j = e + 3 | 0; + c[v >> 2] = j; + i = 1; + e = j; + continue a + } + case 6: { + if ((i | 0) < 3) { + e = -2; + break a + } + if (!(lb[c[m >> 2] & 127](b, h) | 0)) { + x = 30; + break a + } + j = e + 4 | 0; + c[v >> 2] = j; + i = 1; + e = j; + continue a + } + case 7: { + if ((i | 0) < 4) { + e = -2; + break a + } + if (!(lb[c[n >> 2] & 127](b, h) | 0)) { + x = 34; + break a + } + j = e + 5 | 0; + c[v >> 2] = j; + i = 1; + e = j; + continue a + } + default: { + x = 36; + break a + } + } + } + case 10: + case 9: + case 21: + while (1) { + e = e + 1 | 0; + c[v >> 2] = e; + if ((w - e | 0) <= 0) { + e = -1; + break a + } + switch (a[r + (d[e >> 0] | 0) >> 0] | 0) { + case 14: + break b; + case 9: + case 10: + case 21: + break; + default: { + x = 39; + break a + } + } + } + case 14: + break; + default: { + x = 92; + break a + } + } while (0); + while (1) { + h = e + 1 | 0; + c[v >> 2] = h; + if ((w - h | 0) <= 0) { + e = -1; + break a + } + j = a[r + (d[h >> 0] | 0) >> 0] | 0; + if ((j | 1) << 24 >> 24 == 13) break; + switch (j << 24 >> 24) { + case 9: + case 10: + case 21: { + e = h; + break + } + default: { + x = 43; + break a + } + } + } + e = e + 2 | 0; + c[v >> 2] = e; + c:while (1) { + h = w - e | 0; + if ((h | 0) <= 0) { + e = -1; + break a + } + i = a[r + (d[e >> 0] | 0) >> 0] | 0; + if (i << 24 >> 24 == j << 24 >> 24) break; + switch (i << 24 >> 24) { + case 8: + case 1: + case 0: { + x = 60; + break a + } + case 2: { + x = 65; + break a + } + case 5: { + if ((h | 0) < 2) { + e = -2; + break a + } + if (lb[c[o >> 2] & 127](b, e) | 0) { + x = 50; + break a + } + i = e + 2 | 0; + c[v >> 2] = i; + e = i; + continue c + } + case 6: { + if ((h | 0) < 3) { + e = -2; + break a + } + if (lb[c[p >> 2] & 127](b, e) | 0) { + x = 54; + break a + } + i = e + 3 | 0; + c[v >> 2] = i; + e = i; + continue c + } + case 7: { + if ((h | 0) < 4) { + e = -2; + break a + } + if (lb[c[q >> 2] & 127](b, e) | 0) { + x = 58; + break a + } + i = e + 4 | 0; + c[v >> 2] = i; + e = i; + continue c + } + case 3: { + e = FX(b, e + 1 | 0, f, v) | 0; + if ((e | 0) < 1) { + x = 63; + break a + } + e = c[v >> 2] | 0; + continue c + } + default: { + i = e + 1 | 0; + c[v >> 2] = i; + e = i; + continue c + } + } + } + h = e + 1 | 0; + c[v >> 2] = h; + if ((w - h | 0) <= 0) { + e = -1; + break + } + switch (a[r + (d[h >> 0] | 0) >> 0] | 0) { + case 11: { + x = 86; + break a + } + case 17: { + x = 87; + break a + } + case 10: + case 9: + case 21: { + e = h; + break + } + default: { + x = 69; + break a + } + } + d:while (1) { + h = e + 1 | 0; + c[v >> 2] = h; + i = w - h | 0; + if ((i | 0) <= 0) { + e = -1; + break a + } + switch (a[r + (d[h >> 0] | 0) >> 0] | 0) { + case 29: { + x = 72; + break a + } + case 11: { + x = 86; + break a + } + case 17: { + x = 87; + break a + } + case 10: + case 9: + case 21: { + e = h; + break + } + case 24: + case 22: { + x = 73; + break d + } + case 5: { + x = 74; + break d + } + case 6: { + x = 78; + break d + } + case 7: { + x = 82; + break d + } + default: { + x = 91; + break a + } + } + } + if ((x | 0) == 73) { + x = 0; + e = e + 2 | 0; + c[v >> 2] = e; + i = 0; + continue + } else if ((x | 0) == 74) { + x = 0; + if ((i | 0) < 2) { + e = -2; + break + } + if (!(lb[c[k >> 2] & 127](b, h) | 0)) { + x = 76; + break + } + e = e + 3 | 0; + c[v >> 2] = e; + i = 0; + continue + } else if ((x | 0) == 78) { + x = 0; + if ((i | 0) < 3) { + e = -2; + break + } + if (!(lb[c[m >> 2] & 127](b, h) | 0)) { + x = 80; + break + } + e = e + 4 | 0; + c[v >> 2] = e; + i = 0; + continue + } else if ((x | 0) == 82) { + x = 0; + if ((i | 0) < 4) { + e = -2; + break + } + if (!(lb[c[n >> 2] & 127](b, h) | 0)) { + x = 84; + break + } + e = e + 5 | 0; + c[v >> 2] = e; + i = 0; + continue + } + } + switch (x | 0) { + case 4: { + c[g >> 2] = e; + e = 0; + break + } + case 8: { + c[g >> 2] = e; + e = 0; + break + } + case 12: { + c[g >> 2] = e; + e = 0; + break + } + case 16: { + c[g >> 2] = e; + e = 0; + break + } + case 19: { + c[g >> 2] = e; + e = 0; + break + } + case 22: { + c[g >> 2] = h; + e = 0; + break + } + case 26: { + c[g >> 2] = h; + e = 0; + break + } + case 30: { + c[g >> 2] = h; + e = 0; + break + } + case 34: { + c[g >> 2] = h; + e = 0; + break + } + case 36: { + c[g >> 2] = h; + e = 0; + break + } + case 39: { + c[g >> 2] = e; + e = 0; + break + } + case 43: { + c[g >> 2] = h; + e = 0; + break + } + case 50: { + c[g >> 2] = e; + e = 0; + break + } + case 54: { + c[g >> 2] = e; + e = 0; + break + } + case 58: { + c[g >> 2] = e; + e = 0; + break + } + case 60: { + c[g >> 2] = e; + e = 0; + break + } + case 63: { + if (!e) { + c[g >> 2] = c[v >> 2]; + e = 0 + } + break + } + case 65: { + c[g >> 2] = e; + e = 0; + break + } + case 69: { + c[g >> 2] = h; + e = 0; + break + } + case 72: { + c[g >> 2] = h; + e = 0; + break + } + case 76: { + c[g >> 2] = h; + e = 0; + break + } + case 80: { + c[g >> 2] = h; + e = 0; + break + } + case 84: { + c[g >> 2] = h; + e = 0; + break + } + case 86: { + c[g >> 2] = e + 2; + e = 1; + break + } + case 87: { + e = h + 1 | 0; + c[v >> 2] = e; + if ((w - e | 0) > 0) if ((a[e >> 0] | 0) == 62) { + c[g >> 2] = h + 2; + e = 3; + break + } else { + c[g >> 2] = e; + e = 0; + break + } else e = -1; + break + } + case 91: { + c[g >> 2] = h; + e = 0; + break + } + case 92: { + c[g >> 2] = e; + e = 0; + break + } + } + l = y; + return e | 0 + } + + function PX(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + c[e >> 2] = 11; + a:do if ((d - b | 0) == 3) { + switch (a[b >> 0] | 0) { + case 120: { + d = 0; + break + } + case 88: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + switch (a[b + 1 >> 0] | 0) { + case 109: + break; + case 77: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + switch (a[b + 2 >> 0] | 0) { + case 108: + break; + case 76: { + d = 0; + break a + } + default: { + d = 1; + break a + } + } + if (!d) { + c[e >> 2] = 12; + d = 1 + } else d = 0 + } else d = 1; while (0); + return d | 0 + } + + function QX(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; + k = e + 72 | 0; + l = e + 352 | 0; + m = e + 356 | 0; + n = e + 360 | 0; + a:while (1) { + i = g - f | 0; + if ((i | 0) <= 0) { + g = -1; + break + } + j = a[k + (d[f >> 0] | 0) >> 0] | 0; + switch (j << 24 >> 24) { + case 8: + case 1: + case 0: { + o = 16; + break a + } + case 5: { + if ((i | 0) < 2) { + g = -2; + break a + } + if (lb[c[l >> 2] & 127](e, f) | 0) { + o = 6; + break a + } + f = f + 2 | 0; + continue a + } + case 6: { + if ((i | 0) < 3) { + g = -2; + break a + } + if (lb[c[m >> 2] & 127](e, f) | 0) { + o = 10; + break a + } + f = f + 3 | 0; + continue a + } + case 7: { + if ((i | 0) < 4) { + g = -2; + break a + } + if (lb[c[n >> 2] & 127](e, f) | 0) { + o = 14; + break a + } + f = f + 4 | 0; + continue a + } + case 13: + case 12: { + f = f + 1 | 0; + if ((j & 255 | 0) == (b | 0)) { + o = 18; + break a + } else continue a + } + default: { + f = f + 1 | 0; + continue a + } + } + } + b:do if ((o | 0) == 6) { + c[h >> 2] = f; + g = 0 + } else if ((o | 0) == 10) { + c[h >> 2] = f; + g = 0 + } else if ((o | 0) == 14) { + c[h >> 2] = f; + g = 0 + } else if ((o | 0) == 16) { + c[h >> 2] = f; + g = 0 + } else if ((o | 0) == 18) if ((g - f | 0) > 0) { + c[h >> 2] = f; + switch (a[k + (d[f >> 0] | 0) >> 0] | 0) { + case 20: + case 30: + case 11: + case 10: + case 9: + case 21: { + g = 27; + break b + } + default: { + } + } + g = 0 + } else g = -27; while (0); + return g | 0 + } + + function RX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + h = f; + a:do if ((h - e | 0) > 0) { + i = b + 72 | 0; + switch (a[i + (d[e >> 0] | 0) >> 0] | 0) { + case 27: { + b = KX(b, e + 1 | 0, f, g) | 0; + break a + } + case 20: { + c[g >> 2] = e + 1; + b = 33; + break a + } + case 24: + case 22: { + b:while (1) { + b = e + 1 | 0; + f = h - b | 0; + if ((f | 0) <= 0) { + b = -1; + break a + } + switch (a[i + (d[b >> 0] | 0) >> 0] | 0) { + case 24: + case 22: { + e = b; + break + } + case 30: { + j = 8; + break b + } + case 10: + case 9: + case 21: + break b; + default: { + j = 12; + break b + } + } + } + if ((j | 0) == 12) { + c[g >> 2] = b; + b = 0; + break a + } + c:do if ((j | 0) == 8) { + if ((f | 0) <= 1) { + b = -1; + break a + } + switch (a[i + (d[e + 2 >> 0] | 0) >> 0] | 0) { + case 30: + case 10: + case 9: + case 21: + break; + default: + break c + } + c[g >> 2] = b; + b = 0; + break a + } while (0); + c[g >> 2] = b; + b = 16; + break a + } + default: { + c[g >> 2] = e; + b = 0; + break a + } + } + } else b = -1; while (0); + return b | 0 + } + + function Rv(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + f = a; + while (1) { + j = c[f >> 2] | 0; + if (!j) { + k = 6; + break + } + if ((c[j >> 2] | 0) == (b | 0)) break; + f = j + 4 | 0 + } + if ((k | 0) == 6) qa(93188, 93195, 217, 93206); + i = j + 8 | 0; + f = c[i >> 2] | 0; + g = j + 4 | 0; + b = c[g >> 2] | 0; + c[(f | 0 ? f + 4 | 0 : a) >> 2] = b; + h = a + 4 | 0; + c[(b | 0 ? b + 8 | 0 : h) >> 2] = f; + b = 0; + f = a; + while (1) { + f = c[f >> 2] | 0; + if (!f) break; + if ((c[f >> 2] | 0) == (d | 0)) { + k = 9; + break + } + b = f; + f = f + 4 | 0 + } + if ((k | 0) == 9) { + do if (!e) if ((f | 0) == (c[a >> 2] | 0)) { + c[a >> 2] = j; + c[g >> 2] = f; + c[i >> 2] = 0; + f = f + 8 | 0; + break + } else { + c[b + 4 >> 2] = j; + c[i >> 2] = b; + c[g >> 2] = f; + f = f + 8 | 0; + break + } else if ((f | 0) == (c[h >> 2] | 0)) { + c[h >> 2] = j; + c[g >> 2] = 0; + c[i >> 2] = f; + f = f + 4 | 0; + break + } else { + c[i >> 2] = f; + f = f + 4 | 0; + c[g >> 2] = c[f >> 2]; + c[(c[f >> 2] | 0) + 8 >> 2] = j; + break + } while (0); + c[f >> 2] = j + } + return + } + + function Sv(a) { + a = a | 0; + return c[a + 8 >> 2] | 0 + } + + function Tv(a, b) { + a = a | 0; + b = b | 0; + Uv(a, Ov(b) | 0); + D_(b); + return + } + + function Uv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[b >> 2] | 0; + if (d | 0) { + e = a + 4 | 0; + f = c[e >> 2] | 0; + c[f + 4 >> 2] = d; + c[d + 8 >> 2] = f; + c[e >> 2] = c[b + 4 >> 2]; + d = a + 8 | 0; + c[d >> 2] = (c[d >> 2] | 0) + (c[b + 8 >> 2] | 0) + } + return + } + + function Vv(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0.0; + m = c[b + 8 >> 2] | 0; + Wv(a, b); + l = Xv(m) | 0; + a = Zv(Yv(l) | 0) | 0; + _v(m, a); + m = $v(a, m) | 0; + a = Sv(m) | 0; + j = +aw(m); + k = (a | 0) == 1; + f = +(a | 0); + i = f * .15915494309189535 * (j + d); + g = k ? 0.0 : i; + a = m; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + if (c[(c[(c[(c[a >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 8 | 0) { + e = 4; + break + } + a = a + 4 | 0 + } + if ((e | 0) == 4) Pv(m, a); + d = 1.0 / f; + e = 0; + a = m; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + n = (c[a >> 2] | 0) + 16 | 0; + c[(c[(c[n >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] = e; + h[(c[(c[n >> 2] | 0) + 112 >> 2] | 0) + 24 >> 3] = 0.0; + f = 6.283185307179586 * d * +(e | 0); + o = +E(+f) * g; + n = c[(c[n >> 2] | 0) + 132 >> 2] | 0; + h[n >> 3] = o; + h[n + 8 >> 3] = +F(+f) * g; + e = e + 1 | 0; + a = a + 4 | 0 + } + o = k ? j * .5 : i; + h[b + 16 >> 3] = o; + h[b + 24 >> 3] = o; + h[b + 48 >> 3] = -1.0; + $x(l) | 0; + return m | 0 + } + + function Wv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = c[b + 8 >> 2] | 0; + d = Sy(f) | 0; + while (1) { + if (!d) break; + e = Ex(a, d) | 0; + while (1) { + if (!e) break; + if ((c[(c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] | 0) == (b | 0)) Vx(f, e, 1) | 0; + e = Gx(a, e) | 0 + } + d = Ty(f, d) | 0 + } + return + } + + function Xv(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + g = k; + f = gw(a, g) | 0; + g = c[g >> 2] | 0; + i = ay(g) | 0; + h = hw(g) | 0; + i = i + -3 | 0; + e = 0; + while (1) { + if ((e | 0) >= (i | 0)) break; + j = qw(h) | 0; + d = Jx(g, j) | 0; + while (1) { + if (!d) break; + b = c[d >> 2] & 3; + a = c[((b | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + if ((j | 0) == (a | 0)) a = c[((b | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + pw(h, a); + d = Kx(g, d, j) | 0 + } + iw(g, j, f); + d = Jx(g, j) | 0; + while (1) { + if (!d) break; + b = c[d >> 2] & 3; + a = c[((b | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + if ((j | 0) == (a | 0)) a = c[((b | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + b = (c[a + 16 >> 2] | 0) + 236 | 0; + c[b >> 2] = (c[b >> 2] | 0) + -1; + ow(h, a); + d = Kx(g, d, j) | 0 + } + dz(g, j) | 0; + e = e + 1 | 0 + } + $x(g) | 0; + nw(h); + l = k; + return f | 0 + } + + function Yv(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 144 | 0; + b = f; + e = f + 8 | 0; + d = c[46162] | 0; + c[46162] = d + 1; + c[b >> 2] = d; + Y0(e, 93221, b) | 0; + e = vA(a, e, 1) | 0; + Az(e, 134401, 280, 1) | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + Xy(e, b, 1) | 0; + d = b + 16 | 0; + c[(c[(c[d >> 2] | 0) + 112 >> 2] | 0) + 16 + 12 >> 2] = 0; + c[(c[(c[d >> 2] | 0) + 112 >> 2] | 0) + 32 >> 2] = 0; + d = (c[(c[d >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[d >> 2] = c[d >> 2] & -2; + b = Ty(a, b) | 0 + } + b = Sy(a) | 0; + while (1) { + if (!b) break; + d = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + if (!(c[d + 4 >> 2] & 1)) { + c[d + 16 >> 2] = 0; + fw(a, b, e) + } + b = Ty(a, b) | 0 + } + l = f; + return e | 0 + } + + function Zv(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if ((ay(a) | 0) != 1) { + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = 0; + e = Jx(a, d) | 0; + while (1) { + if (!e) break; + b = b + 1 | 0; + e = Kx(a, e, d) | 0 + } + if ((b | 0) == 1) ew(d, d, 0, 0); + d = Ty(a, d) | 0 + } + b = 0; + f = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + g = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + g = (c[g + 32 >> 2] | 0) + (c[g + 16 + 12 >> 2] | 0) | 0; + e = (g | 0) > (b | 0); + b = e ? g : b; + f = e ? d : f; + d = Ty(a, d) | 0 + } + b = Kv() | 0; + e = f + 16 | 0; + d = (c[(c[e >> 2] | 0) + 112 >> 2] | 0) + 16 + 4 | 0; + while (1) { + d = c[d >> 2] | 0; + if ((d | 0) == (f | 0)) break; + Mv(b, 0, d); + d = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + g = d + 4 | 0; + c[g >> 2] = c[g >> 2] | 16; + d = d + 16 | 0 + } + Mv(b, 0, f); + g = c[(c[e >> 2] | 0) + 112 >> 2] | 0; + a = g + 4 | 0; + c[a >> 2] = c[a >> 2] | 16; + if (c[g + 32 >> 2] | 0) { + a = Kv() | 0; + d = (c[(c[e >> 2] | 0) + 112 >> 2] | 0) + 24 | 0; + while (1) { + d = c[d >> 2] | 0; + if ((d | 0) == (f | 0)) break; + Mv(a, 0, d); + d = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + g = d + 4 | 0; + c[g >> 2] = c[g >> 2] | 16; + d = d + 16 | 0 + } + Tv(b, a) + } + } else { + b = Kv() | 0; + g = Sy(a) | 0; + Mv(b, 0, g); + g = (c[(c[g + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[g >> 2] = c[g >> 2] | 16 + } + return b | 0 + } + + function _v(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + if (!(c[(c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 16)) dw(a, d, b); + d = Ty(a, d) | 0 + } + return + } + + function $v(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + f = g; + d = bw(a, b) | 0; + c[f >> 2] = d; + a:do if (d) { + e = 0; + while (1) { + if ((e | 0) >= 10) break a; + a = cw(a, b, f) | 0; + h = d; + d = c[f >> 2] | 0; + if ((h | 0) == (d | 0) | (d | 0) == 0) break; else e = e + 1 | 0 + } + } while (0); + l = g; + return a | 0 + } + + function aw(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0.0, f = 0; + b = 0.0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + f = c[(c[c[(c[(c[a >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0) + 16 >> 2] | 0; + d = +h[f + 32 >> 3]; + d = d > b ? d : b; + e = +h[f + 40 >> 3]; + b = e > d ? e : d; + a = a + 4 | 0 + } + return +b + } + + function bw(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; + k = rw() | 0; + e = Sy(b) | 0; + while (1) { + if (!e) break; + d = Ex(b, e) | 0; + while (1) { + if (!d) break; + c[c[(c[d + 16 >> 2] | 0) + 120 >> 2] >> 2] = 0; + d = Gx(b, d) | 0 + } + e = Ty(b, e) | 0 + } + j = 1; + d = 0; + while (1) { + h = c[a >> 2] | 0; + if (!h) break; + i = c[h >> 2] | 0; + g = Jx(b, i) | 0; + while (1) { + if (!g) break; + f = g + 16 | 0; + if ((c[c[(c[f >> 2] | 0) + 120 >> 2] >> 2] | 0) > 0) { + a = nb[c[k >> 2] & 63](k, 0, 128) | 0; + while (1) { + if (!a) break; + e = c[a + 8 >> 2] | 0; + if ((c[c[(c[e + 16 >> 2] | 0) + 120 >> 2] >> 2] | 0) > (c[c[(c[f >> 2] | 0) + 120 >> 2] >> 2] | 0) ? (l = c[e >> 2] & 3, (c[((l | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) != (i | 0)) : 0) d = d + ((c[((l | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) != (i | 0) & 1) | 0; + a = nb[c[k >> 2] & 63](k, a, 8) | 0 + } + xw(k, g) + } + g = Kx(b, g, i) | 0 + } + e = Jx(b, i) | 0; + while (1) { + if (!e) break; + a = c[(c[e + 16 >> 2] | 0) + 120 >> 2] | 0; + if (!(c[a >> 2] | 0)) { + c[a >> 2] = j; + ww(k, e) + } + e = Kx(b, e, i) | 0 + } + a = h + 4 | 0; + j = j + 1 | 0 + } + vw(k); + return d | 0 + } + + function cw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + e = c[d >> 2] | 0; + k = Sy(b) | 0; + a:while (1) { + if (!k) break; + j = Jx(b, k) | 0; + while (1) { + if (!j) break; + g = c[j >> 2] & 3; + f = c[((g | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + if ((f | 0) == (k | 0)) f = c[((g | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + i = 0; + while (1) { + if ((i | 0) >= 2) break; + h = Qv(a) | 0; + Rv(a, k, f, i); + g = bw(a, b) | 0; + if ((g | 0) < (e | 0)) { + Lv(h); + if (!g) { + e = 0; + break a + } else e = g + } else { + Lv(a); + a = h + } + i = i + 1 | 0 + } + j = Kx(b, j, k) | 0 + } + k = Ty(b, k) | 0 + } + c[d >> 2] = e; + return a | 0 + } + + function dw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = Kv() | 0; + e = Ex(a, b) | 0; + while (1) { + if (!e) break; + f = e + -48 | 0; + Mv(h, 0, c[((c[e >> 2] & 3 | 0) == 2 ? e : f) + 40 >> 2] | 0); + f = (c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[f >> 2] = c[f >> 2] | 32; + e = Gx(a, e) | 0 + } + e = Hx(a, b) | 0; + while (1) { + if (!e) break; + f = e + 48 | 0; + Mv(h, 0, c[((c[e >> 2] & 3 | 0) == 3 ? e : f) + 40 >> 2] | 0); + f = (c[(c[(c[((c[e >> 2] & 3 | 0) == 3 ? e : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[f >> 2] = c[f >> 2] | 32; + e = Ix(a, e) | 0 + } + a:do if ((Sv(h) | 0) > 1) { + f = d + 4 | 0; + a = d; + while (1) { + e = c[a >> 2] | 0; + if (!e) { + g = 13; + break a + } + a = e + 4 | 0; + if (!(c[(c[(c[(c[e >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 32)) continue; + if (c[(c[(c[(c[c[((e | 0) == (c[f >> 2] | 0) ? d : a) >> 2] >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 32 | 0) break + } + Mv(d, e, b) + } else g = 13; while (0); + b:do if ((g | 0) == 13) { + c:do if ((Sv(h) | 0) > 0) { + e = d; + while (1) { + e = c[e >> 2] | 0; + if (!e) break c; + if (c[(c[(c[(c[e >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 32 | 0) break; + e = e + 4 | 0 + } + Mv(d, e, b); + break b + } while (0); + Mv(d, 0, b) + } while (0); + e = h; + while (1) { + e = c[e >> 2] | 0; + if (!e) break; + d = (c[(c[(c[e >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[d >> 2] = c[d >> 2] & -33; + e = e + 4 | 0 + } + Lv(h); + return + } + + 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, i = 0, j = 0, k = 0; + while (1) { + g = c[(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] | 0; + if (!g) break; + h = d + 1 | 0; + i = g + 16 | 0; + j = c[(c[i >> 2] | 0) + 112 >> 2] | 0; + b = j + 16 | 0; + f = c[b + 12 >> 2] | 0; + if (f) { + if ((f | 0) > (d | 0)) { + k = 11; + break + } + b = c[b + 4 >> 2] | 0; + f = b; + if ((b | 0) == (e | 0)) b = j; else { + d = j + 24 | 0; + if (!((c[j + 32 >> 2] | 0) != 0 ? (c[d >> 2] | 0) == (e | 0) : 0)) e = b; + c[d >> 2] = f; + b = c[(c[i >> 2] | 0) + 112 >> 2] | 0; + c[b + 32 >> 2] = c[b + 16 + 12 >> 2]; + b = c[(c[i >> 2] | 0) + 112 >> 2] | 0 + } + b = b + 16 | 0 + } + c[b + 4 >> 2] = a; + c[(c[(c[i >> 2] | 0) + 112 >> 2] | 0) + 16 + 12 >> 2] = h; + b = g; + d = h + } + if ((k | 0) == 11 ? (c[j + 32 >> 2] | 0) <= (d | 0) : 0) { + c[j + 24 >> 2] = a; + c[(c[(c[i >> 2] | 0) + 112 >> 2] | 0) + 32 >> 2] = h + } + return + } + + function fw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = (c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 | 0; + c[g >> 2] = c[g >> 2] | 1; + g = Jx(a, b) | 0; + while (1) { + if (!g) break; + f = c[g >> 2] & 3; + e = c[((f | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[((f | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + f = e + 16 | 0; + if (!(c[(c[(c[f >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 1)) { + Vx(d, g, 1) | 0; + c[(c[(c[f >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] = b; + fw(a, e, d) + } + g = Kx(a, g, b) | 0 + } + return + } + + function gw(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + k = l; + l = l + 144 | 0; + j = k + 8 | 0; + i = k; + e = k + 16 | 0; + h = c[46163] | 0; + c[46163] = h + 1; + c[i >> 2] = h; + Y0(e, 93230, i) | 0; + i = vA(b, e, 1) | 0; + Az(i, 134401, 280, 1) | 0; + h = c[46163] | 0; + c[46163] = h + 1; + c[j >> 2] = h; + Y0(e, 93230, j) | 0; + h = b + 24 | 0; + a[j >> 0] = a[h >> 0] | 0; + a[j + 1 >> 0] = a[h + 1 >> 0] | 0; + a[j + 2 >> 0] = a[h + 2 >> 0] | 0; + a[j + 3 >> 0] = a[h + 3 >> 0] | 0; + j = Xx(e, j, 0) | 0; + e = Sy(b) | 0; + while (1) { + if (!e) break; + Xy(i, e, 1) | 0; + h = az(j, ry(e) | 0, 1) | 0; + Az(h, 134365, 304, 1) | 0; + c[(c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] = h; + e = Ty(b, e) | 0 + } + f = Sy(b) | 0; + while (1) { + if (!f) break; + g = c[(c[(c[f + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] | 0; + h = g + 16 | 0; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + Vx(i, e, 1) | 0; + m = c[(c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 >> 2] | 0; + n = Rx(j, g, m, 0, 1) | 0; + Az(n, 134378, 176, 1) | 0; + c[(c[n + 16 >> 2] | 0) + 116 >> 2] = e; + n = (c[h >> 2] | 0) + 236 | 0; + c[n >> 2] = (c[n >> 2] | 0) + 1; + m = (c[m + 16 >> 2] | 0) + 236 | 0; + c[m >> 2] = (c[m >> 2] | 0) + 1; + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + c[d >> 2] = j; + l = k; + return i | 0 + } + + function hw(a) { + a = a | 0; + var b = 0, c = 0; + c = jw() | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + ow(c, b); + b = Ty(a, b) | 0 + } + return c | 0 + } + + function iw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + m = c[(c[b + 16 >> 2] | 0) + 236 >> 2] | 0; + p = m << 2; + o = vH(p) | 0; + p = vH(p) | 0; + i = 0; + l = Jx(a, b) | 0; + n = 0; + f = 0; + while (1) { + if (!l) break; + e = c[l >> 2] & 3; + g = c[((e | 0) == 2 ? l : l + -48 | 0) + 40 >> 2] | 0; + if ((g | 0) == (b | 0)) g = c[((e | 0) == 3 ? l : l + 48 | 0) + 40 >> 2] | 0; + h = 0; + k = Jx(a, b) | 0; + j = i; + while (1) { + if (!k) break; + if ((k | 0) != (l | 0)) { + i = c[k >> 2] & 3; + e = c[((i | 0) == 2 ? k : k + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[((i | 0) == 3 ? k : k + 48 | 0) + 40 >> 2] | 0; + i = Rx(a, g, e, 0, 0) | 0; + if (i) if (g >>> 0 < e >>> 0) { + e = j + 1 | 0; + h = i + 16 | 0; + i = c[(c[h >> 2] | 0) + 116 >> 2] | 0; + if (!i) h = 1; else { + dz(d, i) | 0; + c[(c[h >> 2] | 0) + 116 >> 2] = 0; + h = 1 + } + } else { + h = 1; + e = j + } else e = j + } else e = j; + k = Kx(a, k, b) | 0; + j = e + } + if (!h) { + c[p + (n << 2) >> 2] = g; + e = n + 1 | 0 + } else { + c[o + (f << 2) >> 2] = g; + e = n; + f = f + 1 | 0 + } + i = j; + l = Kx(a, l, b) | 0; + n = e + } + e = m + -1 - i | 0; + a:do if ((e | 0) > 0) { + if ((e | 0) < (n | 0)) g = 0; else { + if ((e | 0) != (n | 0)) break; + f = c[o >> 2] | 0; + g = f + 16 | 0; + e = 0; + while (1) { + if ((e | 0) >= (n | 0)) break a; + m = c[p + (e << 2) >> 2] | 0; + Az(Rx(a, f, m, 0, 1) | 0, 134378, 176, 1) | 0; + d = (c[g >> 2] | 0) + 236 | 0; + c[d >> 2] = (c[d >> 2] | 0) + 1; + m = (c[m + 16 >> 2] | 0) + 236 | 0; + c[m >> 2] = (c[m >> 2] | 0) + 1; + e = e + 1 | 0 + } + } + while (1) { + if ((g | 0) >= (n | 0)) { + f = 2; + break + } + f = g | 1; + if ((f | 0) >= (n | 0)) { + f = 2; + break + } + d = c[p + (g << 2) >> 2] | 0; + m = c[p + (f << 2) >> 2] | 0; + Az(Rx(a, d, m, 0, 1) | 0, 134378, 176, 1) | 0; + d = (c[d + 16 >> 2] | 0) + 236 | 0; + c[d >> 2] = (c[d >> 2] | 0) + 1; + m = (c[m + 16 >> 2] | 0) + 236 | 0; + c[m >> 2] = (c[m >> 2] | 0) + 1; + g = g + 2 | 0; + e = e + -1 | 0 + } + while (1) { + if ((e | 0) <= 0) break a; + m = c[p >> 2] | 0; + n = c[p + (f << 2) >> 2] | 0; + Az(Rx(a, m, n, 0, 1) | 0, 134378, 176, 1) | 0; + m = (c[m + 16 >> 2] | 0) + 236 | 0; + c[m >> 2] = (c[m >> 2] | 0) + 1; + n = (c[n + 16 >> 2] | 0) + 236 | 0; + c[n >> 2] = (c[n >> 2] | 0) + 1; + f = f + 1 | 0; + e = e + -1 | 0 + } + } while (0); + D_(p); + D_(o); + return + } + + function jw() { + return Cw(18136, c[4555] | 0) | 0 + } + + function kw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = vH(16) | 0; + c[d + 12 >> 2] = 0; + c[d + 8 >> 2] = c[b + 8 >> 2]; + return d | 0 + } + + function lw(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function mw(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = c[b >> 2] | 0; + e = c[d >> 2] | 0; + return ((b | 0) < (e | 0) ? -1 : (b | 0) > (e | 0) & 1) | 0 + } + + function nw(a) { + a = a | 0; + yw(a) | 0; + return + } + + function ow(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + f = d; + e = b + 16 | 0; + c[f + 8 >> 2] = c[(c[e >> 2] | 0) + 236 >> 2]; + a = (nb[c[a >> 2] & 63](a, f, 1) | 0) + 12 | 0; + c[(c[e >> 2] | 0) + 164 >> 2] = c[a >> 2]; + c[a >> 2] = b; + l = d; + return + } + + function pw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + f = b + 16 | 0; + c[g + 8 >> 2] = c[(c[f >> 2] | 0) + 236 >> 2]; + g = nb[c[a >> 2] & 63](a, g, 4) | 0; + if (!g) qa(93240, 93243, 107, 93253); + e = g + 12 | 0; + d = c[e >> 2] | 0; + if ((d | 0) == (b | 0)) { + b = c[(c[f >> 2] | 0) + 164 >> 2] | 0; + c[e >> 2] = b; + if (!b) nb[c[a >> 2] & 63](a, g, 2) | 0 + } else { + do { + a = (c[d + 16 >> 2] | 0) + 164 | 0; + d = c[a >> 2] | 0; + e = (d | 0) != 0 + } while (e & (d | 0) != (b | 0)); + if (e) c[a >> 2] = c[(c[d + 16 >> 2] | 0) + 164 >> 2] + } + l = h; + return + } + + function qw(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = nb[c[a >> 2] & 63](a, 0, 128) | 0; + if (d) { + f = d + 12 | 0; + b = c[f >> 2] | 0; + e = c[(c[b + 16 >> 2] | 0) + 164 >> 2] | 0; + c[f >> 2] = e; + if (!e) nb[c[a >> 2] & 63](a, d, 2) | 0 + } else b = 0; + return b | 0 + } + + function rw() { + return Cw(18172, c[4555] | 0) | 0 + } + + function sw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = vH(12) | 0; + c[d + 8 >> 2] = c[b + 8 >> 2]; + return d | 0 + } + + function tw(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function uw(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = c[b >> 2] | 0; + e = c[d >> 2] | 0; + return (b >>> 0 > e >>> 0 ? 1 : (b >>> 0 < e >>> 0) << 31 >> 31) | 0 + } + + function vw(a) { + a = a | 0; + yw(a) | 0; + return + } + + function ww(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e + 8 >> 2] = b; + nb[c[a >> 2] & 63](a, e, 1) | 0; + l = d; + return + } + + function xw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e + 8 >> 2] = b; + nb[c[a >> 2] & 63](a, e, 2) | 0; + l = d; + return + } + + function yw(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + do if ((a | 0) != 0 ? (c[a + 24 >> 2] | 0) <= 0 : 0) { + h = c[a + 4 >> 2] | 0; + g = h + 32 | 0; + b = c[g >> 2] | 0; + if (b) { + b = ob[b & 127](a, 2, 0, h) | 0; + if ((b | 0) < 0) { + b = -1; + break + } + } else b = 0; + if (c[a + 28 >> 2] | 0) Hw(a, 0) | 0; + f = (b | 0) == 0; + if (f) { + nb[c[c[a + 16 >> 2] >> 2] & 63](a, 0, 64) | 0; + if ((Ew(a) | 0) > 0) { + b = -1; + break + } + d = a + 8 | 0; + b = c[d >> 2] | 0; + if ((c[b + 12 >> 2] | 0) > 0) { + e = a + 12 | 0; + ob[c[e >> 2] & 127](a, c[b + 8 >> 2] | 0, 0, h) | 0; + b = c[d >> 2] | 0 + } else e = a + 12 | 0; + ob[c[e >> 2] & 127](a, b, 0, h) | 0 + } + b = c[a + 20 >> 2] | 0; + if (b) { + if (f & (b | 0) == 1) ob[c[a + 12 >> 2] & 127](a, a, 0, h) | 0 + } else D_(a); + b = c[g >> 2] | 0; + if (!b) b = 0; else { + ob[b & 127](a, 6, 0, h) | 0; + b = 0 + } + } else b = -1; while (0); + return b | 0 + } + + function zw(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 8 | 0; + b = c[e >> 2] | 0; + d = c[b >> 2] | 0; + a:do if (!(d & 12)) { + if (!(d & 3)) { + d = b + 8 | 0; + a = c[d >> 2] | 0; + c[d >> 2] = 0; + break + } + a = Aw(a) | 0; + d = c[e >> 2] | 0; + b = c[d + 8 >> 2] | 0; + d = b + (c[d + 12 >> 2] << 2) | 0; + while (1) { + if (b >>> 0 >= d >>> 0) break a; + c[b >> 2] = 0; + b = b + 4 | 0 + } + } else a = c[b + 4 >> 2] | 0; while (0); + e = c[e >> 2] | 0; + c[e >> 2] = c[e >> 2] & -4097; + c[e + 16 >> 2] = 0; + c[e + 4 >> 2] = 0; + return a | 0 + } + + function Aw(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + g = a + 8 | 0; + a = c[g >> 2] | 0; + b = c[a >> 2] | 0; + if (!(b & 4096)) { + a:do if (!(b & 3)) { + if (b & 112 | 0) { + a = c[a + 8 >> 2] | 0; + break + } + a = c[a + 4 >> 2] | 0; + if (!a) a = 0; else { + while (1) { + b = a + 4 | 0; + d = c[b >> 2] | 0; + if (!d) { + e = a; + break + } + c[b >> 2] = c[d >> 2]; + c[d >> 2] = a; + a = d + } + while (1) { + b = c[e >> 2] | 0; + if (!b) break a; + d = c[b + 4 >> 2] | 0; + if (!d) { + e = b; + continue + } + while (1) { + c[b + 4 >> 2] = c[d >> 2]; + c[d >> 2] = b; + b = c[d + 4 >> 2] | 0; + if (!b) break; else { + f = d; + d = b; + b = f + } + } + c[e >> 2] = d; + e = d + } + } + } else { + e = c[a + 8 >> 2] | 0; + f = e + (c[a + 12 >> 2] << 2) | 0; + b = 0; + a = 0; + while (1) { + if (e >>> 0 >= f >>> 0) break a; + d = c[e >> 2] | 0; + if (d) { + if (!b) { + b = d; + a = d + } else c[b >> 2] = d; + while (1) { + d = c[b >> 2] | 0; + if (!d) break; else b = d + } + c[e >> 2] = b + } + e = e + 4 | 0 + } + } while (0); + g = c[g >> 2] | 0; + c[g + 4 >> 2] = a; + c[g >> 2] = c[g >> 2] | 4096 + } else a = c[a + 4 >> 2] | 0; + return a | 0 + } + + function Bw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0; + s = a + 8 | 0; + if (c[c[s >> 2] >> 2] & 4096 | 0) Dw(a, 0) | 0; + r = c[a + 4 >> 2] | 0; + m = c[r >> 2] | 0; + n = c[r + 4 >> 2] | 0; + q = r + 8 | 0; + u = c[q >> 2] | 0; + o = c[r + 20 >> 2] | 0; + p = a + 20 | 0; + f = c[p >> 2] & -32769; + c[p >> 2] = f; + a:do if (!b) { + if (d & 384 | 0) { + f = c[s >> 2] | 0; + e = c[f + 8 >> 2] | 0; + if (!e) { + e = 0; + break + } + if (d & 256) { + e = c[e + 4 >> 2] | 0; + c[f + 4 >> 2] = e; + if (!e) { + e = 0; + break + } + } else c[f + 4 >> 2] = e; + if ((u | 0) < 0) { + e = c[e + 8 >> 2] | 0; + break + } else { + e = e + (0 - u) | 0; + break + } + } + if (d & 4098 | 0) { + e = c[s >> 2] | 0; + if (c[e >> 2] & 144 | 0) { + e = 0; + break + } + e = c[e + 8 >> 2] | 0; + if (!e) { + e = 0; + break + } else { + h = e; + t = 84; + break + } + } + if (!(d & 64)) e = 0; else { + i = r + 16 | 0; + b:do if ((c[i >> 2] | 0) != 0 | (u | 0) < 0) { + j = a + 12 | 0; + k = (u | 0) < 0; + f = 0 - u | 0; + e = c[(c[s >> 2] | 0) + 8 >> 2] | 0; + while (1) { + if (!e) break b; + g = c[e >> 2] | 0; + h = c[i >> 2] | 0; + if (h | 0) { + if (k) b = c[e + 8 >> 2] | 0; else b = e + f | 0; + vb[h & 127](a, b, r) + } + if ((c[q >> 2] | 0) >= 0) { + e = g; + continue + } + ob[c[j >> 2] & 127](a, e, 0, r) | 0; + e = g + } + } while (0); + e = c[s >> 2] | 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[(c[s >> 2] | 0) + 16 >> 2] = 0; + e = 0 + } + } else { + if (d & 2049 | 0) { + g = r + 12 | 0; + e = c[g >> 2] | 0; + h = (d & 1 | 0) == 0; + if (!(h | (e | 0) == 0)) { + e = nb[e & 63](a, b, r) | 0; + if (!e) { + e = 0; + break + } else f = e + } else f = b; + do if ((u | 0) > -1) h = f + u | 0; else { + e = ob[c[a + 12 >> 2] & 127](a, 0, 12, r) | 0; + if (e | 0) { + c[e + 8 >> 2] = f; + h = e; + break + } + if (!(c[g >> 2] | 0)) { + e = 0; + break a + } + e = c[r + 16 >> 2] | 0; + if (h | (e | 0) == 0) { + e = 0; + break a + } + vb[e & 127](a, f, r); + e = 0; + break a + } while (0); + g = c[s >> 2] | 0; + e = c[g >> 2] | 0; + do if (!(e & 128)) { + if (!(e & 16)) if (!(e & 32)) { + t = 51; + break + } else { + t = 48; + break + } + f = c[g + 4 >> 2] | 0; + e = (f | 0) != 0; + if (!(d & 8192)) { + if (!e) { + t = 48; + break + } + if ((f | 0) == (c[g + 8 >> 2] | 0)) { + t = 48; + break + } + r = f + 4 | 0; + a = c[r >> 2] | 0; + c[h + 4 >> 2] = a; + c[a >> 2] = h; + c[h >> 2] = f; + c[r >> 2] = h; + break + } else { + if (!e) { + t = 51; + break + } + e = c[f >> 2] | 0; + if (!e) { + t = 51; + break + } + c[h >> 2] = e; + c[e + 4 >> 2] = h; + c[h + 4 >> 2] = f; + c[f >> 2] = h; + break + } + } else if (!(d & 8192)) t = 48; else t = 51; while (0); + if ((t | 0) == 48) { + e = c[g + 8 >> 2] | 0; + c[h >> 2] = e; + if (!e) e = h; else c[h + 4 >> 2] = c[e + 4 >> 2]; + c[e + 4 >> 2] = h; + c[(c[s >> 2] | 0) + 8 >> 2] = h + } else if ((t | 0) == 51) { + f = g + 8 | 0; + e = c[f >> 2] | 0; + if (!e) { + c[f >> 2] = h; + e = h + } else { + r = e + 4 | 0; + c[c[r >> 2] >> 2] = h; + c[h + 4 >> 2] = c[r >> 2] + } + c[e + 4 >> 2] = h; + c[h >> 2] = 0 + } + e = c[s >> 2] | 0; + f = e + 16 | 0; + g = c[f >> 2] | 0; + if ((g | 0) > -1) c[f >> 2] = g + 1; + c[e + 4 >> 2] = h; + if ((u | 0) < 0) { + e = c[h + 8 >> 2] | 0; + break + } else { + e = h + (0 - u) | 0; + break + } + } + h = c[s >> 2] | 0; + do if (!(d & 512)) { + e = c[h + 4 >> 2] | 0; + if (e | 0) { + if ((u | 0) < 0) g = c[e + 8 >> 2] | 0; else g = e + (0 - u) | 0; + if ((g | 0) == (b | 0)) break + } + e = b + m | 0; + if ((n | 0) < 0) { + b = c[e >> 2] | 0; + t = 68 + } else { + b = e; + t = 68 + } + } else t = 68; while (0); + if ((t | 0) == 68) { + g = (u | 0) < 0; + i = (n | 0) < 0; + j = (o | 0) == 0; + k = (n | 0) < 1; + l = 0 - u | 0; + e = h + 8 | 0; + do { + e = c[e >> 2] | 0; + if (!e) { + e = 0; + break a + } + if (g) f = c[e + 8 >> 2] | 0; else f = e + l | 0; + f = f + m | 0; + if (i) f = c[f >> 2] | 0; + do if (j) if (k) { + f = b$(b, f) | 0; + break + } else { + f = L0(b, f, n) | 0; + break + } else f = ob[o & 127](a, b, f, r) | 0; while (0) + } while ((f | 0) != 0); + f = c[p >> 2] | 0 + } + c[p >> 2] = f | 32768; + if (!(d & 4098)) { + do if (!(d & 8)) { + f = c[s >> 2] | 0; + if (!(d & 16)) { + c[f + 4 >> 2] = e; + break + } + if ((e | 0) == (c[f + 8 >> 2] | 0)) { + c[f + 4 >> 2] = 0; + e = 0; + break a + } else { + e = e + 4 | 0; + t = 108; + break + } + } else { + f = c[s >> 2] | 0; + t = 108 + } while (0); + if ((t | 0) == 108) { + e = c[e >> 2] | 0; + c[f + 4 >> 2] = e; + if (!e) { + e = 0; + break + } + } + if ((u | 0) < 0) { + e = c[e + 8 >> 2] | 0; + break + } else { + e = e + (0 - u) | 0; + break + } + } else { + h = e; + t = 84 + } + } while (0); + if ((t | 0) == 84) { + e = c[h >> 2] | 0; + if (e) { + c[e + 4 >> 2] = c[h + 4 >> 2]; + e = c[h >> 2] | 0 + } + f = (c[s >> 2] | 0) + 8 | 0; + g = c[f >> 2] | 0; + if ((h | 0) == (g | 0)) { + c[f >> 2] = e; + e = c[(c[s >> 2] | 0) + 8 >> 2] | 0; + if (e | 0) c[e + 4 >> 2] = c[h + 4 >> 2] + } else { + f = h + 4 | 0; + c[c[f >> 2] >> 2] = e; + e = g + 4 | 0; + if ((h | 0) == (c[e >> 2] | 0)) c[e >> 2] = c[f >> 2] + } + e = c[s >> 2] | 0; + f = e + 4 | 0; + if ((h | 0) == (c[f >> 2] | 0)) g = c[h >> 2] | 0; else g = 0; + c[f >> 2] = g; + t = e + 16 | 0; + c[t >> 2] = (c[t >> 2] | 0) + -1; + if ((u | 0) < 0) e = c[h + 8 >> 2] | 0; else e = h + (0 - u) | 0; + f = c[r + 16 >> 2] | 0; + if (!((d & 2 | 0) == 0 | (f | 0) == 0)) vb[f & 127](a, e, r); + if ((c[q >> 2] | 0) < 0) ob[c[a + 12 >> 2] & 127](a, h, 0, r) | 0 + } + return e | 0 + } + + function Cw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + g = j; + a:do if ((a | 0) != 0 & (b | 0) != 0 ? (f = C_(40) | 0, (f | 0) != 0) : 0) { + c[f >> 2] = 0; + c[f + 16 >> 2] = 0; + c[f + 4 >> 2] = 0; + Kw(f, a, 0) | 0; + d = f + 20 | 0; + i = a + 32 | 0; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + c[d + 8 >> 2] = 0; + c[d + 12 >> 2] = 0; + c[d + 16 >> 2] = 0; + d = c[i >> 2] | 0; + do if (d) { + c[g >> 2] = 0; + d = ob[d & 127](f, 1, g, a) | 0; + if ((d | 0) >= 0) if (d) { + e = c[g >> 2] | 0; + if (e | 0) if (!(c[b + 4 >> 2] & c[e >> 2])) { + d = f; + h = 12; + break + } else { + d = f; + break + } + d = a + 28 | 0; + if (!(c[d >> 2] | 0)) { + d = f; + h = 12 + } else { + D_(f); + e = ob[c[d >> 2] & 127](0, 0, 40, a) | 0; + if (!e) { + d = 0; + break a + } + c[e >> 2] = 0; + c[e + 16 >> 2] = 0; + c[e + 4 >> 2] = 0; + Kw(e, a, 0) | 0; + c[e + 20 >> 2] = 1; + c[e + 24 >> 2] = 0; + c[e + 32 >> 2] = 0; + c[e + 28 >> 2] = 0; + d = e; + f = e; + h = 11 + } + } else { + d = f; + h = 11 + } else { + d = f; + h = 12 + } + } else { + d = f; + h = 11 + } while (0); + if ((h | 0) == 11) { + e = ob[c[d + 12 >> 2] & 127](d, 0, 28, a) | 0; + c[g >> 2] = e; + if (!e) { + d = f; + h = 12 + } else { + c[e >> 2] = c[b + 4 >> 2]; + g = e + 4 | 0; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + c[g + 8 >> 2] = 0; + c[g + 12 >> 2] = 0; + c[g + 16 >> 2] = 0; + c[g + 20 >> 2] = 0 + } + } + if ((h | 0) == 12) { + D_(d); + d = 0; + break + } + c[d + 8 >> 2] = e; + c[d >> 2] = c[b >> 2]; + c[d + 16 >> 2] = b; + e = c[i >> 2] | 0; + if (e) ob[e & 127](d, 5, f, a) | 0 + } else d = 0; while (0); + l = j; + return d | 0 + } + + function Dw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + f = c[c[a + 16 >> 2] >> 2] | 0; + j = a + 8 | 0; + g = c[j >> 2] | 0; + h = c[g >> 2] | 0; + d = h & 4096; + if (!b) if (!d) b = -1; else { + e = d; + b = c[g + 4 >> 2] | 0; + i = 5 + } else if (!(c[g + 16 >> 2] | 0)) { + e = 0; + i = 5 + } else b = -1; + a:do if ((i | 0) == 5) { + c[g >> 2] = h & -4097; + if (!(h & 3)) { + d = g + 4 | 0; + if (!(h & 12)) { + c[d >> 2] = 0; + d = g + 8 | 0 + } + c[d >> 2] = b; + if (e | 0) { + b = 0; + break + } + c[(c[j >> 2] | 0) + 16 >> 2] = -1; + b = 0; + break + } + c[g + 4 >> 2] = 0; + if (!e) { + c[g + 16 >> 2] = 0; + while (1) { + if (!b) { + b = 0; + break a + } + j = c[b >> 2] | 0; + nb[f & 63](a, b, 32) | 0; + b = j + } + } + e = c[g + 8 >> 2] | 0; + a = e + (c[g + 12 >> 2] << 2) | 0; + while (1) { + if (e >>> 0 >= a >>> 0) { + b = 0; + break a + } + d = c[e >> 2] | 0; + if (d) { + c[e >> 2] = b; + b = c[d >> 2] | 0; + c[d >> 2] = 0 + } + e = e + 4 | 0 + } + } while (0); + return b | 0 + } + + function Ew(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = a + 8 | 0; + d = c[b >> 2] | 0; + if (c[d >> 2] & 4096) { + Dw(a, 0) | 0; + d = c[b >> 2] | 0 + } + e = d + 16 | 0; + a = c[e >> 2] | 0; + do if ((a | 0) < 0) { + b = c[d >> 2] | 0; + if (b & 12 | 0) { + a = Fw(c[d + 4 >> 2] | 0) | 0; + c[e >> 2] = a; + break + } + if (b & 112) { + a = 0; + b = d + 8 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + a = a + 1 | 0 + } + c[e >> 2] = a + } + } while (0); + return a | 0 + } + + function Fw(a) { + a = a | 0; + var b = 0; + if (!a) return 0; else { + b = Fw(c[a + 4 >> 2] | 0) | 0; + return b + 1 + (Fw(c[a >> 2] | 0) | 0) | 0 + } + return 0 + } + + function Gw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0; + G = l; + l = l + 128 | 0; + z = G + 120 | 0; + r = G; + F = a + 8 | 0; + e = c[F >> 2] | 0; + if (c[e >> 2] & 4096) { + Dw(a, 0) | 0; + e = c[F >> 2] | 0 + } + E = c[a + 4 >> 2] | 0; + A = c[E >> 2] | 0; + B = c[E + 4 >> 2] | 0; + x = E + 8 | 0; + D = c[x >> 2] | 0; + C = c[E + 20 >> 2] | 0; + t = a + 20 | 0; + c[t >> 2] = c[t >> 2] & -32769; + h = c[e + 4 >> 2] | 0; + a:do if (!b) if ((d & 448 | 0) == 0 | (h | 0) == 0) e = 0; else { + if (!(d & 64)) { + b:do if (!(d & 256)) { + e = h; + while (1) { + f = e + 4 | 0; + g = c[f >> 2] | 0; + if (!g) break b; + c[f >> 2] = c[g >> 2]; + c[g >> 2] = e; + e = g + } + } else { + e = h; + while (1) { + f = c[e >> 2] | 0; + if (!f) break b; + a = f + 4 | 0; + c[e >> 2] = c[a >> 2]; + c[a >> 2] = e; + e = f + } + } while (0); + c[(c[F >> 2] | 0) + 4 >> 2] = e; + if ((D | 0) < 0) { + e = c[e + 8 >> 2] | 0; + break + } else { + e = e + (0 - D) | 0; + break + } + } + b = E + 16 | 0; + if ((c[b >> 2] | 0) != 0 | (D | 0) < 0) { + j = a + 12 | 0; + k = (D | 0) < 0; + i = 0 - D | 0; + e = h; + do { + h = e; + while (1) { + e = h + 4 | 0; + f = c[e >> 2] | 0; + if (!f) break; + c[e >> 2] = c[f >> 2]; + c[f >> 2] = h; + h = f + } + e = c[h >> 2] | 0; + f = c[b >> 2] | 0; + if (f | 0) { + if (k) g = c[h + 8 >> 2] | 0; else g = h + i | 0; + vb[f & 127](a, g, E) + } + if ((c[x >> 2] | 0) < 0) ob[c[j >> 2] & 127](a, h, 0, E) | 0 + } while ((e | 0) != 0); + e = c[F >> 2] | 0 + } + c[e + 16 >> 2] = 0; + c[e + 4 >> 2] = 0; + e = 0 + } else { + y = a + 16 | 0; + u = (d & 4098 | 0) == 0; + c:do if (u | (c[(c[y >> 2] | 0) + 4 >> 2] | 0) != 8) v = 45; else { + k = (B | 0) < 0; + e = b + A | 0; + if (k) e = c[e >> 2] | 0; + i = (C | 0) == 0; + j = (B | 0) < 1; + g = nb[c[a >> 2] & 63](a, b, 4) | 0; + while (1) { + if (!g) { + v = 45; + break c + } + f = g + A | 0; + if (k) f = c[f >> 2] | 0; + do if (i) if (j) { + f = b$(e, f) | 0; + break + } else { + f = L0(e, f, B) | 0; + break + } else f = ob[C & 127](a, e, f, E) | 0; while (0); + if (f | 0) { + v = 45; + break c + } + if ((g | 0) == (b | 0)) break; + g = nb[c[a >> 2] & 63](a, g, 8) | 0 + } + h = c[(c[F >> 2] | 0) + 4 >> 2] | 0; + c[z >> 2] = c[h + 4 >> 2]; + c[z + 4 >> 2] = c[h >> 2]; + e = z; + v = 180 + } while (0); + d:do if ((v | 0) == 45) { + do if (!(d & 2565)) { + if (d & 32 | 0) { + if ((D | 0) < 0) g = c[b + 8 >> 2] | 0; else g = b + (0 - D) | 0; + e = g + A | 0; + if ((B | 0) < 0) f = c[e >> 2] | 0; else f = e; + if (!h) { + e = b; + f = z; + h = z; + v = 198; + break + } else { + e = b; + s = f; + j = b; + v = 64; + break + } + } + if (h) { + if ((D | 0) < 0) e = c[h + 8 >> 2] | 0; else e = h + (0 - D) | 0; + if ((e | 0) != (b | 0)) { + f = b + A | 0; + if ((B | 0) < 0) { + g = b; + e = 0; + s = c[f >> 2] | 0; + j = 0; + v = 64 + } else { + g = b; + e = 0; + s = f; + j = 0; + v = 64 + } + } else { + e = 0; + g = b; + f = z; + k = z; + j = 0; + v = 141 + } + } else { + e = 0; + g = b; + f = z; + h = z; + v = 198 + } + } else { + if (!(d & 512)) { + e = b + A | 0; + if ((B | 0) < 0) f = c[e >> 2] | 0; else f = e + } else f = b; + if (!h) { + e = 0; + g = b; + f = z; + h = z; + v = 198 + } else { + g = b; + e = 0; + s = f; + j = 0; + v = 64 + } + } while (0); + e:do if ((v | 0) == 64) { + f:do if ((c[(c[y >> 2] | 0) + 4 >> 2] | 0) == 4 ? (q = c[(c[F >> 2] | 0) + 24 >> 2] | 0, !((d & 516 | 0) == 0 | (q | 0) == 0)) : 0) { + b = (D | 0) < 0; + m = (B | 0) < 0; + n = (C | 0) == 0; + o = (B | 0) < 1; + p = 0 - D | 0; + k = 0; + f = h; + while (1) { + if ((k | 0) >= (q | 0)) { + f = z; + k = z; + m = 0; + break + } + if (b) i = c[f + 8 >> 2] | 0; else i = f + p | 0; + i = i + A | 0; + if (m) i = c[i >> 2] | 0; + do if (n) if (o) { + i = b$(s, i) | 0; + break + } else { + i = L0(s, i, B) | 0; + break + } else i = ob[C & 127](a, s, i, E) | 0; while (0); + if (!i) { + v = 80; + break + } + c[r + (k << 2) >> 2] = i; + f = c[((i | 0) < 0 ? f + 4 | 0 : f) >> 2] | 0; + if (!f) { + e = 0; + break a + } else k = k + 1 | 0 + } + if ((v | 0) == 80) if (b) { + e = c[f + 8 >> 2] | 0; + break a + } else { + e = f + p | 0; + break a + } + while (1) { + if ((m | 0) >= (q | 0)) break f; + do if ((c[r + (m << 2) >> 2] | 0) < 0) { + i = h + 4 | 0; + b = c[i >> 2] | 0; + if ((c[r + ((m | 1) << 2) >> 2] | 0) < 0) { + c[i >> 2] = c[b >> 2]; + c[b >> 2] = h; + c[f + 4 >> 2] = b; + f = b; + h = k; + i = b + 4 | 0; + break + } else { + c[k >> 2] = b; + c[f + 4 >> 2] = h; + f = h; + h = b; + i = b; + break + } + } else { + i = c[h >> 2] | 0; + if ((c[r + ((m | 1) << 2) >> 2] | 0) > 0) { + p = i + 4 | 0; + c[h >> 2] = c[p >> 2]; + c[p >> 2] = h; + c[k >> 2] = i; + h = i; + break + } else { + c[f + 4 >> 2] = i; + c[k >> 2] = h; + f = i; + i = i + 4 | 0; + break + } + } while (0); + k = h; + m = m + 2 | 0; + h = c[i >> 2] | 0 + } + } else { + f = z; + k = z + } while (0); + n = (D | 0) < 0; + o = (B | 0) < 0; + p = (C | 0) != 0; + q = (B | 0) < 1; + r = 0 - D | 0; + i = h; + g:while (1) { + h = i; + while (1) { + if (n) i = c[h + 8 >> 2] | 0; else i = h + r | 0; + i = i + A | 0; + if (o) i = c[i >> 2] | 0; + do if (!p) if (q) { + i = b$(s, i) | 0; + break + } else { + i = L0(s, i, B) | 0; + break + } else i = ob[C & 127](a, s, i, E) | 0; while (0); + if (!i) { + v = 140; + break g + } + if ((i | 0) >= 0) break; + b = h + 4 | 0; + m = c[b >> 2] | 0; + if (!m) { + v = 121; + break g + } + if (n) i = c[m + 8 >> 2] | 0; else i = m + r | 0; + i = i + A | 0; + if (o) i = c[i >> 2] | 0; + do if (!p) if (q) { + i = b$(s, i) | 0; + break + } else { + i = L0(s, i, B) | 0; + break + } else i = ob[C & 127](a, s, i, E) | 0; while (0); + if ((i | 0) >= 0) { + v = 118; + break + } + c[b >> 2] = c[m >> 2]; + c[m >> 2] = h; + c[f + 4 >> 2] = m; + h = c[m + 4 >> 2] | 0; + if (!h) { + f = m; + h = k; + v = 198; + break e + } else f = m + } + if ((v | 0) == 118) { + v = 0; + if (!i) { + v = 119; + break + } + c[k >> 2] = m; + c[f + 4 >> 2] = h; + i = c[m >> 2] | 0; + if (!i) { + f = h; + h = m; + v = 198; + break e + } else { + f = h; + k = m; + continue + } + } + b = c[h >> 2] | 0; + if (!b) { + v = 139; + break + } + if (n) i = c[b + 8 >> 2] | 0; else i = b + r | 0; + i = i + A | 0; + if (o) i = c[i >> 2] | 0; + do if (!p) if (q) { + i = b$(s, i) | 0; + break + } else { + i = L0(s, i, B) | 0; + break + } else i = ob[C & 127](a, s, i, E) | 0; while (0); + if ((i | 0) > 0) { + i = b + 4 | 0; + c[h >> 2] = c[i >> 2]; + c[i >> 2] = h; + c[k >> 2] = b; + i = c[b >> 2] | 0; + if (!i) { + h = b; + v = 198; + break e + } else { + k = b; + continue + } + } + if (!i) { + v = 137; + break + } + c[f + 4 >> 2] = b; + c[k >> 2] = h; + i = c[b + 4 >> 2] | 0; + if (!i) { + f = b; + v = 198; + break e + } else { + f = b; + k = h + } + } + if ((v | 0) == 119) { + c[f + 4 >> 2] = h; + f = h; + h = m; + v = 141; + break + } else if ((v | 0) == 121) { + c[f + 4 >> 2] = h; + f = h; + h = k; + v = 198; + break + } else if ((v | 0) == 137) { + c[k >> 2] = h; + k = h; + h = b; + v = 141; + break + } else if ((v | 0) == 139) { + c[k >> 2] = h; + v = 198; + break + } else if ((v | 0) == 140) if (!h) { + h = k; + v = 198; + break + } else { + v = 141; + break + } + } while (0); + do if ((v | 0) == 141) { + c[t >> 2] = c[t >> 2] | 32768; + i = h + 4 | 0; + c[k >> 2] = c[i >> 2]; + c[f + 4 >> 2] = c[h >> 2]; + if (!(d & 516)) { + if (d & 8 | 0) { + c[i >> 2] = c[z >> 2]; + c[h >> 2] = 0; + c[z >> 2] = h; + v = 169; + break + } + if (d & 16 | 0) { + v = z + 4 | 0; + c[h >> 2] = c[v >> 2]; + c[i >> 2] = 0; + c[v >> 2] = h; + v = 175; + break + } + if (!u) { + e = f; + v = 180; + break d + } + if (d & 2049 | 0) { + if (c[(c[y >> 2] | 0) + 4 >> 2] & 4 | 0) { + e = h; + break + } + c[i >> 2] = 0; + e = z + 4 | 0; + c[h >> 2] = c[e >> 2]; + c[e >> 2] = h; + e = h; + v = 205; + break + } + if (!(d & 32)) { + e = 0; + break a + } + if (!(c[(c[y >> 2] | 0) + 4 >> 2] & 4)) { + c[e + 4 >> 2] = 0; + x = z + 4 | 0; + c[e >> 2] = c[x >> 2]; + c[x >> 2] = j; + e = (c[F >> 2] | 0) + 16 | 0; + c[e >> 2] = (c[e >> 2] | 0) + 1; + e = h; + break + } + e = c[E + 16 >> 2] | 0; + if (e | 0) vb[e & 127](a, g, E); + if ((c[x >> 2] | 0) < 0) { + ob[c[a + 12 >> 2] & 127](a, j, 0, E) | 0; + e = h + } else e = h + } else e = h + } else if ((v | 0) == 198) { + c[f + 4 >> 2] = 0; + c[h >> 2] = 0; + if (!(d & 8)) if (!(d & 16)) { + if (d & 516 | 0) { + e = f; + break d + } + if (!(d & 2049)) { + if (!(d & 32)) { + g = 0; + e = f; + break d + } + x = (c[F >> 2] | 0) + 16 | 0; + c[x >> 2] = (c[x >> 2] | 0) + 1 + } else { + e = 0; + v = 205 + } + } else v = 175; else v = 169 + } while (0); + if ((v | 0) == 169) { + h = z + 4 | 0; + e = c[h >> 2] | 0; + if (!e) { + e = f; + break + } + while (1) { + f = e + 4 | 0; + g = c[f >> 2] | 0; + if (!g) break; + c[f >> 2] = c[g >> 2]; + c[g >> 2] = e; + e = g + } + c[h >> 2] = c[e >> 2] + } else if ((v | 0) == 175) { + e = c[z >> 2] | 0; + if (!e) { + e = f; + break + } + while (1) { + f = c[e >> 2] | 0; + if (!f) break; + x = f + 4 | 0; + c[e >> 2] = c[x >> 2]; + c[x >> 2] = e; + e = f + } + c[z >> 2] = c[e + 4 >> 2] + } else if ((v | 0) == 205) { + i = E + 12 | 0; + h = c[i >> 2] | 0; + j = (d & 1 | 0) == 0; + if (!(j | (h | 0) == 0)) g = nb[h & 63](a, g, E) | 0; + do if (g) { + if ((D | 0) > -1) { + e = g + D | 0; + v = 215; + break + } + e = ob[c[a + 12 >> 2] & 127](a, 0, 12, E) | 0; + if (e | 0) { + c[e + 8 >> 2] = g; + break + } + if ((c[i >> 2] | 0) != 0 ? (w = c[E + 16 >> 2] | 0, !(j | (w | 0) == 0)) : 0) { + vb[w & 127](a, g, E); + v = 215 + } else v = 215 + } else v = 215; while (0); + if ((v | 0) == 215) if (!e) { + e = f; + break + } + f = (c[F >> 2] | 0) + 16 | 0; + g = c[f >> 2] | 0; + if ((g | 0) > -1) c[f >> 2] = g + 1 + } + c[e + 4 >> 2] = c[z >> 2]; + c[e >> 2] = c[z + 4 >> 2]; + h:do if (!((d & 516 | 0) == 0 ? 1 : (c[(c[y >> 2] | 0) + 4 >> 2] & 8 | 0) == 0)) { + m = (D | 0) < 0; + if (m) f = c[e + 8 >> 2] | 0; else f = e + (0 - D) | 0; + n = (B | 0) < 0; + f = f + A | 0; + if (n) f = c[f >> 2] | 0; + j = (C | 0) == 0; + k = (B | 0) < 1; + b = 0 - D | 0; + while (1) { + i = e + 4 | 0; + g = c[i >> 2] | 0; + if (!g) break h; + while (1) { + h = c[g >> 2] | 0; + if (!h) break; + z = h + 4 | 0; + c[g >> 2] = c[z >> 2]; + c[z >> 2] = g; + g = h + } + c[i >> 2] = g; + if (m) h = c[g + 8 >> 2] | 0; else h = g + b | 0; + h = h + A | 0; + if (n) h = c[h >> 2] | 0; + do if (j) if (k) { + h = b$(f, h) | 0; + break + } else { + h = L0(f, h, B) | 0; + break + } else h = ob[C & 127](a, f, h, E) | 0; while (0); + if (h | 0) break h; + c[i >> 2] = c[g >> 2]; + c[g >> 2] = e; + e = g + } + } while (0); + c[(c[F >> 2] | 0) + 4 >> 2] = e; + if ((D | 0) < 0) { + e = c[e + 8 >> 2] | 0; + break a + } else { + e = e + (0 - D) | 0; + break a + } + } while (0); + if ((v | 0) == 180) { + if ((D | 0) < 0) g = c[h + 8 >> 2] | 0; else g = h + (0 - D) | 0; + f = c[E + 16 >> 2] | 0; + if (!((d & 2 | 0) == 0 | (f | 0) == 0)) vb[f & 127](a, g, E); + if ((c[x >> 2] | 0) < 0) ob[c[a + 12 >> 2] & 127](a, h, 0, E) | 0; + a = (c[F >> 2] | 0) + 16 | 0; + E = c[a >> 2] | 0; + c[a >> 2] = (E | 0) < 1 ? -1 : E + -1 | 0 + } + do { + f = e + 4 | 0; + e = c[f >> 2] | 0 + } while ((e | 0) != 0); + c[f >> 2] = c[z >> 2]; + c[(c[F >> 2] | 0) + 4 >> 2] = c[z + 4 >> 2]; + e = d & 2 | 0 ? g : 0 + } while (0); + l = G; + return e | 0 + } + + function Hw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if (c[c[a + 8 >> 2] >> 2] & 4096 | 0) Dw(a, 0) | 0; + f = (b | 0) != 0; + if (f) { + if (c[c[b + 8 >> 2] >> 2] & 4096 | 0) Dw(b, 0) | 0; + if ((c[b + 16 >> 2] | 0) == (c[a + 16 >> 2] | 0)) { + d = b; + e = 7 + } else b = 0 + } else { + d = 0; + e = 7 + } + a:do if ((e | 0) == 7) { + while (1) { + if (!d) break; + if ((d | 0) == (a | 0)) { + b = 0; + break a + } + d = c[d + 28 >> 2] | 0; + e = 7 + } + d = a + 28 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + g = e + 24 | 0; + c[g >> 2] = (c[g >> 2] | 0) + -1 + } + c[a + 32 >> 2] = 0; + c[d >> 2] = 0; + if (f) { + c[d >> 2] = b; + c[a >> 2] = 25; + g = b + 24 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1; + break + } else { + c[a >> 2] = c[c[a + 16 >> 2] >> 2]; + b = e; + break + } + } while (0); + return b | 0 + } + + function Iw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + a:do if (!(d & 99)) { + if ((d & 516 | 0) == 0 ? (e = c[(c[a + 16 >> 2] | 0) + 4 >> 2] | 0, !((d & 384 | 0) != 0 & (e & 12 | 0) == 0)) : 0) { + if (e & 12 | 0) { + if (!(d & 408)) { + e = 0; + break + } + o = (d & 136 | 0) != 0; + p = (d & 272 | 0) != 0; + l = 0; + f = 0; + e = 0; + n = a; + while (1) { + if (!n) break; + m = nb[c[c[n + 16 >> 2] >> 2] & 63](n, b, d) | 0; + do if (!m) g = l; else { + h = c[n + 4 >> 2] | 0; + i = c[h + 4 >> 2] | 0; + j = c[h + 20 >> 2] | 0; + g = m + (c[h >> 2] | 0) | 0; + if ((i | 0) < 0) k = c[g >> 2] | 0; else k = g; + if (e | 0) { + do if (!j) if ((i | 0) < 1) { + g = b$(k, f) | 0; + break + } else { + g = L0(k, f, i) | 0; + break + } else g = ob[j & 127](n, k, f, h) | 0; while (0); + if (!(o & (g | 0) < 0 | p & (g | 0) > 0)) { + g = l; + break + } + } + g = n; + f = k; + e = m + } while (0); + l = g; + n = c[n + 28 >> 2] | 0 + } + c[a + 32 >> 2] = l; + break + } + if (!(d & 24)) { + e = 0; + break + } + j = a + 32 | 0; + f = c[j >> 2] | 0; + if (f) { + e = c[(c[f + 4 >> 2] | 0) + 8 >> 2] | 0; + g = c[(c[f + 8 >> 2] | 0) + 4 >> 2] | 0; + if ((e | 0) < 0) e = c[g + 8 >> 2] | 0; else e = g + (0 - e) | 0; + if ((e | 0) == (b | 0)) e = b; else { + f = a; + h = 32 + } + } else { + f = a; + h = 32 + } + do if ((h | 0) == 32) { + while (1) { + if (!f) { + h = 33; + break + } + e = nb[c[c[f + 16 >> 2] >> 2] & 63](f, b, 4) | 0; + if (e | 0) { + h = 36; + break + } + f = c[f + 28 >> 2] | 0; + h = 32 + } + if ((h | 0) == 33) { + c[j >> 2] = 0; + e = 0; + break a + } else if ((h | 0) == 36) { + c[j >> 2] = f; + break + } + } while (0); + i = (d << 4 & 128 ^ 128) + 128 | 0; + e = nb[c[c[f + 16 >> 2] >> 2] & 63](f, e, d) | 0; + while (1) { + h = f + 16 | 0; + while (1) { + if (!e) break; else g = a; + while (1) { + if ((g | 0) == (f | 0)) break a; + if (nb[c[c[g + 16 >> 2] >> 2] & 63](g, e, 4) | 0) break; + g = c[g + 28 >> 2] | 0 + } + e = nb[c[c[h >> 2] >> 2] & 63](f, e, d) | 0 + } + f = c[f + 28 >> 2] | 0; + c[j >> 2] = f; + if (!f) { + e = 0; + break a + } + e = nb[c[c[f + 16 >> 2] >> 2] & 63](f, 0, i) | 0 + } + } else f = a; + while (1) { + if (!f) { + f = 0; + e = 0; + break + } + e = nb[c[c[f + 16 >> 2] >> 2] & 63](f, b, d) | 0; + if (e | 0) break; + f = c[f + 28 >> 2] | 0 + } + c[a + 32 >> 2] = f + } else e = nb[c[c[a + 16 >> 2] >> 2] & 63](a, b, d) | 0; while (0); + return e | 0 + } + + function Jw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = a + 32 | 0; + f = nb[c[a >> 2] & 63](a, 0, 128) | 0; + do { + if (!f) { + e = 0; + break + } + h = c[g >> 2] | 0; + e = f; + f = nb[c[a >> 2] & 63](a, f, 8) | 0; + e = nb[b & 63]((h | 0) == 0 ? a : h, e, d) | 0 + } while ((e | 0) >= 0); + return e | 0 + } + + function Kw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + f = a + 4 | 0; + n = c[f >> 2] | 0; + a:do if (n) if (b) { + m = c[c[a + 16 >> 2] >> 2] | 0; + g = a + 8 | 0; + if (c[c[g >> 2] >> 2] & 4096 | 0) Dw(a, 0) | 0; + e = c[n + 32 >> 2] | 0; + if (e | 0 ? (ob[e & 127](a, 3, b, n) | 0) < 0 : 0) { + b = 0; + break + } + c[f >> 2] = b; + e = c[b + 28 >> 2] | 0; + c[a + 12 >> 2] = (e | 0) == 0 ? 52 : e; + e = c[c[g >> 2] >> 2] | 0; + if (!(e & 112)) { + do if (!(e & 2)) if (!(e & 3)) if (!(d & 1)) break; else { + b = n; + break a + } else if ((d & 3 | 0) == 3) { + b = n; + break a + } else break; else if (d & 2 | 0) { + b = n; + break a + } while (0); + h = Aw(a) | 0; + e = c[g >> 2] | 0; + l = c[e >> 2] | 0; + c[e >> 2] = l & -4097; + c[e + 4 >> 2] = 0; + c[e + 16 >> 2] = 0; + b:do if (l & 3 | 0) { + l = c[e + 8 >> 2] | 0; + f = l + (c[e + 12 >> 2] << 2) | 0; + e = l; + while (1) { + if (e >>> 0 >= f >>> 0) break b; + c[e >> 2] = 0; + e = e + 4 | 0 + } + } while (0); + i = (d & 2 | 0) == 0; + j = b + 8 | 0; + k = b + 4 | 0; + l = b + 24 | 0; + while (1) { + if (!h) { + b = n; + break a + } + d = c[h >> 2] | 0; + if (i) { + e = c[j >> 2] | 0; + if ((e | 0) < 0) e = c[h + 8 >> 2] | 0; else e = h + (0 - e) | 0; + g = c[k >> 2] | 0; + e = e + (c[b >> 2] | 0) | 0; + if ((g | 0) < 0) e = c[e >> 2] | 0; + f = c[l >> 2] | 0; + if (!f) e = Mw(0, e, g) | 0; else e = nb[f & 63](a, e, b) | 0; + c[h + 4 >> 2] = e + } + nb[m & 63](a, h, 32) | 0; + h = d + } + } else b = n + } else b = n; else { + c[f >> 2] = b; + n = c[b + 28 >> 2] | 0; + c[a + 12 >> 2] = (n | 0) == 0 ? 52 : n + } while (0); + return b | 0 + } + + function Lw(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + a = (c | 0) == 0; + do if (!b) if (a) a = 0; else a = C_(c) | 0; else if (a) { + D_(b); + a = 0; + break + } else { + a = F_(b, c) | 0; + break + } while (0); + return a | 0 + } + + function Mw(b, c, e) { + b = b | 0; + c = c | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = c; + if ((e | 0) >= 1) { + h = c + e + -1 | 0; + g = (h >>> 0 < c >>> 0 ? c : h) + (1 - g) & -2; + f = c; + while (1) { + if (f >>> 0 >= h >>> 0) break; + b = O(((d[f >> 0] | 0) << 8) + b + (d[f + 1 >> 0] | 0) | 0, 17109811) | 0; + f = f + 2 | 0 + } + f = c + g | 0; + if (f >>> 0 > h >>> 0) c = e; else { + c = e; + b = O(((d[f >> 0] | 0) << 8) + b | 0, 17109811) | 0 + } + } else { + while (1) { + f = a[c >> 0] | 0; + if (!(f << 24 >> 24)) break; + h = a[c + 1 >> 0] | 0; + e = O(((f & 255) << 8) + b + (h & 255) | 0, 17109811) | 0; + b = e; + c = c + (h << 24 >> 24 ? 2 : 1) | 0 + } + c = c - g | 0 + } + return O(b + c | 0, 17109811) | 0 + } + + function Nw(a) { + a = a | 0; + var b = 0; + b = c[46164] | 0; + c[46164] = a; + return b | 0 + } + + function Ow(a) { + a = a | 0; + var b = 0; + b = c[46165] | 0; + c[46165] = a; + return b | 0 + } + + function Pw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = Qw(a, b, f) | 0; + l = e; + return d | 0 + } + + function Qw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 16 | 0; + e = g; + f = (a | 0) == 3; + h = f ? c[46167] | 0 : (a | 0) == 2 ? 1 : a; + c[46167] = h; + i = c[46168] | 0; + c[46168] = i >>> 0 > h >>> 0 ? i : h; + do if (h >>> 0 < (c[46165] | 0) >>> 0) { + a = c[46166] | 0; + if (!a) { + a = l3() | 0; + c[46166] = a; + if (!a) { + a = 1; + break + } + } + if (!f) { + o3(a) | 0; + a = c[46166] | 0 + } + r0(a, b, d) | 0; + a = 0 + } else { + if (c[46164] | 0) { + Rw(a, b, d); + a = 0; + break + } + if (f) a = c[15686] | 0; else { + i = c[15686] | 0; + c[e >> 2] = (a | 0) == 1 ? 93267 : 93273; + g1(i, 93281, e) | 0; + a = i + } + r0(a, b, d) | 0; + a = 0 + } while (0); + l = g; + return a | 0 + } + + function Rw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + if ((c[46169] | 0) == 0 ? (f = C_(c[4564] | 0) | 0, c[46169] = f, (f | 0) == 0) : 0) D1(93286, c[15686] | 0) | 0; else e = 4; + do if ((e | 0) == 4) { + if ((a | 0) != 3) { + kb[c[46164] & 63]((a | 0) == 1 ? 93267 : 93273) | 0; + kb[c[46164] & 63](93945) | 0 + } + while (1) { + a = q0(c[46169] | 0, c[4564] | 0, b, d) | 0; + e = c[4564] | 0; + if ((a | 0) > -1 & (a | 0) < (e | 0)) { + e = 7; + break + } + e = e << 1; + f = a + 1 | 0; + f = (e | 0) > (f | 0) ? e : f; + c[4564] = f; + if (!(F_(c[46169] | 0, f) | 0)) { + e = 9; + break + } + } + if ((e | 0) == 7) { + kb[c[46164] & 63](c[46169] | 0) | 0; + break + } else if ((e | 0) == 9) { + D1(93286, c[15686] | 0) | 0; + break + } + } while (0); + return + } + + function Sw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + Qw(1, a, e) | 0; + l = d; + return + } + + function Tw(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + if (!e) { + e = (d | 0) == 0 ? 1024 : d; + d = e; + e = C_(e) | 0; + f = 1 + } else f = 0; + c[b + 12 >> 2] = f; + c[b >> 2] = e; + c[b + 8 >> 2] = e + d; + c[b + 4 >> 2] = e; + a[e >> 0] = 0; + return + } + + function Uw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = a + 8 | 0; + f = c[a >> 2] | 0; + g = (c[h >> 2] | 0) - f | 0; + e = g << 1; + g = g + b | 0; + e = g >>> 0 > e >>> 0 ? g : e; + g = a + 4 | 0; + b = f; + f = (c[g >> 2] | 0) - f | 0; + d = a + 12 | 0; + if (!(c[d >> 2] | 0)) { + i = C_(e) | 0; + F3(i | 0, b | 0, f | 0) | 0; + c[d >> 2] = 1; + b = i + } else b = F_(b, e) | 0; + c[a >> 2] = b; + c[g >> 2] = b + f; + c[h >> 2] = b + e; + return 0 + } + + function Vw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = a + 4 | 0; + e = c[f >> 2] | 0; + if ((e + d | 0) >>> 0 > (c[a + 8 >> 2] | 0) >>> 0) { + Uw(a, d) | 0; + e = c[f >> 2] | 0 + } + F3(e | 0, b | 0, d | 0) | 0; + c[f >> 2] = (c[f >> 2] | 0) + d; + return d | 0 + } + + function Ww(a, b) { + a = a | 0; + b = b | 0; + return Vw(a, b, W_(b) | 0) | 0 + } + + function Xw(a) { + a = a | 0; + if (c[a + 12 >> 2] | 0) D_(c[a >> 2] | 0); + return + } + + function Yw(a) { + a = a | 0; + var b = 0, e = 0; + b = a + 4 | 0; + e = c[b >> 2] | 0; + if (e >>> 0 > (c[a >> 2] | 0) >>> 0) { + c[b >> 2] = e + -1; + a = d[e >> 0] | 0 + } else a = -1; + return a | 0 + } + + function Zw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Qz(c[46171] | 0, c[b + 8 >> 2] | 0) | 0; + Qz(c[46171] | 0, c[b + 12 >> 2] | 0) | 0; + Ny(c[46171] | 0, b); + return + } + + function _w(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = yz(a, 93334, 0) | 0; + if ((b | 0) != 0 & (c | 0) == 0) { + $w(a); + c = yz(a, 93334, 0) | 0 + } + return c | 0 + } + + function $w(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + d = fz(a) | 0; + jB(d, d, 104, 0, 1) | 0; + c = Sy(d) | 0; + while (1) { + if (!c) break; + bx(a, c); + b = Ex(d, c) | 0; + while (1) { + if (!b) break; + cx(a, b); + b = Gx(d, b) | 0 + } + c = Ty(d, c) | 0 + } + return + } + + function ax(b) { + b = b | 0; + var c = 0; + c = b + 24 | 0; + a[c >> 0] = a[c >> 0] | 64; + hx(b); + c = yA(b) | 0; + ex((c | 0) == 0 ? b : c, b); + return + } + + function bx(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = dx(b) | 0; + if (!((d | 0) != 0 ? (c[d + 8 >> 2] | 0) != 0 : 0)) ex(a, b); + return + } + + function cx(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = dx(b) | 0; + if (!((d | 0) != 0 ? (c[d + 8 >> 2] | 0) != 0 : 0)) ex(a, b); + return + } + + function dx(a) { + a = a | 0; + return yz(a, 93322, 0) | 0 + } + + function ex(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = Az(b, 93322, 16, 0) | 0; + f = fx(a, c[b >> 2] & 3) | 0; + e = d + 8 | 0; + a:do if (!(c[e >> 2] | 0)) { + a = fz(a) | 0; + c[e >> 2] = fx(a, c[b >> 2] & 3) | 0; + a = gx(b) | 0; + d = d + 12 | 0; + c[d >> 2] = My(ez(b) | 0, ((a | 0) > 4 ? a : 4) << 2) | 0; + a = nb[c[f >> 2] & 63](f, 0, 128) | 0; + while (1) { + if (!a) break a; + e = ez(b) | 0; + e = Oz(e, c[a + 12 >> 2] | 0) | 0; + c[(c[d >> 2] | 0) + (c[a + 16 >> 2] << 2) >> 2] = e; + a = nb[c[f >> 2] & 63](f, a, 8) | 0 + } + } while (0); + return + } + + function fx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + a = _w(a, 0) | 0; + a:do if (!a) a = 0; else switch (b | 0) { + case 0: { + a = c[a + 16 >> 2] | 0; + break a + } + case 1: { + a = c[a + 8 >> 2] | 0; + break a + } + case 2: + case 3: { + a = c[a + 12 >> 2] | 0; + break a + } + default: { + c[d >> 2] = b; + Pw(1, 93347, d) | 0; + a = 0; + break a + } + } while (0); + l = e; + return a | 0 + } + + function gx(a) { + a = a | 0; + var b = 0; + b = fz(ez(a) | 0) | 0; + a = fx(b, c[a >> 2] & 3) | 0; + if (!a) a = 0; else a = Ew(a) | 0; + return a | 0 + } + + function hx(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = Az(a, 93334, 20, 0) | 0; + e = d + 8 | 0; + c[e >> 2] = CA(a, 18260, c[4563] | 0) | 0; + f = d + 12 | 0; + c[f >> 2] = CA(a, 18260, c[4563] | 0) | 0; + d = d + 16 | 0; + c[d >> 2] = CA(a, 18260, c[4563] | 0) | 0; + b = yA(a) | 0; + if (!b) { + b = c[46170] | 0; + if (!((b | 0) == 0 | (b | 0) == (a | 0))) { + b = _w(b, 0) | 0; + ix(c[b + 8 >> 2] | 0, c[e >> 2] | 0, a, 1); + ix(c[b + 12 >> 2] | 0, c[f >> 2] | 0, a, 2); + ix(c[b + 16 >> 2] | 0, c[d >> 2] | 0, a, 0) + } + } else { + a = _w(b, 0) | 0; + Hw(c[e >> 2] | 0, c[a + 8 >> 2] | 0) | 0; + Hw(c[f >> 2] | 0, c[a + 12 >> 2] | 0) | 0; + Hw(c[d >> 2] | 0, c[a + 16 >> 2] | 0) | 0 + } + return + } + + function ix(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = nb[c[b >> 2] & 63](b, 0, 128) | 0; + while (1) { + if (!g) break; + h = jx(e, c[g + 8 >> 2] | 0, c[g + 12 >> 2] | 0, c[g + 16 >> 2] | 0, f) | 0; + a[h + 22 >> 0] = a[g + 22 >> 0] | 0; + a[h + 21 >> 0] = a[g + 21 >> 0] | 0; + nb[c[d >> 2] & 63](d, h, 1) | 0; + g = nb[c[b >> 2] & 63](b, g, 8) | 0 + } + return + } + + function jx(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0; + h = My(b, 24) | 0; + a[h + 20 >> 0] = g; + c[h + 8 >> 2] = Oz(b, d) | 0; + c[h + 12 >> 2] = Oz(b, e) | 0; + c[h + 16 >> 2] = f; + return h | 0 + } + + function kx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 32 | 0; + e = d; + c[e + 8 >> 2] = b; + b = nb[c[a >> 2] & 63](a, e, 4) | 0; + l = d; + return b | 0 + } + + function lx(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Hw(a, 0) | 0; + b = kx(a, b) | 0; + Hw(a, c) | 0; + return b | 0 + } + + function mx(a, b) { + a = a | 0; + b = b | 0; + a = dx(a) | 0; + if (!a) a = 0; else a = kx(c[a + 8 >> 2] | 0, b) | 0; + return a | 0 + } + + function nx(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + if (!b) { + b = c[46170] | 0; + if (!b) { + a[g >> 0] = a[18296] | 0; + a[g + 1 >> 0] = a[18297] | 0; + a[g + 2 >> 0] = a[18298] | 0; + a[g + 3 >> 0] = a[18299] | 0; + b = Xx(0, g, 0) | 0; + c[46170] = b + } + } + if (!f) b = px(b, d, e) | 0; else b = ox(b, d, e, f) | 0; + l = h; + return b | 0 + } + + function ox(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = fz(a) | 0; + _w(a, 1) | 0; + g = fx(a, b) | 0; + f = lx(g, d) | 0; + a:do if (!f) { + f = kx(g, d) | 0; + if (f | 0) { + f = jx(a, d, e, c[f + 16 >> 2] | 0, b) | 0; + nb[c[g >> 2] & 63](g, f, 1) | 0; + h = 16; + break + } + g = fx(i, b) | 0; + f = jx(a, d, e, Ew(g) | 0, b) | 0; + nb[c[g >> 2] & 63](g, f, 1) | 0; + switch (b | 0) { + case 0: { + jB(i, i, 57, f, 1) | 0; + h = 16; + break a + } + case 1: { + d = Sy(i) | 0; + while (1) { + if (!d) { + h = 16; + break a + } + qx(a, d, f); + d = Ty(i, d) | 0 + } + } + case 2: + case 3: { + g = Sy(i) | 0; + while (1) { + if (!g) { + h = 16; + break a + } + d = Ex(i, g) | 0; + while (1) { + if (!d) break; + qx(a, d, f); + d = Gx(i, d) | 0 + } + g = Ty(i, g) | 0 + } + } + default: + break a + } + } else { + h = f + 12 | 0; + Qz(a, c[h >> 2] | 0) | 0; + c[h >> 2] = Oz(a, e) | 0; + h = 16 + } while (0); + if ((h | 0) == 16) if ((b | 0) == 0 & (f | 0) != 0) rx(a, f, e) | 0; + iz(a, a, f); + return f | 0 + } + + function px(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + a = fx(a, b) | 0; + if (!a) a = 0; else a = kx(a, c) | 0; + return a | 0 + } + + function qx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + b = dx(b) | 0; + f = d + 16 | 0; + e = c[f >> 2] | 0; + if ((e | 0) > 3) { + g = c[a + 64 >> 2] | 0; + b = b + 12 | 0; + e = e << 2; + c[b >> 2] = ob[c[(c[g >> 2] | 0) + 8 >> 2] & 127](c[g + 12 >> 2] | 0, c[b >> 2] | 0, e, e + 4 | 0) | 0 + } else b = b + 12 | 0; + g = Oz(a, c[d + 12 >> 2] | 0) | 0; + c[(c[b >> 2] | 0) + (c[f >> 2] << 2) >> 2] = g; + return + } + + function rx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = ez(a) | 0; + g = (dx(a) | 0) + 12 | 0; + i = b + 16 | 0; + Qz(h, c[(c[g >> 2] | 0) + (c[i >> 2] << 2) >> 2] | 0) | 0; + f = Oz(h, d) | 0; + c[(c[g >> 2] | 0) + (c[i >> 2] << 2) >> 2] = f; + do if (!(c[a >> 2] & 3)) { + e = c[(_w(h, 0) | 0) + 16 >> 2] | 0; + f = b + 8 | 0; + g = lx(e, c[f >> 2] | 0) | 0; + if (!g) { + i = jx(h, c[f >> 2] | 0, d, c[i >> 2] | 0, c[a >> 2] & 3) | 0; + nb[c[e >> 2] & 63](e, i, 1) | 0; + break + } else { + i = g + 12 | 0; + Qz(h, c[i >> 2] | 0) | 0; + c[i >> 2] = Oz(h, d) | 0; + break + } + } while (0); + iz(h, a, b); + return 0 + } + + function sx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a = fx(a, b) | 0; + do if (a) { + b = c[a >> 2] | 0; + if (!d) { + a = nb[b & 63](a, 0, 128) | 0; + break + } else { + a = nb[b & 63](a, d, 8) | 0; + break + } + } else a = 0; while (0); + return a | 0 + } + + function tx(a) { + a = a | 0; + var b = 0; + c[46171] = a; + b = dx(a) | 0; + if (b | 0) { + ux(a, b); + Cz(a, c[b >> 2] | 0) | 0 + } + b = _w(a, 0) | 0; + if (b) if (((EA(a, c[b + 8 >> 2] | 0) | 0) == 0 ? (EA(a, c[b + 12 >> 2] | 0) | 0) == 0 : 0) ? (EA(a, c[b + 16 >> 2] | 0) | 0) == 0 : 0) { + Cz(a, c[b >> 2] | 0) | 0; + b = 0 + } else b = 1; else b = 0; + return b | 0 + } + + function ux(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = ez(a) | 0; + e = gx(a) | 0; + b = b + 12 | 0; + a = 0; + while (1) { + d = c[b >> 2] | 0; + if ((a | 0) >= (e | 0)) break; + Qz(f, c[d + (a << 2) >> 2] | 0) | 0; + a = a + 1 | 0 + } + Ny(f, d); + return + } + + function vx(a) { + a = a | 0; + var b = 0; + b = dx(a) | 0; + if (b | 0) { + ux(a, b); + Cz(a, 93322) | 0 + } + return + } + + function wx(a) { + a = a | 0; + var b = 0; + b = dx(a) | 0; + if (b | 0) { + ux(a, b); + Cz(a, 93322) | 0 + } + return + } + + function xx(a, b) { + a = a | 0; + b = b | 0; + b = mx(a, b) | 0; + if (!b) b = 0; else { + a = c[(dx(a) | 0) + 12 >> 2] | 0; + b = c[a + (c[b + 16 >> 2] << 2) >> 2] | 0 + } + return b | 0 + } + + function yx(a, b) { + a = a | 0; + b = b | 0; + a = c[(dx(a) | 0) + 12 >> 2] | 0; + return c[a + (c[b + 16 >> 2] << 2) >> 2] | 0 + } + + function zx(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + b = mx(a, b) | 0; + if (!b) b = -1; else { + rx(a, b, c) | 0; + b = 0 + } + return b | 0 + } + + function Ax(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = ez(a) | 0; + f = nx(f, c[a >> 2] & 3, b, 0) | 0; + if (!f) { + f = ez(a) | 0; + f = nx(f, c[a >> 2] & 3, b, e) | 0 + } + rx(a, f, d) | 0; + return 0 + } + + function Bx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = ez(a) | 0; + f = c[a >> 2] | 0; + a:do if (!((c[b >> 2] ^ f) & 3)) { + d = 1; + e = 0; + while (1) { + e = sx(g, f & 3, e) | 0; + if (!e) break a; + d = mx(b, c[e + 8 >> 2] | 0) | 0; + if (!d) { + d = 1; + break a + } + f = yx(a, e) | 0; + rx(b, d, f) | 0; + if (Rz(f) | 0) Sz(yx(b, d) | 0); + d = 0; + f = c[a >> 2] | 0 + } + } else d = 1; while (0); + return d | 0 + } + + function Cx(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + a = c[b + 40 >> 2] | 0; + f = c[d + 40 >> 2] | 0; + if ((a | 0) == (f | 0)) { + e = (c[b >> 2] | 0) >>> 4; + a = (c[d >> 2] | 0) >>> 4; + if (e >>> 0 >= a >>> 0) if (e >>> 0 > a >>> 0) a = 1; else g = 6; else a = -1 + } else { + e = (c[a >> 2] | 0) >>> 4; + a = (c[f >> 2] | 0) >>> 4; + if (e >>> 0 >= a >>> 0) if (e >>> 0 > a >>> 0) a = 1; else g = 6; else a = -1 + } + if ((g | 0) == 6) a = 0; + return a | 0 + } + + function Dx(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + a = (c[b + 40 >> 2] | 0) + 8 | 0; + g = c[a >> 2] | 0; + a = c[a + 4 >> 2] | 0; + f = (c[d + 40 >> 2] | 0) + 8 | 0; + e = c[f >> 2] | 0; + f = c[f + 4 >> 2] | 0; + do if (!(a >>> 0 < f >>> 0 | (a | 0) == (f | 0) & g >>> 0 < e >>> 0)) if (a >>> 0 > f >>> 0 | (a | 0) == (f | 0) & g >>> 0 > e >>> 0) a = 1; else { + e = b + 8 | 0; + a = c[e >> 2] | 0; + e = c[e + 4 >> 2] | 0; + if (!((a | 0) == 0 & (e | 0) == 0) ? (i = d + 8 | 0, h = c[i >> 2] | 0, i = c[i + 4 >> 2] | 0, !((h | 0) == 0 & (i | 0) == 0)) : 0) { + if (e >>> 0 < i >>> 0 | (e | 0) == (i | 0) & a >>> 0 < h >>> 0) { + a = -1; + break + } + if (e >>> 0 > i >>> 0 | (e | 0) == (i | 0) & a >>> 0 > h >>> 0) { + a = 1; + break + } + } + a = 0 + } else a = -1; while (0); + return a | 0 + } + + function Ex(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = Fx(a, b) | 0; + if (!b) b = 0; else { + d = a + 44 | 0; + a = b + 32 | 0; + Dw(c[d >> 2] | 0, c[a >> 2] | 0) | 0; + b = c[d >> 2] | 0; + b = nb[c[b >> 2] & 63](b, 0, 128) | 0; + c[a >> 2] = zw(c[d >> 2] | 0) | 0 + } + return b | 0 + } + + function Fx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = l; + l = l + 48 | 0; + d = e; + if ((c[b + 24 >> 2] | 0) == (a | 0)) a = b + 28 | 0; else { + c[d + 16 >> 2] = b; + a = c[a + 40 >> 2] | 0; + a = nb[c[a >> 2] & 63](a, d, 4) | 0 + } + l = e; + return a | 0 + } + + function Gx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = Fx(a, c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + if (!d) a = 0; else { + e = a + 44 | 0; + d = d + 32 | 0; + Dw(c[e >> 2] | 0, c[d >> 2] | 0) | 0; + a = c[e >> 2] | 0; + a = nb[c[a >> 2] & 63](a, b, 8) | 0; + c[d >> 2] = zw(c[e >> 2] | 0) | 0 + } + return a | 0 + } + + function Hx(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = Fx(a, b) | 0; + if (!b) b = 0; else { + d = a + 44 | 0; + a = b + 28 | 0; + Dw(c[d >> 2] | 0, c[a >> 2] | 0) | 0; + b = c[d >> 2] | 0; + b = nb[c[b >> 2] & 63](b, 0, 128) | 0; + c[a >> 2] = zw(c[d >> 2] | 0) | 0 + } + return b | 0 + } + + function Ix(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = Fx(a, c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + if (!d) a = 0; else { + e = a + 44 | 0; + d = d + 28 | 0; + Dw(c[e >> 2] | 0, c[d >> 2] | 0) | 0; + a = c[e >> 2] | 0; + a = nb[c[a >> 2] & 63](a, b, 8) | 0; + c[d >> 2] = zw(c[e >> 2] | 0) | 0 + } + return a | 0 + } + + function Jx(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Ex(a, b) | 0; + if (!c) c = Hx(a, b) | 0; + return c | 0 + } + + function Kx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a:do if ((c[b >> 2] & 3 | 0) == 2) { + b = Gx(a, b) | 0; + if (!b) { + b = 0; + do { + if (!b) b = Hx(a, d) | 0; else b = Ix(a, b) | 0; + if (!b) { + b = 0; + break a + } + } while ((c[b + 40 >> 2] | 0) == (d | 0)) + } + } else do { + b = Ix(a, b) | 0; + if (!b) { + b = 0; + break a + } + } while ((c[b + 40 >> 2] | 0) == (d | 0)); while (0); + return b | 0 + } + + function Lx(a, b, e) { + a = a | 0; + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 32 | 0; + f = h + 16 | 0; + g = h; + if ((gy(a) | 0) != 0 ? (c[g >> 2] = 0, c[g + 4 >> 2] = 0, c[g + 8 >> 2] = 0, c[g + 12 >> 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], (Px(a, b, e, f) | 0) != 0) : 0) f = 0; else f = ((d[a + 24 >> 0] | 0) >>> 2 & 1 ^ 1) & 255 | (b | 0) != (e | 0); + l = h; + return f | 0 + } + + function Mx(a, b) { + a = a | 0; + b = b | 0; + Ox(a, b); + return + } + + function Nx(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + Xy(b, d, 1) | 0; + Xy(b, e, 1) | 0; + h = My(b, 96) | 0; + i = h + 48 | 0; + l = _x(b, 2) | 0; + j = c[i >> 2] | 0; + k = c[h >> 2] | 0; + m = h + 8 | 0; + c[m >> 2] = f; + c[m + 4 >> 2] = g; + m = h + 56 | 0; + c[m >> 2] = f; + c[m + 4 >> 2] = g; + g = l << 4; + c[h >> 2] = k & 12 | g | 2; + c[i >> 2] = j & 12 | g | 3; + c[h + 88 >> 2] = d; + c[h + 40 >> 2] = e; + Ox(b, h); + if (a[b + 24 >> 0] & 64) { + Az(h, 93322, 16, 0) | 0; + cx(b, h) + } + gz(b, h); + return h | 0 + } + + function Ox(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + i = l; + l = l + 16 | 0; + d = i; + h = c[b >> 2] & 3; + g = (h | 0) == 2 ? b : b + -48 | 0; + h = (h | 0) == 3 ? b : b + 48 | 0; + e = c[h + 40 >> 2] | 0; + f = c[g + 40 >> 2] | 0; + while (1) { + if (!a) break; + 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 (Px(a, e, f, d) | 0) break; + j = Fx(a, e) | 0; + m = a + 44 | 0; + Qx(c[m >> 2] | 0, j + 32 | 0, g); + k = a + 48 | 0; + Qx(c[k >> 2] | 0, j + 24 | 0, g); + j = Fx(a, f) | 0; + Qx(c[m >> 2] | 0, j + 28 | 0, h); + Qx(c[k >> 2] | 0, j + 20 | 0, h); + a = yA(a) | 0 + } + l = i; + return + } + + function Px(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 48 | 0; + f = h; + if (!((b | 0) == 0 | (d | 0) == 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 + 40 >> 2] = b, g = Fx(a, d) | 0, (g | 0) != 0) : 0) { + e = a + 48 | 0; + g = g + 20 | 0; + Dw(c[e >> 2] | 0, c[g >> 2] | 0) | 0; + a = c[e >> 2] | 0; + a = nb[c[a >> 2] & 63](a, f, 4) | 0; + c[g >> 2] = zw(c[e >> 2] | 0) | 0 + } else a = 0; + l = h; + return a | 0 + } + + function Qx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Dw(a, c[b >> 2] | 0) | 0; + nb[c[a >> 2] & 63](a, d, 1) | 0; + c[b >> 2] = zw(a) | 0; + return + } + + function Rx(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 48 | 0; + i = n + 24 | 0; + k = n + 16 | 0; + j = n; + do if (!(oy(a, 2, e, k, 0) | 0)) if (!e) { + if (f | 0 ? (gy(a) | 0) == 0 : 0) { + m = 18; + break + } + ;c[j >> 2] = 0; + c[j + 4 >> 2] = 0; + c[j + 8 >> 2] = 0; + c[j + 12 >> 2] = 0; + m = 7 + } else m = 17; else { + o = j; + c[o >> 2] = 0; + c[o + 4 >> 2] = 0; + o = k; + g = c[o + 4 >> 2] | 0; + m = j + 8 | 0; + c[m >> 2] = c[o >> 2]; + c[m + 4 >> 2] = g; + c[j >> 2] = 2; + m = 7 + } while (0); + a:do if ((m | 0) == 7) { + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + g = Px(a, b, d, i) | 0; + b:do if (!g) { + if (fy(a) | 0 ? (c[i >> 2] = c[j >> 2], c[i + 4 >> 2] = c[j + 4 >> 2], c[i + 8 >> 2] = c[j + 8 >> 2], c[i + 12 >> 2] = c[j + 12 >> 2], h = Px(a, d, b, i) | 0, h | 0) : 0) { + g = h; + break + } + do if (f | 0) { + g = fz(a) | 0; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + g = Px(g, b, d, i) | 0; + if (!g) { + if (!(fy(a) | 0)) break; + g = fz(a) | 0; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + g = Px(g, d, b, i) | 0; + if (!g) break + } + Mx(a, g); + break b + } while (0); + m = 17; + break a + } while (0) + } while (0); + if ((m | 0) == 17) if (!f) g = 0; else m = 18; + if ((m | 0) == 18) if ((Lx(a, b, d) | 0) != 0 ? (oy(a, 2, e, k, 1) | 0) != 0 : 0) { + g = k; + g = Nx(a, b, d, c[g >> 2] | 0, c[g + 4 >> 2] | 0) | 0; + sy(a, 2, g) + } else g = 0; + l = n; + return g | 0 + } + + function Sx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + d = (c[b >> 2] & 3 | 0) == 3; + g = d ? b + -48 | 0 : b; + d = d ? b : b + 48 | 0; + b = c[g + 40 >> 2] | 0; + h = Fx(a, c[d + 40 >> 2] | 0) | 0; + f = a + 44 | 0; + Tx(c[f >> 2] | 0, h + 32 | 0, g); + e = a + 48 | 0; + Tx(c[e >> 2] | 0, h + 24 | 0, g); + b = Fx(a, b) | 0; + Tx(c[f >> 2] | 0, b + 28 | 0, d); + Tx(c[e >> 2] | 0, b + 20 | 0, d); + return + } + + function Tx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Dw(a, c[b >> 2] | 0) | 0; + nb[c[a >> 2] & 63](a, d, 2) | 0; + c[b >> 2] = zw(a) | 0; + return + } + + function Ux(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = l; + l = l + 16 | 0; + f = e; + d = (c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0; + g = c[d >> 2] & 3; + h = c[((g | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + g = c[((g | 0) == 2 ? d : d + -48 | 0) + 40 >> 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]; + if (Px(b, h, g, f) | 0) { + if ((fz(b) | 0) == (b | 0)) { + if (a[b + 24 >> 0] & 64) wx(d); + kz(b, d); + Iz(d); + h = d + 8 | 0; + qy(b, 2, c[h >> 2] | 0, c[h + 4 >> 2] | 0) + } + if (!(jB(b, d, 58, 0, 0) | 0)) if ((fz(b) | 0) == (b | 0)) { + Ny(b, d); + d = 0 + } else d = 0; else d = -1 + } else d = -1; + l = e; + return d | 0 + } + + function Vx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + e = h; + f = Xy(a, c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0, d) | 0; + g = Xy(a, c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0, d) | 0; + do if ((f | 0) != 0 & (g | 0) != 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]; + e = Px(a, f, g, e) | 0; + f = (e | 0) == 0; + if (!((d | 0) != 0 & f)) { + if (f) break + } else { + Ox(a, b); + e = b + } + d = c[e >> 2] & 3; + l = h; + return ((d | 0) == (c[b >> 2] & 3 | 0) ? e : e + (((d | 0) == 3 ? -1 : 1) * 48 | 0) | 0) | 0 + } while (0); + l = h; + return 0 + } + + function Wx(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = b + 8 | 0; + e = d + 8 | 0; + e = t3(c[b >> 2] | 0, c[b + 4 >> 2] | 0, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0; + return ((e | 0) == 0 ? 0 : e >> 31 | 1) | 0 + } + + function Xx(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + h = l; + l = l + 16 | 0; + g = h; + j = Yx(e) | 0; + f = lb[c[(c[j >> 2] | 0) + 4 >> 2] & 127](c[j + 12 >> 2] | 0, 72) | 0; + c[f >> 2] = c[f >> 2] & -4; + i = f + 64 | 0; + c[i >> 2] = j; + k = f + 24 | 0; + d = c[d >> 2] | 0; + c[k >> 2] = d; + a[k >> 0] = d & 255 | 8; + c[f + 60 >> 2] = f; + e = lb[c[c[j + 4 >> 2] >> 2] & 127](f, e) | 0; + c[(c[i >> 2] | 0) + 16 >> 2] = e; + if (oy(f, 0, b, g, 1) | 0) { + i = g; + j = c[i + 4 >> 2] | 0; + k = f + 8 | 0; + c[k >> 2] = c[i >> 2]; + c[k + 4 >> 2] = j + } + k = Zx(f) | 0; + sy(k, 0, f); + l = h; + return k | 0 + } + + function Yx(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = (b | 0) != 0; + if (d) { + e = c[b >> 2] | 0; + e = (e | 0) == 0 ? 18632 : e + } else e = 18632; + g = kb[c[e >> 2] & 63](b) | 0; + f = lb[c[e + 4 >> 2] & 127](g, 80) | 0; + c[f >> 2] = e; + c[f + 12 >> 2] = g; + if (d) { + g = c[b + 4 >> 2] | 0; + c[f + 4 >> 2] = (g | 0) == 0 ? 18508 : g; + b = c[b + 8 >> 2] | 0; + b = (b | 0) == 0 ? 18608 : b + } else { + c[f + 4 >> 2] = 18508; + b = 18608 + } + c[f + 8 >> 2] = b; + a[f + 52 >> 0] = 1; + return f | 0 + } + + function Zx(b) { + b = b | 0; + var d = 0, e = 0; + c[b + 36 >> 2] = CA(b, 18688, c[4563] | 0) | 0; + c[b + 40 >> 2] = CA(b, 18652, c[4563] | 0) | 0; + d = (fz(b) | 0) == (b | 0); + c[b + 44 >> 2] = CA(b, d ? 18300 : 18336, c[4563] | 0) | 0; + d = (fz(b) | 0) == (b | 0); + c[b + 48 >> 2] = CA(b, d ? 18372 : 18408, c[4563] | 0) | 0; + c[b + 52 >> 2] = CA(b, 18444, c[4563] | 0) | 0; + d = yA(b) | 0; + if (!((d | 0) != 0 ? (e = _x(d, 0) | 0, c[b >> 2] = c[b >> 2] & 15 | e << 4, e = c[d + 52 >> 2] | 0, nb[c[e >> 2] & 63](e, b, 1) | 0, !(a[d + 24 >> 0] & 64)) : 0)) ax(b); + gz(b, b); + return b | 0 + } + + function _x(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = (c[a + 64 >> 2] | 0) + 24 + (b << 3) | 0; + b = d; + b = s3(c[b >> 2] | 0, c[b + 4 >> 2] | 0, 1, 0) | 0; + a = z; + c[d >> 2] = b; + c[d + 4 >> 2] = a; + z = a; + return b | 0 + } + + function $x(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = yA(b) | 0; + g = (f | 0) == 0; + if (g ? (d = b + 64 | 0, (c[(c[c[d >> 2] >> 2] | 0) + 16 >> 2] | 0) != 0) : 0) { + kz(b, b); + g = b + 8 | 0; + qy(b, 0, c[g >> 2] | 0, c[g + 4 >> 2] | 0); + d = c[d >> 2] | 0; + tb[c[(c[d >> 2] | 0) + 16 >> 2] & 127](c[d + 12 >> 2] | 0); + d = 0 + } else e = 4; + do if ((e | 0) == 4) { + d = wA(b) | 0; + while (1) { + if (!d) break; + e = xA(d) | 0; + $x(d) | 0; + d = e + } + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = Ty(b, d) | 0; + cz(b, d) | 0; + d = e + } + By(b); + kz(b, b); + if (((((EA(b, c[b + 40 >> 2] | 0) | 0) == 0 ? (EA(b, c[b + 36 >> 2] | 0) | 0) == 0 : 0) ? (EA(b, c[b + 48 >> 2] | 0) | 0) == 0 : 0) ? (EA(b, c[b + 44 >> 2] | 0) | 0) == 0 : 0) ? (EA(b, c[b + 52 >> 2] | 0) | 0) == 0 : 0) { + if (a[b + 24 >> 0] & 64 ? tx(b) | 0 : 0) { + d = -1; + break + } + Iz(b); + e = b + 8 | 0; + qy(b, 0, c[e >> 2] | 0, c[e + 4 >> 2] | 0); + if (!g) { + zA(f, b) | 0; + Ny(f, b); + d = 0; + break + } + d = b + 64 | 0; + while (1) { + e = c[d >> 2] | 0; + f = c[e + 48 >> 2] | 0; + if (!f) break; + nz(b, c[f >> 2] | 0) | 0 + } + tb[c[(c[e + 4 >> 2] | 0) + 20 >> 2] & 127](c[e + 16 >> 2] | 0); + if (!(Jz(b) | 0)) { + d = c[d >> 2] | 0; + g = c[d + 12 >> 2] | 0; + f = (c[d >> 2] | 0) + 12 | 0; + ub[c[f >> 2] & 63](g, b); + ub[c[f >> 2] & 63](g, d); + d = 0 + } else d = -1 + } else d = -1 + } while (0); + return d | 0 + } + + function ay(a) { + a = a | 0; + return Ew(c[a + 40 >> 2] | 0) | 0 + } + + function by(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + b = 0; + c = Sy(a) | 0; + while (1) { + if (!c) break; + d = (cy(a, c, 0, 1) | 0) + b | 0; + b = d; + c = Ty(a, c) | 0 + } + return b | 0 + } + + function cy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = Fx(a, b) | 0; + if (f) { + if (!e) b = 0; else b = dy(c[a + 44 >> 2] | 0, f + 32 | 0) | 0; + if (d) b = (dy(c[a + 44 >> 2] | 0, f + 28 | 0) | 0) + b | 0 + } else b = 0; + return b | 0 + } + + function dy(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + Dw(a, c[b >> 2] | 0) | 0; + d = Ew(a) | 0; + c[b >> 2] = zw(a) | 0; + return d | 0 + } + + function ey(b) { + b = b | 0; + return a[b + 24 >> 0] & 1 | 0 + } + + function fy(a) { + a = a | 0; + return (ey(a) | 0) == 0 | 0 + } + + function gy(a) { + a = a | 0; + return (d[a + 24 >> 0] | 0) >>> 1 & 1 | 0 + } + + function hy(a, b) { + a = a | 0; + b = b | 0; + return a | 0 + } + + function iy(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + if (!d) { + f = 1392; + d = c[f >> 2] | 0; + f = c[f + 4 >> 2] | 0; + c[e >> 2] = d; + c[e + 4 >> 2] = f; + f = s3(d | 0, f | 0, 2, 0) | 0; + e = 1392; + c[e >> 2] = f; + c[e + 4 >> 2] = z + } else { + if (!f) a = Lz(a, d) | 0; else a = Oz(a, d) | 0; + c[e >> 2] = a; + c[e + 4 >> 2] = 0 + } + return 1 + } + + function jy(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return 0 + } + + function ky(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + if ((c & 1 | 0) == 0 & 0 == 0) Qz(a, c) | 0; + return + } + + function ly(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return ((c & 1 | 0) == 0 & 0 == 0 ? c : 0) | 0 + } + + function my(a) { + a = a | 0; + return + } + + function ny(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return + } + + function oy(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + i = (e | 0) != 0; + do if (i) { + if ((a[e >> 0] | 0) != 37 ? (h = c[b + 64 >> 2] | 0, h = pb[c[(c[h + 4 >> 2] | 0) + 4 >> 2] & 127](c[h + 16 >> 2] | 0, d, e, f, g) | 0, h | 0) : 0) break; + h = ty(b, d, e, f) | 0; + if (!h) j = 5 + } else j = 5; while (0); + if ((j | 0) == 5) if (g) { + h = c[b + 64 >> 2] | 0; + h = pb[c[(c[h + 4 >> 2] | 0) + 4 >> 2] & 127](c[h + 16 >> 2] | 0, d, 0, f, g) | 0; + if (i & (h | 0) != 0) { + j = f; + uy(b, d, e, c[j >> 2] | 0, c[j + 4 >> 2] | 0) + } + } else h = 0; + return h | 0 + } + + function py(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[a + 64 >> 2] | 0; + return ob[c[(c[a + 4 >> 2] | 0) + 8 >> 2] & 127](c[a + 16 >> 2] | 0, b, d, e) | 0 + } + + function qy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + zy(a, b, d, e) | 0; + a = c[a + 64 >> 2] | 0; + xb[c[(c[a + 4 >> 2] | 0) + 12 >> 2] & 31](c[a + 16 >> 2] | 0, b, d, e); + return + } + + function ry(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + d = ez(a) | 0; + f = a + 8 | 0; + b = f; + b = xy(d, c[a >> 2] & 3, c[b >> 2] | 0, c[b + 4 >> 2] | 0) | 0; + do if (!b) { + b = c[d + 64 >> 2] | 0; + d = c[(c[b + 4 >> 2] | 0) + 16 >> 2] | 0; + if (d | 0 ? (e = f, e = ob[d & 127](c[b + 16 >> 2] | 0, c[a >> 2] & 3, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0, e | 0) : 0) { + b = e; + break + } + if ((c[a >> 2] & 3 | 0) == 2) b = 0; else { + e = c[f >> 2] | 0; + f = c[f + 4 >> 2] | 0; + c[g >> 2] = 37; + b = g + 8 | 0; + c[b >> 2] = e; + c[b + 4 >> 2] = f; + Y0(191693, 93374, g) | 0; + b = 191693 + } + } while (0); + l = h; + return b | 0 + } + + function sy(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a = c[a + 64 >> 2] | 0; + vb[c[(c[a + 4 >> 2] | 0) + 24 >> 2] & 127](c[a + 16 >> 2] | 0, b, d); + return + } + + function ty(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 32 | 0; + h = i; + b = c[(c[a + 64 >> 2] | 0) + 56 + (((b | 0) == 3 ? 2 : b) << 2) >> 2] | 0; + if (((b | 0) != 0 ? (f = Lz(a, d) | 0, (f | 0) != 0) : 0) ? (c[h + 24 >> 2] = f, g = nb[c[b >> 2] & 63](b, h, 4) | 0, (g | 0) != 0) : 0) { + d = g + 16 | 0; + h = c[d + 4 >> 2] | 0; + b = e; + c[b >> 2] = c[d >> 2]; + c[b + 4 >> 2] = h; + b = 1 + } else b = 0; + l = i; + return b | 0 + } + + function uy(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + h = My(a, 32) | 0; + g = h + 16 | 0; + c[g >> 2] = e; + c[g + 4 >> 2] = f; + c[h + 24 >> 2] = Oz(a, d) | 0; + e = (b | 0) == 3 ? 2 : b; + g = a + 64 | 0; + d = c[g >> 2] | 0; + b = c[d + 56 + (e << 2) >> 2] | 0; + if (!b) { + f = CA(a, 18536, c[4563] | 0) | 0; + c[(c[g >> 2] | 0) + 56 + (e << 2) >> 2] = f; + b = c[g >> 2] | 0 + } else { + f = b; + b = d + } + b = c[b + 68 + (e << 2) >> 2] | 0; + if (!b) { + b = CA(a, 18572, c[4563] | 0) | 0; + c[(c[g >> 2] | 0) + 68 + (e << 2) >> 2] = b + } + nb[c[f >> 2] & 63](f, h, 1) | 0; + nb[c[b >> 2] & 63](b, h, 1) | 0; + return + } + + function vy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = b + 16 | 0; + b = c[a >> 2] | 0; + a = c[a + 4 >> 2] | 0; + d = d + 16 | 0; + e = c[d >> 2] | 0; + d = c[d + 4 >> 2] | 0; + return (a >>> 0 > d >>> 0 | (a | 0) == (d | 0) & b >>> 0 > e >>> 0 ? 1 : (a >>> 0 < d >>> 0 | (a | 0) == (d | 0) & b >>> 0 < e >>> 0) << 31 >> 31) | 0 + } + + function wy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = c[b + 24 >> 2] | 0; + e = c[d + 24 >> 2] | 0; + return (b >>> 0 > e >>> 0 ? 1 : (b >>> 0 < e >>> 0) << 31 >> 31) | 0 + } + + function xy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = yy(a, b, d, e) | 0; + if (!a) a = 0; else a = c[a + 24 >> 2] | 0; + return a | 0 + } + + function yy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g; + a = c[(c[a + 64 >> 2] | 0) + 68 + (((b | 0) == 3 ? 2 : b) << 2) >> 2] | 0; + if (!a) a = 0; else { + b = f + 16 | 0; + c[b >> 2] = d; + c[b + 4 >> 2] = e; + a = nb[c[a >> 2] & 63](a, f, 4) | 0 + } + l = g; + return a | 0 + } + + function zy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = (b | 0) == 3 ? 2 : b; + b = yy(a, f, d, e) | 0; + if (!b) b = 0; else { + e = a + 64 | 0; + d = c[(c[e >> 2] | 0) + 56 + (f << 2) >> 2] | 0; + nb[c[d >> 2] & 63](d, b, 2) | 0; + e = c[(c[e >> 2] | 0) + 68 + (f << 2) >> 2] | 0; + nb[c[e >> 2] & 63](e, b, 2) | 0; + Qz(a, c[b + 24 >> 2] | 0) | 0; + Ny(a, b); + b = 1 + } + return b | 0 + } + + function Ay(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + c[46171] = b; + g = c[b + 64 >> 2] | 0; + f = 0; + while (1) { + if ((f | 0) == 3) break; + h = g + 56 + (f << 2) | 0; + d = c[h >> 2] | 0; + a:do if (d | 0) { + d = nb[c[d >> 2] & 63](d, 0, 128) | 0; + while (1) { + if (!d) break a; + e = c[h >> 2] | 0; + e = nb[c[e >> 2] & 63](e, d, 8) | 0; + if ((a[c[d + 24 >> 2] >> 0] | 0) != 37) { + d = e; + continue + } + i = d + 16 | 0; + zy(b, f, c[i >> 2] | 0, c[i + 4 >> 2] | 0) | 0; + d = e + } + } while (0); + f = f + 1 | 0 + } + return + } + + function By(a) { + a = a | 0; + c[46171] = a; + a = a + 64 | 0; + Cy((c[a >> 2] | 0) + 56 | 0); + Cy((c[a >> 2] | 0) + 68 | 0); + return + } + + function Cy(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = 0; + while (1) { + if ((b | 0) == 3) break; + d = a + (b << 2) | 0; + e = c[d >> 2] | 0; + if (e | 0) { + yw(e) | 0; + c[d >> 2] = 0 + } + b = b + 1 | 0 + } + return + } + + function Dy(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if (!(O0(b, c, a) | 0)) a = 0; else a = W_(b) | 0; + return a | 0 + } + + function Ey(a, b) { + a = a | 0; + b = b | 0; + return D1(b, a) | 0 + } + + function Fy(a) { + a = a | 0; + return w1(a) | 0 + } + + function Gy(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = l; + l = l + 32 | 0; + e = b + 12 | 0; + d = b; + c[4656] = c[4653]; + c[4657] = c[4654]; + c[e >> 2] = a; + c[e + 4 >> 2] = W_(a) | 0; + c[e + 8 >> 2] = 0; + c[d >> 2] = 18632; + c[d + 4 >> 2] = 18508; + c[d + 8 >> 2] = 18620; + a = TB(e, d) | 0; + Uz(0); + l = b; + return a | 0 + } + + function Hy(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + if ((e | 0) != 0 ? (h = b + 8 | 0, f = c[h >> 2] | 0, (f | 0) < (c[b + 4 >> 2] | 0)) : 0) { + i = (c[b >> 2] | 0) + f | 0; + b = 0; + g = a[i >> 0] | 0; + f = d; + d = i; + while (1) { + d = d + 1 | 0; + a[f >> 0] = g; + b = b + 1 | 0; + if (!(g << 24 >> 24 != 10 & (b | 0) < (e | 0))) break; + g = a[d >> 0] | 0; + if (!(g << 24 >> 24)) break; else f = f + 1 | 0 + } + c[h >> 2] = (c[h >> 2] | 0) + b + } else b = 0; + return b | 0 + } + + function Iy(a) { + a = a | 0; + return 0 + } + + function Jy(a, b) { + a = a | 0; + b = b | 0; + a = C_(b) | 0; + H3(a | 0, 0, b | 0) | 0; + return a | 0 + } + + function Ky(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + a = F_(b, d) | 0; + if (d >>> 0 > c >>> 0) H3(a + c | 0, 0, d - c | 0) | 0; + return a | 0 + } + + function Ly(a, b) { + a = a | 0; + b = b | 0; + D_(b); + return + } + + function My(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = l; + l = l + 16 | 0; + a = c[a + 64 >> 2] | 0; + a = lb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](c[a + 12 >> 2] | 0, b) | 0; + if (!a) Pw(1, 93380, d) | 0; + l = d; + return a | 0 + } + + function Ny(a, b) { + a = a | 0; + b = b | 0; + if (b | 0) { + a = c[a + 64 >> 2] | 0; + ub[c[(c[a >> 2] | 0) + 12 >> 2] & 63](c[a + 12 >> 2] | 0, b) + } + return + } + + function Oy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = (c[b + 16 >> 2] | 0) + 8 | 0; + b = c[a >> 2] | 0; + a = c[a + 4 >> 2] | 0; + d = (c[d + 16 >> 2] | 0) + 8 | 0; + e = c[d >> 2] | 0; + d = c[d + 4 >> 2] | 0; + return (a >>> 0 < d >>> 0 | (a | 0) == (d | 0) & b >>> 0 < e >>> 0 ? -1 : (a >>> 0 > d >>> 0 | (a | 0) == (d | 0) & b >>> 0 > e >>> 0) & 1) | 0 + } + + function Py(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a = c[b + 16 >> 2] | 0; + if ((a + 28 | 0) != (b | 0)) Ny(c[a + 24 >> 2] | 0, b); + return + } + + function Qy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + b = (c[c[b + 16 >> 2] >> 2] | 0) >>> 4; + e = (c[c[d + 16 >> 2] >> 2] | 0) >>> 4; + return (b >>> 0 < e >>> 0 ? -1 : b >>> 0 > e >>> 0 & 1) | 0 + } + + function Ry(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = 183176; + c[e >> 2] = b; + c[e + 4 >> 2] = d; + c[46176] = 183168; + a = c[a + 40 >> 2] | 0; + a = nb[c[a >> 2] & 63](a, 184688, 4) | 0; + if (!a) a = 0; else a = c[a + 16 >> 2] | 0; + return a | 0 + } + + function Sy(a) { + a = a | 0; + a = c[a + 36 >> 2] | 0; + a = nb[c[a >> 2] & 63](a, 0, 128) | 0; + if (!a) a = 0; else a = c[a + 16 >> 2] | 0; + return a | 0 + } + + function Ty(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = Fx(a, b) | 0; + if ((b | 0) != 0 ? (d = c[a + 36 >> 2] | 0, d = nb[c[d >> 2] & 63](d, b, 8) | 0, (d | 0) != 0) : 0) b = c[d + 16 >> 2] | 0; else b = 0; + return b | 0 + } + + function Uy(a) { + a = a | 0; + a = c[a + 36 >> 2] | 0; + a = nb[c[a >> 2] & 63](a, 0, 256) | 0; + if (!a) a = 0; else a = c[a + 16 >> 2] | 0; + return a | 0 + } + + function Vy(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = Fx(a, b) | 0; + if ((b | 0) != 0 ? (d = c[a + 36 >> 2] | 0, d = nb[c[d >> 2] & 63](d, b, 16) | 0, (d | 0) != 0) : 0) b = c[d + 16 >> 2] | 0; else b = 0; + return b | 0 + } + + function Wy(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + e = Ry(a, b, c) | 0; + do if ((d | 0) != 0 & (e | 0) == 0) { + e = fz(a) | 0; + if ((e | 0) != (a | 0) ? (f = Ry(e, b, c) | 0, f | 0) : 0) { + Xy(a, f, 1) | 0; + e = f; + break + } + if (!(py(a, 1, b, c) | 0)) e = 0; else { + e = _x(a, 1) | 0; + e = Yy(a, b, c, e, z) | 0; + Zy(a, e); + _y(a, e) + } + } while (0); + return e | 0 + } + + function Xy(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = fz(a) | 0; + if ((e | 0) == (c[b + 24 >> 2] | 0)) { + e = b + 8 | 0; + e = Ry(a, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0; + if ((d | 0) != 0 & (e | 0) == 0) { + e = yA(a) | 0; + if (!e) e = 0; else { + d = Xy(e, b, d) | 0; + $y(a, d); + return d | 0 + } + } + } else e = 0; + return e | 0 + } + + function Yy(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + g = My(b, 64) | 0; + h = c[g >> 2] | 0; + i = g + 8 | 0; + c[i >> 2] = d; + c[i + 4 >> 2] = e; + c[g >> 2] = h & 12 | f << 4 | 1; + c[g + 24 >> 2] = fz(b) | 0; + if (a[(fz(b) | 0) + 24 >> 0] & 64) Az(g, 93322, 16, 0) | 0; + return g | 0 + } + + function Zy(a, b) { + a = a | 0; + b = b | 0; + do { + $y(a, b); + a = yA(a) | 0 + } while ((a | 0) != 0); + return + } + + function _y(b, c) { + b = b | 0; + c = c | 0; + if (a[(fz(b) | 0) + 24 >> 0] & 64) bx(b, c); + gz(b, c); + return + } + + function $y(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = a + 40 | 0; + Ew(c[e >> 2] | 0) | 0; + if ((fz(a) | 0) == (a | 0)) d = b + 28 | 0; else d = My(a, 36) | 0; + c[d + 16 >> 2] = b; + e = c[e >> 2] | 0; + nb[c[e >> 2] & 63](e, d, 1) | 0; + e = c[a + 36 >> 2] | 0; + nb[c[e >> 2] & 63](e, d, 1) | 0; + return + } + + function az(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + g = j; + h = fz(a) | 0; + if (oy(a, 1, b, g, 0) | 0) { + e = g; + e = Ry(a, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0; + if (!e) if (!((d | 0) == 0 | (h | 0) == (a | 0)) ? (f = g, f = Ry(h, c[f >> 2] | 0, c[f + 4 >> 2] | 0) | 0, (f | 0) != 0) : 0) e = Xy(a, f, 1) | 0; else i = 6 + } else i = 6; + if ((i | 0) == 6) if ((d | 0) != 0 ? (oy(a, 1, b, g, 1) | 0) != 0 : 0) { + i = g; + h = c[i >> 2] | 0; + i = c[i + 4 >> 2] | 0; + e = _x(a, 1) | 0; + e = Yy(a, h, i, e, z) | 0; + Zy(a, e); + _y(a, e); + sy(a, 1, e) + } else e = 0; + l = j; + return e | 0 + } + + function bz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + c[46185] = b; + d = Jx(a, b) | 0; + while (1) { + if (!d) break; + e = Kx(a, d, b) | 0; + Sx(a, d, 0); + d = e + } + e = c[a + 40 >> 2] | 0; + nb[c[e >> 2] & 63](e, 184724, 2) | 0; + e = c[a + 36 >> 2] | 0; + nb[c[e >> 2] & 63](e, 184724, 2) | 0; + return + } + + function cz(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = d + 8 | 0; + e = f; + if (Ry(b, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0) { + if ((fz(b) | 0) == (b | 0)) { + e = Jx(b, d) | 0; + while (1) { + if (!e) break; + g = Kx(b, e, d) | 0; + Ux(b, e) | 0; + e = g + } + if (a[b + 24 >> 0] & 64) vx(d); + kz(b, d); + Iz(d); + g = f; + qy(b, 1, c[g >> 2] | 0, c[g + 4 >> 2] | 0) + } + if (!(jB(b, d, 59, 0, 0) | 0)) if ((fz(b) | 0) == (b | 0)) { + Ny(b, d); + e = 0 + } else e = 0; else e = -1 + } else e = -1; + return e | 0 + } + + function dz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + e = h; + d = c[b >> 2] | 0; + do if (!(d & 3)) if ((yA(b) | 0) == (a | 0)) { + d = c[b >> 2] | 0; + g = 5; + break + } else { + Pw(1, 93406, e) | 0; + f = -1; + break + } else g = 5; while (0); + a:do if ((g | 0) == 5) switch (d & 3) { + case 1: { + f = cz(a, b) | 0; + break a + } + case 2: + case 3: { + f = Ux(a, b) | 0; + break a + } + case 0: { + f = $x(b) | 0; + break a + } + default: { + } + } while (0); + l = h; + return f | 0 + } + + function ez(a) { + a = a | 0; + var b = 0; + switch (c[a >> 2] & 3) { + case 2: + case 3: { + b = c[(c[a + 40 >> 2] | 0) + 24 >> 2] | 0; + break + } + case 1: { + b = c[a + 24 >> 2] | 0; + break + } + case 0: { + b = a; + break + } + default: { + } + } + return b | 0 + } + + function fz(a) { + a = a | 0; + var b = 0; + switch (c[a >> 2] & 3) { + case 2: + case 3: { + b = (c[a + 40 >> 2] | 0) + 24 | 0; + break + } + case 1: { + b = a + 24 | 0; + break + } + case 0: { + b = a + 60 | 0; + break + } + default: { + } + } + return c[b >> 2] | 0 + } + + function gz(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = c[b + 64 >> 2] | 0; + if (!(a[e + 52 >> 0] | 0)) qz(b, d, 100, 0); else hz(b, d, c[e + 48 >> 2] | 0); + return + } + + function hz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + a:do if (d | 0) { + hz(a, b, c[d + 8 >> 2] | 0); + switch (c[b >> 2] & 3) { + case 0: { + e = c[d >> 2] | 0; + break + } + case 1: { + e = (c[d >> 2] | 0) + 12 | 0; + break + } + case 2: { + e = (c[d >> 2] | 0) + 24 | 0; + break + } + default: + break a + } + e = c[e >> 2] | 0; + if (e | 0) vb[e & 127](a, b, c[d + 4 >> 2] | 0) + } while (0); + return + } + + function iz(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = c[b + 64 >> 2] | 0; + if (!(a[f + 52 >> 0] | 0)) qz(b, d, 101, e); else jz(b, d, e, c[f + 48 >> 2] | 0); + return + } + + function jz(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + a:do if (e | 0) { + jz(a, b, d, c[e + 8 >> 2] | 0); + switch (c[b >> 2] & 3) { + case 0: { + f = (c[e >> 2] | 0) + 4 | 0; + break + } + case 1: { + f = (c[e >> 2] | 0) + 16 | 0; + break + } + case 2: { + f = (c[e >> 2] | 0) + 28 | 0; + break + } + default: + break a + } + f = c[f >> 2] | 0; + if (f | 0) xb[f & 31](a, b, c[e + 4 >> 2] | 0, d) + } while (0); + return + } + + function kz(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = c[b + 64 >> 2] | 0; + if (!(a[e + 52 >> 0] | 0)) qz(b, d, 102, 0); else lz(b, d, c[e + 48 >> 2] | 0); + return + } + + function lz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + a:do if (d | 0) { + lz(a, b, c[d + 8 >> 2] | 0); + switch (c[b >> 2] & 3) { + case 0: { + e = (c[d >> 2] | 0) + 8 | 0; + break + } + case 1: { + e = (c[d >> 2] | 0) + 20 | 0; + break + } + case 2: { + e = (c[d >> 2] | 0) + 32 | 0; + break + } + default: + break a + } + e = c[e >> 2] | 0; + if (e | 0) vb[e & 127](a, b, c[d + 4 >> 2] | 0) + } while (0); + return + } + + function mz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = My(a, 12) | 0; + c[e >> 2] = b; + c[e + 4 >> 2] = d; + d = (c[a + 64 >> 2] | 0) + 48 | 0; + c[e + 8 >> 2] = c[d >> 2]; + c[d >> 2] = e; + return + } + + function nz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + e = (c[a + 64 >> 2] | 0) + 48 | 0; + d = c[e >> 2] | 0; + a:do if (!d) d = -1; else { + if ((c[d >> 2] | 0) != (b | 0)) { + while (1) { + if (!d) { + d = -1; + break a + } + e = d + 8 | 0; + f = c[e >> 2] | 0; + if ((c[f >> 2] | 0) == (b | 0)) break; else d = f + } + if (f) c[e >> 2] = c[f + 8 >> 2] + } else c[e >> 2] = c[d + 8 >> 2]; + Ny(a, d); + d = 0 + } while (0); + return d | 0 + } + + function oz(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = fz(a) | 0; + a:do if ((d | 0) == (fz(b) | 0)) switch (c[b >> 2] & 3) { + case 0: { + while (1) { + if ((b | 0) == (a | 0)) { + b = 1; + break a + } + b = yA(b) | 0; + if (!b) { + b = 0; + break + } + } + break + } + case 1: { + b = b + 8 | 0; + b = (Wy(a, c[b >> 2] | 0, c[b + 4 >> 2] | 0, 0) | 0) != 0; + break a + } + default: { + b = (Vx(a, b, 0) | 0) != 0; + break a + } + } else b = 0; while (0); + return b & 1 | 0 + } + + function pz(a) { + a = a | 0; + return c[a >> 2] & 3 | 0 + } + + function qz(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; + h = l; + l = l + 16 | 0; + g = h; + f = Az(a, 93430, 44, 0) | 0; + switch (c | 0) { + case 100: { + e = rz(f, b, 100) | 0; + if (!(sz(e, b) | 0)) tz(e, a, b, d) | 0; + break + } + case 101: { + if (((sz(rz(f, b, 100) | 0, b) | 0) == 0 ? (sz(rz(f, b, 102) | 0, b) | 0) == 0 : 0) ? (e = rz(f, b, 101) | 0, (sz(e, b) | 0) == 0) : 0) tz(e, a, b, d) | 0; + break + } + case 102: { + uz(rz(f, b, 100) | 0, b); + uz(rz(f, b, 101) | 0, b); + e = rz(f, b, 102) | 0; + if (!(sz(e, b) | 0)) tz(e, a, b, d) | 0; + break + } + default: + Pw(1, 93442, g) | 0 + } + l = h; + return + } + + function rz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + e = g; + a:do switch (c[b >> 2] & 3) { + case 0: + switch (d | 0) { + case 100: { + d = a + 8 | 0; + break a + } + case 101: { + d = a + 20 | 0; + break a + } + case 102: { + d = a + 32 | 0; + break a + } + default: { + f = 14; + break a + } + } + case 1: + switch (d | 0) { + case 100: { + d = a + 12 | 0; + break a + } + case 101: { + d = a + 24 | 0; + break a + } + case 102: { + d = a + 36 | 0; + break a + } + default: { + f = 14; + break a + } + } + case 2: + switch (d | 0) { + case 100: { + d = a + 16 | 0; + break a + } + case 101: { + d = a + 28 | 0; + break a + } + case 102: { + d = a + 40 | 0; + break a + } + default: { + f = 14; + break a + } + } + default: + f = 14 + } while (0); + if ((f | 0) == 14) { + Pw(1, 93476, e) | 0; + d = 0 + } + a = c[d >> 2] | 0; + if (!a) { + a = ez(b) | 0; + a = CA(a, 18724, c[4563] | 0) | 0; + c[d >> 2] = a + } + l = g; + return a | 0 + } + + function sz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 32 | 0; + e = d; + f = vz(b) | 0; + b = e + 8 | 0; + c[b >> 2] = f; + c[b + 4 >> 2] = z; + b = nb[c[a >> 2] & 63](a, e, 4) | 0; + l = d; + return b | 0 + } + + function tz(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = My(ez(d) | 0, 32) | 0; + c[f + 20 >> 2] = d; + g = vz(d) | 0; + d = f + 8 | 0; + c[d >> 2] = g; + c[d + 4 >> 2] = z; + c[f + 16 >> 2] = b; + if (e | 0) { + g = My(b, 8) | 0; + c[f + 24 >> 2] = g; + c[g >> 2] = e + } + nb[c[a >> 2] & 63](a, f, 1) | 0; + return f | 0 + } + + function uz(a, b) { + a = a | 0; + b = b | 0; + b = sz(a, b) | 0; + if (b | 0) nb[c[a >> 2] & 63](a, b, 2) | 0; + return + } + + function vz(a) { + a = a | 0; + a = a + 8 | 0; + z = c[a + 4 >> 2] | 0; + return c[a >> 2] | 0 + } + + function wz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + xz(b); + Ny(c[b + 16 >> 2] | 0, b); + return + } + + function xz(a) { + a = a | 0; + var b = 0, d = 0; + b = a + 16 | 0; + a = c[a + 24 >> 2] | 0; + while (1) { + if (!a) break; + d = c[a + 4 >> 2] | 0; + Ny(c[b >> 2] | 0, a); + a = d + } + return + } + + function yz(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + i = k; + h = c[b + 16 >> 2] | 0; + f = h; + while (1) { + if (!f) { + f = 0; + break + } + g = c[f >> 2] | 0; + if ((g | 0) == (d | 0)) { + j = 7; + break + } + if ((a[d >> 0] | 0) == (a[g >> 0] | 0) ? (b$(d, g) | 0) == 0 : 0) { + j = 7; + break + } + f = c[f + 4 >> 2] | 0; + if ((f | 0) == (h | 0)) { + f = 0; + break + } + } + do if ((j | 0) == 7) { + if (!(c[b >> 2] & 4)) { + if ((f | 0) == (h | 0) & (e | 0) == 0) { + f = h; + break + } + zz(b, f, e); + break + } + if (e) if ((h | 0) == (f | 0)) f = h; else Pw(1, 93501, i) | 0 + } while (0); + l = k; + return f | 0 + } + + function zz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + c[a + 16 >> 2] = b; + e = c[a >> 2] | 0; + d = d << 2 & 4; + c[a >> 2] = e & -5 | d; + if (e & 2 | 0) { + e = (e & 3 | 0) == 3 ? -1 : 1; + c[a + (e * 48 | 0) + 16 >> 2] = b; + e = a + (e * 48 | 0) | 0; + c[e >> 2] = c[e >> 2] & -5 | d + } + return + } + + function Az(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = ez(a) | 0; + f = yz(a, b, 0) | 0; + a:do if ((d | 0) != 0 & (f | 0) == 0) { + d = My(h, d) | 0; + c[d >> 2] = Oz(h, b) | 0; + switch (c[a >> 2] & 3) { + case 0: { + Bz(a, d); + g = d; + break a + } + case 1: { + Bz(a, d); + g = d; + break a + } + case 2: + case 3: { + Bz(a, d); + g = d; + break a + } + default: { + } + } + } else g = f; while (0); + if (e | 0) yz(a, b, 1) | 0; + return g | 0 + } + + function Bz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[a + 16 >> 2] | 0; + do if (d) { + e = d + 4 | 0; + f = c[e >> 2] | 0; + if ((f | 0) == (d | 0)) { + c[e >> 2] = b; + e = d; + d = b; + break + } else { + c[b + 4 >> 2] = f; + e = b; + break + } + } else { + e = b; + d = b + } while (0); + c[d + 4 >> 2] = e; + if (!(c[a >> 2] & 4)) zz(a, b, 0); + return + } + + function Cz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = ez(a) | 0; + d = yz(a, b, 0) | 0; + if (!d) b = -1; else { + Dz(a, d); + if (!(c[a >> 2] & 3)) { + Ez(e, a, d); + b = d + } else { + jB(fz(e) | 0, a, 60, d, 0) | 0; + b = d + } + Qz(e, c[d >> 2] | 0) | 0; + Ny(e, b); + b = 0 + } + return b | 0 + } + + function Dz(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + a = c[a + 16 >> 2] | 0; + do { + d = a + 4 | 0; + a = c[d >> 2] | 0 + } while ((a | 0) != (b | 0)); + c[d >> 2] = c[b + 4 >> 2]; + return + } + + function Ez(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + if ((c[b + 16 >> 2] | 0) == (d | 0)) { + a = c[d + 4 >> 2] | 0; + zz(b, (a | 0) == (d | 0) ? 0 : a, 0) + } + return + } + + function Fz(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; + f = (d | 0) > -1; + g = f ? d : 0 - d | 0; + a:do switch (b | 0) { + case 0: { + Az(a, c, g, e) | 0; + if (!f) { + b = wA(a) | 0; + while (1) { + if (!b) break a; + Fz(b, 0, c, d, e); + b = xA(b) | 0 + } + } + break + } + case 3: + case 2: + case 1: { + d = (b | 0) == 1; + b = Sy(a) | 0; + while (1) { + if (!b) break a; + b:do if (d) Az(b, c, g, e) | 0; else { + f = Ex(a, b) | 0; + while (1) { + if (!f) break b; + Az(f, c, g, e) | 0; + f = Gx(a, f) | 0 + } + } while (0); + b = Ty(a, b) | 0 + } + } + default: { + } + } while (0); + return + } + + function Gz(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + a:do switch (b | 0) { + case 0: { + jB(a, a, 61, c, 1) | 0; + break + } + case 3: + case 2: + case 1: { + e = (b | 0) == 1; + d = Sy(a) | 0; + while (1) { + if (!d) break a; + b:do if (e) Cz(d, c) | 0; else { + b = Ex(a, d) | 0; + while (1) { + if (!b) break b; + Cz(b, c) | 0; + b = Gx(a, b) | 0 + } + } while (0); + d = Ty(a, d) | 0 + } + } + default: { + } + } while (0); + return + } + + function Hz(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + Cz(b, c) | 0; + return + } + + function Iz(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = ez(a) | 0; + b = a + 16 | 0; + a = c[b >> 2] | 0; + if (a | 0) do { + e = a; + a = c[a + 4 >> 2] | 0; + Qz(d, c[e >> 2] | 0) | 0; + Ny(d, e) + } while ((a | 0) != (c[b >> 2] | 0)); + c[b >> 2] = 0; + return + } + + function Jz(a) { + a = a | 0; + return EA(a, Kz(a) | 0) | 0 + } + + function Kz(a) { + a = a | 0; + var b = 0, d = 0; + if (!a) d = 184760; else d = (c[a + 64 >> 2] | 0) + 20 | 0; + b = c[d >> 2] | 0; + if (!b) { + b = CA(a, 18760, c[4563] | 0) | 0; + c[d >> 2] = b; + a = 183232; + c[a >> 2] = -2147483648; + c[a + 4 >> 2] = 0; + a = 183240; + c[a >> 2] = 2147483647; + c[a + 4 >> 2] = -1 + } + return b | 0 + } + + function Lz(a, b) { + a = a | 0; + b = b | 0; + return Mz(Kz(a) | 0, b) | 0 + } + + function Mz(a, b) { + a = a | 0; + b = b | 0; + a = Nz(a, b) | 0; + if (!a) a = 0; else a = c[a + 16 >> 2] | 0; + return a | 0 + } + + function Nz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 32 | 0; + e = d; + c[e + 16 >> 2] = b; + b = nb[c[a >> 2] & 63](a, e, 4) | 0; + l = d; + return b | 0 + } + + function Oz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (!b) d = 0; else { + e = Kz(a) | 0; + d = Nz(e, b) | 0; + if (!d) { + d = (W_(b) | 0) + 24 | 0; + if (!a) d = C_(d) | 0; else d = My(a, d) | 0; + a = d + 8 | 0; + c[a >> 2] = 1; + c[a + 4 >> 2] = 0; + a = d + 20 | 0; + b0(a, b) | 0; + c[d + 16 >> 2] = a; + nb[c[e >> 2] & 63](e, d, 1) | 0 + } else { + e = d + 8 | 0; + b = e; + b = s3(c[b >> 2] | 0, c[b + 4 >> 2] | 0, 1, 0) | 0; + c[e >> 2] = b; + c[e + 4 >> 2] = z + } + d = c[d + 16 >> 2] | 0 + } + return d | 0 + } + + function Pz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if (!b) d = 0; else { + e = Kz(a) | 0; + d = Nz(e, b) | 0; + if (!d) { + d = (W_(b) | 0) + 24 | 0; + if (!a) d = C_(d) | 0; else d = My(a, d) | 0; + g = 183232; + f = c[g + 4 >> 2] | 0; + a = d + 8 | 0; + c[a >> 2] = c[g >> 2] | 1; + c[a + 4 >> 2] = f; + a = d + 20 | 0; + b0(a, b) | 0; + c[d + 16 >> 2] = a; + nb[c[e >> 2] & 63](e, d, 1) | 0 + } else { + g = d + 8 | 0; + f = g; + f = s3(c[f >> 2] | 0, c[f + 4 >> 2] | 0, 1, 0) | 0; + c[g >> 2] = f; + c[g + 4 >> 2] = z + } + d = c[d + 16 >> 2] | 0 + } + return d | 0 + } + + function Qz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if ((b | 0) != 0 ? (d = Kz(a) | 0, e = Nz(d, b) | 0, (e | 0) != 0) : 0) if ((c[e + 16 >> 2] | 0) == (b | 0) ? (b = e + 8 | 0, g = b, g = s3(c[g >> 2] | 0, c[g + 4 >> 2] | 0, -1, -1) | 0, f = z, b, c[b >> 2] = g, c[b + 4 >> 2] = f, b = 183240, (g | 0) == 0 & (f | 0) == 0 | (c[b >> 2] | 0) == 0 & (c[b + 4 >> 2] | 0) == 0) : 0) { + DA(a, d, e) | 0; + a = 0 + } else a = 0; else a = -1; + return a | 0 + } + + function Rz(a) { + a = a | 0; + var b = 0; + if (!a) a = 0; else { + a = a + -12 | 0; + b = 183232; + a = c[b >> 2] & c[a >> 2] + } + return a | 0 + } + + function Sz(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + if (a | 0) { + d = 183232; + a = a + -12 | 0; + e = a; + b = c[e + 4 >> 2] | c[d + 4 >> 2]; + c[a >> 2] = c[e >> 2] | c[d >> 2]; + c[a + 4 >> 2] = b + } + return + } + + function Tz(a) { + a = a | 0; + c[4699] = a; + return + } + + function Uz(a) { + a = a | 0; + c[46195] = a; + c[4699] = 1; + return + } + + function Vz(a, b) { + a = a | 0; + b = b | 0; + c[46196] = a; + c[46197] = b; + c[46198] = 0; + return + } + + function Wz() { + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + if (!(c[46199] | 0)) { + c[46199] = 1; + if (!(c[46200] | 0)) c[46200] = 1; + if (!(c[46191] | 0)) c[46191] = c[15621]; + if (!(c[46192] | 0)) c[46192] = c[15653]; + k = c[46201] | 0; + if (!((k | 0) != 0 ? (c[k >> 2] | 0) != 0 : 0)) { + Xz(); + k = Yz(c[46191] | 0, 16384) | 0; + c[c[46201] >> 2] = k + } + Zz() + } + a:while (1) { + j = c[46202] | 0; + a[j >> 0] = a[191725] | 0; + e = (c[(c[c[46201] >> 2] | 0) + 28 >> 2] | 0) + (c[46200] | 0) | 0; + f = j; + b:while (1) { + h = f; + while (1) { + f = c[18800 + (d[h >> 0] << 2) >> 2] | 0; + if (b[63752 + (e << 1) >> 1] | 0) { + c[46203] = e; + c[46204] = h + } + c:while (1) { + g = f & 255; + do { + f = g + (b[63938 + (e << 1) >> 1] | 0) | 0; + if ((e | 0) == (b[64148 + (f << 1) >> 1] | 0)) break c; + k = b[64684 + (e << 1) >> 1] | 0; + e = k << 16 >> 16 + } while (k << 16 >> 16 <= 92); + f = c[19824 + (g << 2) >> 2] | 0 + } + e = b[64894 + (f << 1) >> 1] | 0; + f = h + 1 | 0; + if ((b[63938 + (e << 1) >> 1] | 0) == 219) break; else h = f + } + d:while (1) { + k = j; + e:while (1) { + e = b[63752 + (e << 1) >> 1] | 0; + if (!(e << 16 >> 16)) { + e = b[63752 + (c[46203] << 1) >> 1] | 0; + f = c[46204] | 0 + } else e = e << 16 >> 16; + c[46193] = j; + i = f; + c[46194] = i - k; + a[191725] = a[f >> 0] | 0; + a[f >> 0] = 0; + c[46202] = f; + f:while (1) { + switch (e | 0) { + case 1: { + m = 27; + break a + } + case 12: { + m = 53; + break a + } + case 13: { + m = 55; + break a + } + case 14: { + m = 57; + break a + } + case 15: { + m = 61; + break a + } + case 16: { + m = 65; + break a + } + case 17: { + m = 67; + break a + } + case 18: { + m = 69; + break a + } + case 19: { + m = 72; + break a + } + case 20: { + m = 75; + break a + } + case 21: { + m = 78; + break a + } + case 23: { + m = 86; + break a + } + case 33: { + m = 118; + break a + } + case 39: + case 38: + case 37: + case 36: { + l = 0; + break a + } + case 2: { + m = 29; + break b + } + case 3: { + m = 32; + break b + } + case 4: { + m = 35; + break b + } + case 5: { + m = 37; + break b + } + case 6: { + m = 39; + break b + } + case 7: { + m = 42; + break b + } + case 8: { + m = 44; + break b + } + case 9: { + m = 47; + break b + } + case 10: { + m = 49; + break b + } + case 11: { + m = 51; + break b + } + case 22: { + m = 83; + break b + } + case 24: { + m = 89; + break b + } + case 25: { + m = 92; + break b + } + case 26: { + m = 95; + break b + } + case 27: { + m = 98; + break b + } + case 28: { + m = 101; + break b + } + case 29: { + m = 104; + break b + } + case 30: { + m = 109; + break b + } + case 31: { + m = 112; + break b + } + case 32: { + m = 115; + break b + } + case 34: { + m = 121; + break b + } + case 0: + break f; + case 35: + break; + default: { + m = 134; + break a + } + } + h = c[46193] | 0; + a[f >> 0] = a[191725] | 0; + e = c[46201] | 0; + g = c[e >> 2] | 0; + if (!(c[g + 44 >> 2] | 0)) { + n = c[g + 16 >> 2] | 0; + c[46206] = n; + c[g >> 2] = c[46191]; + g = c[e >> 2] | 0; + c[g + 44 >> 2] = 1; + e = n + } else e = c[46206] | 0; + if ((c[46202] | 0) >>> 0 <= ((c[g + 4 >> 2] | 0) + e | 0) >>> 0) { + m = 128; + break e + } + switch (gA() | 0) { + case 0: { + m = 132; + break d + } + case 2: { + m = 133; + break e + } + case 1: + break; + default: + continue a + } + c[46202] = c[46193]; + e = (((c[46200] | 0) + -1 | 0) / 2 | 0) + 36 | 0 + } + a[f >> 0] = a[191725] | 0; + f = c[46204] | 0; + e = c[46203] | 0 + } + if ((m | 0) == 128) { + m = 0; + g = i - h | 0; + h = c[46193] | 0; + f = h + (g + -1) | 0; + c[46202] = f; + e = eA() | 0; + i = fA(e) | 0; + j = c[46193] | 0; + if (!i) continue; else { + m = 129; + break + } + } else if ((m | 0) == 133) { + m = 0; + f = (c[(c[c[46201] >> 2] | 0) + 4 >> 2] | 0) + (c[46206] | 0) | 0; + c[46202] = f; + e = eA() | 0; + j = c[46193] | 0; + continue + } + } + if ((m | 0) == 129) { + m = 0; + f = h + g | 0; + c[46202] = f; + e = i; + continue + } else if ((m | 0) == 132) { + m = 0; + f = (c[46193] | 0) + (i - h + -1) | 0; + c[46202] = f; + e = eA() | 0; + j = c[46193] | 0; + continue + } + } + switch (m | 0) { + case 29: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[4699] = (c[4699] | 0) + 1; + continue a + } + case 32: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[46200] = 3; + continue a + } + case 35: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 37: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 39: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[46200] = 1; + continue a + } + case 42: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 44: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + _z(); + continue a + } + case 47: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 49: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 51: { + m = 0; + e = c[46194] | 0; + if (!e) continue a; + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + continue a + } + case 83: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[46200] = 5; + aA(); + continue a + } + case 89: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + cA(95669); + continue a + } + case 92: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + cA(93534); + continue a + } + case 95: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[4699] = (c[4699] | 0) + 1; + continue a + } + case 98: { + m = 0; + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + cA(e); + continue a + } + case 101: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[46200] = 7; + c[46205] = 1; + aA(); + continue a + } + case 104: { + m = 0; + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + n = (c[46205] | 0) + -1 | 0; + c[46205] = n; + if (!n) { + m = 108; + break a + } + cA(c[46193] | 0); + continue a + } + case 109: { + m = 0; + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + c[46205] = (c[46205] | 0) + 1; + cA(e); + continue a + } + case 112: { + m = 0; + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + cA(e); + c[4699] = (c[4699] | 0) + 1; + continue a + } + case 115: { + m = 0; + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + cA(e); + continue a + } + case 121: { + m = 0; + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + E1(e, f, 1, c[46192] | 0) | 0; + continue a + } + } + } + switch (m | 0) { + case 27: { + e = c[46194] | 0; + if (!e) l = -1; else { + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = -1 + } + break + } + case 53: { + e = c[46194] | 0; + if (!e) l = 259; else { + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = 259 + } + break + } + case 55: { + e = c[46194] | 0; + if (!e) l = 260; else { + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = 260 + } + break + } + case 57: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + if (!(c[46198] | 0)) { + c[46198] = 258; + l = 258 + } else l = 258; + break + } + case 61: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + if (!(c[46198] | 0)) { + c[46198] = 261; + l = 261 + } else l = 261; + break + } + case 65: { + e = c[46194] | 0; + if (!e) l = 263; else { + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = 263 + } + break + } + case 67: { + e = c[46194] | 0; + if (!e) l = 262; else { + c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = 262 + } + break + } + case 69: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = (c[46198] | 0) == 261 ? 264 : 45; + break + } + case 72: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + l = (c[46198] | 0) == 258 ? 264 : 45; + break + } + case 75: { + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + c[46221] = Oz(c[46171] | 0, e) | 0; + l = 267; + break + } + case 78: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + if ($z() | 0) { + m = (c[46194] | 0) + -1 | 0; + a[f >> 0] = a[191725] | 0; + n = j + m | 0; + c[46202] = n; + c[46193] = j; + c[46194] = m; + a[191725] = a[n >> 0] | 0; + a[n >> 0] = 0; + c[46202] = n + } + c[46221] = Oz(c[46171] | 0, c[46193] | 0) | 0; + l = 267; + break + } + case 86: { + e = c[46194] | 0; + if (e | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[(c[46193] | 0) + (e + -1) >> 0] | 0) == 10 & 1; + c[46200] = 1; + bA(); + l = 268; + break + } + case 108: { + c[46200] = 1; + dA(); + l = 268; + break + } + case 118: { + f = c[46194] | 0; + e = c[46193] | 0; + if (f | 0) c[(c[c[46201] >> 2] | 0) + 28 >> 2] = (a[e + (f + -1) >> 0] | 0) == 10 & 1; + l = a[e >> 0] | 0; + break + } + case 134: { + hA(93537); + break + } + } + return l | 0 + } + + function Xz() { + var a = 0, b = 0, d = 0; + b = c[46201] | 0; + do if (!b) { + a = oA(4) | 0; + c[46201] = a; + if (!a) hA(93895); else { + c[a >> 2] = 0; + a = 1; + d = 9; + break + } + } else { + a = c[46212] | 0; + if (0 >= (a + -1 | 0) >>> 0) { + a = a + 8 | 0; + b = iA(b, a << 2) | 0; + c[46201] = b; + if (!b) hA(93895); else { + d = b + (c[46212] << 2) | 0; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + c[d + 8 >> 2] = 0; + c[d + 12 >> 2] = 0; + c[d + 16 >> 2] = 0; + c[d + 20 >> 2] = 0; + c[d + 24 >> 2] = 0; + c[d + 28 >> 2] = 0; + d = 9; + break + } + } + } while (0); + if ((d | 0) == 9) c[46212] = a; + return + } + + function Yz(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = oA(48) | 0; + if (!d) hA(93850); + c[d + 12 >> 2] = b; + b = oA(b + 2 | 0) | 0; + c[d + 4 >> 2] = b; + if (!b) hA(93850); else { + c[d + 20 >> 2] = 1; + kA(d, a); + return d | 0 + } + return 0 + } + + function Zz() { + var b = 0, d = 0; + d = c[46201] | 0; + b = c[d >> 2] | 0; + c[46206] = c[b + 16 >> 2]; + b = c[b + 8 >> 2] | 0; + c[46202] = b; + c[46193] = b; + c[46191] = c[c[d >> 2] >> 2]; + a[191725] = a[b >> 0] | 0; + return + } + + function _z() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 32 | 0; + f = g; + d = g + 16 | 0; + e = g + 12 | 0; + h = c[46193] | 0; + b = h + 1 | 0; + i = (z$(b, 93834, 4) | 0) == 0; + b = i ? h + 5 | 0 : b; + c[f >> 2] = e; + c[f + 4 >> 2] = g + 20; + c[f + 8 >> 2] = d; + f = N1(b, 93839, f) | 0; + if ((f | 0) > 0 ? (c[4699] = (c[e >> 2] | 0) + -1, (f | 0) != 1) : 0) { + d = b + (c[d >> 2] | 0) | 0; + b = d; + a:while (1) { + e = a[b >> 0] | 0; + switch (e << 24 >> 24) { + case 0: + case 34: + break a; + default: { + } + } + b = b + 1 | 0 + } + if ((b | 0) != (d | 0) & e << 24 >> 24 == 34) { + a[b >> 0] = 0; + nA(d, b - d | 0) + } + } + l = g; + return + } + + function $z() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = l; + l = l + 2080 | 0; + i = j + 8 | 0; + f = j; + b = j + 1056 | 0; + d = j + 32 | 0; + h = j + 16 | 0; + k = a[(c[46193] | 0) + ((c[46194] | 0) + -1) >> 0] | 0; + e = k << 24 >> 24 == 46; + if (e | ((k & 255) + -48 | 0) >>> 0 < 10) if (e ? (mA() | 0) != 0 : 0) g = 4; else b = 0; else g = 4; + if ((g | 0) == 4) { + k = c[46195] | 0; + Tw(h, 1024, b); + Ww(h, 93745) | 0; + Ww(h, c[46193] | 0) | 0; + c[f >> 2] = c[4699]; + Y0(d, 93789, f) | 0; + Ww(h, d) | 0; + Ww(h, (k | 0) == 0 ? 93739 : k) | 0; + Ww(h, 93806) | 0; + d = h + 4 | 0; + b = c[d >> 2] | 0; + if (b >>> 0 >= (c[h + 8 >> 2] | 0) >>> 0) { + Uw(h, 1) | 0; + b = c[d >> 2] | 0 + } + a[b >> 0] = 0; + b = c[h >> 2] | 0; + c[d >> 2] = b; + c[i >> 2] = b; + Pw(0, 93831, i) | 0; + Xw(h); + b = 1 + } + l = j; + return b | 0 + } + + function aA() { + var b = 0; + b = c[46207] | 0; + if (!b) { + b = C_(1024) | 0; + c[46207] = b; + c[46209] = b + 1024 + } + c[46208] = b; + a[b >> 0] = 0; + return + } + + function bA() { + c[46221] = Oz(c[46171] | 0, c[46207] | 0) | 0; + a[c[46207] >> 0] = 0; + return + } + + function cA(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + e = c[46208] | 0; + d = c[46207] | 0; + if (e >>> 0 > d >>> 0) { + e = e + -1 | 0; + f = 3 + } + a:while (1) { + if ((f | 0) == 3) c[46208] = e; + f = c[46209] | 0; + g = f; + do { + h = b; + b = b + 1 | 0; + h = a[h >> 0] | 0; + i = e; + e = e + 1 | 0; + a[i >> 0] = h; + if (!(h << 24 >> 24)) break a + } while (e >>> 0 < f >>> 0); + c[46208] = e; + f = d; + i = g - f << 1; + d = F_(d, i) | 0; + c[46207] = d; + c[46209] = d + i; + e = d + (e - f) | 0; + f = 3 + } + c[46208] = e; + return + } + + function dA() { + c[46221] = Pz(c[46171] | 0, c[46207] | 0) | 0; + a[c[46207] >> 0] = 0; + return + } + + function eA() { + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = c[46202] | 0; + g = c[46193] | 0; + e = (c[(c[c[46201] >> 2] | 0) + 28 >> 2] | 0) + (c[46200] | 0) | 0; + while (1) { + if (g >>> 0 >= h >>> 0) break; + d = a[g >> 0] | 0; + if (!(d << 24 >> 24)) d = 1; else d = c[18800 + ((d & 255) << 2) >> 2] | 0; + if (b[63752 + (e << 1) >> 1] | 0) { + c[46203] = e; + c[46204] = g + } + a:while (1) { + f = d & 255; + do { + d = f + (b[63938 + (e << 1) >> 1] | 0) | 0; + if ((e | 0) == (b[64148 + (d << 1) >> 1] | 0)) break a; + d = b[64684 + (e << 1) >> 1] | 0; + e = d << 16 >> 16 + } while (d << 16 >> 16 <= 92); + d = c[19824 + (f << 2) >> 2] | 0 + } + g = g + 1 | 0; + e = b[64894 + (d << 1) >> 1] | 0 + } + return e | 0 + } + + function fA(a) { + a = a | 0; + var d = 0; + if (b[63752 + (a << 1) >> 1] | 0) { + d = c[46202] | 0; + c[46203] = a; + c[46204] = d + } + while (1) { + d = (b[63938 + (a << 1) >> 1] | 0) + 1 | 0; + if ((a | 0) == (b[64148 + (d << 1) >> 1] | 0)) break; + a = b[64684 + (a << 1) >> 1] | 0 + } + d = b[64894 + (d << 1) >> 1] | 0; + return (d << 16 >> 16 == 92 ? 0 : d << 16 >> 16) | 0 + } + + function gA() { + 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; + j = c[46201] | 0; + g = c[j >> 2] | 0; + i = c[g + 4 >> 2] | 0; + f = c[46193] | 0; + l = c[46202] | 0; + k = l; + if (l >>> 0 > (i + ((c[46206] | 0) + 1) | 0) >>> 0) hA(93592); + h = k - f | 0; + if (!(c[g + 40 >> 2] | 0)) b = (h | 0) == 1 ? 1 : 2; else { + l = h + -1 | 0; + h = i; + g = 0; + while (1) { + if ((g | 0) >= (l | 0)) break; + a[h >> 0] = a[f >> 0] | 0; + h = h + 1 | 0; + f = f + 1 | 0; + g = g + 1 | 0 + } + f = c[j >> 2] | 0; + do if ((c[f + 44 >> 2] | 0) == 2) { + c[46206] = 0; + c[f + 16 >> 2] = 0; + e = f; + m = 17 + } else { + while (1) { + i = f + 12 | 0; + h = c[i >> 2] | 0; + g = h - l + -1 | 0; + if (g | 0) { + m = 16; + break + } + g = f + 4 | 0; + j = c[g >> 2] | 0; + if (!(c[f + 20 >> 2] | 0)) { + m = 12; + break + } + f = h << 1; + f = (f | 0) == 0 ? (h >>> 3) + h | 0 : f; + c[i >> 2] = f; + f = iA(j, f + 2 | 0) | 0; + c[g >> 2] = f; + if (!f) break; + j = f + (k - j) | 0; + c[46202] = j; + f = c[c[46201] >> 2] | 0; + k = j + } + if ((m | 0) == 12) c[g >> 2] = 0; else if ((m | 0) == 16) { + d = nb[c[c[(c[46196] | 0) + 8 >> 2] >> 2] & 63](c[46197] | 0, (c[f + 4 >> 2] | 0) + l | 0, g >>> 0 < 8192 ? g : 8192) | 0; + e = c[c[46201] >> 2] | 0; + c[46206] = d; + c[e + 16 >> 2] = d; + if (!d) { + m = 17; + break + } else { + b = 0; + break + } + } + hA(93648) + } while (0); + do if ((m | 0) == 17) if (!l) { + jA(c[46191] | 0); + b = 1; + d = c[46206] | 0; + e = c[c[46201] >> 2] | 0; + break + } else { + c[e + 44 >> 2] = 2; + b = 2; + d = 0; + break + } while (0); + f = d + l | 0; + do if (f >>> 0 > (c[e + 12 >> 2] | 0) >>> 0) { + m = iA(c[e + 4 >> 2] | 0, f + (d >>> 1) | 0) | 0; + d = c[46201] | 0; + c[(c[d >> 2] | 0) + 4 >> 2] = m; + d = c[(c[d >> 2] | 0) + 4 >> 2] | 0; + if (!d) hA(93692); else { + n = c[46206] | 0; + o = d; + break + } + } else { + n = d; + o = c[e + 4 >> 2] | 0 + } while (0); + n = n + l | 0; + c[46206] = n; + a[o + n >> 0] = 0; + o = c[46201] | 0; + a[(c[(c[o >> 2] | 0) + 4 >> 2] | 0) + ((c[46206] | 0) + 1) >> 0] = 0; + c[46193] = c[(c[o >> 2] | 0) + 4 >> 2] + } + return b | 0 + } + + function hA(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = c[15686] | 0; + c[b >> 2] = a; + g1(d, 93588, b) | 0; + Sa(2) + } + + function iA(a, b) { + a = a | 0; + b = b | 0; + return F_(a, b) | 0 + } + + function jA(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = c[46201] | 0; + if ((d | 0) != 0 ? (b = c[d >> 2] | 0, (b | 0) != 0) : 0) e = 4; else { + Xz(); + b = Yz(c[46191] | 0, 16384) | 0; + d = c[46201] | 0; + c[d >> 2] = b; + if (!d) b = 0; else e = 4 + } + kA(b, a); + Zz(); + return + } + + function kA(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[(O_() | 0) >> 2] | 0; + lA(a); + c[a >> 2] = b; + c[a + 40 >> 2] = 1; + b = c[46201] | 0; + if (!b) b = 0; else b = c[b >> 2] | 0; + if ((b | 0) != (a | 0)) { + c[a + 32 >> 2] = 1; + c[a + 36 >> 2] = 0 + } + c[a + 24 >> 2] = 0; + c[(O_() | 0) >> 2] = d; + return + } + + function lA(b) { + b = b | 0; + var d = 0; + if (b | 0) { + c[b + 16 >> 2] = 0; + d = b + 4 | 0; + a[c[d >> 2] >> 0] = 0; + a[(c[d >> 2] | 0) + 1 >> 0] = 0; + c[b + 8 >> 2] = c[d >> 2]; + c[b + 28 >> 2] = 1; + c[b + 44 >> 2] = 0; + d = c[46201] | 0; + if (!d) d = 0; else d = c[d >> 2] | 0; + if ((d | 0) == (b | 0)) Zz() + } + return + } + + function mA() { + var b = 0, d = 0; + d = c[46193] | 0; + b = (c[46194] | 0) + -2 | 0; + while (1) { + if ((b | 0) <= -1) { + b = 0; + break + } + if ((a[d + b >> 0] | 0) == 46) { + b = 1; + break + } else b = b + -1 | 0 + } + return b | 0 + } + + function nA(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[46210] | 0; + if ((d | 0) < (b | 0)) { + if (!d) d = C_(b + 1 | 0) | 0; else d = F_(c[46211] | 0, b + 1 | 0) | 0; + c[46211] = d; + c[46210] = b + } else d = c[46211] | 0; + b0(d, a) | 0; + c[46195] = c[46211]; + return + } + + function oA(a) { + a = a | 0; + return C_(a) | 0 + } + + function pA(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 2112 | 0; + k = m + 32 | 0; + i = m + 24 | 0; + h = m + 16 | 0; + g = m + 8 | 0; + f = m; + d = m + 56 | 0; + j = m + 40 | 0; + Tw(j, 1024, m + 1080 | 0); + e = c[46195] | 0; + if (e | 0) { + Ww(j, e) | 0; + Ww(j, 93945) | 0 + } + Ww(j, b) | 0; + c[f >> 2] = c[4699]; + Y0(d, 93948, f) | 0; + Ww(j, d) | 0; + a:do if (!(a[c[46193] >> 0] | 0)) switch (((c[46200] | 0) + -1 | 0) / 2 | 0 | 0) { + case 2: { + c[g >> 2] = 16384; + Y0(d, 93968, g) | 0; + Ww(j, d) | 0; + b = c[46207] | 0; + if (!(a[b >> 0] | 0)) break a; + i = W_(b) | 0; + Ww(j, 94030) | 0; + b = c[46207] | 0; + if ((i | 0) > 80) a[b + 80 >> 0] = 0; + Ww(j, b) | 0; + break a + } + case 3: { + c[h >> 2] = 16384; + Y0(d, 94049, h) | 0; + Ww(j, d) | 0; + b = c[46207] | 0; + if (!(a[b >> 0] | 0)) break a; + i = W_(b) | 0; + Ww(j, 94117) | 0; + b = c[46207] | 0; + if ((i | 0) > 80) a[b + 80 >> 0] = 0; + Ww(j, b) | 0; + break a + } + case 1: { + c[i >> 2] = 16384; + Y0(d, 94136, i) | 0; + Ww(j, d) | 0; + break a + } + default: + break a + } else { + Ww(j, 93960) | 0; + Ww(j, c[46193] | 0) | 0; + d = j + 4 | 0; + b = c[d >> 2] | 0; + if (b >>> 0 >= (c[j + 8 >> 2] | 0) >>> 0) { + Uw(j, 1) | 0; + b = c[d >> 2] | 0 + } + c[d >> 2] = b + 1; + a[b >> 0] = 39 + } while (0); + e = j + 4 | 0; + b = c[e >> 2] | 0; + d = j + 8 | 0; + if (b >>> 0 >= (c[d >> 2] | 0) >>> 0) { + Uw(j, 1) | 0; + b = c[e >> 2] | 0 + } + c[e >> 2] = b + 1; + a[b >> 0] = 10; + b = c[e >> 2] | 0; + if (b >>> 0 >= (c[d >> 2] | 0) >>> 0) { + Uw(j, 1) | 0; + b = c[e >> 2] | 0 + } + a[b >> 0] = 0; + i = c[j >> 2] | 0; + c[e >> 2] = i; + c[k >> 2] = i; + Pw(1, 93831, k) | 0; + Xw(j); + l = m; + return + } + + function qA() { + rA(c[46193] | 0); + return + } + + function rA(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + j = c[46202] | 0; + a[j >> 0] = a[191725] | 0; + i = c[46201] | 0; + e = c[i >> 2] | 0; + d = c[e + 4 >> 2] | 0; + if (j >>> 0 < (d + 2 | 0) >>> 0) { + f = d + ((c[46206] | 0) + 2) | 0; + g = d + ((c[e + 12 >> 2] | 0) + 2) | 0; + k = d; + h = e; + while (1) { + if (f >>> 0 <= k >>> 0) break; + e = f + -1 | 0; + k = g + -1 | 0; + a[k >> 0] = a[e >> 0] | 0; + h = c[i >> 2] | 0; + f = e; + g = k; + k = c[h + 4 >> 2] | 0 + } + e = g - f | 0; + d = j + e | 0; + j = c[h + 12 >> 2] | 0; + c[46206] = j; + c[h + 16 >> 2] = j; + if (d >>> 0 < (k + 2 | 0) >>> 0) hA(94195); else { + l = b + e | 0; + m = d + } + } else { + l = b; + m = j + } + b = m + -1 | 0; + a[b >> 0] = 64; + c[46193] = l; + a[191725] = a[b >> 0] | 0; + c[46202] = b; + return + } + + function sA() { + var a = 0; + a = c[46201] | 0; + if (!a) a = 0; else a = c[a >> 2] | 0; + lA(a); + return + } + + function tA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = l; + l = l + 80 | 0; + f = e; + g = a + 52 | 0; + FA(a, c[g >> 2] | 0, 18444); + a = f + 8 | 0; + c[a >> 2] = b; + c[a + 4 >> 2] = d; + d = c[g >> 2] | 0; + d = nb[c[d >> 2] & 63](d, f, 4) | 0; + l = e; + return d | 0 + } + + function uA(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + f = tA(b, d, e) | 0; + if (!f) { + f = My(b, 72) | 0; + c[f + 64 >> 2] = c[b + 64 >> 2]; + g = f + 24 | 0; + h = c[b + 24 >> 2] | 0; + c[g >> 2] = h; + a[g >> 0] = h & 255 & -9; + c[f + 56 >> 2] = b; + c[f + 60 >> 2] = c[b + 60 >> 2]; + b = f + 8 | 0; + c[b >> 2] = d; + c[b + 4 >> 2] = e; + Zx(f) | 0 + } + return f | 0 + } + + function vA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!(((b | 0) != 0 ? (oy(a, 0, b, f, 0) | 0) != 0 : 0) ? (e = f, e = tA(a, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0, (e | 0) != 0) : 0)) if ((d | 0) != 0 ? (oy(a, 0, b, f, 1) | 0) != 0 : 0) { + e = f; + e = uA(a, c[e >> 2] | 0, c[e + 4 >> 2] | 0) | 0; + sy(a, 0, e) + } else e = 0; + l = g; + return e | 0 + } + + function wA(a) { + a = a | 0; + a = c[a + 52 >> 2] | 0; + return nb[c[a >> 2] & 63](a, 0, 128) | 0 + } + + function xA(a) { + a = a | 0; + var b = 0; + b = yA(a) | 0; + if (!b) a = 0; else { + b = c[b + 52 >> 2] | 0; + a = nb[c[b >> 2] & 63](b, a, 8) | 0 + } + return a | 0 + } + + function yA(a) { + a = a | 0; + return c[a + 56 >> 2] | 0 + } + + function zA(a, b) { + a = a | 0; + b = b | 0; + a = c[a + 52 >> 2] | 0; + return nb[c[a >> 2] & 63](a, b, 2) | 0 + } + + function AA(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[46213] | 0; + e = (b | 0) != 0; + do if (!a) if (e) { + D_(b); + a = 0; + break + } else { + a = C_(d) | 0; + break + } else if (e) { + Ny(a, b); + a = 0; + break + } else { + a = My(a, d) | 0; + break + } while (0); + return a | 0 + } + + function BA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a = c[46213] | 0; + if (!a) D_(b); else Ny(a, b); + return + } + + function CA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = b + 28 | 0; + f = c[e >> 2] | 0; + c[e >> 2] = 7; + c[46213] = a; + d = Cw(b, d) | 0; + c[e >> 2] = f; + c[46213] = 0; + return d | 0 + } + + function DA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + c[46213] = a; + return nb[c[b >> 2] & 63](b, d, 2) | 0 + } + + function EA(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = (Kw(b, 0, 0) | 0) + 28 | 0; + e = c[d >> 2] | 0; + c[d >> 2] = 7; + c[46213] = a; + if (!(yw(b) | 0)) { + c[d >> 2] = e; + c[46213] = 0; + a = 0 + } else a = 1; + return a | 0 + } + + function FA(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if (c | 0 ? (Kw(b, 0, 0) | 0) != (c | 0) : 0) Kw(b, c, 0) | 0; + return + } + + function GA(a, b) { + a = a | 0; + b = b | 0; + if (!(Rz(a) | 0)) b = IA(a, b) | 0; else HA(a, b) | 0; + return b | 0 + } + + function HA(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0; + a[c >> 0] = 60; + e = c; + while (1) { + d = e + 1 | 0; + f = a[b >> 0] | 0; + if (!(f << 24 >> 24)) break; + a[d >> 0] = f; + b = b + 1 | 0; + e = d + } + a[d >> 0] = 62; + a[e + 2 >> 0] = 0; + return c | 0 + } + + function IA(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + a:do if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) { + a[d >> 0] = 34; + l = a[b >> 0] | 0; + q = 0; + g = ((l + -45 & 255) < 2 | ((l & 255) + -48 | 0) >>> 0 < 10) & 1; + h = 0; + i = 0; + j = 0; + e = d + 1 | 0; + f = b + 1 | 0; + b:while (1) { + k = e; + while (1) { + if (!(l << 24 >> 24)) break b; + e = l & 255; + c:do if (l << 24 >> 24 == 34) { + a[k >> 0] = 92; + m = g; + n = 1; + k = k + 1 | 0 + } else { + if (!g) { + n = l << 24 >> 24 > -1 & (l << 24 >> 24 != 95 & (M$(e) | 0) == 0); + m = 0; + n = n ? 1 : h; + break + } + switch (l << 24 >> 24) { + case 45: { + n = (j | 0) == 0; + m = n ? g : 0; + n = n ? h : 1; + break c + } + case 46: { + n = (i | 0) == 0; + m = n ? g : 0; + n = n ? h : 1; + i = i + 1 | 0; + break c + } + default: { + n = (e + -48 | 0) >>> 0 < 10; + m = n ? g : 0; + n = n ? h : 1; + break c + } + } + } while (0); + e = k + 1 | 0; + a[k >> 0] = l; + p = f + 1 | 0; + o = a[f >> 0] | 0; + j = j + 1 | 0; + f = c[5005] | 0; + if (!f) { + g = m; + h = n; + k = e; + f = p; + l = o; + continue + } + g = o & 255; + h = o << 24 >> 24 != 0; + if ((q & h ? !(l << 24 >> 24 == 92 | l << 24 >> 24 > -1 & ((l + -45 & 255) > 1 & (M$(l << 24 >> 24) | 0) == 0) ^ 1) : 0) ? !(o << 24 >> 24 > -1 & ((o + -45 & 255) > 1 & (M$(g) | 0) == 0)) : 0) break; + if ((j | 0) < (f | 0) | h ^ 1) { + g = m; + h = n; + k = e; + f = p; + l = o; + continue + } + if (l << 24 >> 24 == 92 | l << 24 >> 24 > -1 & ((M$(l << 24 >> 24) | 0) == 0 & (l + -45 & 255) > 1) ^ 1) { + q = 1; + g = m; + h = n; + l = o; + f = p; + continue b + } + if (o << 24 >> 24 > -1 & ((o + -45 & 255) > 1 & (M$(g) | 0) == 0)) { + q = 1; + g = m; + h = n; + l = o; + f = p; + continue b + } + a[e >> 0] = 92; + a[k + 2 >> 0] = 10; + g = m; + h = 1; + j = 0; + k = k + 3 | 0; + f = p; + l = o + } + a[e >> 0] = 92; + a[k + 2 >> 0] = 10; + q = 0; + g = m; + h = 1; + j = 0; + l = o; + e = k + 3 | 0; + f = p + } + a[k >> 0] = 34; + a[k + 1 >> 0] = 0; + if (!h) { + if ((j | 0) == 1 ? ((a[b >> 0] | 0) + -45 & 255) < 2 : 0) { + b = d; + break + } else e = 20024; + while (1) { + f = c[e >> 2] | 0; + if (!f) break a; + if (!(O$(f, b) | 0)) { + b = d; + break + } else e = e + 4 | 0 + } + } else b = d + } else b = 94227; while (0); + return b | 0 + } + + function JA(a) { + a = a | 0; + return GA(a, KA(a) | 0) | 0 + } + + function KA(a) { + a = a | 0; + var b = 0; + b = ((W_(a) | 0) << 1) + 2 | 0; + b = b >>> 0 > 1024 ? b : 1024; + a = c[46215] | 0; + if (b >>> 0 > (c[46214] | 0) >>> 0) { + if (!a) a = C_(b) | 0; else a = F_(a, b) | 0; + c[46215] = a; + c[46214] = b + } + return a | 0 + } + + function LA(a, b) { + a = a | 0; + b = b | 0; + a = wA(a) | 0; + while (1) { + if (!a) { + a = 0; + break + } + if ((MA(a) | 0) == 0 ? Xy(a, b, 0) | 0 : 0) { + a = 1; + break + } + a = xA(a) | 0 + } + return a | 0 + } + + function MA(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = ry(b) | 0; + if ((h | 0) != 0 ? (a[h >> 0] | 0) != 37 : 0) d = 0; else e = 3; + a:do if ((e | 0) == 3) { + d = dx(b) | 0; + b:do if (d | 0 ? (f = dx(yA(b) | 0) | 0, f | 0) : 0) { + h = Ew(c[(dx(fz(b) | 0) | 0) + 8 >> 2] | 0) | 0; + g = d + 12 | 0; + e = f + 12 | 0; + d = 0; + while (1) { + if ((d | 0) >= (h | 0)) break b; + f = c[(c[g >> 2] | 0) + (d << 2) >> 2] | 0; + if ((f | 0 ? (i = c[(c[e >> 2] | 0) + (d << 2) >> 2] | 0, i | 0) : 0) ? b$(f, i) | 0 : 0) { + d = 0; + break a + } + d = d + 1 | 0 + } + } while (0); + d = _w(b, 0) | 0; + if (d) if ((Ew(c[d + 8 >> 2] | 0) | 0) > 0) d = 0; else return (Ew(c[d + 12 >> 2] | 0) | 0) < 1 | 0; else d = 1 + } while (0); + return d | 0 + } + + function NA(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + c[46216] = 0; + e = xx(b, 94237) | 0; + if ((e | 0 ? ((a[e >> 0] | 0) + -48 | 0) >>> 0 < 10 : 0) ? (f = i1(e, 0, 10) | 0, (f | 0) == 0 | (f | 0) > 59) : 0) c[5005] = f; + OA(b, 1); + if (((PA(b, d, 1) | 0) != -1 ? (QA(b, d) | 0) != -1 : 0) ? (RA(b, d) | 0) != -1 : 0) { + c[5005] = 128; + b = kb[c[(c[(c[b + 64 >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] & 63](d) | 0 + } else b = -1; + return b | 0 + } + + function OA(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + c[a >> 2] = c[a >> 2] & -9; + d = wA(a) | 0; + while (1) { + if (!d) break; + OA(d, 0); + d = xA(d) | 0 + } + a:do if (b | 0) { + b = Sy(a) | 0; + while (1) { + if (!b) break a; + c[b >> 2] = c[b >> 2] & -9; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + c[d >> 2] = c[d >> 2] & -9; + d = Gx(a, d) | 0 + } + b = Ty(a, b) | 0 + } + } while (0); + return + } + + function PA(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + if ((e | 0) == 0 ? (yA(b) | 0) != 0 : 0) { + i = 0; + g = 191979; + k = 106488 + } else { + k = (a[b + 24 >> 0] & 1) == 0 ? 191979 : 94281; + g = (gy(b) | 0) == 0; + c[46217] = nx(b, 2, 108373, 0) | 0; + c[46218] = nx(b, 2, 108382, 0) | 0; + i = 1; + g = g ? 191979 : 94284 + } + f = ry(b) | 0; + if ((f | 0) != 0 ? (a[f >> 0] | 0) != 37 : 0) { + h = 1; + j = 99578 + } else { + h = 0; + j = 191979; + f = 191979 + } + do if ((SA(b, d) | 0) != -1 ? (TA(b, d, g) | 0) != -1 : 0) { + g = (h | 0) == 0; + if (h | i | 0) { + if ((TA(b, d, k) | 0) == -1) { + f = -1; + break + } + if ((TA(b, d, 99571) | 0) == -1) { + f = -1; + break + } + } + if (!g ? (cB(b, d, f) | 0) == -1 : 0) { + f = -1; + break + } + if (((TA(b, d, j) | 0) != -1 ? (TA(b, d, 94292) | 0) != -1 : 0) ? (c[46216] = (c[46216] | 0) + 1, (hB(b, d, e) | 0) != -1) : 0) { + c[b >> 2] = c[b >> 2] | 8; + f = 0 + } else f = -1 + } else f = -1; while (0); + return f | 0 + } + + function QA(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; + a:do if ((UA(a, b) | 0) == -1) d = -1; else { + k = _w(fz(a) | 0, 0) | 0; + i = (k | 0) == 0; + j = k + 12 | 0; + k = k + 8 | 0; + h = Sy(a) | 0; + while (1) { + if (!h) { + d = 0; + break a + } + if (VA(a, h, (c[h >> 2] | 0) >>> 4, 0) | 0) { + if (i) d = 0; else d = c[k >> 2] | 0; + if ((WA(h, b, d) | 0) == -1) { + d = -1; + break a + } + } + g = Ex(a, h) | 0; + d = h; + while (1) { + if (!g) break; + f = g + -48 | 0; + e = c[((c[g >> 2] & 3 | 0) == 2 ? g : f) + 40 >> 2] | 0; + if ((d | 0) != (e | 0) ? (VA(a, e, (c[h >> 2] | 0) >>> 4, 0) | 0) != 0 : 0) { + if (i) d = 0; else d = c[k >> 2] | 0; + if ((WA(c[((c[g >> 2] & 3 | 0) == 2 ? g : f) + 40 >> 2] | 0, b, d) | 0) == -1) { + d = -1; + break a + } + d = c[((c[g >> 2] & 3 | 0) == 2 ? g : f) + 40 >> 2] | 0 + } + if (XA(a, g) | 0) { + if (i) e = 0; else e = c[j >> 2] | 0; + if ((YA(g, b, e) | 0) == -1) { + d = -1; + break a + } + } + g = Gx(a, g) | 0 + } + h = Ty(a, h) | 0 + } + } while (0); + return d | 0 + } + + function RA(a, b) { + a = a | 0; + b = b | 0; + c[46216] = (c[46216] | 0) + -1; + if ((SA(a, b) | 0) == -1) a = -1; else a = ((TA(a, b, 107982) | 0) == -1) << 31 >> 31; + return a | 0 + } + + function SA(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[46216] | 0; + while (1) { + if ((d | 0) <= 0) { + d = 0; + break + } + if ((TA(a, b, 150515) | 0) == -1) { + d = -1; + break + } else d = d + -1 | 0 + } + return d | 0 + } + + function TA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + return lb[c[(c[(c[a + 64 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] & 127](b, d) | 0 + } + + function UA(a, b) { + a = a | 0; + b = b | 0; + a = wA(a) | 0; + while (1) { + if (!a) { + a = 0; + break + } + if (!(MA(a) | 0)) { + if ((PA(a, b, 0) | 0) == -1) { + a = -1; + break + } + if ((QA(a, b) | 0) == -1) { + a = -1; + break + } + if ((RA(a, b) | 0) == -1) { + a = -1; + break + } + } else UA(a, b) | 0; + a = xA(a) | 0 + } + return a | 0 + } + + function VA(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + if ((LA(a, b) | 0) == 0 ? (eB(a, b, c, d) | 0) != 0 : 0) if ((fB(a, b) | 0) == 0 ? (gB(b) | 0) == 0 : 0) e = 5; else a = 1; else e = 5; + if ((e | 0) == 5) a = 0; + return a | 0 + } + + function WA(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + d = ez(a) | 0; + do if ((SA(d, b) | 0) != -1 ? (ZA(a, b) | 0) != -1 : 0) { + if (($A(a) | 0) == 0 ? (aB(a, b, c) | 0) == -1 : 0) { + a = -1; + break + } + a = TA(d, b, 94248) | 0 + } else a = -1; while (0); + return a | 0 + } + + function XA(a, b) { + a = a | 0; + b = b | 0; + a = wA(a) | 0; + while (1) { + if (!a) { + a = 1; + break + } + if ((MA(a) | 0) == 0 ? Vx(a, b, 0) | 0 : 0) { + a = 0; + break + } + a = xA(a) | 0 + } + return a | 0 + } + + function YA(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = c[a >> 2] & 3; + g = c[((e | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + e = c[((e | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + f = ez(g) | 0; + do if ((((((SA(f, b) | 0) != -1 ? (ZA(g, b) | 0) != -1 : 0) ? (_A(a, b, c[46217] | 0) | 0) != -1 : 0) ? (g = (ey(ez(g) | 0) | 0) != 0, (TA(f, b, g ? 97053 : 97058) | 0) != -1) : 0) ? (ZA(e, b) | 0) != -1 : 0) ? (_A(a, b, c[46218] | 0) | 0) != -1 : 0) { + if (!($A(a) | 0)) { + if ((aB(a, b, d) | 0) == -1) { + a = -1; + break + } + } else if ((bB(a, b, 1) | 0) == -1) { + a = -1; + break + } + a = TA(f, b, 94248) | 0 + } else a = -1; while (0); + return a | 0 + } + + function ZA(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = l; + l = l + 32 | 0; + g = i; + d = i + 8 | 0; + e = ry(a) | 0; + f = ez(a) | 0; + if (!e) { + j = a + 8 | 0; + a = c[j + 4 >> 2] | 0; + e = g; + c[e >> 2] = c[j >> 2]; + c[e + 4 >> 2] = a; + Y0(d, 94268, g) | 0; + if ((TA(f, b, d) | 0) == -1) a = -1; else h = 4 + } else if ((cB(f, b, e) | 0) == -1) a = -1; else h = 4; + if ((h | 0) == 4) a = 0; + l = i; + return a | 0 + } + + function _A(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + a:do if ((d | 0) != 0 ? (e = ez(b) | 0, f = yx(b, d) | 0, (a[f >> 0] | 0) != 0) : 0) if ((TA(e, c, 104958) | 0) == -1) b = -1; else { + do if (Rz(f) | 0) { + if ((cB(e, c, f) | 0) == -1) { + b = -1; + break a + } + } else { + b = A$(f, 58) | 0; + if (!b) if ((dB(e, c, f, 0) | 0) == -1) { + b = -1; + break a + } else break; + a[b >> 0] = 0; + if ((dB(e, c, f, 0) | 0) == -1) { + b = -1; + break a + } + if ((TA(e, c, 104958) | 0) == -1) { + b = -1; + break a + } + if ((dB(e, c, b + 1 | 0, 0) | 0) == -1) { + b = -1; + break a + } + a[b >> 0] = 58 + } while (0); + b = 0 + } else b = 0; while (0); + return b | 0 + } + + function $A(a) { + a = a | 0; + return (c[a >> 2] | 0) >>> 3 & 1 | 0 + } + + function aB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + a:do if (!(c[a >> 2] & 2)) { + e = 0; + k = 4 + } else { + switch (bB(a, b, 0) | 0) { + case -1: { + e = -1; + break a + } + case 0: { + e = 0; + k = 4; + break a + } + default: { + } + } + e = 1; + k = 4 + } while (0); + b:do if ((k | 0) == 4) { + f = dx(a) | 0; + j = ez(a) | 0; + c:do if (f) { + i = f + 12 | 0; + h = nb[c[d >> 2] & 63](d, 0, 128) | 0; + while (1) { + if (!h) break c; + do if (c[a >> 2] & 2) { + g = c[46217] | 0; + if (g | 0 ? (c[h + 16 >> 2] | 0) == (c[g + 16 >> 2] | 0) : 0) break; + g = c[46218] | 0; + if (!((g | 0) != 0 ? (c[h + 16 >> 2] | 0) == (c[g + 16 >> 2] | 0) : 0)) k = 12 + } else k = 12; while (0); + if ((k | 0) == 12) { + k = 0; + f = h + 16 | 0; + if ((c[(c[i >> 2] | 0) + (c[f >> 2] << 2) >> 2] | 0) != (c[h + 12 >> 2] | 0)) { + g = e + 1 | 0; + if (e) { + if ((TA(j, b, 94263) | 0) == -1) { + e = -1; + break b + } + if ((SA(j, b) | 0) == -1) { + e = -1; + break b + } + } else { + if ((SA(j, b) | 0) == -1) { + e = -1; + break b + } + if ((TA(j, b, 94260) | 0) == -1) { + e = -1; + break b + } + c[46216] = (c[46216] | 0) + 1 + } + if ((cB(j, b, c[h + 8 >> 2] | 0) | 0) == -1) { + e = -1; + break b + } + if ((TA(j, b, 94266) | 0) == -1) { + e = -1; + break b + } + if ((cB(j, b, c[(c[i >> 2] | 0) + (c[f >> 2] << 2) >> 2] | 0) | 0) == -1) { + e = -1; + break b + } else e = g + } + } + h = nb[c[d >> 2] & 63](d, h, 8) | 0 + } + } while (0); + if ((e | 0) > 0) { + if ((TA(j, b, 94258) | 0) == -1) { + e = -1; + break + } + c[46216] = (c[46216] | 0) + -1 + } + c[a >> 2] = c[a >> 2] | 8; + e = 0 + } while (0); + return e | 0 + } + + function bB(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + e = ry(b) | 0; + b = ez(b) | 0; + if ((e | 0) != 0 ? (a[e >> 0] | 0) != 0 : 0) if ((TA(b, c, 94251) | 0) != -1 ? (cB(b, c, e) | 0) != -1 : 0) if ((d | 0) != 0 ? (TA(b, c, 94258) | 0) == -1 : 0) b = -1; else { + b = 1; + f = 7 + } else b = -1; else { + b = 0; + f = 7 + } + return b | 0 + } + + function cB(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return dB(a, b, c, 1) | 0 + } + + function dB(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + if (!d) c = IA(c, KA(c) | 0) | 0; else c = JA(c) | 0; + return TA(a, b, c) | 0 + } + + function eB(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a:do if (0 < e >>> 0 | (0 == (e | 0) ? (c[b >> 2] | 0) >>> 4 >>> 0 < d >>> 0 : 0)) b = 0; else { + b = Hx(a, b) | 0; + while (1) { + if (!b) { + b = 1; + break a + } + if (0 < e >>> 0 | (0 == (e | 0) ? (c[c[b + 40 >> 2] >> 2] | 0) >>> 4 >>> 0 < d >>> 0 : 0)) { + b = 0; + break a + } + b = Ix(a, b) | 0 + } + } while (0); + return b | 0 + } + + function fB(a, b) { + a = a | 0; + b = b | 0; + if (!(Hx(a, b) | 0)) a = (Ex(a, b) | 0) == 0 & 1; else a = 0; + return a | 0 + } + + function gB(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + a = dx(a) | 0; + a:do if (!a) a = 0; else { + d = a + 8 | 0; + e = c[d >> 2] | 0; + b = a + 12 | 0; + a = nb[c[e >> 2] & 63](e, 0, 128) | 0; + while (1) { + if (!a) { + a = 0; + break a + } + if ((c[(c[b >> 2] | 0) + (c[a + 16 >> 2] << 2) >> 2] | 0) != (c[a + 12 >> 2] | 0)) { + a = 1; + break a + } + e = c[d >> 2] | 0; + a = nb[c[e >> 2] & 63](e, a, 8) | 0 + } + } while (0); + return a | 0 + } + + function hB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = _w(a, 0) | 0; + if (e) if (((iB(a, b, 108412, c[e + 16 >> 2] | 0, d) | 0) != -1 ? (iB(a, b, 108399, c[e + 8 >> 2] | 0, d) | 0) != -1 : 0) ? (iB(a, b, 108368, c[e + 12 >> 2] | 0, d) | 0) != -1 : 0) f = 5; else a = -1; else f = 5; + if ((f | 0) == 5) a = 0; + return a | 0 + } + + function iB(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + m = (g | 0) != 0; + if (m) l = 0; else l = Hw(f, 0) | 0; + k = (l | 0) == 0; + j = nb[c[f >> 2] & 63](f, 0, 128) | 0; + g = 0; + while (1) { + if (!j) { + n = 23; + break + } + i = j + 12 | 0; + n = c[i >> 2] | 0; + if ((n | 0) != 0 ? (a[n >> 0] | 0) != 0 : 0) n = 12; else n = 7; + do if ((n | 0) == 7) { + n = 0; + if (!(a[j + 22 >> 0] | 0)) { + if (!k) { + h = nb[c[l >> 2] & 63](l, j, 4) | 0; + o = c[h + 12 >> 2] | 0; + if (o | 0 ? a[o >> 0] | 0 : 0) { + n = 12; + break + } + if (!(a[h + 22 >> 0] | 0)) n = 12 + } + } else n = 12 + } while (0); + if ((n | 0) == 12) { + n = 0; + h = g + 1 | 0; + if (g) { + if ((TA(b, d, 94263) | 0) == -1) { + g = -1; + break + } + if ((SA(b, d) | 0) == -1) { + g = -1; + break + } + } else { + if ((SA(b, d) | 0) == -1) { + g = -1; + break + } + if ((TA(b, d, e) | 0) == -1) { + g = -1; + break + } + if ((TA(b, d, 94260) | 0) == -1) { + g = -1; + break + } + c[46216] = (c[46216] | 0) + 1 + } + if ((cB(b, d, c[j + 8 >> 2] | 0) | 0) == -1) { + g = -1; + break + } + if ((TA(b, d, 94266) | 0) == -1) { + g = -1; + break + } + if ((cB(b, d, c[i >> 2] | 0) | 0) == -1) { + g = -1; + break + } else g = h + } + j = nb[c[f >> 2] & 63](f, j, 8) | 0 + } + do if ((n | 0) == 23) { + if ((g | 0) > 0) { + c[46216] = (c[46216] | 0) + -1; + if ((g | 0) != 1) { + if ((TA(b, d, 150517) | 0) == -1) { + g = -1; + break + } + if ((SA(b, d) | 0) == -1) { + g = -1; + break + } + } + g = (TA(b, d, 94295) | 0) == -1; + if (m | g) { + g = g << 31 >> 31; + break + } + } else if (m) { + g = 0; + break + } + Hw(f, l) | 0; + g = 0 + } while (0); + return g | 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; + switch (c[b >> 2] & 3) { + case 0: { + g = 80; + break + } + case 1: { + g = 81; + break + } + case 3: + case 2: { + g = 82; + break + } + default: { + } + } + b = lb[g & 127](a, b) | 0; + if (!b) b = -1; else { + nB(a, b, d, e, g, f); + b = 0 + } + return b | 0 + } + + function kB(a, b) { + a = a | 0; + b = b | 0; + if ((ez(b) | 0) != (a | 0)) b = Vx(a, b, 0) | 0; + return b | 0 + } + + function lB(a, b) { + a = a | 0; + b = b | 0; + if ((ez(b) | 0) != (a | 0)) b = Xy(a, b, 0) | 0; + return b | 0 + } + + function mB(a, b) { + a = a | 0; + b = b | 0; + return a | 0 + } + + function nB(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0; + h = (f | 0) != 0; + if (h) vb[c & 127](a, b, d); + g = wA(a) | 0; + while (1) { + if (!g) break; + i = lb[e & 127](g, b) | 0; + if (i | 0) nB(g, i, c, d, e, f); + g = xA(g) | 0 + } + if (!h) vb[c & 127](a, b, d); + return + } + + function oB() { + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0; + t = l; + l = l + 1200 | 0; + r = t + 800 | 0; + g = t; + c[46219] = 0; + c[46220] = -2; + f = r; + i = 200; + n = g; + p = 0; + q = 0; + o = r; + a:while (1) { + b[o >> 1] = p; + if ((f + (i << 1) + -2 | 0) >>> 0 > o >>> 0) k = i; else { + m = o - f >> 1; + e = m + 1 | 0; + if (i >>> 0 > 9999) { + s = 75; + break + } + k = i << 1; + k = k >>> 0 < 1e4 ? k : 1e4; + h = C_(k * 6 | 3) | 0; + if (h) { + F3(h | 0, f | 0, e << 1 | 0) | 0; + i = h + (k >>> 1 << 2) | 0; + F3(i | 0, n | 0, e << 2 | 0) | 0; + if ((f | 0) == (r | 0)) { + e = 0; + f = h + } else { + D_(f); + e = 0; + f = h + } + } else { + e = 4; + i = n + } + j = (e | 0) == 0; + h = f + (m << 1) | 0; + switch ((j ? ((f + (k << 1) + -2 | 0) >>> 0 > h >>> 0 ? 0 : 9) : e) & 15) { + case 9: { + e = 1; + s = 76; + break a + } + case 4: { + s = 75; + break a + } + case 0: { + g = j ? i + (m << 2) | 0 : g; + n = i; + o = j ? h : o; + break + } + default: { + e = 0; + break a + } + } + } + if ((p | 0) == 6) { + e = 0; + s = 76; + break + } + e = a[94299 + p >> 0] | 0; + j = e << 24 >> 24; + do if (e << 24 >> 24 != -18) { + h = c[46220] | 0; + if ((h | 0) == -2) { + h = Wz() | 0; + c[46220] = h + } + if ((h | 0) >= 1) if (h >>> 0 < 269) i = d[94379 + h >> 0] | 0; else i = 2; else { + c[46220] = 0; + i = 0 + } + h = i + j | 0; + if (h >>> 0 <= 59 ? (i | 0) == (d[94648 + h >> 0] | 0) : 0) { + p = a[94708 + h >> 0] | 0; + e = p << 24 >> 24; + if (p << 24 >> 24 < 1) { + h = 0 - e | 0; + s = 23; + break + } else { + c[46220] = -2; + g = g + 4 | 0; + c[g >> 2] = c[46221]; + j = (q | 0) == 0 ? 0 : q + -1 | 0; + h = o; + break + } + } else s = 22 + } else s = 22; while (0); + if ((s | 0) == 22) { + s = 0; + p = a[94768 + p >> 0] | 0; + h = p & 255; + if (!(p << 24 >> 24)) { + h = c[46220] | 0; + b:do switch (q | 0) { + case 0: { + c[46219] = (c[46219] | 0) + 1; + pA(140679); + h = o; + break + } + case 3: + if ((h | 0) < 1) if (!h) { + e = 1; + s = 76; + break a + } else { + h = o; + break b + } else { + c[46220] = -2; + h = o; + break b + } + default: + h = o + } while (0); + while (1) { + if (e << 24 >> 24 == 18) break; + if ((h | 0) == (f | 0)) { + e = 1; + s = 76; + break a + } + e = h + -2 | 0; + g = g + -4 | 0; + h = e; + e = a[94299 + (b[e >> 1] | 0) >> 0] | 0 + } + g = g + 4 | 0; + c[g >> 2] = c[46221]; + e = 1; + j = 3 + } else s = 23 + } + do if ((s | 0) == 23) { + s = 0; + i = d[94848 + h >> 0] | 0; + e = c[g + (1 - i << 2) >> 2] | 0; + c:do switch (h | 0) { + case 2: { + pB(); + qB(); + break + } + case 3: { + if (c[46222] | 0) { + pB(); + qB(); + $x(c[46222] | 0) | 0; + c[46171] = 0; + c[46222] = 0 + } + break + } + case 6: { + rB(c[g >> 2] | 0, c[g + -4 >> 2] | 0, c[g + -8 >> 2] | 0); + break + } + case 7: { + e = c[g >> 2] | 0; + break + } + case 8: { + e = 0; + break + } + case 9: { + e = 1; + break + } + case 10: { + e = 0; + break + } + case 11: { + e = 0; + break + } + case 12: { + e = 1; + break + } + case 21: + if (!(c[g + -4 >> 2] | 0)) { + tB(); + break c + } else { + sB(); + break c + } + case 24: { + uB(); + break + } + case 25: { + uB(); + break + } + case 26: { + e = 1; + break + } + case 27: { + e = 0; + break + } + case 30: { + vB(c[g >> 2] | 0, 0, 0); + break + } + case 31: { + vB(c[g + -8 >> 2] | 0, c[g >> 2] | 0, 0); + break + } + case 32: { + vB(c[g + -16 >> 2] | 0, c[g + -8 >> 2] | 0, c[g >> 2] | 0); + break + } + case 33: { + wB(c[g + -8 >> 2] | 0, c[g + -4 >> 2] | 0); + break + } + case 34: { + wB(258, 0); + break + } + case 35: { + e = 258; + break + } + case 36: { + e = 259; + break + } + case 37: { + e = 260; + break + } + case 38: { + e = c[g + -4 >> 2] | 0; + break + } + case 39: { + e = 0; + break + } + case 48: { + xB(c[g + -8 >> 2] | 0, c[g >> 2] | 0); + break + } + case 49: { + xB(c[g >> 2] | 0, 0); + break + } + case 51: { + yB(c[g >> 2] | 0); + break + } + case 52: { + zB(); + break + } + case 53: { + e = c[g >> 2] | 0; + break + } + case 54: { + e = 0; + break + } + case 55: { + e = 0; + break + } + case 59: { + e = c[g >> 2] | 0; + break + } + case 60: { + e = c[g >> 2] | 0; + break + } + case 61: { + e = c[g >> 2] | 0; + break + } + case 62: { + e = AB(c[g + -8 >> 2] | 0, c[g >> 2] | 0) | 0; + break + } + default: { + } + } while (0); + i = 0 - i | 0; + p = g + (i << 2) | 0; + i = o + (i << 1) | 0; + g = p + 4 | 0; + c[p + 4 >> 2] = e; + e = (d[94911 + h >> 0] | 0) + -24 | 0; + p = b[i >> 1] | 0; + h = p + (a[94974 + e >> 0] | 0) | 0; + if (h >>> 0 < 60 ? (d[94648 + h >> 0] | 0) == (p | 0) : 0) { + e = a[94708 + h >> 0] | 0; + j = q; + h = i; + break + } + e = a[95009 + e >> 0] | 0; + j = q; + h = i + } while (0); + i = k; + p = e; + q = j; + o = h + 2 | 0 + } + if ((s | 0) == 75) { + pA(137476); + e = 2; + s = 76 + } + if ((s | 0) == 76) if ((f | 0) != (r | 0)) D_(f); + l = t; + return e | 0 + } + + function pB() { + var a = 0, b = 0; + a = c[46223] | 0; + while (1) { + if (!a) break; + IB(a + 8 | 0); + IB((c[46223] | 0) + 24 | 0); + IB((c[46223] | 0) + 16 | 0); + b = BB(c[46223] | 0) | 0; + c[46223] = b; + a = b + } + return + } + + function qB() { + qA(); + Ay(c[46222] | 0); + return + } + + function rB(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + f = c[46222] | 0; + if (!f) { + a[184896] = d & 1 | (e & 255) << 1 & 2 | a[184896] & -12 | 8; + f = c[46225] | 0; + a[g >> 0] = a[184896] | 0; + a[g + 1 >> 0] = a[184897] | 0; + a[g + 2 >> 0] = a[184898] | 0; + a[g + 3 >> 0] = a[184899] | 0; + f = Xx(b, g, f) | 0; + c[46222] = f + } + c[46171] = f; + c[46223] = CB(c[46223] | 0, f) | 0; + Qz(0, b) | 0; + l = h; + return + } + + function sB() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + HB(2); + e = c[46223] | 0; + f = a[95044] | 0; + h = 0; + b = e + 24 | 0; + while (1) { + d = c[b >> 2] | 0; + if (!d) break; + if (((c[d >> 2] | 0) == 267 ? (g = c[d + 4 >> 2] | 0, (a[g >> 0] | 0) == f << 24 >> 24) : 0) ? (b$(g, 95044) | 0) == 0 : 0) b = c[d + 8 >> 2] | 0; else b = h; + h = b; + b = d + 12 | 0 + } + b = e + 16 | 0; + a:while (1) { + e = c[b >> 2] | 0; + b = e + 12 | 0; + if (!(c[b >> 2] | 0)) break; + d = e + 4 | 0; + if ((c[e >> 2] | 0) == 262) { + e = c[d >> 2] | 0; + d = Sy(e) | 0; + while (1) { + if (!d) continue a; + g = Xy(c[c[46223] >> 2] | 0, d, 0) | 0; + PB(g, 0, c[b >> 2] | 0, h); + d = Ty(e, d) | 0 + } + } else while (1) { + d = c[d >> 2] | 0; + if (!d) continue a; + PB(c[d + 4 >> 2] | 0, c[d + 8 >> 2] | 0, c[b >> 2] | 0, h); + d = d + 12 | 0 + } + } + IB((c[46223] | 0) + 8 | 0); + IB((c[46223] | 0) + 16 | 0); + IB((c[46223] | 0) + 24 | 0); + c[(c[46223] | 0) + 4 >> 2] = 0; + return + } + + function tB() { + var a = 0; + HB(1); + a = (c[46223] | 0) + 8 | 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + OB(c[a + 4 >> 2] | 0); + a = a + 12 | 0 + } + IB((c[46223] | 0) + 8 | 0); + IB((c[46223] | 0) + 24 | 0); + IB((c[46223] | 0) + 16 | 0); + c[(c[46223] | 0) + 4 >> 2] = 0; + return + } + + function uB() { + var a = 0, b = 0; + a = c[46223] | 0; + b = c[a + 8 >> 2] | 0; + if (!b) { + b = c[a + 4 >> 2] | 0; + if (!b) b = 0; else { + b = NB(b) | 0; + a = c[46223] | 0 + } + c[a + 4 >> 2] = 0 + } else { + b = MB(b) | 0; + a = c[46223] | 0; + c[a + 12 >> 2] = 0; + c[a + 8 >> 2] = 0 + } + if (b | 0) EB(a + 16 | 0, b); + return + } + + function vB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + if (d) b = KB(b, d) | 0; + d = LB(az(c[c[46223] >> 2] | 0, a, 1) | 0, b) | 0; + EB((c[46223] | 0) + 8 | 0, d); + Qz(c[46222] | 0, a) | 0; + return + } + + function wB(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + if (d | 0) GB(); + d = (c[46223] | 0) + 24 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + if (!(c[d + 8 >> 2] | 0)) GB(); + d = d + 12 | 0 + } + g = (b | 0) == 260 ? 2 : (b | 0) == 259 & 1; + HB(g); + b = c[46223] | 0; + d = b + 24 | 0; + while (1) { + f = c[d >> 2] | 0; + if (!f) break; + do if ((c[f >> 2] | 0) != 267) { + d = c[f + 4 >> 2] | 0; + e = c[b >> 2] | 0; + if (!((a[d + 21 >> 0] | 0) != 0 & (e | 0) == (c[46222] | 0))) { + d = nx(e, g, c[d + 8 >> 2] | 0, c[f + 8 >> 2] | 0) | 0; + b = c[46223] | 0; + if ((c[b >> 2] | 0) != (c[46222] | 0)) break + } + a[d + 22 >> 0] = 1 + } while (0); + d = f + 12 | 0 + } + IB(b + 24 | 0); + return + } + + function xB(a, b) { + a = a | 0; + b = b | 0; + b = DB(a, b) | 0; + EB((c[46223] | 0) + 24 | 0, b); + return + } + + function yB(a) { + a = a | 0; + var b = 0; + b = c[46223] | 0; + c[46223] = CB(b, vA(c[b >> 2] | 0, a, 1) | 0) | 0; + Qz(c[46222] | 0, a) | 0; + return + } + + function zB() { + var a = 0, b = 0; + a = c[46223] | 0; + b = c[a >> 2] | 0; + a = BB(a) | 0; + c[46223] = a; + c[a + 4 >> 2] = b; + return + } + + function AB(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 1024 | 0; + f = g; + d = W_(a) | 0; + d = d + 1 + (W_(b) | 0) | 0; + if (d >>> 0 < 1025) d = f; else d = C_(d) | 0; + b0(d, a) | 0; + p1(d, b) | 0; + e = Oz(c[46222] | 0, d) | 0; + Qz(c[46222] | 0, a) | 0; + Qz(c[46222] | 0, b) | 0; + if ((d | 0) != (f | 0)) D_(d); + l = g; + return e | 0 + } + + function BB(a) { + a = a | 0; + var b = 0; + b = c[(c[46223] | 0) + 32 >> 2] | 0; + Ny(c[46222] | 0, a); + return b | 0 + } + + function CB(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = My(c[46222] | 0, 36) | 0; + c[d + 32 >> 2] = a; + c[d >> 2] = b; + return d | 0 + } + + function DB(a, b) { + a = a | 0; + b = b | 0; + return FB(267, a, b) | 0 + } + + function EB(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + if (e | 0) c[e + 12 >> 2] = b; + c[d >> 2] = b; + if (!(c[a >> 2] | 0)) c[a >> 2] = b; + return + } + + function FB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = My(c[46222] | 0, 16) | 0; + c[e >> 2] = a; + c[e + 4 >> 2] = b; + c[e + 8 >> 2] = d; + return e | 0 + } + + function GB() { + var a = 0; + a = l; + l = l + 16 | 0; + Pw(0, 95048, a) | 0; + l = a; + return + } + + function HB(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = (b | 0) == 2; + d = (c[46223] | 0) + 24 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + e = d + 4 | 0; + f = c[e >> 2] | 0; + if (!((g ? (a[f >> 0] | 0) == (a[95044] | 0) : 0) ? !(b$(f, 95044) | 0) : 0)) { + h = nx(c[c[46223] >> 2] | 0, b, f, 0) | 0; + c[e >> 2] = h; + if (!h) c[e >> 2] = nx(c[c[46223] >> 2] | 0, b, f, 191979) | 0; + c[d >> 2] = 266; + Qz(c[46222] | 0, f) | 0 + } + d = d + 12 | 0 + } + return + } + + function IB(a) { + a = a | 0; + JB(c[a >> 2] | 0); + c[a + 4 >> 2] = 0; + c[a >> 2] = 0; + return + } + + function JB(a) { + a = a | 0; + var b = 0; + while (1) { + if (!a) break; + b = c[a + 12 >> 2] | 0; + switch (c[a >> 2] | 0) { + case 265: { + JB(c[a + 4 >> 2] | 0); + break + } + case 266: + case 267: { + Qz(c[46222] | 0, c[a + 8 >> 2] | 0) | 0; + break + } + default: { + } + } + Ny(c[46222] | 0, a); + a = b + } + return + } + + function KB(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 1040 | 0; + f = h; + g = h + 8 | 0; + d = W_(a) | 0; + d = d + 2 + (W_(b) | 0) | 0; + if (d >>> 0 < 1025) e = g; else e = C_(d) | 0; + c[f >> 2] = a; + c[f + 4 >> 2] = b; + Y0(e, 95081, f) | 0; + d = Oz(c[46222] | 0, e) | 0; + Qz(c[46222] | 0, a) | 0; + Qz(c[46222] | 0, b) | 0; + if ((e | 0) != (g | 0)) D_(e); + l = h; + return d | 0 + } + + function LB(a, b) { + a = a | 0; + b = b | 0; + return FB(259, a, b) | 0 + } + + function MB(a) { + a = a | 0; + return FB(265, a, 0) | 0 + } + + function NB(a) { + a = a | 0; + return FB(262, a, 0) | 0 + } + + function OB(a) { + a = a | 0; + var b = 0, d = 0; + b = (c[46223] | 0) + 24 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + if ((c[b >> 2] | 0) == 266 ? (d = c[b + 4 >> 2] | 0, d | 0) : 0) rx(a, d, c[b + 8 >> 2] | 0) | 0; + b = b + 12 | 0 + } + return + } + + function PB(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = d + 4 | 0; + a:do if ((c[d >> 2] | 0) == 262) { + d = c[f >> 2] | 0; + f = Sy(d) | 0; + while (1) { + if (!f) break a; + QB(a, b, Xy(c[c[46223] >> 2] | 0, f, 0) | 0, 0, e); + f = Ty(d, f) | 0 + } + } else while (1) { + f = c[f >> 2] | 0; + if (!f) break a; + d = Xy(c[c[46223] >> 2] | 0, c[f + 4 >> 2] | 0, 0) | 0; + QB(a, b, d, c[f + 8 >> 2] | 0, e); + f = f + 12 | 0 + } while (0); + return + } + + function QB(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + d = Rx(c[c[46223] >> 2] | 0, a, d, f, 1) | 0; + if (d | 0) { + g = c[d >> 2] & 3; + f = c[((g | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + a = (f | 0) == (a | 0) ? (c[((g | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) != (f | 0) : 0; + RB(d, 108373, a ? e : b); + RB(d, 108382, a ? b : e); + OB(d) + } + return + } + + function RB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + if (d | 0) { + e = nx(c[c[46223] >> 2] | 0, 2, b, 0) | 0; + if (!e) e = nx(c[c[46223] >> 2] | 0, 2, b, 191979) | 0; + rx(a, e, d) | 0 + } + return + } + + function SB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + c[46191] = b; + c[46222] = a; + c[46171] = 0; + a = d | 0 ? d : 18496; + c[46225] = a; + Vz(a, b); + oB() | 0; + a = c[46171] | 0; + if (!a) { + sA(); + a = c[46171] | 0 + } + return a | 0 + } + + function TB(a, b) { + a = a | 0; + b = b | 0; + return SB(0, a, b) | 0 + } + + function UB(a, b) { + a = a | 0; + b = b | 0; + b = wC(a, 1, b) | 0; + if (!b) b = 999; else { + b = c[b + 16 >> 2] | 0; + c[a + 184 >> 2] = c[b + 4 >> 2]; + c[a + 172 >> 2] = c[b + 12 >> 2]; + c[a + 176 >> 2] = c[b >> 2]; + c[a + 180 >> 2] = c[b + 16 >> 2]; + b = 300 + } + return b | 0 + } + + function VB(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + f = i; + Az(b, 134401, 280, 1) | 0; + g = b + 16 | 0; + c[(c[g >> 2] | 0) + 144 >> 2] = a; + if ((fz(b) | 0) != (b | 0)) c[(c[(fz(b) | 0) + 16 >> 2] | 0) + 144 >> 2] = a; + e = xx(b, 95297) | 0; + d = a + 172 | 0; + if ((e | 0) != 0 ? (c[d >> 2] = 0, (UB(a, e) | 0) == 999) : 0) { + d = xC(a, 1, e) | 0; + c[f >> 2] = e; + c[f + 4 >> 2] = d; + Pw(1, 95824, f) | 0; + d = -1 + } else { + e = c[d >> 2] | 0; + if (!e) d = -1; else { + CG(1); + bH(b, c[c[a + 180 >> 2] >> 2] & 1); + d = c[(c[g >> 2] | 0) + 8 >> 2] | 0; + c[(c[(fz(b) | 0) + 16 >> 2] | 0) + 8 >> 2] = d; + LK(); + d = c[e >> 2] | 0; + if (d | 0 ? (tb[d & 127](b), h = c[e + 4 >> 2] | 0, h | 0) : 0) c[(c[g >> 2] | 0) + 148 >> 2] = h; + CG(0); + d = 0 + } + } + l = i; + return d | 0 + } + + function WB(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (Az(b, 134401, 0, 1) | 0) { + d = b + 16 | 0; + a = c[d >> 2] | 0; + e = c[a + 148 >> 2] | 0; + if (e) { + tb[e & 127](b); + a = c[d >> 2] | 0; + c[a + 148 >> 2] = 0 + } + if (c[a + 8 >> 2] | 0) gH(b) + } + return 0 + } + + function XB(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + i = k; + d = c[b + 76 >> 2] | 0; + f = c[b >> 2] | 0; + if ((d | 0) != 0 ? (e = c[d >> 2] | 0, (e | 0) != 0) : 0) { + tb[e & 127](b); + g = 12 + } else g = 4; + do if ((g | 0) == 4) if ((c[b + 40 >> 2] | 0) == 0 ? (h = b + 36 | 0, (c[h >> 2] | 0) == 0) : 0) { + if (a[f + 13 >> 0] | 0) YB(b); + d = b + 32 | 0; + e = c[d >> 2] | 0; + if (!e) { + c[h >> 2] = c[15653]; + g = 12; + break + } + f = L1(e, 103486) | 0; + c[h >> 2] = f; + if (!f) { + j = c[(c[b + 12 >> 2] | 0) + 16 >> 2] | 0; + h = c[d >> 2] | 0; + d = c$(c[(O_() | 0) >> 2] | 0) | 0; + c[i >> 2] = h; + c[i + 4 >> 2] = d; + ub[j & 63](95087, i); + d = 1 + } else g = 12 + } else g = 12; while (0); + if ((g | 0) == 12) if (!(c[b + 152 >> 2] & 1024)) d = 0; else { + ub[c[(c[b + 12 >> 2] | 0) + 16 >> 2] & 63](95125, j); + d = 1 + } + l = k; + return d | 0 + } + + function YB(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 112 | 0; + e = h; + g = h + 4 | 0; + d = c[b + 24 >> 2] | 0; + if (!d) a[g >> 0] = 0; else { + c[e >> 2] = d + 1; + Y0(g, 95143, e) | 0 + } + e = c[b + 20 >> 2] | 0; + e = e | 0 ? e : 95147; + d = W_(e) | 0; + i = W_(g) | 0; + f = b + 52 | 0; + i = d + 1 + i + (W_(c[f >> 2] | 0) | 0) | 0; + d = i + 11 | 0; + if ((c[46226] | 0) >>> 0 < (i + 1 | 0) >>> 0) { + c[46226] = d; + d = F_(c[46227] | 0, d) | 0; + c[46227] = d + } else d = c[46227] | 0; + b0(d, e) | 0; + p1(c[46227] | 0, g) | 0; + d = c[46227] | 0; + d = d + (W_(d) | 0) | 0; + a[d >> 0] = 46; + a[d + 1 >> 0] = 0; + d = n1(c[f >> 2] | 0) | 0; + f = c[46227] | 0; + while (1) { + e = o1(d, 58) | 0; + if (!e) break; + p1(f, e + 1 | 0) | 0; + i = c[46227] | 0; + g = i + (W_(i) | 0) | 0; + a[g >> 0] = 46; + a[g + 1 >> 0] = 0; + a[e >> 0] = 0; + f = i + } + p1(f, d) | 0; + D_(d); + c[b + 32 >> 2] = c[46227]; + l = h; + return + } + + function ZB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h + 8 | 0; + f = h; + if ((b | 0) != 0 & (d | 0) != 0) { + if (c[a + 152 >> 2] & 1024 | 0) { + ub[c[(c[a + 12 >> 2] | 0) + 16 >> 2] & 63](95125, f); + Sa(1) + } + if ((_B(a, b, d) | 0) == (d | 0)) e = d; else { + f = c[(c[a + 12 >> 2] | 0) + 16 >> 2] | 0; + c[g >> 2] = d; + ub[f & 63](95157, g); + Sa(1) + } + } else e = 0; + l = h; + return e | 0 + } + + function _B(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o; + f = c[(c[b >> 2] | 0) + 104 >> 2] | 0; + do if (!f) { + j = b + 40 | 0; + h = c[j >> 2] | 0; + if (!h) { + e = E1(d, 1, e, c[b + 36 >> 2] | 0) | 0; + break + } + f = b + 44 | 0; + i = b + 48 | 0; + g = c[i >> 2] | 0; + do if (((c[f >> 2] | 0) + -1 - g | 0) >>> 0 < e >>> 0) { + g = e + 4096 + g & -4096; + c[f >> 2] = g; + f = F_(h, g) | 0; + c[j >> 2] = f; + if (!f) { + ub[c[(c[b + 12 >> 2] | 0) + 16 >> 2] & 63](95182, n); + Sa(1) + } else { + k = f; + m = c[i >> 2] | 0; + break + } + } else { + k = h; + m = g + } while (0); + F3(k + m | 0, d | 0, e | 0) | 0; + n = (c[i >> 2] | 0) + e | 0; + c[i >> 2] = n; + a[(c[j >> 2] | 0) + n >> 0] = 0 + } else e = nb[f & 63](b, d, e) | 0; while (0); + l = o; + return e | 0 + } + + function $B(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = W_(b) | 0; + b = (ZB(a, b, c) | 0) == (c | 0); + return (b ? 1 : -1) | 0 + } + + function aC(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + a[e >> 0] = c; + b = (ZB(b, e, 1) | 0) == 1; + l = d; + return (b ? c : -1) | 0 + } + + function bC(b) { + b = b | 0; + var d = 0; + d = c[b + 36 >> 2] | 0; + if (((d | 0) != 0 ? (a[b + 144 >> 0] | 0) == 0 : 0) ? (c[(c[b >> 2] | 0) + 104 >> 2] | 0) == 0 : 0) b = w1(d) | 0; else b = 0; + return b | 0 + } + + function cC(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 76 >> 2] | 0; + if (b | 0 ? (d = c[b + 4 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + bC(a) | 0; + return + } + + function dC(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = c[a + 76 >> 2] | 0; + if (c[a + 152 >> 2] & 1024 | 0) { + ub[c[(c[a + 12 >> 2] | 0) + 16 >> 2] & 63](95209, e); + Sa(1) + } + if ((d | 0) != 0 ? (b = c[d + 8 >> 2] | 0, (b | 0) != 0) : 0) tb[b & 127](a); else { + bC(a) | 0; + eC(a) + } + l = e; + return + } + + function eC(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + d = b + 32 | 0; + if ((c[d >> 2] | 0 ? (e = b + 36 | 0, f = c[e >> 2] | 0, (f | 0) != (c[15653] | 0)) : 0) ? (a[b + 144 >> 0] | 0) == 0 : 0) { + if (f | 0) { + s1(f) | 0; + c[e >> 2] = 0 + } + c[d >> 2] = 0 + } + return + } + + function fC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 1056 | 0; + f = i; + h = i + 24 | 0; + g = i + 8 | 0; + c[g >> 2] = d; + e = q0(h, 1024, b, g) | 0; + if ((e | 0) >= 0) { + if ((e | 0) > 1023) { + e = vH(e + 1 | 0) | 0; + c[g >> 2] = d; + f = e; + e = Z0(e, b, g) | 0 + } else f = h; + ZB(a, f, e) | 0; + if ((f | 0) != (h | 0)) D_(f) + } else { + c[f >> 2] = c$(c[(O_() | 0) >> 2] | 0) | 0; + Pw(1, 95226, f) | 0 + } + l = i; + return + } + + function gC(a, b) { + a = a | 0; + b = +b; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d; + f = hC(e, b) | 0; + ZB(a, f, c[e >> 2] | 0) | 0; + l = d; + return + } + + function hC(b, d) { + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + if (!(d < -1.0e15)) if (!(d > 1.0e15)) { + d = d * 1.0e4; + f = ~~((d < 0.0 ? -.5 : .5) + d); + if (!f) { + f = 135312; + e = 1 + } else { + l = (f | 0) < 0; + k = 4; + i = 0; + e = 191746; + f = l ? 0 - f | 0 : f; + while (1) { + if (!((f | 0) != 0 | (k | 0) > 0)) break; + g = (f | 0) % 10 | 0; + j = (f | 0) / 10 | 0; + h = e + -1 | 0; + if ((g | 0) == 0 & i << 24 >> 24 == 0) f = 0; else { + a[h >> 0] = g | 48; + f = 1; + e = h + } + if ((k | 0) == 1) if (!(f << 24 >> 24)) f = 1; else { + e = e + -1 | 0; + a[e >> 0] = 46; + f = 1 + } + k = k + -1 | 0; + i = f; + f = j + } + if (l) { + e = e + -1 | 0; + a[e >> 0] = 45 + } + f = e; + e = 191746 - e | 0 + } + } else { + f = 95241; + e = 18 + } else { + f = 95240; + e = 19 + } + c[b >> 2] = e; + return f | 0 + } + + function iC(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d; + f = hC(e, +h[b >> 3]) | 0; + ZB(a, f, c[e >> 2] | 0) | 0; + ZB(a, 99578, 1) | 0; + b = hC(e, +h[b + 8 >> 3]) | 0; + ZB(a, b, c[e >> 2] | 0) | 0; + l = d; + return + } + + function jC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + f = g; + e = 0; + while (1) { + h = b + (e << 4) | 0; + c[f >> 2] = c[h >> 2]; + c[f + 4 >> 2] = c[h + 4 >> 2]; + c[f + 8 >> 2] = c[h + 8 >> 2]; + c[f + 12 >> 2] = c[h + 12 >> 2]; + iC(a, f); + e = e + 1 | 0; + if ((e | 0) >= (d | 0)) break; + ZB(a, 99578, 1) | 0 + } + l = g; + return + } + + function kC(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = uH(392) | 0; + if (d | 0) { + c[d >> 2] = 20052; + c[d + 16 >> 2] = 23; + c[d + 32 >> 2] = a; + c[d + 36 >> 2] = b + } + return d | 0 + } + + function lC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = uH(392) | 0; + d = b; + e = a; + f = d + 40 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + f = b + 60 | 0; + e = a + 60 | 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]; + f = b + 80 | 0; + e = a + 80 | 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]; + return b | 0 + } + + function mC(a) { + a = a | 0; + tC(a); + D_(a); + return + } + + function nC(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = a + 160 | 0; + d = c[e >> 2] | 0; + if (d) { + e = c[46228] | 0; + if (e) { + d = c[e + 4 >> 2] | 0; + if (!d) { + d = uH(632) | 0; + c[(c[46228] | 0) + 4 >> 2] = d + } + } + } else { + d = uH(632) | 0; + c[e >> 2] = d; + c[a + 164 >> 2] = d + } + c[46228] = d; + c[d + 32 >> 2] = b; + c[d >> 2] = a; + return + } + + function oC(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = a + 160 | 0; + d = c[e >> 2] | 0; + if (d) { + e = c[46229] | 0; + if (e) { + d = c[e + 4 >> 2] | 0; + if (!d) { + d = uH(632) | 0; + c[(c[46229] | 0) + 4 >> 2] = d + } + } + } else { + d = uH(632) | 0; + c[e >> 2] = d; + c[a + 164 >> 2] = d + } + c[46229] = d; + c[d + 52 >> 2] = b; + c[d >> 2] = a; + return (wC(a, 3, b) | 0) != 0 | 0 + } + + function pC(a) { + a = a | 0; + var b = 0; + b = c[a + 160 >> 2] | 0; + c[a + 164 >> 2] = b; + return b | 0 + } + + function qC(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + a = a + 164 | 0; + b = c[a >> 2] | 0; + d = c[b + 4 >> 2] | 0; + if (d | 0 ? (e = d + 52 | 0, (c[e >> 2] | 0) == 0) : 0) c[e >> 2] = c[b + 52 >> 2]; + c[a >> 2] = d; + return d | 0 + } + + function rC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = a + 8 | 0; + f = b + 10 | 0; + if ((c[e >> 2] | 0) > (b | 0)) a = c[a >> 2] | 0; else { + c[e >> 2] = f; + f = xH(c[a >> 2] | 0, f << 2) | 0; + c[a >> 2] = f; + a = f + } + c[a + (b << 2) >> 2] = d; + return + } + + function sC(a) { + a = a | 0; + var b = 0; + b = c[a >> 2] | 0; + if (b | 0) D_(b); + c[a >> 2] = 0; + c[a + 8 >> 2] = 0; + c[a + 4 >> 2] = 0; + return + } + + function tC(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 160 | 0; + b = c[d >> 2] | 0; + while (1) { + if (!b) break; + e = c[b + 4 >> 2] | 0; + sC(b + 604 | 0); + sC(b + 592 | 0); + D_(c[b + 584 >> 2] | 0); + D_(c[b + 588 >> 2] | 0); + D_(b); + b = e + } + c[46229] = 0; + c[46228] = 0; + c[a + 192 >> 2] = 0; + c[a + 164 >> 2] = 0; + c[d >> 2] = 0; + c[a + 28 >> 2] = 0; + return + } + + function uC(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 128 | 0; + k = n + 64 | 0; + m = n; + U0(k, e, 63) | 0; + i = A$(k, 58) | 0; + if (i | 0) a[i >> 0] = 0; + b = b + 60 + (d << 2) | 0; + while (1) { + d = c[b >> 2] | 0; + if (!d) { + d = b; + b = 0; + break + } + U0(m, c[d + 4 >> 2] | 0, 63) | 0; + d = A$(m, 58) | 0; + if (d | 0) a[d >> 0] = 0; + if ((b$(k, m) | 0) < 1) { + j = 9; + break + } + b = c[b >> 2] | 0 + } + while (1) { + if ((j | 0) == 9) { + d = b; + b = c[b >> 2] | 0 + } + if (!b) break; + U0(m, c[b + 4 >> 2] | 0, 63) | 0; + b = A$(m, 58) | 0; + if (b | 0) a[b >> 0] = 0; + if (b$(k, m) | 0) break; + b = c[d >> 2] | 0; + if ((c[b + 8 >> 2] | 0) <= (f | 0)) break; + j = 9 + } + m = vH(20) | 0; + c[m >> 2] = c[d >> 2]; + c[d >> 2] = m; + c[m + 4 >> 2] = e; + c[m + 8 >> 2] = f; + c[m + 12 >> 2] = g; + c[m + 16 >> 2] = h; + l = n; + return 1 + } + + function vC(a, b) { + a = a | 0; + b = b | 0; + b = l; + l = l + 16 | 0; + Pw(1, 95321, b) | 0; + l = b; + return 0 + } + + function wC(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 144 | 0; + r = s; + o = s + 80 | 0; + p = s + 16 | 0; + n = (d + -3 | 0) >>> 0 < 2 ? 0 : d; + U0(o, e, 63) | 0; + e = A$(o, 58) | 0; + if (e) { + f = e + 1 | 0; + a[e >> 0] = 0; + e = A$(f, 58) | 0; + if (!e) m = 0; else { + a[e >> 0] = 0; + m = e + 1 | 0 + } + } else { + m = 0; + f = 0 + } + i = (f | 0) != 0; + j = (m | 0) == 0; + k = (n | 0) == (d | 0); + h = b + 60 + (d << 2) | 0; + a:while (1) { + e = c[h >> 2] | 0; + if (!e) { + e = 0; + break + } + U0(p, c[e + 4 >> 2] | 0, 63) | 0; + e = A$(p, 58) | 0; + if (!e) e = 0; else { + a[e >> 0] = 0; + e = e + 1 | 0 + } + do if (!(b$(p, o) | 0)) { + g = (e | 0) != 0; + if (i & g ? b$(e, f) | 0 : 0) break; + if (!j ? b$(m, c[(c[(c[h >> 2] | 0) + 12 >> 2] | 0) + 8 >> 2] | 0) | 0 : 0) break; + if (k | g ^ 1) { + q = 16; + break a + } + if (wC(b, n, e) | 0) { + q = 16; + break a + } + } while (0); + h = c[h >> 2] | 0 + } + do if ((q | 0) == 16) { + e = c[h >> 2] | 0; + if (e) { + f = e + 16 | 0; + if ((c[f >> 2] | 0) == 0 ? (vC(0, 0) | 0, (c[f >> 2] | 0) == 0) : 0) { + e = 0; + break + } + if ((c[b + 8 >> 2] | 0) > 0) { + q = c[15686] | 0; + o = c[e + 4 >> 2] | 0; + p = c[(c[e + 12 >> 2] | 0) + 8 >> 2] | 0; + c[r >> 2] = c[20064 + (d << 2) >> 2]; + c[r + 4 >> 2] = o; + c[r + 8 >> 2] = p; + g1(q, 95352, r) | 0 + } + } else e = 0 + } while (0); + c[b + 80 + (d << 2) >> 2] = e; + l = s; + return e | 0 + } + + function xC(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + do if (!e) e = 0; else { + if (c[5021] | 0) { + Tw(184920, 0, 0); + c[5021] = 0 + } + h = n1(e) | 0; + e = A$(h, 58) | 0; + if (e) { + a[e >> 0] = 0; + f = b + 60 + (d << 2) | 0; + e = 1; + g = f; + while (1) { + b = c[g >> 2] | 0; + if (!b) break; + d = n1(c[b + 4 >> 2] | 0) | 0; + b = A$(d, 58) | 0; + if (b | 0) a[b >> 0] = 0; + if (!((a[h >> 0] | 0) != 0 ? (O$(h, d) | 0) != 0 : 0)) { + e = c[46231] | 0; + if (e >>> 0 >= (c[46232] | 0) >>> 0) { + Uw(184920, 1) | 0; + e = c[46231] | 0 + } + c[46231] = e + 1; + a[e >> 0] = 32; + Ww(184920, c[(c[g >> 2] | 0) + 4 >> 2] | 0) | 0; + e = c[46231] | 0; + if (e >>> 0 >= (c[46232] | 0) >>> 0) { + Uw(184920, 1) | 0; + e = c[46231] | 0 + } + c[46231] = e + 1; + a[e >> 0] = 58; + Ww(184920, c[(c[(c[g >> 2] | 0) + 12 >> 2] | 0) + 8 >> 2] | 0) | 0; + e = 0 + } + D_(d); + g = c[g >> 2] | 0 + } + D_(h); + if (e << 24 >> 24) { + g = 0; + i = 19 + } + } else { + D_(h); + g = 0; + f = b + 60 + (d << 2) | 0; + e = 1; + i = 19 + } + if ((i | 0) == 19) { + while (1) { + b = c[f >> 2] | 0; + if (!b) break; + d = n1(c[b + 4 >> 2] | 0) | 0; + b = A$(d, 58) | 0; + if (b | 0) a[b >> 0] = 0; + if (!((g | 0) != 0 ? (O$(g, d) | 0) == 0 : 0)) { + e = c[46231] | 0; + if (e >>> 0 >= (c[46232] | 0) >>> 0) { + Uw(184920, 1) | 0; + e = c[46231] | 0 + } + c[46231] = e + 1; + a[e >> 0] = 32; + Ww(184920, d) | 0; + e = 0 + } + g = d; + f = c[f >> 2] | 0; + i = 19 + } + if (e << 24 >> 24) { + e = 191979; + break + } + } + e = c[46231] | 0; + if (e >>> 0 >= (c[46232] | 0) >>> 0) { + Uw(184920, 1) | 0; + e = c[46231] | 0 + } + a[e >> 0] = 0; + e = c[46230] | 0; + c[46231] = e + } while (0); + return e | 0 + } + + function yC(b) { + b = b | 0; + var d = 0; + if (!b) qa(108182, 95369, 573, 95383); + if (!(a[b >> 0] | 0)) qa(108187, 95369, 574, 95383); + d = c[46234] | 0; + if (!d) b = 0; else b = nb[c[d >> 2] & 63](d, b, 512) | 0; + return b | 0 + } + + function zC(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + i = k; + if (!b) qa(108230, 95369, 589, 95400); + g = b + 8 | 0; + e = c[g >> 2] | 0; + if (!e) qa(108233, 95369, 590, 95400); + if (!(a[e >> 0] | 0)) qa(108242, 95369, 591, 95400); + h = b + 20 | 0; + f = c[h >> 2] | 0; + do if (!f) { + d = ZL(e) | 0; + if (!d) { + c[i >> 2] = c[g >> 2]; + Pw(0, 95424, i) | 0; + d = 0; + break + } + i = L1(d, 135739) | 0; + c[h >> 2] = i; + if (!i) { + c[j >> 2] = c$(c[(O_() | 0) >> 2] | 0) | 0; + c[j + 4 >> 2] = d; + Pw(0, 95449, j) | 0; + d = 0; + break + } + d = c[46235] | 0; + if ((d | 0) > 49) { + a[b + 17 >> 0] = 1; + d = 1; + break + } else { + c[46235] = d + 1; + d = 1; + break + } + } else { + Z1(f, 0, 0) | 0; + if (!(c[h >> 2] | 0)) qa(95470, 95369, 614, 95400); else d = 1 + } while (0); + l = k; + return d | 0 + } + + function AC(b) { + b = b | 0; + var d = 0, e = 0; + if (a[b + 17 >> 0] | 0 ? (d = b + 20 | 0, e = c[d >> 2] | 0, e | 0) : 0) { + s1(e) | 0; + c[d >> 2] = 0 + } + return + } + + function BC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0; + if (!b) { + e = -1; + d = -1 + } else { + e = c[b + 48 >> 2] | 0; + f = +(e | 0); + if (!e) { + g = +h[d >> 3]; + f = +h[d + 8 >> 3] + } else { + h[d + 8 >> 3] = f; + h[d >> 3] = f; + g = f + } + e = ~~(+((c[b + 40 >> 2] | 0) * 72 | 0) / g); + d = ~~(+((c[b + 44 >> 2] | 0) * 72 | 0) / f) + } + c[a >> 2] = e; + c[a + 4 >> 2] = d; + return + } + + function CC(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0; + m = l; + l = l + 48 | 0; + f = m + 16 | 0; + j = m; + k = m + 32 | 0; + if ((e | 0) != 0 ? (a[e >> 0] | 0) != 0 : 0) { + if ((0 == 0 ? (g = c[46362] | 0, (c[46236] | 0) != (g | 0)) : 0) ? (c[46236] = g, i = c[46234] | 0, i | 0) : 0) { + yw(i) | 0; + c[46234] = 0 + } + n = +h[(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0) + 24 >> 3]; + n = !(n >= 1.0) ? 96.0 : n; + h[j + 8 >> 3] = n; + h[j >> 3] = n; + d = DC(e) | 0; + c[f >> 2] = c[j >> 2]; + c[f + 4 >> 2] = c[j + 4 >> 2]; + c[f + 8 >> 2] = c[j + 8 >> 2]; + c[f + 12 >> 2] = c[j + 12 >> 2]; + BC(k, d, f); + d = c[k >> 2] | 0; + f = c[k + 4 >> 2] | 0 + } else { + d = -1; + f = -1 + } + c[b >> 2] = d; + c[b + 4 >> 2] = f; + l = m; + return + } + + function DC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if (!a) qa(108182, 95369, 638, 95476); + if (!(c[46234] | 0)) c[46234] = Cw(20088, c[4563] | 0) | 0; + b = yC(a) | 0; + a:do if (!b) { + b = uH(64) | 0; + if (!b) b = 0; else { + d = b + 8 | 0; + c[d >> 2] = Oz(0, a) | 0; + if (!((zC(b) | 0) << 24 >> 24)) { + EC(b); + b = 0; + break + } + if (!(c[b + 20 >> 2] | 0)) qa(95470, 95369, 653, 95476); + do switch (FC(b) | 0) { + case 0: { + a = VJ(c[d >> 2] | 0) | 0; + c[b + 52 >> 2] = a; + if (!a) { + c[e >> 2] = c[d >> 2]; + Pw(0, 95493, e) | 0; + EC(b); + b = 0; + break a + } + break + } + case 2: { + GC(b); + break + } + case 3: { + HC(b); + break + } + case 1: { + IC(b); + break + } + case 4: { + JC(b); + break + } + case 6: { + KC(b); + break + } + case 11: { + LC(b); + break + } + case 8: { + MC(b); + break + } + case 5: { + NC(b); + break + } + case 12: { + OC(b); + break + } + default: { + } + } while (0); + AC(b); + e = c[46234] | 0; + nb[c[e >> 2] & 63](e, b, 1) | 0 + } + } else AC(b); while (0); + l = f; + return b | 0 + } + + function EC(a) { + a = a | 0; + var b = 0; + b = c[a + 8 >> 2] | 0; + if (b | 0) Qz(0, b) | 0; + D_(a); + return + } + + function FC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 224 | 0; + f = j + 200 | 0; + g = j; + h = a + 20 | 0; + b = c[h >> 2] | 0; + a:do if ((b | 0) != 0 ? (g3(f, 1, 20, b) | 0) == 20 : 0) { + d = 0; + while (1) { + if (d >>> 0 >= 10) { + i = 13; + break a + } + if (!(L0(f, c[20124 + (d << 4) >> 2] | 0, c[20124 + (d << 4) + 4 >> 2] | 0) | 0)) break; + d = d + 1 | 0 + } + e = a + 28 | 0; + c[e >> 2] = c[20124 + (d << 4) + 12 >> 2]; + b = c[20124 + (d << 4) + 8 >> 2] | 0; + a = a + 24 | 0; + c[a >> 2] = b; + switch (d | 0) { + case 7: + break; + case 8: { + if (L0(f + 8 | 0, 95709, 4) | 0) break a; + c[e >> 2] = 95714; + c[a >> 2] = 11; + b = 11; + break a + } + default: + break a + } + while (1) { + if (!(O0(g, 200, c[h >> 2] | 0) | 0)) { + i = 11; + break + } + if (!(L0(g, 95704, 4) | 0)) { + i = 8; + break + } + } + if ((i | 0) == 8) { + c[e >> 2] = 98777; + c[a >> 2] = 8; + b = 8; + break + } else if ((i | 0) == 11) { + b = c[a >> 2] | 0; + break + } + } else i = 13; while (0); + if ((i | 0) == 13) { + c[a + 28 >> 2] = 95719; + c[a + 24 >> 2] = 0; + b = 0 + } + l = j; + return b | 0 + } + + function GC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + b = f + 4 | 0; + d = f; + c[a + 48 >> 2] = 0; + e = a + 20 | 0; + Z1(c[e >> 2] | 0, 6, 0) | 0; + if ((XC(c[e >> 2] | 0, 2, b) | 0) << 24 >> 24 ? (XC(c[e >> 2] | 0, 2, d) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2]; + c[a + 44 >> 2] = c[d >> 2] + } + l = f; + return + } + + function HC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + b = f + 4 | 0; + d = f; + c[a + 48 >> 2] = 0; + e = a + 20 | 0; + Z1(c[e >> 2] | 0, 16, 0) | 0; + if ((PC(c[e >> 2] | 0, 4, b) | 0) << 24 >> 24 ? (PC(c[e >> 2] | 0, 4, d) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2]; + c[a + 44 >> 2] = c[d >> 2] + } + l = f; + return + } + + function IC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + b = h + 12 | 0; + d = h + 8 | 0; + e = h + 4 | 0; + f = h; + c[a + 48 >> 2] = 0; + g = a + 20 | 0; + Z1(c[g >> 2] | 0, 16, 0) | 0; + if ((((XC(c[g >> 2] | 0, 2, b) | 0) << 24 >> 24 ? (XC(c[g >> 2] | 0, 2, d) | 0) << 24 >> 24 : 0) ? (XC(c[g >> 2] | 0, 2, e) | 0) << 24 >> 24 : 0) ? (XC(c[g >> 2] | 0, 2, f) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2] << 16 | c[d >> 2]; + c[a + 44 >> 2] = c[e >> 2] << 16 | c[f >> 2] + } + l = h; + return + } + + function JC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 32 | 0; + b = m + 16 | 0; + e = m + 12 | 0; + f = m + 8 | 0; + h = m + 4 | 0; + i = m; + c[a + 48 >> 2] = 0; + j = a + 20 | 0; + while (1) { + if (!((PC(c[j >> 2] | 0, 1, b) | 0) << 24 >> 24)) break; + d = c[b >> 2] | 0; + if ((d | 0) == 255) continue; + if (A$(95692, d) | 0) continue; + if ((d | 0) == 192) { + k = 6; + break + } + g = c[j >> 2] | 0; + if ((d | 0) == 194) { + k = 11; + break + } + if (!((PC(g, 2, e) | 0) << 24 >> 24)) break; + Z1(c[j >> 2] | 0, (c[e >> 2] | 0) + -2 | 0, 1) | 0 + } + if ((k | 0) == 6) { + if (((PC(c[j >> 2] | 0, 3, i) | 0) << 24 >> 24 ? (PC(c[j >> 2] | 0, 2, f) | 0) << 24 >> 24 : 0) ? (PC(c[j >> 2] | 0, 2, h) | 0) << 24 >> 24 : 0) { + c[a + 44 >> 2] = c[f >> 2]; + c[a + 40 >> 2] = c[h >> 2] + } + } else if ((((k | 0) == 11 ? (PC(g, 3, i) | 0) << 24 >> 24 : 0) ? (PC(c[j >> 2] | 0, 2, f) | 0) << 24 >> 24 : 0) ? (PC(c[j >> 2] | 0, 2, h) | 0) << 24 >> 24 : 0) { + c[a + 44 >> 2] = c[f >> 2]; + c[a + 40 >> 2] = c[h >> 2] + } + l = m; + return + } + + function KC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 1056 | 0; + j = m; + b = m + 32 | 0; + e = m + 28 | 0; + f = m + 24 | 0; + g = m + 20 | 0; + h = m + 16 | 0; + c[a + 48 >> 2] = 72; + i = a + 20 | 0; + Z1(c[i >> 2] | 0, 0, 0) | 0; + while (1) { + if (!(O0(b, 1024, c[i >> 2] | 0) | 0)) break; + d = P0(b, 95677) | 0; + if (!d) continue; + c[j >> 2] = e; + c[j + 4 >> 2] = f; + c[j + 8 >> 2] = g; + c[j + 12 >> 2] = h; + if ((N1(d, 101285, j) | 0) == 4) { + k = 5; + break + } + } + if ((k | 0) == 5) { + j = c[e >> 2] | 0; + c[a + 32 >> 2] = j; + k = c[f >> 2] | 0; + c[a + 36 >> 2] = k; + c[a + 40 >> 2] = (c[g >> 2] | 0) - j; + c[a + 44 >> 2] = (c[h >> 2] | 0) - k + } + l = m; + return + } + + function LC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + b = g + 4 | 0; + d = g; + c[a + 48 >> 2] = 0; + e = a + 20 | 0; + Z1(c[e >> 2] | 0, 15, 0) | 0; + h = (m3(c[e >> 2] | 0) | 0) == 88; + f = c[e >> 2] | 0; + if (h) { + Z1(f, 24, 0) | 0; + if ((XC(c[e >> 2] | 0, 4, b) | 0) << 24 >> 24 ? (XC(c[e >> 2] | 0, 4, d) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2]; + c[a + 44 >> 2] = c[d >> 2] + } + } else { + Z1(f, 26, 0) | 0; + if ((XC(c[e >> 2] | 0, 2, b) | 0) << 24 >> 24 ? (XC(c[e >> 2] | 0, 2, d) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2]; + c[a + 44 >> 2] = c[d >> 2] + } + } + l = g; + return + } + + function MC(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0; + F = l; + l = l + 352 | 0; + C = F + 80 | 0; + B = F + 72 | 0; + E = F + 64 | 0; + D = F + 56 | 0; + A = F + 48 | 0; + d = F + 40 | 0; + s = F + 32 | 0; + t = F + 24 | 0; + u = F + 16 | 0; + v = F + 8 | 0; + w = F; + x = F + 328 | 0; + y = F + 128 | 0; + z = F + 96 | 0; + if (!(c[46237] | 0)) { + if (o2(184952, 95562, 1) | 0) { + c[d >> 2] = 95562; + Pw(1, 95589, d) | 0 + } + c[46237] = 184952 + } + m = b + 20 | 0; + Z1(c[m >> 2] | 0, 0, 0) | 0; + n = z + 12 | 0; + o = z + 20 | 0; + p = z + 8 | 0; + q = z + 16 | 0; + r = z + 4 | 0; + d = 0; + g = 0; + f = 0; + e = 0; + a:while (1) { + if (!(O0(y, 200, c[m >> 2] | 0) | 0)) break; + if (g << 24 >> 24 == 0 | d << 24 >> 24 == 0) { + i = y; + k = e + } else break; + b:while (1) { + j = f; + c:while (1) { + while (1) { + if (a3(184952, i, 4, z, 0) | 0) { + f = j; + e = k; + continue a + } + a[i + (c[n >> 2] | 0) >> 0] = 0; + a[i + (c[o >> 2] | 0) >> 0] = 0; + e = i + (c[p >> 2] | 0) | 0; + f = i + (c[q >> 2] | 0) | 0; + i = i + ((c[r >> 2] | 0) + 1) | 0; + if (!(b$(e, 138034) | 0)) break; + if (!(b$(e, 137966) | 0)) break c; + if (b$(e, 95636) | 0) continue; + c[C >> 2] = t; + c[C + 4 >> 2] = u; + c[C + 8 >> 2] = v; + c[C + 12 >> 2] = w; + if ((N1(f, 95644, C) | 0) == 4) break b + } + c[A >> 2] = s; + c[A + 4 >> 2] = x; + if ((N1(f, 95626, A) | 0) != 2) { + c[D >> 2] = s; + if ((N1(f, 98183, D) | 0) == 1) { + e = 1; + f = WC(+h[s >> 3], 95633) | 0 + } else { + e = g; + f = j + } + } else { + e = 1; + f = WC(+h[s >> 3], x) | 0 + } + if (!(d << 24 >> 24)) { + d = 0; + g = e; + j = f + } else { + g = e; + e = k; + continue a + } + } + c[E >> 2] = s; + c[E + 4 >> 2] = x; + if ((N1(f, 95626, E) | 0) != 2) { + c[B >> 2] = s; + if ((N1(f, 98183, B) | 0) == 1) { + d = 1; + e = WC(+h[s >> 3], 95633) | 0 + } else e = k + } else { + d = 1; + e = WC(+h[s >> 3], x) | 0 + } + if (!(g << 24 >> 24)) { + g = 0; + f = j; + k = e + } else { + f = j; + continue a + } + } + d = 1; + g = 1; + f = ~~(+h[v >> 3] + 1.0 - +h[t >> 3]) >>> 0; + e = ~~(+h[w >> 3] + 1.0 - +h[u >> 3]) >>> 0 + } + c[b + 48 >> 2] = 0; + c[b + 40 >> 2] = f; + c[b + 44 >> 2] = e; + l = F; + return + } + + function NC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0.0, g = 0.0; + d = l; + l = l + 32 | 0; + b = d; + c[a + 48 >> 2] = 0; + e = a + 20 | 0; + Z1(c[e >> 2] | 0, 0, 0) | 0; + if (!(QC(c[e >> 2] | 0, b) | 0)) { + g = +h[b >> 3]; + c[a + 32 >> 2] = ~~g; + f = +h[b + 8 >> 3]; + c[a + 36 >> 2] = ~~f; + c[a + 40 >> 2] = ~~(+h[b + 16 >> 3] - g); + c[a + 44 >> 2] = ~~(+h[b + 24 >> 3] - f) + } + l = d; + return + } + + function OC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + b = f + 4 | 0; + d = f; + c[a + 48 >> 2] = 0; + e = a + 20 | 0; + Z1(c[e >> 2] | 0, 6, 0) | 0; + if ((PC(c[e >> 2] | 0, 1, b) | 0) << 24 >> 24 ? (PC(c[e >> 2] | 0, 1, d) | 0) << 24 >> 24 : 0) { + c[a + 40 >> 2] = c[b >> 2]; + c[a + 44 >> 2] = c[d >> 2] + } + l = f; + return + } + + function PC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + c[d >> 2] = 0; + e = 0; + while (1) { + if (e >>> 0 >= b >>> 0) { + e = 1; + break + } + f = m3(a) | 0; + if (r1(a) | 0) { + e = 0; + break + } + c[d >> 2] = c[d >> 2] << 8 | f; + e = e + 1 | 0 + } + return e | 0 + } + + function QC(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 1040 | 0; + d = h; + e = h + 16 | 0; + while (1) { + if (!(O0(e, 1024, a) | 0)) { + a = 1; + break + } + f = P0(e, 95552) | 0; + if (f | 0) { + g = 4; + break + } + } + if ((g | 0) == 4) { + c[d + 4 >> 2] = e; + c[d >> 2] = f + 9; + c[d + 8 >> 2] = a; + a = RC(d, b) | 0 + } + l = h; + return a | 0 + } + + function RC(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 1024 | 0; + f = g; + SC(b); + e = a[c[b >> 2] >> 0] | 0; + if (!(e << 24 >> 24)) e = (TC(b) | 0) & 255; else e = e << 24 >> 24; + if ((((e | 0) == 91 ? (c[b >> 2] = (c[b >> 2] | 0) + 1, UC(b, f), (VC(f, d) | 0) == 0) : 0) ? (UC(b, f), (VC(f, d + 8 | 0) | 0) == 0) : 0) ? (UC(b, f), (VC(f, d + 16 | 0) | 0) == 0) : 0) { + UC(b, f); + e = (VC(f, d + 24 | 0) | 0) != 0 & 1 + } else e = 1; + l = g; + return e | 0 + } + + function SC(b) { + b = b | 0; + var d = 0; + d = c[b >> 2] | 0; + while (1) { + d = a[d >> 0] | 0; + if (!(d << 24 >> 24)) d = (TC(b) | 0) & 255; else d = d << 24 >> 24; + if (!((d & 255) << 24 >> 24)) break; + if (!(B$(d & 255) | 0)) break; + d = (c[b >> 2] | 0) + 1 | 0; + c[b >> 2] = d + } + return + } + + function TC(b) { + b = b | 0; + var d = 0; + d = b + 4 | 0; + if (!(O0(c[d >> 2] | 0, 1024, c[b + 8 >> 2] | 0) | 0)) b = 0; else { + d = c[d >> 2] | 0; + c[b >> 2] = d; + b = a[d >> 0] | 0 + } + return b | 0 + } + + function UC(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + SC(b); + e = 0; + f = c[b >> 2] | 0; + while (1) { + f = a[f >> 0] | 0; + if (!(f << 24 >> 24)) g = (TC(b) | 0) & 255; else g = f << 24 >> 24; + f = g << 24 >> 24; + if (!f) break; + if (!((f | 0) == 46 | (f + -48 | 0) >>> 0 < 10)) break; + a[d + e >> 0] = g; + e = e + 1 | 0; + f = (c[b >> 2] | 0) + 1 | 0; + c[b >> 2] = f; + if ((e | 0) == 1023) { + e = 1023; + break + } + } + a[d + e >> 0] = 0; + return + } + + function VC(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + d = +c2(a, f); + if ((c[f >> 2] | 0) == (a | 0)) a = 1; else { + h[b >> 3] = d; + a = 0 + } + l = e; + return a | 0 + } + + function WC(a, b) { + a = +a; + b = b | 0; + var c = 0.0; + do if (!(b$(b, 95660) | 0)) { + a = a * 72.0; + c = a; + a = a >= 0.0 ? .5 : -.5 + } else { + if (!(b$(b, 95663) | 0)) { + a = a * .75; + c = a; + a = a >= 0.0 ? .5 : -.5; + break + } + if (!(b$(b, 95666) | 0)) { + a = a * 12.0; + c = a; + a = a >= 0.0 ? .5 : -.5; + break + } + if (b$(b, 95633) | 0 ? b$(b, 95669) | 0 : 0) if (!(b$(b, 95671) | 0)) { + a = a * 28.346456664; + c = a; + a = a >= 0.0 ? .5 : -.5; + break + } else { + b = (b$(b, 95674) | 0) == 0; + c = a * 2.8346456663999997; + return (b ? ~~(c + (c >= 0.0 ? .5 : -.5)) : 0) | 0 + } + c = a >= 0.0 ? .5 : -.5 + } while (0); + return ~~(a + c) | 0 + } + + function XC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + c[d >> 2] = 0; + e = 0; + while (1) { + if (e >>> 0 >= b >>> 0) { + e = 1; + break + } + f = m3(a) | 0; + if (r1(a) | 0) { + e = 0; + break + } + c[d >> 2] = c[d >> 2] | f << (e << 3); + e = e + 1 | 0 + } + return e | 0 + } + + function YC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + a = c[b + 20 >> 2] | 0; + if (a | 0) s1(a) | 0; + if (c[b + 52 >> 2] | 0 ? (e = c[b + 60 >> 2] | 0, e | 0) : 0) tb[e & 127](b); + D_(b); + return + } + + function ZC() { + var a = 0; + nx(0, 1, 105198, 102467) | 0; + a = kC(0, 1) | 0; + LP(a, 0); + return a | 0 + } + + function _C(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0; + k = l; + l = l + 304 | 0; + j = k + 24 | 0; + i = k + 8 | 0; + f = k; + g = k + 40 | 0; + if ((UB(b, e) | 0) != 999) if ((VB(b, d) | 0) == -1) b = -1; else { + b = c[d + 16 >> 2] | 0; + e = b + 16 | 0; + if (!(a[(c[b + 8 >> 2] | 0) + 81 >> 0] | 0)) { + p = +h[e >> 3]; + o = +h[b + 24 >> 3]; + n = +h[b + 32 >> 3]; + m = +h[b + 40 >> 3]; + c[j >> 2] = ~~(p + (p >= 0.0 ? .5 : -.5)); + c[j + 4 >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + c[j + 8 >> 2] = ~~(n + (n >= 0.0 ? .5 : -.5)); + c[j + 12 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + Y0(g, 95873, j) | 0 + } else { + m = +h[b + 24 >> 3]; + n = +h[e >> 3]; + o = +h[b + 40 >> 3]; + p = +h[b + 32 >> 3]; + c[i >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[i + 4 >> 2] = ~~(n + (n >= 0.0 ? .5 : -.5)); + c[i + 8 >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + c[i + 12 >> 2] = ~~(p + (p >= 0.0 ? .5 : -.5)); + Y0(g, 95873, i) | 0 + } + Ax(d, 99645, g, 191979) | 0; + b = 0 + } else { + b = xC(b, 1, e) | 0; + c[f >> 2] = e; + c[f + 4 >> 2] = b; + Pw(1, 95824, f) | 0; + b = -1 + } + l = k; + return b | 0 + } + + function $C(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + f = c[b + 60 >> 2] | 0; + oC(a, d) | 0; + b = c[a + 164 >> 2] | 0; + c[b + 56 >> 2] = uO(b, c[b + 52 >> 2] | 0) | 0; + if ((Az(f, 134401, 0, 1) | 0) != 0 ? (c[(c[f + 16 >> 2] | 0) + 8 >> 2] | 0) != 0 : 0) h = 5; else if (!(c[b + 152 >> 2] & 67108864)) { + Sw(95885, g); + b = -1 + } else h = 5; + if ((h | 0) == 5) { + c[b + 36 >> 2] = e; + if (!e) { + h = b + 152 | 0; + c[h >> 2] = c[h >> 2] | 134217728 + } + h = DG(a, f) | 0; + wO(b); + tC(a); + b = h + } + l = i; + return b | 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, i = 0; + i = l; + l = l + 16 | 0; + g = i; + f = c[b + 60 >> 2] | 0; + oC(a, d) | 0; + b = c[a + 164 >> 2] | 0; + c[b + 56 >> 2] = uO(b, c[b + 52 >> 2] | 0) | 0; + if ((Az(f, 134401, 0, 1) | 0) != 0 ? (c[(c[f + 16 >> 2] | 0) + 8 >> 2] | 0) != 0 : 0) h = 5; else if (!(c[b + 152 >> 2] & 67108864)) { + Sw(95885, g); + b = -1 + } else h = 5; + if ((h | 0) == 5) { + nC(a, e); + h = DG(a, f) | 0; + wO(b); + dC(b); + tC(a); + b = h + } + l = i; + return b | 0 + } + + function bD(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + h = m + 8 | 0; + g = m; + b = c[b + 60 >> 2] | 0; + oC(a, d) | 0; + j = c[a + 164 >> 2] | 0; + c[j + 56 >> 2] = uO(j, c[j + 52 >> 2] | 0) | 0; + if ((Az(b, 134401, 0, 1) | 0) != 0 ? (c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) != 0 : 0) k = 5; else if (!(c[j + 152 >> 2] & 67108864)) { + Sw(95885, g); + b = -1 + } else k = 5; + do if ((k | 0) == 5) { + if (e | 0 ? (i = C_(4096) | 0, c[e >> 2] = i, i | 0) : 0) { + g = j + 40 | 0; + c[g >> 2] = i; + c[j + 44 >> 2] = 4096; + d = j + 48 | 0; + c[d >> 2] = 0; + b = DG(a, b) | 0; + wO(j); + if (!b) { + c[e >> 2] = c[g >> 2]; + c[f >> 2] = c[d >> 2] + } + tC(a); + break + } + Pw(1, 95906, h) | 0; + b = -1 + } while (0); + l = m; + return b | 0 + } + + function cD(a, b) { + a = a | 0; + b = b | 0; + JP(a, 0, b); + return + } + + function dD(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + H = l; + l = l + 4288 | 0; + E = H + 8 | 0; + D = H; + F = 4; + G = C_(40) | 0; + c[G >> 2] = 0; + A = H + 4152 | 0; + B = H + 4148 | 0; + C = H + 4128 | 0; + j = H + 4112 | 0; + k = H + 16 | 0; + o = 0; + i = $(24, b | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + a:do if ((h | 0) != 1) { + if (!i) { + c[d >> 2] = 0; + g = 0; + break + } + o = 0; + n = ca(26, e | 0, B | 0, A | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) != 1) { + o = 0; + m = $(23, 40) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) != 1) { + o = 0; + na(7, C | 0, j | 0, k | 0, 24, 83); + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) != 1) { + o = 0; + e = $(25, b | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) != 1) { + j = C + 16 | 0; + i = c[j >> 2] | 0; + g = e; + while (1) { + if (!g) break; + o = 0; + aa(i | 0, g | 0, 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + e = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!e) bb(h | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + y = 0; + x = j; + w = m; + v = n; + g = z; + m = 15; + break a + } + o = 0; + g = aa(84, b | 0, g | 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + e = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!e) bb(h | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + y = 0; + x = j; + w = m; + v = n; + g = z; + m = 15; + break a + } + } + G = D3(184984, 1, G | 0, F | 0) | 0; + F = z; + o = 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + y = m; + x = j; + w = m; + v = n; + g = z; + m = 15 + } else { + y = m; + x = j; + w = m; + v = n; + g = 0; + m = 15 + } + } else { + y = 0; + x = 0; + w = m; + v = n; + g = z; + m = 15 + } + } else { + y = 0; + x = 0; + w = m; + v = n; + g = z; + m = 15 + } + } else { + y = 0; + x = 0; + w = m; + v = n; + g = z; + m = 15 + } + } else { + y = 0; + x = 0; + w = 0; + v = n; + g = z; + m = 15 + } + } else { + y = 0; + x = 0; + w = 0; + v = 0; + g = z; + m = 15 + } while (0); + do if ((m | 0) == 15) { + b:while (1) { + c:do if (!g) { + o = 0; + e = $(25, b | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + u = v + (c[B >> 2] | 0) | 0; + k = 0; + m = 0; + j = 0; + while (1) { + if (!e) break; + o = 0; + g = aa(c[x >> 2] | 0, e | 0, -1) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + i = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!i) bb(h | 0, p | 0); + z = p + } else i = -1; + if ((i | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + if ((g | 0) == 0 ? (a[(c[e + 16 >> 2] | 0) + 119 >> 0] | 0) == 3 : 0) { + if (!m) { + o = 0; + c[D >> 2] = j; + ca(27, u | 0, 134313, D | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + o = 0; + i = ca(28, b | 0, v | 0, 1) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + o = 0; + da(53, i | 0, 134401, 280, 1) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + c[y + (j << 2) >> 2] = i; + k = 1; + j = j + 1 | 0 + } else i = m; + o = 0; + da(54, b | 0, e | 0, i | 0, C | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + } else i = m; + o = 0; + e = aa(84, b | 0, e | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + m = i + } + o = 0; + e = $(25, b | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + i = 10; + n = y; + q = w; + r = w; + t = w; + while (1) { + if (!e) { + m = 0; + i = r; + e = t; + break c + } + o = 0; + g = aa(c[x >> 2] | 0, e | 0, -1) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + m = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!m) bb(h | 0, p | 0); + z = p + } else m = -1; + if ((m | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + if (!g) { + o = 0; + c[E >> 2] = j; + ca(27, u | 0, 134313, E | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + o = 0; + s = ca(28, b | 0, v | 0, 1) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + o = 0; + da(53, s | 0, 134401, 280, 1) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + g = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!g) bb(h | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + o = 0; + da(54, b | 0, e | 0, s | 0, C | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + if ((j | 0) == (i | 0)) { + i = j << 1; + o = 0; + m = aa(85, q | 0, j << 3 | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + g = m; + q = m; + r = m; + h = m + } else { + g = n; + h = t + } + c[g + (j << 2) >> 2] = s; + n = g; + j = j + 1 | 0; + m = h + } else m = t; + o = 0; + e = aa(84, b | 0, e | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + t = m + } + } else { + m = 1; + k = 0; + n = y; + j = 0; + i = w; + e = w + } while (0); + o = 0; + ia(105, C | 0); + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue + } + if ((v | 0) != (A | 0)) { + o = 0; + ia(103, v | 0); + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue + } + } + if (!m) { + o = 0; + g = aa(85, e | 0, j << 2 | 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + e = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!e) bb(h | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue + } else { + m = 58; + break + } + } + c[d >> 2] = 0; + g = 0; + while (1) { + if ((g | 0) >= (j | 0)) break; + o = 0; + $(26, c[n + (g << 2) >> 2] | 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + e = E3(c[h >> 2] | 0, G | 0, F | 0) | 0; + if (!e) bb(h | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15; + continue b + } + g = g + 1 | 0 + } + o = 0; + ia(103, i | 0); + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + h = E3(c[g >> 2] | 0, G | 0, F | 0) | 0; + if (!h) bb(g | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + s = v; + t = w; + u = x; + m = y; + g = z; + v = s; + w = t; + x = u; + y = m; + m = 15 + } else { + m = 56; + break + } + } + if ((m | 0) == 56) { + g = 0; + break + } else if ((m | 0) == 58) { + c[d >> 2] = j; + a[f >> 0] = k; + break + } + } while (0); + D_(G | 0); + l = H; + return g | 0 + } + + function eD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + if (!((a | 0) != 0 ? (nD(a) | 0) != 0 : 0)) a = 95962; + e = W_(a) | 0; + if ((e | 0) >= 104) { + d = vH(e + 25 | 0) | 0; + if (!d) d = 0; else f = 6 + } else f = 6; + if ((f | 0) == 6) { + b0(d, a) | 0; + c[b >> 2] = e + } + return d | 0 + } + + function fD(a, b) { + a = a | 0; + b = b | 0; + Xy(b, a, 1) | 0; + return + } + + function gD(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + b = (c[b + 16 >> 2] | 0) + 157 | 0; + e = a[b >> 0] | 0; + if ((d | 0) >= 0) a[b >> 0] = d; + return e | 0 + } + + function hD(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + c[b >> 2] = d; + c[b + 4 >> 2] = d + 4096; + c[b + 12 >> 2] = 0; + c[b + 8 >> 2] = 0; + c[a >> 2] = b; + c[a + 4 >> 2] = b; + c[a + 8 >> 2] = d; + c[a + 12 >> 2] = e; + c[a + 16 >> 2] = f; + return + } + + function iD(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + lD(e, b); + i = e + 12 | 0; + j = e + 16 | 0; + b = 0; + a:while (1) { + k = mD(e) | 0; + if (!k) break; + b = b + 1 | 0; + f = c[i >> 2] | 0; + if (f | 0) ub[f & 63](k, d); + h = Jx(a, k) | 0; + while (1) { + if (!h) continue a; + g = c[h >> 2] & 3; + f = c[((g | 0) == 3 ? h : h + 48 | 0) + 40 >> 2] | 0; + if ((f | 0) == (k | 0)) f = c[((g | 0) == 2 ? h : h + -48 | 0) + 40 >> 2] | 0; + if (!(lb[c[j >> 2] & 127](f, -1) | 0)) lD(e, f); + h = Kx(a, h, k) | 0 + } + } + return b | 0 + } + + function jD(a) { + a = a | 0; + var b = 0; + a = c[(c[a >> 2] | 0) + 12 >> 2] | 0; + while (1) { + if (!a) break; + b = c[a + 12 >> 2] | 0; + kD(a); + a = b + } + return + } + + function kD(a) { + a = a | 0; + D_(c[a >> 2] | 0); + D_(a); + return + } + + function lD(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + f = k; + g = a + 8 | 0; + i = a + 4 | 0; + d = c[i >> 2] | 0; + if ((c[g >> 2] | 0) == (c[d + 4 >> 2] | 0)) { + d = c[d + 12 >> 2] | 0; + do if (!d) { + e = vH(16) | 0; + if (!e) { + Pw(1, 95943, f) | 0; + bb(184984, 1) + } + c[e + 8 >> 2] = c[i >> 2]; + c[e + 12 >> 2] = 0; + d = vH(4e6) | 0; + c[e >> 2] = d; + if (!d) { + Pw(1, 95943, j) | 0; + bb(184984, 1) + } else { + c[e + 4 >> 2] = d + 4e6; + c[(c[i >> 2] | 0) + 12 >> 2] = e; + h = e; + break + } + } else h = d; while (0); + c[i >> 2] = h; + c[g >> 2] = c[h >> 2] + } + lb[c[a + 16 >> 2] & 127](b, 1) | 0; + j = c[g >> 2] | 0; + c[g >> 2] = j + 4; + c[j >> 2] = b; + l = k; + return + } + + function mD(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = a + 8 | 0; + b = c[f >> 2] | 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + if ((b | 0) == (c[e >> 2] | 0)) if ((e | 0) == (c[a >> 2] | 0)) b = 0; else { + b = c[e + 8 >> 2] | 0; + c[d >> 2] = b; + b = c[b + 4 >> 2] | 0; + c[f >> 2] = b; + g = 4 + } else g = 4; + if ((g | 0) == 4) { + b = b + -4 | 0; + c[f >> 2] = b; + b = c[b >> 2] | 0 + } + return b | 0 + } + + function nD(b) { + b = b | 0; + var c = 0; + a:while (1) { + c = b; + b = b + 1 | 0; + c = a[c >> 0] | 0; + switch (c << 24 >> 24) { + case 95: + continue a; + case 0: { + b = 1; + break a + } + default: { + } + } + if (!(M$(c & 255) | 0)) { + b = 0; + break + } + } + return b | 0 + } + + function oD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, A = 0, B = 0; + B = l; + l = l + 4272 | 0; + x = B; + y = 4; + A = C_(40) | 0; + c[A >> 2] = 0; + u = B + 4144 | 0; + v = B + 4140 | 0; + w = B + 4120 | 0; + h = B + 4104 | 0; + i = B + 8 | 0; + o = 0; + f = $(24, a | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + e = E3(c[g >> 2] | 0, A | 0, y | 0) | 0; + if (!e) bb(g | 0, p | 0); + z = p + } else e = -1; + a:do if ((e | 0) != 1) if (f) { + o = 0; + k = ca(26, d | 0, v | 0, u | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) != 1) { + o = 0; + j = $(23, 40) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) != 1) { + o = 0; + na(7, w | 0, h | 0, i | 0, 24, 83); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) != 1) { + o = 0; + f = $(25, a | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) != 1) { + h = w + 16 | 0; + g = c[h >> 2] | 0; + e = f; + while (1) { + if (!e) break; + o = 0; + aa(g | 0, e | 0, 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + f = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!f) bb(d | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + t = h; + s = j; + r = k; + e = z; + j = 14; + break a + } + o = 0; + e = aa(84, a | 0, e | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + f = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!f) bb(d | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + t = h; + s = j; + r = k; + e = z; + j = 14; + break a + } + } + A = D3(184984, 1, A | 0, y | 0) | 0; + y = z; + o = 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + t = h; + s = j; + r = k; + e = z; + j = 14 + } else { + t = h; + s = j; + r = k; + e = 0; + j = 14 + } + } else { + t = 0; + s = j; + r = k; + e = z; + j = 14 + } + } else { + t = 0; + s = j; + r = k; + e = z; + j = 14 + } + } else { + t = 0; + s = j; + r = k; + e = z; + j = 14 + } + } else { + t = 0; + s = 0; + r = k; + e = z; + j = 14 + } + } else { + d = 0; + e = 0 + } else { + t = 0; + s = 0; + r = 0; + e = z; + j = 14 + } while (0); + b:do if ((j | 0) == 14) { + c:while (1) { + if (e | 0) { + o = 0; + ia(105, w | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } + o = 0; + ia(103, s | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } + if ((r | 0) == (u | 0)) { + d = 0; + e = 0; + break b + } + o = 0; + ia(103, r | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } else { + j = 19; + break + } + } + o = 0; + f = $(25, a | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, A | 0, y | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } + q = r + (c[v >> 2] | 0) | 0; + h = 10; + k = s; + e = 0; + j = s; + n = s; + while (1) { + if (!f) break; + o = 0; + d = aa(c[t >> 2] | 0, f | 0, -1) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + i = E3(c[g >> 2] | 0, A | 0, y | 0) | 0; + if (!i) bb(g | 0, p | 0); + z = p + } else i = -1; + if ((i | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + if (!d) { + o = 0; + c[x >> 2] = e; + ca(27, q | 0, 134313, x | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + o = 0; + m = ca(28, a | 0, r | 0, 1) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + o = 0; + da(53, m | 0, 134401, 280, 1) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + o = 0; + da(54, a | 0, f | 0, m | 0, w | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + if ((e | 0) == (h | 0)) { + h = e << 1; + o = 0; + i = aa(85, j | 0, e << 3 | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + g = i; + j = i; + d = i + } else { + g = k; + d = n + } + c[g + (e << 2) >> 2] = m; + e = e + 1 | 0; + k = g; + i = d + } else i = n; + o = 0; + f = aa(84, a | 0, f | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + g = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(d | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue c + } + n = i + } + o = 0; + ia(105, w | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + f = E3(c[d >> 2] | 0, A | 0, y | 0) | 0; + if (!f) bb(d | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } + o = 0; + d = aa(85, n | 0, e << 2 | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14; + continue + } + if ((r | 0) == (u | 0)) break b; + o = 0; + ia(103, r | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, A | 0, y | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = r; + q = s; + j = t; + e = z; + r = n; + s = q; + t = j; + j = 14 + } else { + j = 39; + break + } + } + if ((j | 0) == 19) { + d = 0; + e = 0; + break + } else if ((j | 0) == 39) break + } while (0); + c[b >> 2] = e; + D_(A | 0); + l = B; + return d | 0 + } + + function pD(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = 0; + f = Sy(a) | 0; + while (1) { + if (!f) break; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + if (Xy(a, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, 0) | 0) { + Vx(a, e, 1) | 0; + d = d + 1 | 0 + } + e = Gx(b, e) | 0 + } + f = Ty(a, f) | 0 + } + return d | 0 + } + + function qD(a) { + a = a | 0; + a = yz(a, 95967, 0) | 0; + if (!a) qa(95972, 95975, 529, 95984); else return c[a + 8 >> 2] | 0; + return 0 + } + + function rD(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0; + u = l; + l = l + 4320 | 0; + s = u + 24 | 0; + r = u + 8 | 0; + q = u; + t = u + 4184 | 0; + p = u + 4160 | 0; + f = u + 40 | 0; + if (ay(b) | 0) { + Fz(b, 0, 95993, -12, 0); + Fz(b, 1, 96005, 16, 0); + o = eD(e, f, t) | 0; + k = sD(b) | 0; + m = vH((ay(k) | 0) << 2) | 0; + hD(p, u + 4144 | 0, u + 48 | 0, 24, 86); + h = Sy(k) | 0; + n = p + 16 | 0; + i = o + (c[f >> 2] | 0) | 0; + j = c[15686] | 0; + e = 0; + while (1) { + if (!h) break; + if (!(lb[c[n >> 2] & 127](h, -1) | 0)) { + c[q >> 2] = e; + Y0(i, 96907, q) | 0; + v = vA(k, o, 1) | 0; + w = vA(b, o, 1) | 0; + Az(w, 95993, 12, 0) | 0; + a[(yz(w, 95993, 0) | 0) + 8 >> 0] = 1; + f = iD(k, h, v, p) | 0; + uD(v, w); + g = vD(w) | 0; + wD(b, w); + c[m + (e << 2) >> 2] = w; + dz(k, v) | 0; + if (0) { + c[r >> 2] = e; + c[r + 4 >> 2] = f; + c[r + 8 >> 2] = g; + g1(j, 96017, r) | 0 + } + e = e + 1 | 0 + } + h = Ty(k, h) | 0 + } + if (0) { + r = ay(b) | 0; + v = by(b) | 0; + w = ry(b) | 0; + c[s >> 2] = r; + c[s + 4 >> 2] = v; + c[s + 8 >> 2] = e; + c[s + 12 >> 2] = w; + g1(j, 96047, s) | 0 + } + $x(k) | 0; + Gz(b, 0, 95993); + Gz(b, 1, 96005); + jD(p); + f = xH(m, e << 2) | 0; + if ((o | 0) != (t | 0)) D_(o) + } else { + f = 0; + e = 0 + } + c[d >> 2] = e; + l = u; + return f | 0 + } + + function sD(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + a[h >> 0] = a[18492] | 0; + a[h + 1 >> 0] = a[18493] | 0; + a[h + 2 >> 0] = a[18494] | 0; + a[h + 3 >> 0] = a[18495] | 0; + h = Xx(96094, h, 0) | 0; + zD(h, b); + d = Sy(b) | 0; + while (1) { + if (!d) break; + if (!(c[(yz(d, 96005, 0) | 0) + 12 >> 2] | 0)) { + g = az(h, ry(d) | 0, 1) | 0; + Az(g, 96005, 16, 1) | 0; + c[(c[g + 16 >> 2] | 0) + 12 >> 2] = d; + c[(yz(d, 96005, 0) | 0) + 12 >> 2] = g + } + d = Ty(b, d) | 0 + } + e = Sy(b) | 0; + while (1) { + if (!e) break; + f = c[(yz(e, 96005, 0) | 0) + 12 >> 2] | 0; + d = Ex(b, e) | 0; + while (1) { + if (!d) break; + g = c[(yz(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, 96005, 0) | 0) + 12 >> 2] | 0; + do if ((g | 0) != (f | 0)) if (g >>> 0 > f >>> 0) { + Rx(h, f, g, 0, 1) | 0; + break + } else { + Rx(h, g, f, 0, 1) | 0; + break + } while (0); + d = Gx(b, d) | 0 + } + e = Ty(b, e) | 0 + } + l = i; + return h | 0 + } + + function tD(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + b = (c[b + 16 >> 2] | 0) + 8 | 0; + e = a[b >> 0] | 0; + if ((d | 0) >= 0) a[b >> 0] = d; + return e | 0 + } + + function uD(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + e = Sy(a) | 0; + while (1) { + if (!e) break; + f = c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0; + a:do if ((c[f >> 2] & 3 | 0) == 1) Xy(b, f, 1) | 0; else { + d = Sy(f) | 0; + while (1) { + if (!d) break a; + Xy(b, d, 1) | 0; + d = Ty(f, d) | 0 + } + } while (0); + e = Ty(a, e) | 0 + } + return + } + + function vD(a) { + a = a | 0; + return pD(a, c[a + 60 >> 2] | 0) | 0 + } + + function wD(a, b) { + a = a | 0; + b = b | 0; + xD(a, b, 0); + return + } + + function xD(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = (d | 0) == 0; + b = wA(b) | 0; + while (1) { + if (!b) break; + if ((a[(yz(b, 95993, 0) | 0) + 8 >> 0] | 0) == 0 ? (f = yD(b, c, d) | 0, f | 0) : 0) { + if (g) e = (z$(ry(b) | 0, 104980, 7) | 0) == 0; else e = 1; + xD(b, f, e & 1) + } + b = xA(b) | 0 + } + return + } + + function yD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = 0; + g = Sy(a) | 0; + while (1) { + if (!g) break; + f = az(b, ry(g) | 0, 0) | 0; + if (f) { + if (!e) e = vA(b, ry(a) | 0, 1) | 0; + Xy(e, f, 1) | 0 + } + g = Ty(a, g) | 0 + } + if ((d | 0) != 0 & (e | 0) == 0) e = vA(b, ry(a) | 0, 1) | 0; + if (e | 0 ? (pD(e, a) | 0, Bx(a, e) | 0, (z$(ry(e) | 0, 104980, 7) | 0) == 0) : 0) c[(Az(e, 95967, 12, 0) | 0) + 8 >> 2] = a; + return e | 0 + } + + function zD(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; + h = l; + l = l + 16 | 0; + g = h; + d = wA(b) | 0; + e = c[15686] | 0; + while (1) { + if (!d) break; + a:do if (!(z$(ry(d) | 0, 104980, 7) | 0)) { + f = az(a, ry(d) | 0, 1) | 0; + Az(f, 96005, 16, 1) | 0; + c[(c[f + 16 >> 2] | 0) + 12 >> 2] = d; + b = Sy(d) | 0; + while (1) { + if (!b) break a; + if (c[(yz(b, 96005, 0) | 0) + 12 >> 2] | 0) { + k = ry(b) | 0; + j = ry(d) | 0; + i = ry(c[(yz(b, 96005, 0) | 0) + 12 >> 2] | 0) | 0; + c[g >> 2] = k; + c[g + 4 >> 2] = j; + c[g + 8 >> 2] = i; + g1(e, 96097, g) | 0 + } + c[(yz(b, 96005, 0) | 0) + 12 >> 2] = f; + b = Ty(d, b) | 0 + } + } else zD(a, d); while (0); + d = xA(d) | 0 + } + l = h; + return + } + + function AD(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0.0; + n = +h[a >> 3]; + j = ~~(n + (n >= 0.0 ? .5 : -.5)); + n = +h[a + 8 >> 3]; + a = ~~(n + (n >= 0.0 ? .5 : -.5)); + n = +h[b >> 3]; + g = ~~(n + (n >= 0.0 ? .5 : -.5)); + n = +h[b + 8 >> 3]; + f = ~~(n + (n >= 0.0 ? .5 : -.5)); + l = g - j | 0; + i = ((l | 0) > -1 ? l : 0 - l | 0) << 1; + l = l >> 31 | 1; + m = f - a | 0; + k = ((m | 0) > -1 ? m : 0 - m | 0) << 1; + m = m >> 31 | 1; + a:do if ((i | 0) > (k | 0)) { + e = 0 - i | 0; + d = k - (i >> 1) | 0; + b = j; + while (1) { + BI(c, b, a); + if ((b | 0) == (g | 0)) break a; + j = (d | 0) > -1; + d = d + k + (j ? e : 0) | 0; + b = b + l | 0; + a = (j ? m : 0) + a | 0 + } + } else { + e = 0 - k | 0; + d = j; + b = i - (k >> 1) | 0; + while (1) { + BI(c, d, a); + if ((a | 0) == (f | 0)) break a; + k = (b | 0) > -1; + d = (k ? l : 0) + d | 0; + b = b + i + (k ? e : 0) | 0; + a = a + m | 0 + } + } while (0); + return + } + + 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, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + k = n; + j = n + 4 | 0; + do if ((a | 0) < 1) d = 0; else { + f = e + 16 | 0; + if ((c[f >> 2] | 0) >>> 0 < 4) { + d = CD(a, b, d, e) | 0; + break + } + m = vH(a << 5) | 0; + d = 0; + while (1) { + if ((d | 0) == (a | 0)) break; + g = c[b + (d << 2) >> 2] | 0; + mM(g); + h = m + (d << 5) | 0; + g = (c[g + 16 >> 2] | 0) + 16 | 0; + c[h >> 2] = c[g >> 2]; + c[h + 4 >> 2] = c[g + 4 >> 2]; + c[h + 8 >> 2] = c[g + 8 >> 2]; + c[h + 12 >> 2] = c[g + 12 >> 2]; + c[h + 16 >> 2] = c[g + 16 >> 2]; + c[h + 20 >> 2] = c[g + 20 >> 2]; + c[h + 24 >> 2] = c[g + 24 >> 2]; + c[h + 28 >> 2] = c[g + 28 >> 2]; + d = d + 1 | 0 + } + if ((c[f >> 2] | 0) == 4) { + h = e + 28 | 0; + a:do if (c[h >> 2] & 2 | 0) { + f = e + 24 | 0; + c[f >> 2] = uH(a << 2) | 0; + d = 0; + while (1) { + if ((d | 0) == (a | 0)) break a; + g = xx(c[b + (d << 2) >> 2] | 0, 96164) | 0; + if (g | 0 ? (c[k >> 2] = j, g = (N1(g, 134313, k) | 0) > 0, i = c[j >> 2] | 0, g & (i | 0) > -1) : 0) c[(c[f >> 2] | 0) + (d << 2) >> 2] = i; + d = d + 1 | 0 + } + } while (0); + d = DD(a, m, e) | 0; + if (c[h >> 2] & 2) D_(c[e + 24 >> 2] | 0) + } else d = 0; + D_(m) + } while (0); + l = n; + return d | 0 + } + + function CD(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0.0, I = 0.0, + J = 0.0, K = 0.0; + G = l; + l = l + 144 | 0; + B = G + 136 | 0; + A = G + 64 | 0; + F = G + 48 | 0; + v = G + 40 | 0; + u = G; + t = G + 120 | 0; + x = G + 104 | 0; + C = G + 96 | 0; + D = c[f + 20 >> 2] | 0; + c[x >> 2] = 0; + c[x + 4 >> 2] = 0; + c[x + 8 >> 2] = 0; + c[x + 12 >> 2] = 0; + a:do if ((b | 0) >= 1) { + o = (D | 0) == 0; + E = c[15686] | 0; + p = t + 4 | 0; + q = t + 8 | 0; + r = t + 12 | 0; + y = x + 4 | 0; + w = x + 8 | 0; + z = x + 12 | 0; + n = 0; + g = 0; + while (1) { + if ((n | 0) == (b | 0)) break; + s = c[d + (n << 2) >> 2] | 0; + mM(s); + if (!o ? (a[D + n >> 0] | 0) != 0 : 0) { + m = c[s + 16 >> 2] | 0; + H = +h[m + 16 >> 3]; + i = ~~(H + (H >= 0.0 ? .5 : -.5)); + c[t >> 2] = i; + H = +h[m + 24 >> 3]; + j = ~~(H + (H >= 0.0 ? .5 : -.5)); + c[p >> 2] = j; + H = +h[m + 32 >> 3]; + k = ~~(H + (H >= 0.0 ? .5 : -.5)); + c[q >> 2] = k; + H = +h[m + 40 >> 3]; + m = ~~(H + (H >= 0.0 ? .5 : -.5)); + c[r >> 2] = m; + if (!g) { + 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] + } else { + c[x >> 2] = c[((c[x >> 2] | 0) > (i | 0) ? t : x) >> 2]; + c[y >> 2] = c[((c[y >> 2] | 0) > (j | 0) ? t : x) + 4 >> 2]; + c[w >> 2] = c[((c[w >> 2] | 0) < (k | 0) ? t : x) + 8 >> 2]; + c[z >> 2] = c[((c[z >> 2] | 0) < (m | 0) ? t : x) + 12 >> 2] + } + g = g + 1 | 0 + } + if (0 > 2) { + m = ry(s) | 0; + s = c[s + 16 >> 2] | 0; + K = +h[s + 16 >> 3]; + J = +h[s + 24 >> 3]; + I = +h[s + 32 >> 3]; + H = +h[s + 40 >> 3]; + c[u >> 2] = m; + h[u + 8 >> 3] = K; + h[u + 16 >> 3] = J; + h[u + 24 >> 3] = I; + h[u + 32 >> 3] = H; + g1(E, 96231, u) | 0 + } + n = n + 1 | 0 + } + q = vH(b << 5) | 0; + g = 0; + while (1) { + if ((g | 0) == (b | 0)) break; + u = q + (g << 5) | 0; + t = (c[(c[d + (g << 2) >> 2] | 0) + 16 >> 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[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]; + g = g + 1 | 0 + } + o = f + 8 | 0; + p = GD(b, q, c[o >> 2] | 0) | 0; + if (0) { + c[v >> 2] = p; + g1(E, 96259, v) | 0 + } + if ((p | 0) >= 1) { + n = (D | 0) != 0; + if (n) { + i = ((c[w >> 2] | 0) + (c[x >> 2] | 0) | 0) / 2 | 0; + g = ((c[z >> 2] | 0) + (c[y >> 2] | 0) | 0) / 2 | 0 + } else { + i = 0; + g = 0 + } + c[C + 4 >> 2] = g; + c[C >> 2] = i; + m = uH(b << 4) | 0; + k = f + 16 | 0; + g = 0; + while (1) { + if ((g | 0) >= (b | 0)) break; + i = c[d + (g << 2) >> 2] | 0; + j = m + (g << 4) | 0; + c[m + (g << 4) + 12 >> 2] = g; + if ((c[k >> 2] | 0) == 3) { + x = (c[i + 16 >> 2] | 0) + 16 | 0; + y = c[o >> 2] | 0; + z = ry(i) | 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[B >> 2] = c[C >> 2]; + c[B + 4 >> 2] = c[C + 4 >> 2]; + HD(A, j, p, y, B, z) + } else { + c[B >> 2] = c[C >> 2]; + c[B + 4 >> 2] = c[C + 4 >> 2]; + ID(e, i, j, p, f, B) + } + g = g + 1 | 0 + } + j = uH(b << 2) | 0; + g = 0; + while (1) { + if ((g | 0) >= (b | 0)) break; + c[j + (g << 2) >> 2] = m + (g << 4); + g = g + 1 | 0 + } + _0(j, b, 4, 87); + k = vI() | 0; + g = uH(b << 3) | 0; + b:do if (n) { + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) { + i = 0; + break + } + if (a[D + i >> 0] | 0) { + e = c[j + (i << 2) >> 2] | 0; + f = g + (c[e + 12 >> 2] << 3) | 0; + c[B >> 2] = c[C >> 2]; + c[B + 4 >> 2] = c[C + 4 >> 2]; + KD(e, k, f, B) + } + i = i + 1 | 0 + } + while (1) { + if ((i | 0) >= (b | 0)) break b; + if (!(a[D + i >> 0] | 0)) { + C = c[j + (i << 2) >> 2] | 0; + LD(i, C, k, g + (c[C + 12 >> 2] << 3) | 0, p, c[o >> 2] | 0, q) + } + i = i + 1 | 0 + } + } else { + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break b; + D = c[j + (i << 2) >> 2] | 0; + LD(i, D, k, g + (c[D + 12 >> 2] << 3) | 0, p, c[o >> 2] | 0, q); + i = i + 1 | 0 + } + } while (0); + D_(j); + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + D_(c[m + (i << 4) + 4 >> 2] | 0); + i = i + 1 | 0 + } + D_(m); + yI(k); + D_(q); + if (0 > 1) { + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break a; + C = c[g + (i << 3) >> 2] | 0; + D = c[g + (i << 3) + 4 >> 2] | 0; + c[F >> 2] = i; + c[F + 4 >> 2] = C; + c[F + 8 >> 2] = D; + g1(E, 96275, F) | 0; + i = i + 1 | 0 + } + } + } else g = 0 + } else g = 0; while (0); + l = G; + return g | 0 + } + + function DD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0; + z = l; + l = l + 16 | 0; + g = z; + x = uH(a << 3) | 0; + f = c[d + 4 >> 2] | 0; + y = d + 28 | 0; + e = (f | 0) > 0; + do if (!(c[y >> 2] & 1)) if (e) { + k = 1; + w = (a + -1 + f | 0) / (f | 0) | 0; + break + } else { + f = ~~+N(+(+C(+(+(a | 0))))); + k = 1; + w = (a + -1 + f | 0) / (f | 0) | 0; + break + } else if (e) { + k = 0; + w = f; + f = (a + -1 + f | 0) / (f | 0) | 0; + break + } else { + f = ~~+N(+(+C(+(+(a | 0))))); + k = 0; + w = f; + f = (a + -1 + f | 0) / (f | 0) | 0; + break + } while (0); + if (0) { + v = c[15686] | 0; + c[g >> 2] = k | 0 ? 96170 : 96180; + c[g + 4 >> 2] = w; + c[g + 8 >> 2] = f; + g1(v, 96193, g) | 0 + } + t = uH((f << 3) + 8 | 0) | 0; + u = uH((w << 3) + 8 | 0) | 0; + v = uH(a * 24 | 0) | 0; + j = d + 8 | 0; + e = 0; + g = v; + while (1) { + if ((e | 0) >= (a | 0)) break; + p = +h[b + (e << 5) + 8 >> 3]; + o = +h[b + (e << 5) + 24 >> 3]; + q = +((c[j >> 2] | 0) >>> 0); + h[g >> 3] = +h[b + (e << 5) + 16 >> 3] - +h[b + (e << 5) >> 3] + q; + h[g + 8 >> 3] = o - p + q; + c[g + 16 >> 2] = e; + e = e + 1 | 0; + g = g + 24 | 0 + } + s = uH(a << 2) | 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + c[s + (e << 2) >> 2] = v + (e * 24 | 0); + e = e + 1 | 0 + } + e = c[d + 24 >> 2] | 0; + if (!e) { + if (!(c[y >> 2] & 64)) _0(s, a, 4, 89) + } else { + c[46285] = e; + _0(s, a, 4, 88) + } + r = (k | 0) == 0; + e = 0; + g = 0; + j = 0; + while (1) { + if ((j | 0) >= (a | 0)) { + i = 0.0; + e = 0; + break + } + k = c[s + (j << 2) >> 2] | 0; + d = t + (g << 3) | 0; + q = +h[d >> 3]; + p = +h[k >> 3]; + h[d >> 3] = q > p ? q : p; + d = u + (e << 3) | 0; + p = +h[d >> 3]; + q = +h[k + 8 >> 3]; + h[d >> 3] = p > q ? p : q; + if (r) { + e = e + 1 | 0; + d = (e | 0) == (w | 0); + e = d ? 0 : e; + g = g + (d & 1) | 0 + } else { + g = g + 1 | 0; + d = (g | 0) == (f | 0); + e = e + (d & 1) | 0; + g = d ? 0 : g + } + j = j + 1 | 0 + } + while (1) { + if ((e | 0) > (f | 0)) { + i = 0.0; + e = w; + break + } + d = t + (e << 3) | 0; + q = +h[d >> 3]; + h[d >> 3] = i; + i = q + i; + e = e + 1 | 0 + } + while (1) { + if ((e | 0) <= 0) break; + d = e + -1 | 0; + q = +h[u + (d << 3) >> 3]; + h[u + (e << 3) >> 3] = i; + i = q + i; + e = d + } + h[u >> 3] = i; + e = 0; + g = 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + k = c[(c[s + (d << 2) >> 2] | 0) + 16 >> 2] | 0; + i = +h[b + (k << 5) >> 3]; + m = -i; + p = +h[b + (k << 5) + 8 >> 3]; + q = -p; + n = +h[b + (k << 5) + 16 >> 3]; + o = +h[b + (k << 5) + 24 >> 3]; + j = c[y >> 2] | 0; + do if (!(j & 4)) if (!(j & 8)) { + i = (m - n + +h[t + (g << 3) >> 3] + +h[t + (g + 1 << 3) >> 3]) * .5; + break + } else { + i = i - n + +h[t + (g + 1 << 3) >> 3]; + break + } else i = +h[t + (g << 3) >> 3]; while (0); + c[x + (k << 3) >> 2] = ~~i; + do if (!(j & 16)) if (!(j & 32)) { + i = (q - o + +h[u + (e << 3) >> 3] + +h[u + (e + 1 << 3) >> 3]) * .5; + break + } else { + i = +h[u + (e + 1 << 3) >> 3]; + break + } else i = p - o + +h[u + (e << 3) >> 3]; while (0); + c[x + (k << 3) + 4 >> 2] = ~~i; + if (r) { + e = e + 1 | 0; + k = (e | 0) == (w | 0); + e = k ? 0 : e; + g = g + (k & 1) | 0 + } else { + g = g + 1 | 0; + k = (g | 0) == (f | 0); + e = e + (k & 1) | 0; + g = k ? 0 : g + } + d = d + 1 | 0 + } + D_(v); + D_(s); + D_(t); + D_(u); + l = z; + return x | 0 + } + + function ED(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[46285] | 0; + a = c[d + (c[(c[a >> 2] | 0) + 16 >> 2] << 2) >> 2] | 0; + b = c[d + (c[(c[b >> 2] | 0) + 16 >> 2] << 2) >> 2] | 0; + return ((a | 0) > (b | 0) ? 1 : ((a | 0) < (b | 0)) << 31 >> 31) | 0 + } + + function FD(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0; + a = c[a >> 2] | 0; + b = c[b >> 2] | 0; + e = +h[a >> 3] + +h[a + 8 >> 3]; + d = +h[b >> 3] + +h[b + 8 >> 3]; + return (e < d ? 1 : (e > d) << 31 >> 31) | 0 + } + + function GD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, + s = 0; + s = l; + l = l + 96 | 0; + q = s + 80 | 0; + r = s + 48 | 0; + p = s + 8 | 0; + m = s; + k = (a * 100 | 0) + -1 | 0; + e = +(d << 1 | 0); + n = 0.0; + o = 0.0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + j = +h[b + (d << 5) + 16 >> 3] - +h[b + (d << 5) >> 3] + e; + i = +h[b + (d << 5) + 24 >> 3] - +h[b + (d << 5) + 8 >> 3] + e; + n = n - j - i; + o = o - i * j; + d = d + 1 | 0 + } + i = +(k | 0); + j = n * n - i * 4.0 * o; + if (!(j < 0.0)) { + e = +C(+j); + g = i * 2.0; + f = (e - n) / g; + g = (-n - e) / g; + d = ~~f; + d = (d | 0) == 0 ? 1 : d; + if (0 > 2) { + m = c[15686] | 0; + E1(96418, 27, 1, m) | 0; + h[p >> 3] = i; + h[p + 8 >> 3] = n; + h[p + 16 >> 3] = o; + h[p + 24 >> 3] = j; + h[p + 32 >> 3] = e; + g1(m, 96446, p) | 0; + c[r >> 2] = d; + h[r + 8 >> 3] = f; + c[r + 16 >> 2] = ~~g; + h[r + 24 >> 3] = g; + g1(m, 96472, r) | 0; + h[q >> 3] = (f * i + n) * f + o; + h[q + 8 >> 3] = (g * i + n) * g + o; + g1(m, 96494, q) | 0 + } + } else { + h[m >> 3] = j; + Pw(1, 96391, m) | 0; + d = -1 + } + l = s; + return d | 0 + } + + function HD(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, + w = 0.0; + u = l; + l = l + 32 | 0; + t = u + 16 | 0; + s = u; + p = +h[a >> 3]; + q = +h[a + 8 >> 3]; + n = +h[a + 16 >> 3]; + o = +h[a + 24 >> 3]; + r = vI() | 0; + j = c[f >> 2] | 0; + a = j - e | 0; + k = c[f + 4 >> 2] | 0; + i = k - e | 0; + j = e - ~~(p + (p >= 0.0 ? .5 : -.5)) + j + ~~(n + (n >= 0.0 ? .5 : -.5)) | 0; + k = e - ~~(q + (q >= 0.0 ? .5 : -.5)) + k + ~~(o + (o >= 0.0 ? .5 : -.5)) | 0; + if ((a | 0) > -1) f = (a | 0) / (d | 0) | 0; else f = ((a + 1 | 0) / (d | 0) | 0) + -1 | 0; + if ((i | 0) > -1) m = (i | 0) / (d | 0) | 0; else m = ((i + 1 | 0) / (d | 0) | 0) + -1 | 0; + if ((j | 0) > -1) j = (j | 0) / (d | 0) | 0; else j = ((j + 1 | 0) / (d | 0) | 0) + -1 | 0; + if ((k | 0) > -1) i = (k | 0) / (d | 0) | 0; else i = ((k + 1 | 0) / (d | 0) | 0) + -1 | 0; + while (1) { + if ((f | 0) > (j | 0)) break; else a = m; + while (1) { + if ((a | 0) > (i | 0)) break; + BI(r, f, a); + a = a + 1 | 0 + } + f = f + 1 | 0 + } + k = b + 4 | 0; + c[k >> 2] = FI(r) | 0; + j = EI(r) | 0; + m = b + 8 | 0; + c[m >> 2] = j; + w = +(e << 1 | 0); + v = +(d | 0); + i = ~~+N(+((n + w - p) / v)); + a = ~~+N(+((o + w - q) / v)); + c[b >> 2] = a + i; + a:do if (0 > 2) { + f = c[15686] | 0; + c[s >> 2] = g; + c[s + 4 >> 2] = j; + c[s + 8 >> 2] = i; + c[s + 12 >> 2] = a; + g1(f, 96350, s) | 0; + a = 0; + while (1) { + if ((a | 0) >= (c[m >> 2] | 0)) break a; + g = c[k >> 2] | 0; + s = c[g + (a << 3) + 4 >> 2] | 0; + c[t >> 2] = c[g + (a << 3) >> 2]; + c[t + 4 >> 2] = s; + g1(f, 96377, t) | 0; + a = a + 1 | 0 + } + } while (0); + yI(r); + l = u; + 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 i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, + L = 0, M = 0, O = 0, P = 0, Q = 0.0, R = 0.0; + P = l; + l = l + 128 | 0; + F = P + 112 | 0; + E = P + 104 | 0; + O = P + 16 | 0; + M = P; + H = P + 64 | 0; + I = P + 56 | 0; + z = P + 40 | 0; + A = P + 96 | 0; + y = P + 88 | 0; + v = P + 24 | 0; + w = P + 80 | 0; + x = P + 72 | 0; + K = c[f + 8 >> 2] | 0; + G = c[f + 12 >> 2] | 0; + C = (a | 0) == 0 ? b : a; + L = vI() | 0; + J = b + 16 | 0; + B = c[J >> 2] | 0; + t = +h[B + 16 >> 3]; + D = (c[g >> 2] | 0) - ~~(t + (t >= 0.0 ? .5 : -.5)) | 0; + t = +h[B + 24 >> 3]; + B = (c[g + 4 >> 2] | 0) - ~~(t + (t >= 0.0 ? .5 : -.5)) | 0; + a:do if ((c[f + 16 >> 2] | 0) == 1) { + v = vH((ay(b) | 0) << 2) | 0; + a = 0; + g = Sy(b) | 0; + while (1) { + if (!g) break; + x = g + 16 | 0; + c[v + (a << 2) >> 2] = c[(c[x >> 2] | 0) + 112 >> 2]; + c[(c[x >> 2] | 0) + 112 >> 2] = 0; + a = a + 1 | 0; + g = Ty(b, g) | 0 + } + o = D - K | 0; + p = B - K | 0; + q = D + K | 0; + r = B + K | 0; + n = 1; + while (1) { + a = c[J >> 2] | 0; + if ((n | 0) > (c[a + 180 >> 2] | 0)) break; + m = c[(c[a + 184 >> 2] | 0) + (n << 2) >> 2] | 0; + i = c[m + 16 >> 2] | 0; + t = +h[i + 16 >> 3]; + a = ~~(t + (t >= 0.0 ? .5 : -.5)); + t = +h[i + 24 >> 3]; + g = ~~(t + (t >= 0.0 ? .5 : -.5)); + t = +h[i + 32 >> 3]; + f = ~~(t + (t >= 0.0 ? .5 : -.5)); + t = +h[i + 40 >> 3]; + i = ~~(t + (t >= 0.0 ? .5 : -.5)); + b:do if ((f | 0) > (a | 0) & (i | 0) > (g | 0)) { + a = o + a | 0; + j = p + g | 0; + f = q + f | 0; + k = r + i | 0; + if ((a | 0) > -1) g = (a | 0) / (e | 0) | 0; else g = ((a + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((j | 0) > -1) j = (j | 0) / (e | 0) | 0; else j = ((j + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((f | 0) > -1) i = (f | 0) / (e | 0) | 0; else i = ((f + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((k | 0) > -1) f = (k | 0) / (e | 0) | 0; else f = ((k + 1 | 0) / (e | 0) | 0) + -1 | 0; + while (1) { + if ((g | 0) > (i | 0)) break; else a = j; + while (1) { + if ((a | 0) > (f | 0)) break; + BI(L, g, a); + a = a + 1 | 0 + } + g = g + 1 | 0 + } + a = Sy(m) | 0; + while (1) { + if (!a) break b; + c[(c[a + 16 >> 2] | 0) + 212 >> 2] = m; + a = Ty(m, a) | 0 + } + } while (0); + n = n + 1 | 0 + } + r = z + 8 | 0; + s = H + 4 | 0; + t = +(K | 0); + u = I + 4 | 0; + q = A + 4 | 0; + p = y + 4 | 0; + o = Sy(b) | 0; + while (1) { + if (!o) break; + WL(z, o); + R = +h[z >> 3]; + Q = +h[r >> 3]; + m = D + ~~(R + (R >= 0.0 ? .5 : -.5)) | 0; + c[H >> 2] = m; + n = B + ~~(Q + (Q >= 0.0 ? .5 : -.5)) | 0; + c[s >> 2] = n; + g = o + 16 | 0; + a = c[g >> 2] | 0; + c:do if (!(c[a + 212 >> 2] | 0)) { + c[I >> 2] = ~~((+h[a + 96 >> 3] + +h[a + 88 >> 3]) * .5 + t); + c[u >> 2] = ~~(+h[a + 80 >> 3] * .5 + t); + c[E >> 2] = c[H >> 2]; + c[E + 4 >> 2] = c[H + 4 >> 2]; + c[F >> 2] = c[I >> 2]; + c[F + 4 >> 2] = c[I + 4 >> 2]; + ND(A, E, F); + a = c[A >> 2] | 0; + f = c[q >> 2] | 0; + c[E >> 2] = c[H >> 2]; + c[E + 4 >> 2] = c[H + 4 >> 2]; + c[F >> 2] = c[I >> 2]; + c[F + 4 >> 2] = c[I + 4 >> 2]; + OD(y, E, F); + i = c[y >> 2] | 0; + j = c[p >> 2] | 0; + if ((a | 0) > -1) g = (a | 0) / (e | 0) | 0; else g = ((a + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((f | 0) > -1) k = (f | 0) / (e | 0) | 0; else k = ((f + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((i | 0) > -1) i = (i | 0) / (e | 0) | 0; else i = ((i + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((j | 0) > -1) f = (j | 0) / (e | 0) | 0; else f = ((j + 1 | 0) / (e | 0) | 0) + -1 | 0; + while (1) { + if ((g | 0) > (i | 0)) break; else a = k; + while (1) { + if ((a | 0) > (f | 0)) break; + BI(L, g, a); + a = a + 1 | 0 + } + g = g + 1 | 0 + } + if ((m | 0) > -1) a = (m | 0) / (e | 0) | 0; else a = ((m + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[H >> 2] = a; + if ((n | 0) > -1) a = (n | 0) / (e | 0) | 0; else a = ((n + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[s >> 2] = a; + a = Ex(C, o) | 0; + while (1) { + if (!a) break c; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + PD(a, F, L, D, B, e, G); + a = Gx(C, a) | 0 + } + } else { + if ((m | 0) > -1) a = (m | 0) / (e | 0) | 0; else a = ((m + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[H >> 2] = a; + if ((n | 0) > -1) a = (n | 0) / (e | 0) | 0; else a = ((n + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[s >> 2] = a; + a = Ex(C, o) | 0; + while (1) { + if (!a) break c; + if ((c[(c[g >> 2] | 0) + 212 >> 2] | 0) != (c[(c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0)) { + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + PD(a, F, L, D, B, e, G) + } + a = Gx(C, a) | 0 + } + } while (0); + o = Ty(b, o) | 0 + } + a = 0; + g = Sy(b) | 0; + while (1) { + if (!g) break; + c[(c[g + 16 >> 2] | 0) + 112 >> 2] = c[v + (a << 2) >> 2]; + a = a + 1 | 0; + g = Ty(b, g) | 0 + } + D_(v) + } else { + r = v + 8 | 0; + s = H + 4 | 0; + t = +(K | 0); + u = I + 4 | 0; + q = w + 4 | 0; + p = x + 4 | 0; + o = Sy(b) | 0; + while (1) { + if (!o) break a; + WL(v, o); + Q = +h[v >> 3]; + R = +h[r >> 3]; + m = D + ~~(Q + (Q >= 0.0 ? .5 : -.5)) | 0; + c[H >> 2] = m; + n = B + ~~(R + (R >= 0.0 ? .5 : -.5)) | 0; + c[s >> 2] = n; + a = c[o + 16 >> 2] | 0; + c[I >> 2] = ~~((+h[a + 96 >> 3] + +h[a + 88 >> 3]) * .5 + t); + c[u >> 2] = ~~(+h[a + 80 >> 3] * .5 + t); + c[E >> 2] = c[H >> 2]; + c[E + 4 >> 2] = c[H + 4 >> 2]; + c[F >> 2] = c[I >> 2]; + c[F + 4 >> 2] = c[I + 4 >> 2]; + ND(w, E, F); + a = c[w >> 2] | 0; + f = c[q >> 2] | 0; + c[E >> 2] = c[H >> 2]; + c[E + 4 >> 2] = c[H + 4 >> 2]; + c[F >> 2] = c[I >> 2]; + c[F + 4 >> 2] = c[I + 4 >> 2]; + OD(x, E, F); + i = c[x >> 2] | 0; + j = c[p >> 2] | 0; + if ((a | 0) > -1) g = (a | 0) / (e | 0) | 0; else g = ((a + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((f | 0) > -1) k = (f | 0) / (e | 0) | 0; else k = ((f + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((i | 0) > -1) i = (i | 0) / (e | 0) | 0; else i = ((i + 1 | 0) / (e | 0) | 0) + -1 | 0; + if ((j | 0) > -1) f = (j | 0) / (e | 0) | 0; else f = ((j + 1 | 0) / (e | 0) | 0) + -1 | 0; + while (1) { + if ((g | 0) > (i | 0)) break; else a = k; + while (1) { + if ((a | 0) > (f | 0)) break; + BI(L, g, a); + a = a + 1 | 0 + } + g = g + 1 | 0 + } + if ((m | 0) > -1) a = (m | 0) / (e | 0) | 0; else a = ((m + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[H >> 2] = a; + if ((n | 0) > -1) a = (n | 0) / (e | 0) | 0; else a = ((n + 1 | 0) / (e | 0) | 0) + -1 | 0; + c[s >> 2] = a; + a = Ex(C, o) | 0; + while (1) { + if (!a) break; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + PD(a, F, L, D, B, e, G); + a = Gx(C, a) | 0 + } + o = Ty(b, o) | 0 + } + } while (0); + i = d + 4 | 0; + c[i >> 2] = FI(L) | 0; + j = d + 8 | 0; + c[j >> 2] = EI(L) | 0; + g = c[J >> 2] | 0; + Q = +(K << 1 | 0); + R = +(e | 0); + a = ~~+N(+((+h[g + 32 >> 3] + Q - +h[g + 16 >> 3]) / R)); + g = ~~+N(+((+h[g + 40 >> 3] + Q - +h[g + 24 >> 3]) / R)); + c[d >> 2] = g + a; + d:do if (0 > 2) { + f = c[15686] | 0; + d = ry(b) | 0; + b = c[j >> 2] | 0; + c[M >> 2] = d; + c[M + 4 >> 2] = b; + c[M + 8 >> 2] = a; + c[M + 12 >> 2] = g; + g1(f, 96350, M) | 0; + a = 0; + while (1) { + if ((a | 0) >= (c[j >> 2] | 0)) break d; + b = c[i >> 2] | 0; + M = c[b + (a << 3) + 4 >> 2] | 0; + c[O >> 2] = c[b + (a << 3) >> 2]; + c[O + 4 >> 2] = M; + g1(f, 96377, O) | 0; + a = a + 1 | 0 + } + } while (0); + yI(L); + l = P; + return + } + + function JD(a, b) { + a = a | 0; + b = b | 0; + return (c[c[b >> 2] >> 2] | 0) - (c[c[a >> 2] >> 2] | 0) | 0 + } + + function KD(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = l; + l = l + 32 | 0; + h = j + 16 | 0; + i = j; + k = c[a + 4 >> 2] | 0; + g = c[a + 8 >> 2] | 0; + c[d >> 2] = 0 - (c[e >> 2] | 0); + f = d + 4 | 0; + c[f >> 2] = 0 - (c[e + 4 >> 2] | 0); + a = 0; + e = k; + while (1) { + if ((a | 0) >= (g | 0)) break; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + zI(b, h); + a = a + 1 | 0; + e = e + 8 | 0 + } + if (0 > 1) { + k = c[15686] | 0; + b = c[d >> 2] | 0; + d = c[f >> 2] | 0; + c[i >> 2] = g; + c[i + 4 >> 2] = b; + c[i + 8 >> 2] = d; + g1(k, 96324, i) | 0 + } + l = j; + return + } + + function LD(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, l = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0; + k = c[b + 12 >> 2] | 0; + l = +h[i + (k << 5) >> 3]; + m = +h[i + (k << 5) + 8 >> 3]; + n = +h[i + (k << 5) + 16 >> 3]; + o = +h[i + (k << 5) + 24 >> 3]; + if (!((a | 0) == 0 ? (q = +(g << 1 | 0), p = +(f | 0), (MD((~~+N(+((q - l + n) / p)) | 0) / -2 | 0, (~~+N(+((q - m + o) / p)) | 0) / -2 | 0, b, d, e, f, i) | 0) != 0) : 0)) j = 3; + a:do if ((j | 0) == 3 ? (MD(0, 0, b, d, e, f, i) | 0) == 0 : 0) if ((~~+N(+(n - l)) | 0) < (~~+N(+(o - m)) | 0)) { + k = 1; + while (1) { + j = 0 - k | 0; + a = 0; + while (1) { + if ((a | 0) <= (j | 0)) { + g = j; + break + } + if (MD(j, a, b, d, e, f, i) | 0) break a; + a = a + -1 | 0 + } + while (1) { + if ((g | 0) >= (k | 0)) break; + if (MD(g, a, b, d, e, f, i) | 0) break a; + g = g + 1 | 0 + } + while (1) { + if ((a | 0) >= (k | 0)) break; + if (MD(g, a, b, d, e, f, i) | 0) break a; + a = a + 1 | 0 + } + while (1) { + if ((g | 0) <= (j | 0)) break; + if (MD(g, a, b, d, e, f, i) | 0) break a; + g = g + -1 | 0 + } + while (1) { + if ((a | 0) <= 0) break; + if (!(MD(g, a, b, d, e, f, i) | 0)) a = a + -1 | 0; else break a + } + k = k + 1 | 0 + } + } else { + k = 1; + while (1) { + j = 0 - k | 0; + a = 0; + while (1) { + if ((a | 0) >= (k | 0)) { + g = j; + break + } + if (MD(a, j, b, d, e, f, i) | 0) break a; + a = a + 1 | 0 + } + while (1) { + if ((g | 0) >= (k | 0)) break; + if (MD(a, g, b, d, e, f, i) | 0) break a; + g = g + 1 | 0 + } + while (1) { + if ((a | 0) <= (j | 0)) break; + if (MD(a, g, b, d, e, f, i) | 0) break a; + a = a + -1 | 0 + } + while (1) { + if ((g | 0) <= (j | 0)) break; + if (MD(a, g, b, d, e, f, i) | 0) break a; + g = g + -1 | 0 + } + while (1) { + if ((a | 0) >= 0) break; + if (!(MD(a, g, b, d, e, f, i) | 0)) a = a + 1 | 0; else break a + } + k = k + 1 | 0 + } + } while (0); + return + } + + function MD(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0.0, + x = 0.0; + t = l; + l = l + 48 | 0; + r = t + 32 | 0; + s = t + 8 | 0; + q = t; + m = d + 4 | 0; + o = c[d + 8 >> 2] | 0; + p = q + 4 | 0; + j = c[m >> 2] | 0; + k = 0; + while (1) { + if ((k | 0) >= (o | 0)) { + n = 5; + break + } + v = j; + u = c[v + 4 >> 2] | 0; + c[q >> 2] = (c[v >> 2] | 0) + a; + c[p >> 2] = u + b; + c[r >> 2] = c[q >> 2]; + c[r + 4 >> 2] = c[q + 4 >> 2]; + if (CI(e, r) | 0) { + j = 0; + break + } + j = j + 8 | 0; + k = k + 1 | 0 + } + if ((n | 0) == 5) { + d = c[d + 12 >> 2] | 0; + x = +h[i + (d << 5) >> 3]; + w = +h[i + (d << 5) + 8 >> 3]; + c[f >> 2] = (O(g, a) | 0) - ~~(x + (x >= 0.0 ? .5 : -.5)); + d = f + 4 | 0; + c[d >> 2] = (O(g, b) | 0) - ~~(w + (w >= 0.0 ? .5 : -.5)); + j = c[m >> 2] | 0; + k = 0; + while (1) { + if ((k | 0) >= (o | 0)) break; + u = j; + v = c[u + 4 >> 2] | 0; + c[q >> 2] = (c[u >> 2] | 0) + a; + c[p >> 2] = v + b; + c[r >> 2] = c[q >> 2]; + c[r + 4 >> 2] = c[q + 4 >> 2]; + zI(e, r); + j = j + 8 | 0; + k = k + 1 | 0 + } + if (0 > 1) { + j = c[15686] | 0; + u = c[f >> 2] | 0; + v = c[d >> 2] | 0; + c[s >> 2] = o; + c[s + 4 >> 2] = a; + c[s + 8 >> 2] = b; + c[s + 12 >> 2] = u; + c[s + 16 >> 2] = v; + g1(j, 96290, s) | 0; + j = 1 + } else j = 1 + } + l = t; + return j | 0 + } + + function ND(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = (c[b + 4 >> 2] | 0) - (c[d + 4 >> 2] | 0) | 0; + c[a >> 2] = (c[b >> 2] | 0) - (c[d >> 2] | 0); + c[a + 4 >> 2] = e; + return + } + + function OD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = (c[d + 4 >> 2] | 0) + (c[b + 4 >> 2] | 0) | 0; + c[a >> 2] = (c[d >> 2] | 0) + (c[b >> 2] | 0); + c[a + 4 >> 2] = e; + return + } + + function PD(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0.0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0; + A = l; + l = l + 112 | 0; + x = A + 96 | 0; + w = A + 80 | 0; + r = A + 48 | 0; + s = A + 32 | 0; + y = A + 16 | 0; + z = A; + n = A + 64 | 0; + h[y >> 3] = +(c[b >> 2] | 0); + t = y + 8 | 0; + h[t >> 3] = +(c[b + 4 >> 2] | 0); + a:do if ((i | 0) != 0 ? (u = a + 16 | 0, m = c[(c[u >> 2] | 0) + 8 >> 2] | 0, (m | 0) != 0) : 0) { + q = +(e | 0); + p = +(f | 0); + o = 1.0 / +(g | 0); + n = z + 8 | 0; + i = 0; + while (1) { + if ((i | 0) >= (c[m + 4 >> 2] | 0)) break a; + f = c[m >> 2] | 0; + a = c[f + (i * 48 | 0) >> 2] | 0; + b = c[f + (i * 48 | 0) + 4 >> 2] | 0; + g = c[f + (i * 48 | 0) + 8 >> 2] | 0; + e = c[f + (i * 48 | 0) + 12 >> 2] | 0; + m = f + (i * 48 | 0) + 16 | 0; + c[r >> 2] = c[m >> 2]; + c[r + 4 >> 2] = c[m + 4 >> 2]; + c[r + 8 >> 2] = c[m + 8 >> 2]; + c[r + 12 >> 2] = c[m + 12 >> 2]; + f = f + (i * 48 | 0) + 32 | 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]; + if (!g) { + 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]; + m = a + 16 | 0; + c[z >> 2] = c[m >> 2]; + c[z + 4 >> 2] = c[m + 4 >> 2]; + c[z + 8 >> 2] = c[m + 8 >> 2]; + c[z + 12 >> 2] = c[m + 12 >> 2]; + m = 2 + } else { + 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[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]; + m = 1 + } + j = +h[y >> 3] + q; + h[y >> 3] = j; + k = +h[t >> 3] + p; + h[t >> 3] = k; + if (!(j >= 0.0)) j = (j + 1.0) * o + -1.0; else j = j * o; + h[y >> 3] = j; + if (!(k >= 0.0)) j = (k + 1.0) * o + -1.0; else j = k * o; + h[t >> 3] = j; + j = +h[z >> 3] + q; + h[z >> 3] = j; + k = +h[n >> 3] + p; + h[n >> 3] = k; + if (!(j >= 0.0)) j = (j + 1.0) * o + -1.0; else j = j * o; + h[z >> 3] = j; + if (!(k >= 0.0)) j = (k + 1.0) * o + -1.0; else j = k * o; + h[n >> 3] = j; + 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[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]; + AD(w, x, d); + while (1) { + if ((m | 0) >= (b | 0)) break; + 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]; + g = a + (m << 4) | 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]; + j = +h[z >> 3] + q; + h[z >> 3] = j; + k = +h[n >> 3] + p; + h[n >> 3] = k; + if (!(j >= 0.0)) j = (j + 1.0) * o + -1.0; else j = j * o; + h[z >> 3] = j; + if (!(k >= 0.0)) j = (k + 1.0) * o + -1.0; else j = k * o; + h[n >> 3] = j; + 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[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]; + AD(w, x, d); + m = m + 1 | 0 + } + if (e | 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[z >> 2] = c[s >> 2]; + c[z + 4 >> 2] = c[s + 4 >> 2]; + c[z + 8 >> 2] = c[s + 8 >> 2]; + c[z + 12 >> 2] = c[s + 12 >> 2]; + j = +h[z >> 3] + q; + h[z >> 3] = j; + k = +h[n >> 3] + p; + h[n >> 3] = k; + if (!(j >= 0.0)) j = (j + 1.0) * o + -1.0; else j = j * o; + h[z >> 3] = j; + if (!(k >= 0.0)) j = (k + 1.0) * o + -1.0; else j = k * o; + h[n >> 3] = j; + 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[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]; + AD(w, x, d) + } + i = i + 1 | 0; + m = c[(c[u >> 2] | 0) + 8 >> 2] | 0 + } + } else v = 4; while (0); + if ((v | 0) == 4) { + WL(n, c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0); + c[z >> 2] = c[n >> 2]; + c[z + 4 >> 2] = c[n + 4 >> 2]; + c[z + 8 >> 2] = c[n + 8 >> 2]; + c[z + 12 >> 2] = c[n + 12 >> 2]; + j = +h[z >> 3] + +(e | 0); + h[z >> 3] = j; + m = z + 8 | 0; + k = +h[m >> 3] + +(f | 0); + h[m >> 3] = k; + if (!(j >= 0.0)) j = (j + 1.0) / +(g | 0) + -1.0; else j = j / +(g | 0); + h[z >> 3] = j; + if (!(k >= 0.0)) j = (k + 1.0) / +(g | 0) + -1.0; else j = k / +(g | 0); + h[m >> 3] = j; + 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[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]; + AD(w, x, d) + } + l = A; + return + } + + function QD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a:do if ((a | 0) < 1) a = 0; else switch (c[d + 16 >> 2] | 0) { + case 4: { + a = DD(a, b, d) | 0; + break a + } + case 3: { + a = RD(a, b, d) | 0; + break a + } + default: { + a = 0; + break a + } + } while (0); + return a | 0 + } + + function RD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 80 | 0; + g = n + 64 | 0; + f = n + 24 | 0; + m = n + 8 | 0; + e = n; + h = n + 56 | 0; + j = d + 8 | 0; + k = GD(a, b, c[j >> 2] | 0) | 0; + if (0) { + i = c[15686] | 0; + c[e >> 2] = k; + g1(i, 96259, e) | 0 + } + a:do if ((k | 0) >= 1) { + c[h + 4 >> 2] = 0; + c[h >> 2] = 0; + i = uH(a << 4) | 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + c[i + (d << 4) + 12 >> 2] = d; + o = b + (d << 5) | 0; + e = c[j >> 2] | 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]; + c[f + 16 >> 2] = c[o + 16 >> 2]; + c[f + 20 >> 2] = c[o + 20 >> 2]; + c[f + 24 >> 2] = c[o + 24 >> 2]; + c[f + 28 >> 2] = c[o + 28 >> 2]; + c[g >> 2] = c[h >> 2]; + c[g + 4 >> 2] = c[h + 4 >> 2]; + HD(f, i + (d << 4) | 0, k, e, g, 191979); + d = d + 1 | 0 + } + f = uH(a << 2) | 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + c[f + (d << 2) >> 2] = i + (d << 4); + d = d + 1 | 0 + } + _0(f, a, 4, 87); + g = vI() | 0; + d = uH(a << 3) | 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + o = c[f + (e << 2) >> 2] | 0; + LD(e, o, g, d + (c[o + 12 >> 2] << 3) | 0, k, c[j >> 2] | 0, b); + e = e + 1 | 0 + } + D_(f); + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + D_(c[i + (e << 4) + 4 >> 2] | 0); + e = e + 1 | 0 + } + D_(i); + yI(g); + if (0 > 1) { + f = c[15686] | 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break a; + b = c[d + (e << 3) >> 2] | 0; + o = c[d + (e << 3) + 4 >> 2] | 0; + c[m >> 2] = e; + c[m + 4 >> 2] = b; + c[m + 8 >> 2] = o; + g1(f, 96275, m) | 0; + e = e + 1 | 0 + } + } + } else d = 0; while (0); + l = n; + return d | 0 + } + + function SD(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0; + a:do if ((a | 0) < 1) f = 0 - a | 0; else { + s = (e | 0) == 0; + q = (f | 0) == 0; + j = 0; + while (1) { + if ((j | 0) == (a | 0)) { + f = 0; + break a + } + r = c[b + (j << 2) >> 2] | 0; + g = s ? r : e; + k = c[d + (j << 3) >> 2] | 0; + l = c[d + (j << 3) + 4 >> 2] | 0; + m = +(k | 0); + n = m * .013888888888888888; + o = +(l | 0); + p = o * .013888888888888888; + i = Sy(r) | 0; + while (1) { + if (!i) break; + f = c[i + 16 >> 2] | 0; + t = c[f + 132 >> 2] | 0; + h[t >> 3] = +h[t >> 3] + n; + t = t + 8 | 0; + h[t >> 3] = +h[t >> 3] + p; + t = f + 16 | 0; + h[t >> 3] = +h[t >> 3] + m; + t = f + 24 | 0; + h[t >> 3] = +h[t >> 3] + o; + f = c[f + 108 >> 2] | 0; + if (f | 0) { + t = f + 56 | 0; + h[t >> 3] = +h[t >> 3] + m; + t = f + 64 | 0; + h[t >> 3] = +h[t >> 3] + o + } + b:do if (!q) { + f = Ex(g, i) | 0; + while (1) { + if (!f) break b; + TD(f, k, l); + f = Gx(g, f) | 0 + } + } while (0); + i = Ty(r, i) | 0 + } + UD(r, k, l); + j = j + 1 | 0 + } + } while (0); + return f | 0 + } + + function TD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0, l = 0.0, m = 0, n = 0; + e = c[a + 16 >> 2] | 0; + a = c[e + 96 >> 2] | 0; + if (a | 0) { + m = a + 56 | 0; + h[m >> 3] = +h[m >> 3] + +(b | 0); + m = a + 64 | 0; + h[m >> 3] = +h[m >> 3] + +(d | 0) + } + a = c[e + 108 >> 2] | 0; + if (a | 0) { + m = a + 56 | 0; + h[m >> 3] = +h[m >> 3] + +(b | 0); + m = a + 64 | 0; + h[m >> 3] = +h[m >> 3] + +(d | 0) + } + a = c[e + 100 >> 2] | 0; + if (a | 0) { + m = a + 56 | 0; + h[m >> 3] = +h[m >> 3] + +(b | 0); + m = a + 64 | 0; + h[m >> 3] = +h[m >> 3] + +(d | 0) + } + a = c[e + 104 >> 2] | 0; + if (a | 0) { + m = a + 56 | 0; + h[m >> 3] = +h[m >> 3] + +(b | 0); + m = a + 64 | 0; + h[m >> 3] = +h[m >> 3] + +(d | 0) + } + m = c[e + 8 >> 2] | 0; + a:do if (m | 0) { + l = +(b | 0); + j = +(d | 0); + b = c[m + 4 >> 2] | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break a; + k = c[m >> 2] | 0; + d = c[k + (a * 48 | 0) >> 2] | 0; + f = c[k + (a * 48 | 0) + 4 >> 2] | 0; + g = c[k + (a * 48 | 0) + 8 >> 2] | 0; + i = c[k + (a * 48 | 0) + 12 >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) break; + n = d + (e << 4) | 0; + h[n >> 3] = +h[n >> 3] + l; + n = d + (e << 4) + 8 | 0; + h[n >> 3] = +h[n >> 3] + j; + e = e + 1 | 0 + } + if (g | 0) { + n = k + (a * 48 | 0) + 16 | 0; + h[n >> 3] = +h[n >> 3] + l; + n = k + (a * 48 | 0) + 24 | 0; + h[n >> 3] = +h[n >> 3] + j + } + if (i | 0) { + n = k + (a * 48 | 0) + 32 | 0; + h[n >> 3] = +h[n >> 3] + l; + n = k + (a * 48 | 0) + 40 | 0; + h[n >> 3] = +h[n >> 3] + j + } + a = a + 1 | 0 + } + } while (0); + return + } + + function UD(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0.0, l = 0.0, m = 0, n = 0.0, o = 0; + j = b + 16 | 0; + b = c[j >> 2] | 0; + o = b + 16 | 0; + m = b + 24 | 0; + f = b + 32 | 0; + b = b + 40 | 0; + g = +(d | 0); + l = +h[f >> 3] + g; + i = +(e | 0); + n = +h[m >> 3] + i; + k = +h[b >> 3] + i; + h[o >> 3] = +h[o >> 3] + g; + h[m >> 3] = n; + h[f >> 3] = l; + h[b >> 3] = k; + b = c[j >> 2] | 0; + f = c[b + 12 >> 2] | 0; + if ((f | 0) != 0 ? (a[f + 81 >> 0] | 0) != 0 : 0) { + o = f + 56 | 0; + h[o >> 3] = +h[o >> 3] + g; + f = f + 64 | 0; + h[f >> 3] = +h[f >> 3] + i; + f = 1 + } else f = 1; + while (1) { + if ((f | 0) > (c[b + 180 >> 2] | 0)) break; + UD(c[(c[b + 184 >> 2] | 0) + (f << 2) >> 2] | 0, d, e); + f = f + 1 | 0; + b = c[j >> 2] | 0 + } + return + } + + function VD(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = BD(a, b, d, e) | 0; + if (!f) a = 1; else { + a = SD(a, b, f, d, c[e + 12 >> 2] | 0) | 0; + D_(f) + } + return a | 0 + } + + function WD(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + p = l; + l = l + 32 | 0; + o = p; + n = VD(a, b, d, e) | 0; + if (!n) { + mM(d); + m = (c[d + 16 >> 2] | 0) + 16 | 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]; + f = o + 8 | 0; + g = o + 16 | 0; + i = o + 24 | 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + k = c[(c[b + (e << 2) >> 2] | 0) + 16 >> 2] | 0; + j = c[k + 180 >> 2] | 0; + k = k + 184 | 0; + d = 1; + while (1) { + if ((d | 0) > (j | 0)) break; + r = (c[(c[(c[k >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + h[o >> 3] = +h[(+h[o >> 3] < +h[r >> 3] ? o : r) >> 3]; + r = c[(c[(c[k >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0; + q = r + 16 | 0; + h[f >> 3] = +h[(+h[f >> 3] < +h[r + 24 >> 3] ? o : q) + 8 >> 3]; + h[g >> 3] = +h[(+h[g >> 3] > +h[r + 32 >> 3] ? o : q) + 16 >> 3]; + h[i >> 3] = +h[(+h[i >> 3] > +h[r + 40 >> 3] ? o : q) + 24 >> 3]; + d = d + 1 | 0 + } + e = e + 1 | 0 + } + 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]; + c[m + 16 >> 2] = c[o + 16 >> 2]; + c[m + 20 >> 2] = c[o + 20 >> 2]; + c[m + 24 >> 2] = c[o + 24 >> 2]; + c[m + 28 >> 2] = c[o + 28 >> 2] + } + l = p; + return n | 0 + } + + function XD(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + f = g; + if (!e) qa(96508, 96514, 1400, 96521); + d = YD(a, d, d) | 0; + c[e + 8 >> 2] = d; + if (0) { + h = c[15686] | 0; + c[f >> 2] = d; + g1(h, 96533, f) | 0 + } + c[e + 12 >> 2] = 0; + c[e + 20 >> 2] = 0; + ZD(a, b, e) | 0; + l = g; + return c[e + 16 >> 2] | 0 + } + + function YD(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + f = i + 4 | 0; + g = xx(b, 96663) | 0; + a:do if (g) { + c[h >> 2] = f; + h = (N1(g, 134313, h) | 0) == 1; + b = c[f >> 2] | 0; + if (h & (b | 0) > -1) d = b; else { + switch (a[g >> 0] | 0) { + case 84: + case 116: + break; + default: + break a + } + d = e + } + } while (0); + l = i; + return d | 0 + } + + function ZD(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return _D(xx(a, 96546) | 0, b, c) | 0 + } + + function _D(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0; + u = l; + l = l + 64 | 0; + r = u + 40 | 0; + q = u + 32 | 0; + t = u + 24 | 0; + s = u + 16 | 0; + m = u + 8 | 0; + k = u; + i = u + 48 | 0; + j = u + 44 | 0; + if (!e) qa(96508, 96514, 1292, 96555); + o = e + 28 | 0; + c[o >> 2] = 0; + p = e + 16 | 0; + c[p >> 2] = d; + n = e + 4 | 0; + c[n >> 2] = 0; + c[e + 24 >> 2] = 0; + a:do if (b | 0 ? (f = a[b >> 0] | 0, f << 24 >> 24) : 0) switch (f << 24 >> 24 | 0) { + case 97: + if (!(z$(b, 96573, 5) | 0)) { + c[p >> 2] = 4; + m = $D(b + 5 | 0, e) | 0; + c[k >> 2] = j; + m = (N1(m, 134313, k) | 0) > 0; + d = c[j >> 2] | 0; + if (!(m & (d | 0) > 0)) break a; + c[n >> 2] = d; + break a + } else { + if (z$(b, 96579, 6) | 0) break a; + c[p >> 2] = 5; + c[m >> 2] = i; + m = (N1(b + 5 | 0, 96586, m) | 0) > 0; + v = +g[i >> 2]; + g[e >> 2] = m & v > 0.0 ? v : 1.0; + break a + } + case 99: { + if (f << 24 >> 24 != 99) break a; + if (b$(b, 104980) | 0) break a; + c[p >> 2] = 1; + break a + } + case 103: { + if (f << 24 >> 24 != 103) break a; + if (b$(b, 108412) | 0) break a; + c[p >> 2] = 3; + break a + } + case 110: { + if (f << 24 >> 24 != 110) break a; + if (b$(b, 108399) | 0) break a; + c[p >> 2] = 2; + break a + } + default: + break a + } while (0); + if (0) { + d = c[15686] | 0; + E1(96589, 11, 1, d) | 0; + c[s >> 2] = aE(c[p >> 2] | 0) | 0; + g1(d, 96601, s) | 0; + if ((c[p >> 2] | 0) == 5) { + h[t >> 3] = +g[e >> 2]; + g1(d, 96614, t) | 0 + } + c[q >> 2] = c[n >> 2]; + g1(d, 96627, q) | 0; + c[r >> 2] = c[o >> 2]; + g1(d, 96640, r) | 0 + } + l = u; + return c[p >> 2] | 0 + } + + function $D(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + a:do if ((a[b >> 0] | 0) == 95) { + f = d + 28 | 0; + e = 1; + while (1) { + b = b + 1 | 0; + b:while (1) { + if (!e) break a; + d = a[b >> 0] | 0; + if (!(d << 24 >> 24)) break a; + switch (d << 24 >> 24 | 0) { + case 99: { + g = 10; + break b + } + case 105: { + g = 9; + break b + } + case 117: { + g = 11; + break b + } + case 116: { + g = 12; + break b + } + case 98: { + d = 32; + break b + } + case 108: { + g = 7; + break b + } + case 114: { + g = 8; + break b + } + default: + e = 0 + } + } + if ((g | 0) == 7) { + g = 0; + d = 4 + } else if ((g | 0) == 8) { + g = 0; + d = 8 + } else if ((g | 0) == 9) { + g = 0; + d = 64 + } else if ((g | 0) == 10) { + g = 0; + d = 1 + } else if ((g | 0) == 11) { + g = 0; + d = 2 + } else if ((g | 0) == 12) { + g = 0; + d = 16 + } + c[f >> 2] = c[f >> 2] | d + } + } while (0); + return b | 0 + } + + function aE(a) { + a = a | 0; + switch (a | 0) { + case 1: { + a = 104980; + break + } + case 2: { + a = 108399; + break + } + case 3: { + a = 108412; + break + } + case 4: { + a = 96573; + break + } + case 5: { + a = 96579; + break + } + default: + a = 96653 + } + return a | 0 + } + + function bE(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 96 | 0; + k = n; + m = n + 80 | 0; + do if (a) { + if (!e) { + e = E_(1, 20) | 0; + c[e + 4 >> 2] = d >>> 0 > 80 ? d : 80 + } + d = c[e >> 2] | 0; + j = c[e + 4 >> 2] | 0; + if (!d) { + h = 100; + d = a; + i = E_(100, j) | 0 + } else { + h = d + 100 | 0; + i = F_(c[e + 8 >> 2] | 0, O(h, j) | 0) | 0; + H3(i + (O(j, d) | 0) | 0, 0, j * 100 | 0) | 0; + d = a + } + while (1) { + d = cE(k, d, b, m) | 0; + if (!d) break; + a = c[e >> 2] | 0; + f = h << 1; + g = O(h, j) | 0; + if ((a | 0) == (h | 0)) { + i = F_(i, O(f, j) | 0) | 0; + H3(i + g | 0, 0, g | 0) | 0; + a = c[e >> 2] | 0 + } else f = h; + a = i + (O(a, j) | 0) | 0; + g = k; + h = a + 80 | 0; + do { + c[a >> 2] = c[g >> 2]; + a = a + 4 | 0; + g = g + 4 | 0 + } while ((a | 0) < (h | 0)); + c[e >> 2] = (c[e >> 2] | 0) + 1; + h = f + } + if (c[m >> 2] | 0) { + m = e + 16 | 0; + c[m >> 2] = c[m >> 2] | 1 + } + d = c[e >> 2] | 0; + if (!d) { + D_(i); + D_(e); + e = 0; + break + } else { + c[e + 8 >> 2] = F_(i, O(d, j) | 0) | 0; + break + } + } while (0); + l = n; + return e | 0 + } + + function cE(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; + j = l; + l = l + 80 | 0; + h = j + 64 | 0; + i = j; + c[f >> 2] = 0; + do { + g = a[d >> 0] | 0; + d = d + 1 | 0 + } while ((B$(g) | 0) != 0); + a:do switch (g | 0) { + case 69: { + c[b >> 2] = 0; + d = dE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e >> 2]; + break + } + case 101: { + c[b >> 2] = 1; + d = dE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e >> 2]; + break + } + case 80: { + c[b >> 2] = 2; + d = eE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 4 >> 2]; + break + } + case 112: { + c[b >> 2] = 3; + d = eE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 4 >> 2]; + break + } + case 98: { + c[b >> 2] = 4; + d = eE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 8 >> 2]; + break + } + case 66: { + c[b >> 2] = 5; + d = eE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 8 >> 2]; + break + } + case 99: { + d = fE(d, h) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + g = gE(c[h >> 2] | 0, i) | 0; + c[h >> 2] = g; + if (!g) { + c[f >> 2] = 1; + d = 0; + break a + } + if (!(c[i >> 2] | 0)) { + c[b >> 2] = 9; + c[b + 8 >> 2] = c[i + 8 >> 2]; + if (!e) break a; + c[b + 72 >> 2] = c[e + 24 >> 2]; + break a + } else { + c[b >> 2] = 14; + f = b + 8 | 0; + g = i; + h = f + 64 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (h | 0)); + if (!e) break a; + c[b + 72 >> 2] = c[e + 40 >> 2]; + break a + } + } + case 67: { + d = fE(d, h) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + g = gE(c[h >> 2] | 0, i) | 0; + c[h >> 2] = g; + if (!g) { + c[f >> 2] = 1; + d = 0; + break a + } + if (!(c[i >> 2] | 0)) { + c[b >> 2] = 8; + c[b + 8 >> 2] = c[i + 8 >> 2]; + if (!e) break a; + c[b + 72 >> 2] = c[e + 20 >> 2]; + break a + } else { + c[b >> 2] = 13; + f = b + 8 | 0; + g = i; + h = f + 64 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (h | 0)); + if (!e) break a; + c[b + 72 >> 2] = c[e + 40 >> 2]; + break a + } + } + case 76: { + c[b >> 2] = 6; + d = eE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 12 >> 2]; + break + } + case 84: { + c[b >> 2] = 7; + d = hE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = hE(d, b + 16 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = iE(d, b + 24 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = hE(d, b + 32 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = fE(d, b + 40 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 16 >> 2]; + break + } + case 70: { + c[b >> 2] = 10; + d = hE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = fE(d, b + 16 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 28 >> 2]; + break + } + case 83: { + c[b >> 2] = 11; + d = fE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 32 >> 2]; + break + } + case 73: { + c[b >> 2] = 12; + d = dE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + d = fE(d, b + 40 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 36 >> 2]; + break + } + case 116: { + c[b >> 2] = 15; + d = jE(d, b + 8 | 0) | 0; + if (!d) { + c[f >> 2] = 1; + d = 0; + break a + } + if (e) c[b + 72 >> 2] = c[e + 44 >> 2]; + break + } + case 0: { + d = 0; + break + } + default: { + c[f >> 2] = 1; + d = 0 + } + } while (0); + l = j; + return d | 0 + } + + function dE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0; + i = l; + l = l + 16 | 0; + e = i; + h[b >> 3] = +c2(a, e); + f = c[e >> 2] | 0; + if (((f | 0) != (a | 0) ? (h[b + 8 >> 3] = +c2(f, e), g = c[e >> 2] | 0, (f | 0) != (g | 0)) : 0) ? (h[b + 16 >> 3] = +c2(g, e), d = c[e >> 2] | 0, (g | 0) != (d | 0)) : 0) { + h[b + 24 >> 3] = +c2(d, e); + a = c[e >> 2] | 0; + a = (d | 0) == (a | 0) ? 0 : a + } else a = 0; + l = i; + return a | 0 + } + + function eE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 4 | 0; + g = k; + a = kE(a, j) | 0; + do if (a) { + d = c[j >> 2] | 0; + i = E_(d, 24) | 0; + c[b >> 2] = d; + e = i; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) { + d = 9; + break + } + h[e >> 3] = +c2(a, g); + d = c[g >> 2] | 0; + if ((a | 0) == (d | 0)) { + d = 5; + break + } + h[e + 8 >> 3] = +c2(d, g); + a = c[g >> 2] | 0; + if ((d | 0) == (a | 0)) { + d = 7; + break + } + h[e + 16 >> 3] = 0.0; + e = e + 24 | 0; + d = c[b >> 2] | 0; + f = f + 1 | 0 + } + if ((d | 0) == 5) { + c[j >> 2] = f; + D_(i); + a = 0; + break + } else if ((d | 0) == 7) { + c[j >> 2] = f; + D_(i); + a = 0; + break + } else if ((d | 0) == 9) { + c[j >> 2] = f; + c[b + 4 >> 2] = i; + break + } + } else a = 0; while (0); + l = k; + return a | 0 + } + + function fE(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + b = kE(b, i) | 0; + f = c[i >> 2] | 0; + do if (!((b | 0) == 0 | (f | 0) < 1)) { + while (1) { + h = a[b >> 0] | 0; + e = h << 24 >> 24 == 0; + if (e ^ h << 24 >> 24 != 45) b = b + 1 | 0; else break + } + if (!e) { + h = E_(f + 1 | 0, 1) | 0; + g = h; + e = f; + while (1) { + b = b + 1 | 0; + if ((e | 0) <= 0) { + e = 9; + break + } + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) { + e = 8; + break + } + a[g >> 0] = e; + e = (c[i >> 2] | 0) + -1 | 0; + c[i >> 2] = e; + g = g + 1 | 0 + } + if ((e | 0) == 8) { + D_(h); + b = 0; + break + } else if ((e | 0) == 9) { + a[g >> 0] = 0; + c[d >> 2] = h; + break + } + } else b = 0 + } else b = 0; while (0); + l = j; + return b | 0 + } + + function gE(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = a[b >> 0] | 0; + switch (e | 0) { + case 91: { + b = lE(b + 1 | 0, d) | 0; + break + } + case 40: { + b = mE(b + 1 | 0, d) | 0; + break + } + case 47: + case 35: { + c[d >> 2] = 0; + c[d + 8 >> 2] = b; + break + } + default: + if (!(M$(e) | 0)) b = 0; else { + c[d >> 2] = 0; + c[d + 8 >> 2] = b + } + } + return b | 0 + } + + function hE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0; + f = l; + l = l + 16 | 0; + d = f; + e = +c2(a, d); + d = c[d >> 2] | 0; + if ((d | 0) == (a | 0)) d = 0; else h[b >> 3] = e; + l = f; + return d | 0 + } + + function iE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + a = kE(a, e) | 0; + e = c[e >> 2] | 0; + c[b >> 2] = (e | 0) < 0 ? 0 : e | 0 ? 2 : 1; + l = d; + return a | 0 + } + + function jE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[b >> 2] = C$(a, e, 10) | 0; + b = c[e >> 2] | 0; + l = d; + return ((b | 0) == (a | 0) ? 0 : b) | 0 + } + + function kE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[b >> 2] = i1(a, e, 10) | 0; + b = c[e >> 2] | 0; + l = d; + return ((b | 0) == (a | 0) ? 0 : b) | 0 + } + + function lE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + m = o; + c[b >> 2] = 1; + n = b + 8 | 0; + i = hE(a, n) | 0; + do if (((((i | 0) != 0 ? (j = hE(i, b + 16 | 0) | 0, (j | 0) != 0) : 0) ? (e = hE(j, b + 24 | 0) | 0, (e | 0) != 0) : 0) ? (f = hE(e, b + 32 | 0) | 0, (f | 0) != 0) : 0) ? (k = b + 40 | 0, d = kE(f, k) | 0, (d | 0) != 0) : 0) { + b = c[k >> 2] | 0; + f = E_(b, 8) | 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) { + d = 13; + break + } + d = hE(d, m) | 0; + if (!d) { + d = 9; + break + } + g[f + (e << 3) >> 2] = +h[m >> 3]; + d = fE(d, f + (e << 3) + 4 | 0) | 0; + if (!d) { + d = 12; + break + } + e = e + 1 | 0; + b = c[k >> 2] | 0 + } + if ((d | 0) == 9) { + D_(f); + a = 0; + break + } else if ((d | 0) == 12) { + D_(f); + a = 0; + break + } else if ((d | 0) == 13) { + c[n + 36 >> 2] = f; + break + } + } else a = 0; while (0); + l = o; + return a | 0 + } + + function mE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + n = p; + c[b >> 2] = 2; + k = hE(a, b + 8 | 0) | 0; + do if (((((((k | 0) != 0 ? (m = hE(k, b + 16 | 0) | 0, (m | 0) != 0) : 0) ? (e = hE(m, b + 24 | 0) | 0, (e | 0) != 0) : 0) ? (f = hE(e, b + 32 | 0) | 0, (f | 0) != 0) : 0) ? (i = hE(f, b + 40 | 0) | 0, (i | 0) != 0) : 0) ? (j = hE(i, b + 48 | 0) | 0, (j | 0) != 0) : 0) ? (o = b + 56 | 0, d = kE(j, o) | 0, (d | 0) != 0) : 0) { + e = c[o >> 2] | 0; + i = E_(e, 8) | 0; + f = 0; + while (1) { + if ((f | 0) >= (e | 0)) { + d = 15; + break + } + d = hE(d, n) | 0; + if (!d) { + d = 11; + break + } + g[i + (f << 3) >> 2] = +h[n >> 3]; + d = fE(d, i + (f << 3) + 4 | 0) | 0; + if (!d) { + d = 14; + break + } + f = f + 1 | 0; + e = c[o >> 2] | 0 + } + if ((d | 0) == 11) { + D_(i); + a = 0; + break + } else if ((d | 0) == 14) { + D_(i); + a = 0; + break + } else if ((d | 0) == 15) { + c[b + 60 >> 2] = i; + break + } + } else a = 0; while (0); + l = p; + return a | 0 + } + + function nE(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return bE(a, b, c, 0) | 0 + } + + function oE(a) { + a = a | 0; + return nE(a, 0, 0) | 0 + } + + function pE(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + e = c[a + 12 >> 2] | 0; + if (a | 0) { + f = c[a + 8 >> 2] | 0; + g = a + 4 | 0; + h = (e | 0) == 0; + b = 0; + while (1) { + if ((b | 0) >= (c[a >> 2] | 0)) break; + d = f + (O(c[g >> 2] | 0, b) | 0) | 0; + if (!h) tb[e & 127](d); + qE(d); + b = b + 1 | 0 + } + D_(f); + D_(a) + } + return + } + + function qE(a) { + a = a | 0; + switch (c[a >> 2] | 0) { + case 3: + case 2: { + D_(c[a + 8 + 4 >> 2] | 0); + break + } + case 5: + case 4: { + D_(c[a + 8 + 4 >> 2] | 0); + break + } + case 6: { + D_(c[a + 8 + 4 >> 2] | 0); + break + } + case 7: { + D_(c[a + 40 >> 2] | 0); + break + } + case 9: + case 8: { + D_(c[a + 8 >> 2] | 0); + break + } + case 14: + case 13: { + rE(a + 8 | 0); + break + } + case 10: { + D_(c[a + 16 >> 2] | 0); + break + } + case 11: { + D_(c[a + 8 >> 2] | 0); + break + } + case 12: { + D_(c[a + 40 >> 2] | 0); + break + } + default: { + } + } + return + } + + function rE(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + switch (c[a >> 2] | 0) { + case 1: { + e = a + 40 | 0; + b = a + 8 + 36 | 0; + a = 0; + while (1) { + d = c[b >> 2] | 0; + if ((a | 0) >= (c[e >> 2] | 0)) break; + D_(c[d + (a << 3) + 4 >> 2] | 0); + a = a + 1 | 0 + } + D_(d); + break + } + case 2: { + e = a + 56 | 0; + d = a + 60 | 0; + a = 0; + while (1) { + b = c[d >> 2] | 0; + if ((a | 0) >= (c[e >> 2] | 0)) break; + D_(c[b + (a << 3) + 4 >> 2] | 0); + a = a + 1 | 0 + } + D_(b); + break + } + default: { + } + } + return + } + + function sE(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + k = o + 4 | 0; + n = o; + c[d >> 2] = 0; + c[e >> 2] = (ey(ez(b) | 0) | 0) != 0 & 1; + f = c[46414] | 0; + a:do if (f | 0 ? (h = yx(b, f) | 0, i = a[h >> 0] | 0, i << 24 >> 24) : 0) { + f = 20284; + while (1) { + g = c[f >> 2] | 0; + if (!g) break a; + if (i << 24 >> 24 == (a[g >> 0] | 0) ? (b$(h, g) | 0) == 0 : 0) break; + f = f + 12 | 0 + } + c[d >> 2] = c[f + 4 >> 2]; + c[e >> 2] = c[f + 8 >> 2] + } while (0); + f = c[46425] | 0; + if ((f | 0 ? (c[e >> 2] | 0) == 1 : 0) ? (j = yx(b, f) | 0, a[j >> 0] | 0) : 0) tE(j, e); + f = c[46426] | 0; + if ((f | 0 ? (c[d >> 2] | 0) == 1 : 0) ? (m = yx(b, f) | 0, a[m >> 0] | 0) : 0) tE(m, d); + if (a[(c[b + 16 >> 2] | 0) + 153 >> 0] | 0) { + j = b + -48 | 0; + i = ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : j) + 40 >> 2] | 0) | 0; + m = c[b >> 2] & 3; + sE(Rx(i, c[((m | 0) == 2 ? b : j) + 40 >> 2] | 0, c[((m | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0, 0, 0) | 0, k, n); + c[e >> 2] = c[k >> 2] | c[e >> 2]; + c[d >> 2] = c[n >> 2] | c[d >> 2] + } + l = o; + return + } + + function tE(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + m = o; + k = o + 4 | 0; + j = 0; + e = 0; + a:while (1) { + c[d >> 2] = e; + g = (j | 0) < 4; + h = (j | 0) == 3; + i = (j | 0) == 0; + while (1) { + if (!(g & (a[b >> 0] | 0) != 0)) break a; + c[k >> 2] = 0; + f = uE(b, k) | 0; + e = c[k >> 2] | 0; + if (!e) { + n = 5; + break a + } + b = (e | 0) == 8; + if (!(h & b)) { + if (!(i & b)) break; + if (a[f >> 0] | 0) break + } + c[k >> 2] = 0; + b = f + } + e = c[d >> 2] | e << (j << 3); + j = j + 1 | 0; + b = f + } + if ((n | 0) == 5) { + c[m >> 2] = b; + Pw(0, 96668, m) | 0 + } + l = o; + return + } + + function uE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + c[e >> 2] = 0; + d = vE(a, 20344, e) | 0; + if ((d | 0) == (a | 0)) { + while (1) { + d = vE(a, 20360, e) | 0; + if ((a | 0) == (d | 0)) break; else a = d + } + d = vE(a, 20408, e) | 0 + } + a = c[e >> 2] | 0; + if ((a | 0) != 0 & (a & 15 | 0) == 0) { + a = a | 1; + c[e >> 2] = a + } + c[b >> 2] = c[b >> 2] | a; + l = f; + return d | 0 + } + + function vE(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + while (1) { + e = c[b >> 2] | 0; + if (!e) break; + f = W_(e) | 0; + if (!(z$(a, e, f) | 0)) { + g = 4; + break + } + b = b + 8 | 0 + } + if ((g | 0) == 4) { + c[d >> 2] = c[d >> 2] | c[b + 4 >> 2]; + a = a + f | 0 + } + return a | 0 + } + + function wE(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0; + g = 0; + d = 0.0; + while (1) { + if ((g | 0) == 4) break; + f = b >> (g << 3) & 15; + e = 1400; + while (1) { + if (!(c[e + 16 >> 2] | 0)) break; + if ((f | 0) == (c[e >> 2] | 0)) { + i = 6; + break + } + e = e + 24 | 0 + } + if ((i | 0) == 6) { + i = 0; + d = +h[e + 8 >> 3] + d + } + g = g + 1 | 0 + } + return +(d * 10.0 * +LL(a, c[46418] | 0, 1.0, 0.0)) + } + + function xE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0.0, o = 0, p = 0; + p = l; + l = l + 96 | 0; + m = p + 80 | 0; + o = p; + k = f > 4.0 ? f * .0875 : .35; + i = +h[d + 8 >> 3]; + n = i * k; + j = +h[d >> 3]; + k = j * k; + e = +h[b >> 3]; + j = e + j; + h[m >> 3] = j; + f = +h[b + 8 >> 3]; + i = i + f; + h[m + 8 >> 3] = i; + d = o + 64 | 0; + if (!(g & 32)) { + 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[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]; + m = o + 32 | 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]; + f = i; + e = j + } else { + 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[o >> 2] = c[b >> 2]; + c[o + 4 >> 2] = c[b + 4 >> 2]; + c[o + 8 >> 2] = c[b + 8 >> 2]; + c[o + 12 >> 2] = c[b + 12 >> 2]; + b = o + 32 | 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] + } + h[o + 16 >> 3] = e + n; + h[o + 24 >> 3] = f - k; + h[o + 48 >> 3] = e - n; + h[o + 56 >> 3] = f + k; + do if (!(g & 64)) if (!(g & 128)) { + _O(a, o + 16 | 0, 3, g >>> 4 & 1 ^ 1); + break + } else { + _O(a, o + 32 | 0, 3, g >>> 4 & 1 ^ 1); + break + } else _O(a, o, 3, g >>> 4 & 1 ^ 1); while (0); + l = p; + return + } + + function yE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, s = 0.0, t = 0.0, + u = 0.0, v = 0.0, w = 0, x = 0, y = 0; + x = l; + l = l + 160 | 0; + n = x + 144 | 0; + w = x; + q = e * 4.0; + y = (g & 32 | 0) == 0; + q = !(q < f) | y ? .45 : f / q * .45; + s = !(f > 1.0) | y ? 0.0 : (f + -1.0) * .05 / e; + u = +h[d + 8 >> 3]; + r = -u; + v = q * r; + t = +h[d >> 3]; + q = t * q; + r = s * r; + s = t * s; + p = +h[b >> 3]; + e = p + t; + h[n >> 3] = e; + o = +h[b + 8 >> 3]; + f = u + o; + h[n + 8 >> 3] = f; + t = t * .5 + p; + u = u * .5 + o; + d = w + 128 | 0; + if (y) { + 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[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]; + y = w + 64 | 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]; + i = o; + j = p; + k = o; + m = p; + f = o; + e = p + } else { + 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[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]; + y = w + 64 | 0; + c[y >> 2] = c[n >> 2]; + c[y + 4 >> 2] = c[n + 4 >> 2]; + c[y + 8 >> 2] = c[n + 8 >> 2]; + c[y + 12 >> 2] = c[n + 12 >> 2]; + i = f + s; + j = e + r; + k = f - s; + m = e - r + } + h[w + 16 >> 3] = e - v; + h[w + 24 >> 3] = f - q; + h[w + 32 >> 3] = t - r; + h[w + 40 >> 3] = u - s; + h[w + 48 >> 3] = m; + h[w + 56 >> 3] = k; + h[w + 80 >> 3] = j; + h[w + 88 >> 3] = i; + h[w + 96 >> 3] = t + r; + h[w + 104 >> 3] = u + s; + h[w + 112 >> 3] = e + v; + h[w + 120 >> 3] = f + q; + do if (!(g & 64)) if (!(g & 128)) { + _O(a, w, 9, 1); + break + } else { + _O(a, w + 48 | 0, 6, 1); + break + } else _O(a, w, 6, 1); while (0); + l = x; + return + } + + function zE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0.0; + q = l; + l = l + 64 | 0; + p = q; + t = +h[d + 8 >> 3]; + s = +h[d >> 3]; + k = +h[b >> 3]; + e = k + s; + m = +h[b + 8 >> 3]; + f = m + t; + i = k + s * .2; + j = m + t * .2; + k = k + s * .6; + m = m + t * .6; + h[p >> 3] = i - t; + h[p + 8 >> 3] = j + s; + n = p + 16 | 0; + h[n >> 3] = i + t; + o = p + 24 | 0; + h[o >> 3] = j - s; + h[p + 32 >> 3] = k + t; + h[p + 40 >> 3] = m - s; + h[p + 48 >> 3] = k - t; + h[p + 56 >> 3] = m + s; + if (!(g & 64)) { + if (g & 128 | 0) { + d = 2; + g = 1; + r = 3 + } + } else { + d = 3; + g = 0; + r = 3 + } + if ((r | 0) == 3) { + h[p + (g << 4) >> 3] = i; + h[p + (g << 4) + 8 >> 3] = j; + h[p + (d << 4) >> 3] = k; + h[p + (d << 4) + 8 >> 3] = m + } + _O(a, p, 4, 1); + 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]; + h[n >> 3] = e; + h[o >> 3] = f; + bP(a, p, 2); + l = q; + return + } + + function AE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0.0, s = 0.0, t = 0.0; + o = l; + l = l + 64 | 0; + n = o; + j = +h[d + 8 >> 3]; + r = j * -.4; + i = +h[d >> 3]; + q = i * .4; + t = +h[b >> 3]; + e = t + i * .8; + s = +h[b + 8 >> 3]; + f = s + j * .8; + i = t + i; + j = s + j; + h[n >> 3] = t + r; + k = n + 8 | 0; + h[k >> 3] = s + q; + d = n + 16 | 0; + h[d >> 3] = t - r; + m = n + 24 | 0; + h[m >> 3] = s - q; + h[n + 32 >> 3] = e - r; + h[n + 40 >> 3] = f - q; + h[n + 48 >> 3] = e + r; + h[n + 56 >> 3] = f + q; + if (!(g & 64)) { + if (g & 128 | 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 = 2; + p = 5 + } + } else { + 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]; + d = 3; + p = 5 + } + if ((p | 0) == 5) { + h[n + (d << 4) >> 3] = e; + h[n + (d << 4) + 8 >> 3] = f + } + _O(a, n, 4, g >>> 4 & 1 ^ 1); + h[n >> 3] = e; + h[k >> 3] = f; + h[n + 16 >> 3] = i; + h[m >> 3] = j; + bP(a, n, 2); + l = o; + return + } + + function BE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0; + j = l; + l = l + 80 | 0; + i = j; + n = +h[d + 8 >> 3]; + k = n * -.3333333333333333; + p = +h[d >> 3]; + f = p * .3333333333333333; + q = +h[b >> 3]; + m = q + p * .5; + o = +h[b + 8 >> 3]; + e = o + n * .5; + d = i + 64 | 0; + h[i + 64 >> 3] = q + p; + h[i + 72 >> 3] = o + n; + 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]; + h[i + 16 >> 3] = m + k; + h[i + 24 >> 3] = e + f; + d = i + 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[i + 48 >> 3] = m - k; + h[i + 56 >> 3] = e - f; + do if (!(g & 64)) { + d = g >>> 4 & 1 ^ 1; + if (!(g & 128)) { + _O(a, i, 4, d); + break + } else { + _O(a, i, 3, d); + break + } + } else _O(a, d, 3, g >>> 4 & 1 ^ 1); while (0); + l = j; + return + } + + function CE(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = +e; + f = f | 0; + var g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0; + g = l; + l = l + 32 | 0; + i = g; + k = +h[c >> 3]; + e = +h[c + 8 >> 3]; + d = +C(+(e * e + k * k)) * .5; + m = +h[b >> 3]; + k = k * .5; + h[i >> 3] = m + k - d; + j = +h[b + 8 >> 3]; + e = e * .5; + h[i + 8 >> 3] = j - d + e; + h[i + 16 >> 3] = m + d + k; + h[i + 24 >> 3] = j + d + e; + ZO(a, i, 2, f >>> 4 & 1 ^ 1); + l = g; + return + } + + function DE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 112 | 0; + q = t + 48 | 0; + r = t + 16 | 0; + s = t; + n = f > 4.0 ? f * .125 : .5; + p = +h[b >> 3]; + o = +h[d >> 3]; + i = +h[b + 8 >> 3]; + m = +h[d + 8 >> 3]; + e = m * n; + f = o * n; + 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]; + h[r + 16 >> 3] = o + p; + h[r + 24 >> 3] = m + i; + h[q >> 3] = n * (o - m) + p; + j = n * (m + o); + k = j + i; + h[q + 8 >> 3] = k; + h[q + 48 >> 3] = j + p; + i = n * (m - o) + i; + h[q + 56 >> 3] = i; + o = e * -.95; + m = o + f + p; + n = f * 1.3333333333333333; + if (!(g & 32)) { + e = e * 1.3333333333333333; + j = f * -.33333333333333326; + i = i - e; + f = k - e; + e = m - n + } else { + e = e * 1.3333333333333333; + j = f * 2.333333333333333; + i = i + e; + f = k + e; + e = m + n + } + h[q + 16 >> 3] = e; + h[q + 24 >> 3] = f; + h[q + 32 >> 3] = j - o + p; + h[q + 40 >> 3] = i; + bP(a, r, 2); + if (!(g & 64)) { + if (g & 128 | 0) XL(s, q, 3, .5, q, 0) + } else XL(s, q, 3, .5, 0, q); + aP(a, q, 4, 0, 0, 0); + l = t; + return + } + + function EE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + var i = 0; + g = l; + l = l + 32 | 0; + i = g; + e = +h[d >> 3] + +h[b >> 3]; + f = +h[d + 8 >> 3] + +h[b + 8 >> 3]; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + h[i + 16 >> 3] = e; + h[i + 24 >> 3] = f; + bP(a, i, 2); + l = g; + 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 i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0; + n = l; + l = l + 80 | 0; + j = n + 72 | 0; + k = n + 8 | 0; + m = n; + i = +wE(a, g); + i = i * i; + h[m >> 3] = i; + c[f + 12 >> 2] = g; + g = f + 32 | 0; + a = e + 3 | 0; + f = b + (a << 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]; + if ((e | 0) > (d | 0) ? (o = +h[b + (e << 4) >> 3] - +h[f >> 3], p = +h[b + (e << 4) + 8 >> 3] - +h[b + (a << 4) + 8 >> 3], p * p + o * o < i) : 0) e = e + -3 | 0; + s = k + 48 | 0; + r = b + (e << 4) | 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]; + q = k + 32 | 0; + a = b + (e + 1 << 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]; + f = k + 16 | 0; + d = b + (e + 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[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[j >> 2] = k; + c[j + 4 >> 2] = m; + MK(j, 90, k, 1); + 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]; + 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[d >> 2] = c[f >> 2]; + c[d + 4 >> 2] = c[f + 4 >> 2]; + c[d + 8 >> 2] = c[f + 8 >> 2]; + c[d + 12 >> 2] = c[f + 12 >> 2]; + m = b + (e + 3 << 4) | 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]; + l = n; + return e | 0 + } + + function GE(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0; + f = c[a >> 2] | 0; + d = +h[b >> 3] - +h[f >> 3]; + e = +h[b + 8 >> 3] - +h[f + 8 >> 3]; + return e * e + d * d <= +h[c[a + 4 >> 2] >> 3] | 0 + } + + function HE(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0, s = 0; + o = l; + l = l + 80 | 0; + k = o + 72 | 0; + m = o + 8 | 0; + n = o; + j = +wE(a, g); + j = j * j; + h[n >> 3] = j; + c[f + 8 >> 2] = g; + f = f + 16 | 0; + a = b + (d << 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]; + if (!((e | 0) > (d | 0) ? (i = d + 3 | 0, p = +h[a >> 3] - +h[b + (i << 4) >> 3], q = +h[b + (d << 4) + 8 >> 3] - +h[b + (i << 4) + 8 >> 3], q * q + p * p < j) : 0)) i = d; + e = b + (i + 3 << 4) | 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]; + g = m + 16 | 0; + d = b + (i + 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]; + r = m + 32 | 0; + a = b + (i + 1 << 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]; + s = m + 48 | 0; + c[s >> 2] = c[f >> 2]; + c[s + 4 >> 2] = c[f + 4 >> 2]; + c[s + 8 >> 2] = c[f + 8 >> 2]; + c[s + 12 >> 2] = c[f + 12 >> 2]; + c[k >> 2] = s; + c[k + 4 >> 2] = n; + MK(k, 90, m, 0); + n = b + (i << 4) | 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]; + 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[d >> 2] = c[g >> 2]; + c[d + 4 >> 2] = c[g + 4 >> 2]; + c[d + 8 >> 2] = c[g + 8 >> 2]; + c[d + 12 >> 2] = c[g + 12 >> 2]; + c[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]; + l = o; + return i | 0 + } + + function IE(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0.0, l = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0.0, t = 0.0, + u = 0, v = 0, w = 0; + u = (g | 0) != 0; + l = (i | 0) != 0; + if (!((e | 0) == (d | 0) & (u & l))) { + if (l) { + j = +wE(a, i); + k = +h[b + (e << 4) >> 3]; + p = +h[b + (e << 4) + 8 >> 3]; + l = e + 3 | 0; + r = b + (l << 4) | 0; + n = +h[r >> 3]; + l = b + (l << 4) + 8 | 0; + o = +h[l >> 3]; + t = k - n; + s = p - o; + t = +C(+(s * s + t * t)) * .9; + j = j >= t ? t : j; + if (p == o) { + m = (k < n ? -j : j) + n; + j = p + } else { + m = k; + j = (p < o ? -j : j) + o + } + w = e + 1 | 0; + h[b + (w << 4) >> 3] = k; + h[b + (w << 4) + 8 >> 3] = p; + e = b + (e + 2 << 4) | 0; + h[r >> 3] = m; + h[l >> 3] = j; + 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]; + c[f + 12 >> 2] = i; + h[f + 32 >> 3] = n; + h[f + 40 >> 3] = o + } + if (u) { + m = +wE(a, g); + l = b + (d << 4) | 0; + k = +h[l >> 3]; + j = +h[b + (d << 4) + 8 >> 3]; + w = d + 3 | 0; + o = +h[b + (w << 4) >> 3]; + p = +h[b + (w << 4) + 8 >> 3]; + t = k - o; + s = j - p; + t = +C(+(s * s + t * t)) * .9; + m = m >= t ? t : m; + if (j == p) { + n = (k < o ? m : -m) + k; + m = j + } else { + n = k; + m = (j < p ? m : -m) + j + } + w = d + 1 | 0; + v = b + (w << 4) | 0; + h[v >> 3] = n; + h[b + (w << 4) + 8 >> 3] = m; + 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]; + v = d + 2 | 0; + h[b + (v << 4) >> 3] = o; + h[b + (v << 4) + 8 >> 3] = p; + v = 16 + } + } else { + r = b + (e << 4) | 0; + s = +h[r >> 3]; + t = +h[b + (e << 4) + 8 >> 3]; + l = e + 3 | 0; + u = b + (l << 4) | 0; + k = +h[u >> 3]; + l = b + (l << 4) + 8 | 0; + j = +h[l >> 3]; + m = +wE(a, g); + q = +wE(a, i); + n = s - k; + p = t - j; + n = +C(+(p * p + n * n)); + w = !(q + m >= n); + n = n * .3333333333333333; + m = w ? m : n; + n = w ? q : n; + if (t == j) { + w = s < k; + p = (w ? -n : n) + k; + q = (w ? m : -m) + s; + o = t; + m = t + } else { + w = t < j; + p = s; + q = s; + o = (w ? m : -m) + t; + m = (w ? -n : n) + j + } + w = e + 1 | 0; + v = b + (w << 4) | 0; + h[v >> 3] = q; + h[b + (w << 4) + 8 >> 3] = o; + 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]; + v = b + (e + 2 << 4) | 0; + h[u >> 3] = p; + h[l >> 3] = m; + 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[f + 12 >> 2] = i; + h[f + 32 >> 3] = s; + h[f + 40 >> 3] = t; + v = 16 + } + if ((v | 0) == 16) { + c[f + 8 >> 2] = g; + h[f + 16 >> 3] = k; + h[f + 24 >> 3] = j + } + return + } + + function JE(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0.0, o = 0.0; + n = +h[b >> 3]; + k = +h[c >> 3] - n; + o = +h[b + 8 >> 3]; + l = +h[c + 8 >> 3] - o; + j = d * 10.0 / (+C(+(k * k + l * l)) + .0001); + k = j * ((k >= 0.0 ? .0001 : -.0001) + k); + j = ((l >= 0.0 ? .0001 : -.0001) + l) * j; + l = k * .5; + m = j * .5; + i = n - m; + f = o - l; + n = m + n; + l = o + l; + o = i + k; + m = f + j; + k = n + k; + j = l + j; + g = o > k ? o : k; + g = n > g ? n : g; + d = m > j ? m : j; + d = l > d ? l : d; + k = o < k ? o : k; + k = n < k ? n : k; + j = m < j ? m : j; + j = l < j ? l : j; + h[a >> 3] = i < k ? i : k; + h[a + 8 >> 3] = f < j ? f : j; + h[a + 16 >> 3] = i > g ? i : g; + h[a + 24 >> 3] = f > d ? f : d; + return + } + + function KE(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + g = +g; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0.0, t = 0.0; + q = l; + l = l + 48 | 0; + m = q + 32 | 0; + k = q + 16 | 0; + p = q; + n = (c[a + 16 >> 2] | 0) + 12 | 0; + o = c[n >> 2] | 0; + c[n >> 2] = b; + YO(a, c[(c[a >> 2] | 0) + 336 >> 2] | 0); + fP(a, g); + t = +h[e >> 3] - +h[d >> 3]; + b = e + 8 | 0; + s = +h[b >> 3] - +h[d + 8 >> 3]; + r = 10.0 / (+C(+(t * t + s * s)) + .0001); + h[e >> 3] = r * ((t >= 0.0 ? .0001 : -.0001) + t); + h[b >> 3] = ((s >= 0.0 ? .0001 : -.0001) + s) * r; + b = 0; + while (1) { + if ((b | 0) >= 4) break; + j = i >> (b << 3) & 255; + if (!j) break; + 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[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]; + LE(p, a, k, m, f, g, j); + 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]; + b = b + 1 | 0 + } + c[n >> 2] = o; + l = q; + return + } + + function LE(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + g = +g; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 32 | 0; + m = q + 16 | 0; + k = q; + n = i & 15; + j = 1400; + while (1) { + o = c[j >> 2] | 0; + if (!o) break; + if ((n | 0) == (o | 0)) { + p = 4; + break + } + j = j + 24 | 0 + } + if ((p | 0) == 4) { + r = +h[j + 8 >> 3] * f; + h[e >> 3] = r * +h[e >> 3]; + o = e + 8 | 0; + h[o >> 3] = r * +h[o >> 3]; + p = c[j + 16 >> 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]; + 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]; + wb[p & 15](b, k, m, f, g, i); + h[d >> 3] = +h[e >> 3] + +h[d >> 3]; + p = d + 8 | 0; + h[p >> 3] = +h[o >> 3] + +h[p >> 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]; + l = q; + return + } + + function ME(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i + 8 | 0; + f = i; + d = xx(b, 96770) | 0; + if ((d | 0) != 0 ? (a[d >> 0] | 0) != 0 : 0) { + e = d; + h = 5 + } else { + d = xx(b, 96782) | 0; + if ((d | 0) != 0 ? (a[d >> 0] | 0) != 0 : 0) { + e = d; + h = 5 + } else d = 0 + } + if ((h | 0) == 5) { + d = nE(e, 0, 120) | 0; + if (!d) { + c[f >> 2] = ry(b) | 0; + Pw(0, 96789, f) | 0; + c[g >> 2] = e; + Pw(3, 96842, g) | 0 + } + } + l = i; + return d | 0 + } + + function NE(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = uH(304) | 0; + if (!f) Pw(1, 96850, g) | 0; + e = a + 16 | 0; + a = c[e >> 2] | 0; + c[f >> 2] = a; + c[e >> 2] = f; + if (!a) { + c[f + 144 >> 2] = 3; + c[f + 148 >> 2] = 0; + h[f + 152 >> 3] = 1.0 + } else { + b = f + 16 | 0; + d = a + 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 = f + 56 | 0; + d = a + 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)); + c[f + 144 >> 2] = c[a + 144 >> 2]; + c[f + 148 >> 2] = c[a + 148 >> 2]; + h[f + 152 >> 3] = +h[a + 152 >> 3]; + c[f + 136 >> 2] = c[a + 136 >> 2]; + b = f + 96 | 0; + d = a + 96 | 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)) + } + l = g; + return f | 0 + } + + function OE(a) { + a = a | 0; + var b = 0; + a = a + 16 | 0; + b = c[a >> 2] | 0; + if (!b) qa(96876, 96880, 117, 96887); else { + D_(c[b + 212 >> 2] | 0); + D_(c[b + 208 >> 2] | 0); + D_(c[b + 216 >> 2] | 0); + D_(c[b + 220 >> 2] | 0); + D_(c[b + 224 >> 2] | 0); + D_(c[b + 228 >> 2] | 0); + D_(c[b + 232 >> 2] | 0); + D_(c[b + 236 >> 2] | 0); + D_(c[b + 240 >> 2] | 0); + D_(c[b + 244 >> 2] | 0); + D_(c[b + 248 >> 2] | 0); + D_(c[b + 252 >> 2] | 0); + D_(c[b + 256 >> 2] | 0); + D_(c[b + 272 >> 2] | 0); + D_(c[b + 284 >> 2] | 0); + D_(c[b + 280 >> 2] | 0); + c[a >> 2] = c[b >> 2]; + D_(b); + return + } + } + + function PE(d, e, f, g, h, i, j) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + var k = 0, l = 0; + l = c[d + 16 >> 2] | 0; + k = c[d + 152 >> 2] | 0; + if ((e | 0) != 0 & (k & 32768 | 0) != 0) c[l + 192 >> 2] = e; + if (((k & 65536 | 0) != 0 ? (c[l + 212 >> 2] = pH(i, j) | 0, (f | 0) != 0) : 0) ? (a[f >> 0] | 0) != 0 : 0) { + c[l + 208 >> 2] = pH(f, j) | 0; + d = 1 + } else d = 0; + do if (k & 4194304) { + if (g | 0 ? a[g >> 0] | 0 : 0) { + c[l + 228 >> 2] = pH(g, j) | 0; + d = l + 260 | 0; + b[d >> 1] = b[d >> 1] | 1; + d = 1; + break + } + e = c[l + 192 >> 2] | 0; + if (e) { + c[l + 228 >> 2] = n1(e) | 0; + d = 1 + } + } while (0); + if ((h | 0) != 0 & (k & 8388608 | 0) != 0 ? (a[h >> 0] | 0) != 0 : 0) { + c[l + 244 >> 2] = pH(h, j) | 0; + d = 1 + } + return d | 0 + } + + function QE(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 80 | 0; + i = j; + h = j + 8 | 0; + g = c[(c[b >> 2] | 0) + 168 >> 2] | 0; + f = c[(c[(c[g + 16 >> 2] | 0) + 8 >> 2] | 0) + 92 >> 2] | 0; + RE(b, e); + b = xx(d, 137978) | 0; + if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) { + Ww(e, b) | 0; + f = e + 4 | 0; + b = c[f >> 2] | 0; + if (b >>> 0 >= (c[e + 8 >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + b = c[f >> 2] | 0 + } + a[b >> 0] = 0; + b = c[e >> 2] | 0; + c[f >> 2] = b + } else { + if ((g | 0) != (d | 0) & (f | 0) != 0) { + Ww(e, f) | 0; + f = e + 4 | 0; + b = c[f >> 2] | 0; + if (b >>> 0 >= (c[e + 8 >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + b = c[f >> 2] | 0 + } + c[f >> 2] = b + 1; + a[b >> 0] = 95 + } + switch (pz(d) | 0) { + case 0: { + f = (g | 0) == (d | 0) ? 108412 : 96901; + b = (c[d >> 2] | 0) >>> 4; + break + } + case 1: { + f = 108399; + b = (c[d >> 2] | 0) >>> 4; + break + } + case 2: { + f = 108368; + b = (c[d >> 2] | 0) >>> 4; + break + } + default: { + f = 0; + b = 0 + } + } + Ww(e, f) | 0; + c[i >> 2] = b; + Y0(h, 96907, i) | 0; + Ww(e, h) | 0; + f = e + 4 | 0; + b = c[f >> 2] | 0; + if (b >>> 0 >= (c[e + 8 >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + b = c[f >> 2] | 0 + } + a[b >> 0] = 0; + b = c[e >> 2] | 0; + c[f >> 2] = b + } + l = j; + return b | 0 + } + + function RE(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 144 | 0; + h = i; + g = i + 8 | 0; + e = c[b + 160 >> 2] | 0; + if ((e | 0) > 1 ? c[b + 152 >> 2] & 64 | 0 : 0) { + Ww(d, c[(c[(c[b >> 2] | 0) + 308 >> 2] | 0) + (e << 2) >> 2] | 0) | 0; + f = d + 4 | 0; + e = c[f >> 2] | 0; + if (e >>> 0 >= (c[d + 8 >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + e = c[f >> 2] | 0 + } + c[f >> 2] = e + 1; + a[e >> 0] = 95 + } + f = c[b + 196 >> 2] | 0; + e = c[b + 200 >> 2] | 0; + if ((f | 0) > 0 | (e | 0) > 0) { + c[h >> 2] = f; + c[h + 4 >> 2] = e; + Y0(g, 96911, h) | 0; + Ww(d, g) | 0 + } + l = i; + return + } + + function SE(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, i = 0.0, j = 0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0; + s = l; + l = l + 48 | 0; + p = s + 16 | 0; + f = s + 32 | 0; + q = s; + r = +h[(c[a + 16 >> 2] | 0) + 152 >> 3]; + o = TE(d, 0, f) | 0; + if ((o + -1 | 0) >>> 0 >= 2) { + e = +h[b + 16 >> 3]; + k = (e + +h[b >> 3]) * .5; + h[q >> 3] = k; + i = +h[b + 24 >> 3]; + m = (i + +h[b + 8 >> 3]) * .5; + h[q + 8 >> 3] = m; + k = e - k; + m = i - m; + n = r > .5; + if (n) fP(a, .5); + j = c[f >> 2] | 0; + i = 0.0; + f = c[j + 8 >> 2] | 0; + while (1) { + d = c[f >> 2] | 0; + if (!d) break; + b = f + 4 | 0; + if (+g[b >> 2] == 0.0) e = i; else { + WO(a, d); + if (!(c[f + 12 >> 2] | 0)) e = 6.283185307179586; else e = +g[b >> 2] * 6.283185307179586 + i; + 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]; + b = rQ(p, k, m, i, e) | 0; + aP(a, c[b >> 2] | 0, c[b + 4 >> 2] | 0, 0, 0, 1); + nV(b) + } + i = e; + f = f + 12 | 0 + } + if (n) fP(a, r); + UE(j) + } + l = s; + return o | 0 + } + + function TE(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 16 | 0; + o = r + 8 | 0; + n = r; + q = uH(12) | 0; + i = n1(b) | 0; + a:do if (!d) { + d = 1; + f = i; + while (1) { + switch (a[f >> 0] | 0) { + case 0: + break a; + case 58: { + d = d + 1 | 0; + break + } + default: { + } + } + f = f + 1 | 0 + } + } while (0); + c[q + 4 >> 2] = i; + p = uH((d * 12 | 0) + 12 | 0) | 0; + c[q + 8 >> 2] = p; + m = 1.0; + h = 0; + d = 0; + f = i; + while (1) { + f = k1(f, 104958) | 0; + if (!f) { + f = 20; + break + } + j = +VE(f); + if (!(j >= 0.0)) { + f = 17; + break + } + k = j - m; + if (k > 0.0) if ((c[5130] | 0) != 0 ? !(k < 1.0e-05 & k > -1.0e-05) : 0) { + c[n >> 2] = b; + Pw(0, 96922, n) | 0; + c[5130] = 0; + j = m; + d = 3 + } else j = m; + k = m - j; + if (j > 0.0) a[p + (h * 12 | 0) + 8 >> 0] = 1; + if (a[f >> 0] | 0) c[p + (h * 12 | 0) >> 2] = f; + f = h + 1 | 0; + g[p + (h * 12 | 0) + 4 >> 2] = j; + if (k < 1.0e-05 & k > -1.0e-05) { + h = f; + f = 30; + break + } else { + m = k; + h = f; + f = 0 + } + } + b:do if ((f | 0) == 17) { + if (!(c[5130] | 0)) d = 1; else { + c[o >> 2] = b; + Pw(1, 96957, o) | 0; + c[5130] = 0; + d = 2 + } + UE(q) + } else if ((f | 0) == 20) if (m > 0.0) { + f = 0; + i = 0; + while (1) { + if ((f | 0) >= (h | 0)) break; + o = i + (+g[p + (f * 12 | 0) + 4 >> 2] == 0.0 & 1) | 0; + f = f + 1 | 0; + i = o + } + if ((i | 0) <= 0) { + f = p + ((h + -1 | 0) * 12 | 0) + 4 | 0; + g[f >> 2] = m + +g[f >> 2]; + f = 30; + break + } + j = m / +(i | 0); + f = 0; + while (1) { + if ((f | 0) >= (h | 0)) { + f = 30; + break b + } + i = p + (f * 12 | 0) + 4 | 0; + if (+g[i >> 2] == 0.0) g[i >> 2] = j; + f = f + 1 | 0 + } + } else f = 30; while (0); + if ((f | 0) == 30) { + while (1) { + f = h + -1 | 0; + if ((h | 0) <= 0) break; + if (+g[p + (f * 12 | 0) + 4 >> 2] > 0.0) break; else h = f + } + c[p + (h * 12 | 0) >> 2] = 0; + c[q >> 2] = h; + c[e >> 2] = q + } + l = r; + return d | 0 + } + + function UE(a) { + a = a | 0; + D_(c[a + 4 >> 2] | 0); + D_(c[a + 8 >> 2] | 0); + D_(a); + return + } + + function VE(b) { + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + e = f; + b = A$(b, 59) | 0; + if (!b) d = 0.0; else { + g = b + 1 | 0; + a[b >> 0] = 0; + d = +c2(g, e); + d = (d >= 0.0 ? (c[e >> 2] | 0) != (g | 0) : 0) ? d : -1.0 + } + l = f; + return +d + } + + function WE(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0; + t = l; + l = l + 80 | 0; + i = t + 64 | 0; + r = t; + s = +h[(c[a + 16 >> 2] | 0) + 152 >> 3]; + q = TE(d, 0, i) | 0; + if ((q + -1 | 0) >>> 0 >= 2) { + if (!e) { + 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]; + p = r + 16 | 0; + o = b + 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 + 32 | 0; + o = b + 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]; + p = r + 48 | 0; + o = b + 48 | 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] + } else { + p = b + 32 | 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]; + p = r + 16 | 0; + o = b + 48 | 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 + 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]; + p = r + 48 | 0; + o = b + 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] + } + k = r + 16 | 0; + m = +h[k >> 3]; + f = +h[r >> 3]; + n = m - f; + o = r + 32 | 0; + h[o >> 3] = f; + h[k >> 3] = f; + p = s > .5; + if (p) fP(a, .5); + i = c[i >> 2] | 0; + j = r + 48 | 0; + e = c[i + 8 >> 2] | 0; + while (1) { + d = c[e >> 2] | 0; + if (!d) break; + b = e + 4 | 0; + if (!(+g[b >> 2] == 0.0)) { + WO(a, d); + if (!(c[e + 12 >> 2] | 0)) f = m; else f = n * +g[b >> 2] + +h[r >> 3]; + h[o >> 3] = f; + h[k >> 3] = f; + _O(a, r, 4, 1); + f = +h[k >> 3]; + h[j >> 3] = f; + h[r >> 3] = f + } + e = e + 12 | 0 + } + if (p) fP(a, s); + UE(i) + } + l = t; + return q | 0 + } + + function XE(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + d = c[a + 16 >> 2] | 0; + e = c[a + 152 >> 2] | 0; + if (e & 4259840 | 0) { + f = e & 131072; + g = f >>> 16 ^ 2; + c[d + 264 >> 2] = g; + h = d + 268 | 0; + c[h >> 2] = g + 2; + g = d + 272 | 0; + D_(c[g >> 2] | 0); + d = uH(c[h >> 2] << 4) | 0; + c[g >> 2] = d; + 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]; + g = d + 16 | 0; + b = b + 16 | 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]; + if (!(e & 8192)) yO(a, d, d, 2) | 0; + if (!f) WG(d) + } + return + } + + function YE(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0.0, e = 0, f = 0, g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0, p = 0, + q = 0; + q = l; + l = l + 144 | 0; + c = q + 80 | 0; + e = q + 16 | 0; + f = q; + k = +h[b >> 3]; + o = a + 16 | 0; + m = +h[o >> 3]; + if (!(((((((((!(k > m) ? (n = +h[a >> 3], !(k < n)) : 0) ? (d = +h[b + 8 >> 3], i = +h[a + 24 >> 3], !(d > i)) : 0) ? (j = +h[a + 8 >> 3], !(d < j)) : 0) ? (k = +h[b + 16 >> 3], !(k > m | k < n)) : 0) ? (k = +h[b + 24 >> 3], !(k > i | k < j)) : 0) ? (k = +h[b + 32 >> 3], !(k > m | k < n)) : 0) ? (k = +h[b + 40 >> 3], !(k > i | k < j)) : 0) ? (k = +h[b + 48 >> 3], !(k > m | k < n)) : 0) ? (n = +h[b + 56 >> 3], !(n > i | n < j)) : 0)) p = 11; + a:do if ((p | 0) == 11) { + if (!(ZE(b) | 0)) { + XL(f, b, 3, .5, c, e); + YE(a, c); + YE(a, e); + break + } + f = a + 24 | 0; + g = a + 8 | 0; + e = 0; + while (1) { + if ((e | 0) == 4) break a; + d = +h[b + (e << 4) >> 3]; + if (!(d > +h[o >> 3])) { + if (d < +h[a >> 3]) { + c = a; + p = 16 + } + } else { + c = o; + p = 16 + } + if ((p | 0) == 16) { + p = 0; + h[c >> 3] = d + } + d = +h[b + (e << 4) + 8 >> 3]; + if (!(d > +h[f >> 3])) { + if (d < +h[g >> 3]) { + c = a; + p = 19 + } + } else { + c = o; + p = 19 + } + if ((p | 0) == 19) { + p = 0; + h[c + 8 >> 3] = d + } + e = e + 1 | 0 + } + } while (0); + l = q; + return + } + + function ZE(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, h = 0, i = 0; + b = l; + l = l + 48 | 0; + d = b + 32 | 0; + e = b + 16 | 0; + f = b; + i = a + 48 | 0; + h = a + 16 | 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[e >> 2] = c[i >> 2]; + c[e + 4 >> 2] = c[i + 4 >> 2]; + c[e + 8 >> 2] = c[i + 8 >> 2]; + c[e + 12 >> 2] = c[i + 12 >> 2]; + c[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]; + g = +$G(f, e, d); + h = a + 32 | 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[e >> 2] = c[i >> 2]; + c[e + 4 >> 2] = c[i + 4 >> 2]; + c[e + 8 >> 2] = c[i + 8 >> 2]; + c[e + 12 >> 2] = c[i + 12 >> 2]; + c[d >> 2] = c[h >> 2]; + c[d + 4 >> 2] = c[h + 4 >> 2]; + c[d + 8 >> 2] = c[h + 8 >> 2]; + c[d + 12 >> 2] = c[h + 12 >> 2]; + a = g < 4.0 & +$G(f, e, d) < 4.0 & 1; + l = b; + return a | 0 + } + + function _E(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, 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, I = 0.0, J = 0, K = 0; + D = l; + l = l + 272 | 0; + u = D + 256 | 0; + v = D + 224 | 0; + w = D + 192 | 0; + x = D + 128 | 0; + y = D + 64 | 0; + z = D; + A = D + 160 | 0; + B = D + 96 | 0; + C = D + 32 | 0; + t = c[d + 16 >> 2] | 0; + s = c[t + 144 >> 2] | 0; + r = t + 16 | 0; + 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]; + c[x + 16 >> 2] = c[r + 16 >> 2]; + c[x + 20 >> 2] = c[r + 20 >> 2]; + c[x + 24 >> 2] = c[r + 24 >> 2]; + c[x + 28 >> 2] = c[r + 28 >> 2]; + t = c[(c[t + 8 >> 2] | 0) + 88 >> 2] | 0; + c[z >> 2] = 0; + c[z + 4 >> 2] = 0; + c[z + 8 >> 2] = 0; + c[z + 12 >> 2] = 0; + c[z + 16 >> 2] = 0; + c[z + 20 >> 2] = 0; + c[z + 24 >> 2] = 0; + c[z + 28 >> 2] = 0; + if (!t) { + 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 { + d = x + 16 | 0; + if (+h[x >> 3] == +h[d >> 3] ? (e = x + 8 | 0, f = x + 24 | 0, +h[e >> 3] == +h[f >> 3]) : 0) { + h[e >> 3] = 1797693134862315708145274.0e284; + h[x >> 3] = 1797693134862315708145274.0e284; + h[f >> 3] = -1797693134862315708145274.0e284; + h[d >> 3] = -1797693134862315708145274.0e284 + } + j = v + 8 | 0; + k = v + 16 | 0; + m = v + 24 | 0; + n = y + 16 | 0; + o = y + 24 | 0; + p = s + 144 | 0; + q = w + 16 | 0; + r = t + 12 | 0; + d = 0; + f = c[t + 8 >> 2] | 0; + e = 0; + g = 0.0; + i = 0; + while (1) { + if ((i | 0) >= (c[t >> 2] | 0)) break; + 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]; + switch (c[f >> 2] | 0) { + case 1: + case 0: { + H = +h[f + 8 >> 3]; + I = +h[f + 24 >> 3]; + h[v >> 3] = H - I; + F = +h[f + 16 >> 3]; + G = +h[f + 32 >> 3]; + h[j >> 3] = F - G; + h[k >> 3] = I + H; + h[m >> 3] = G + F; + E = f + 80 | 0; + 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]; + E = f + 96 | 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[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]; + $E(x, u); + 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]; + $E(x, u); + break + } + case 3: + case 2: { + E = f + 80 | 0; + J = f + 8 | 0; + aF(A, c[J + 4 >> 2] | 0, c[J >> 2] | 0, x); + 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[E + 16 >> 2] = c[A + 16 >> 2]; + c[E + 20 >> 2] = c[A + 20 >> 2]; + c[E + 24 >> 2] = c[A + 24 >> 2]; + c[E + 28 >> 2] = c[A + 28 >> 2]; + break + } + case 5: + case 4: { + J = f + 80 | 0; + E = f + 8 | 0; + aF(B, c[E + 4 >> 2] | 0, c[E >> 2] | 0, x); + c[J >> 2] = c[B >> 2]; + c[J + 4 >> 2] = c[B + 4 >> 2]; + c[J + 8 >> 2] = c[B + 8 >> 2]; + c[J + 12 >> 2] = c[B + 12 >> 2]; + c[J + 16 >> 2] = c[B + 16 >> 2]; + c[J + 20 >> 2] = c[B + 20 >> 2]; + c[J + 24 >> 2] = c[B + 24 >> 2]; + c[J + 28 >> 2] = c[B + 28 >> 2]; + break + } + case 6: { + J = f + 80 | 0; + E = f + 8 | 0; + aF(C, c[E + 4 >> 2] | 0, c[E >> 2] | 0, x); + c[J >> 2] = c[C >> 2]; + c[J + 4 >> 2] = c[C + 4 >> 2]; + c[J + 8 >> 2] = c[C + 8 >> 2]; + c[J + 12 >> 2] = c[C + 12 >> 2]; + c[J + 16 >> 2] = c[C + 16 >> 2]; + c[J + 20 >> 2] = c[C + 20 >> 2]; + c[J + 24 >> 2] = c[C + 24 >> 2]; + c[J + 28 >> 2] = c[C + 28 >> 2]; + break + } + case 7: { + J = f + 112 | 0; + c[J >> 2] = uH(56) | 0; + E = n1(c[f + 40 >> 2] | 0) | 0; + K = c[J >> 2] | 0; + c[K >> 2] = E; + a[K + 48 >> 0] = a[97003 + (c[f + 24 >> 2] | 0) >> 0] | 0; + c[y >> 2] = e; + h[n >> 3] = g; + c[o >> 2] = c[o >> 2] & -128 | d & 127; + K = c[p >> 2] | 0; + K = nb[c[K >> 2] & 63](K, y, 1) | 0; + E = c[J >> 2] | 0; + c[E + 4 >> 2] = K; + wL(u, s, E); + bF(w, +h[f + 8 >> 3], +h[f + 16 >> 3], c[J >> 2] | 0); + J = f + 80 | 0; + c[J >> 2] = c[w >> 2]; + c[J + 4 >> 2] = c[w + 4 >> 2]; + c[J + 8 >> 2] = c[w + 8 >> 2]; + c[J + 12 >> 2] = c[w + 12 >> 2]; + c[J + 16 >> 2] = c[w + 16 >> 2]; + c[J + 20 >> 2] = c[w + 20 >> 2]; + c[J + 24 >> 2] = c[w + 24 >> 2]; + c[J + 28 >> 2] = c[w + 28 >> 2]; + 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]; + $E(x, u); + 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]; + $E(x, u); + if (!(c[r >> 2] | 0)) c[r >> 2] = 106; + break + } + case 10: { + e = c[f + 16 >> 2] | 0; + g = +h[f + 8 >> 3]; + break + } + case 15: { + d = c[f + 8 >> 2] | 0; + break + } + default: { + } + } + f = f + 120 | 0; + i = i + 1 | 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] + } + l = D; + return + } + + function $E(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0; + c = +h[b >> 3]; + d = a + 16 | 0; + if (c > +h[d >> 3]) h[d >> 3] = c; + if (c < +h[a >> 3]) h[a >> 3] = c; + c = +h[b + 8 >> 3]; + b = a + 24 | 0; + if (c > +h[b >> 3]) h[b >> 3] = c; + b = a + 8 | 0; + if (c < +h[b >> 3]) h[b >> 3] = c; + return + } + + function aF(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 48 | 0; + k = r + 32 | 0; + n = r; + f = +h[b >> 3]; + o = n + 16 | 0; + h[o >> 3] = f; + h[n >> 3] = f; + f = +h[b + 8 >> 3]; + p = n + 24 | 0; + h[p >> 3] = f; + m = n + 8 | 0; + h[m >> 3] = f; + j = 1; + while (1) { + if ((j | 0) >= (d | 0)) break; + i = b + 24 | 0; + f = +h[i >> 3]; + if (!(f < +h[n >> 3])) { + if (f > +h[o >> 3]) { + g = o; + q = 5 + } + } else { + g = n; + q = 5 + } + if ((q | 0) == 5) { + q = 0; + h[g >> 3] = f + } + f = +h[b + 32 >> 3]; + if (!(f < +h[m >> 3])) { + if (f > +h[p >> 3]) { + b = o; + q = 8 + } + } else { + b = n; + q = 8 + } + if ((q | 0) == 8) { + q = 0; + h[b + 8 >> 3] = f + } + j = j + 1 | 0; + b = i + } + 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]; + $E(e, k); + 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]; + $E(e, k); + 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]; + l = r; + return + } + + function bF(b, c, d, e) { + b = b | 0; + c = +c; + d = +d; + e = e | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0.0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + i = n + 8 | 0; + j = n; + f = +h[e + 32 >> 3]; + k = +h[e + 40 >> 3]; + switch (a[e + 48 >> 0] | 0) { + case 108: { + h[i >> 3] = c; + f = f + c; + g = j; + m = 5; + break + } + case 110: { + f = f * .5; + h[i >> 3] = c - f; + f = f + c; + g = j; + m = 5; + break + } + case 114: { + h[j >> 3] = c; + f = c - f; + g = i; + m = 5; + break + } + default: { + c = 0.0; + f = 0.0 + } + } + if ((m | 0) == 5) { + h[g >> 3] = f; + c = +h[i >> 3]; + f = +h[j >> 3] + } + d = +h[e + 16 >> 3] + d; + h[b >> 3] = c; + h[b + 8 >> 3] = d - k; + h[b + 16 >> 3] = f; + h[b + 24 >> 3] = d; + l = n; + return + } + + function cF(a) { + a = a | 0; + if ((c[a >> 2] | 0) == 7) mH(c[a + 112 >> 2] | 0, 1); + return + } + + function dF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0.0; + m = l; + l = l + 16 | 0; + k = m; + j = c[b + 152 >> 2] | 0; + n = +h[b + 432 >> 3]; + i = +h[b + 352 >> 3] * .013888888888888888; + f = i * n; + h[b + 488 >> 3] = f; + g = +h[b + 440 >> 3]; + i = i * g; + h[b + 496 >> 3] = i; + h[b + 520 >> 3] = n * .013888888888888888; + e = b + 528 | 0; + h[e >> 3] = g * .013888888888888888; + if (j & 4096 | c[46369] | 0) h[e >> 3] = g * -.013888888888888888; + e = (c[b + 360 >> 2] | 0) == 0; + n = +((c[b + 448 >> 2] | 0) >>> 0); + g = +((c[b + 452 >> 2] | 0) >>> 0); + h[b + 368 >> 3] = (e ? n : g) / f; + h[b + 376 >> 3] = (e ? g : n) / i; + cP(b, NL(d, nx(d, 0, 98496, 0) | 0, 191979) | 0); + c[b + 160 >> 2] = 0; + eF(b, d); + if (j & 2 | 0) fF(b, d); + e = Sy(d) | 0; + while (1) { + if (!e) break; + a[(c[e + 16 >> 2] | 0) + 116 >> 0] = 0; + e = Ty(d, e) | 0 + } + gF(b, k); + while (1) { + if (!((hF(b) | 0) << 24 >> 24)) break; + if ((iF(b) | 0) > 1) DO(b); + jF(b); + while (1) { + if (!((kF(b) | 0) << 24 >> 24)) break; + lF(b, d); + mF(b) + } + if ((iF(b) | 0) > 1) EO(b); + nF(b, k) + } + oF(b); + l = m; + return + } + + function eF(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = NE(a) | 0; + c[d + 4 >> 2] = 0; + c[d + 8 >> 2] = b; + c[d + 12 >> 2] = 0; + nG(a, c[(c[b + 16 >> 2] | 0) + 12 >> 2] | 0, b); + zO(a, b); + return + } + + function fF(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + WO(b, 131718); + d = xx(c, 137895) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) WO(b, d); + d = xx(c, 98420) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + zG(b, c); + g = Sy(c) | 0; + while (1) { + if (!g) break; + d = xx(g, 137741) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + d = xx(g, 134647) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) WO(b, d); + d = xx(g, 98392) | 0; + do if (d | 0 ? a[d >> 0] | 0 : 0) { + if (!(A$(d, 58) | 0)) { + UO(b, d); + break + } + e = n1(d) | 0; + d = e; + while (1) { + d = k1(d, 104958) | 0; + if (!d) break; + if (!(a[d >> 0] | 0)) { + d = 0; + continue + } + UO(b, d); + d = 0 + } + D_(e) + } while (0); + d = xx(g, 98420) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + f = Ex(c, g) | 0; + while (1) { + if (!f) break; + d = xx(f, 137741) | 0; + do if (d | 0 ? a[d >> 0] | 0 : 0) { + if (!(A$(d, 58) | 0)) { + UO(b, d); + break + } + e = n1(d) | 0; + d = e; + while (1) { + d = k1(d, 104958) | 0; + if (!d) break; + if (!(a[d >> 0] | 0)) { + d = 0; + continue + } + UO(b, d); + d = 0 + } + D_(e) + } while (0); + d = xx(f, 98420) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + f = Gx(c, f) | 0 + } + g = Ty(c, g) | 0 + } + return + } + + function gF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + e = i + 8 | 0; + g = i; + h = c[a >> 2] | 0; + d = c[h + 312 >> 2] | 0; + f = a + 156 | 0; + c[f >> 2] = d; + h = c[h + 316 >> 2] | 0; + if (!h) if ((d | 0) > 1 ? (c[a + 152 >> 2] & 64 | 0) == 0 : 0) { + c[e >> 2] = c[a + 52 >> 2]; + Pw(0, 97541, e) | 0; + c[f >> 2] = 1; + e = 1; + d = 0 + } else { + e = 1; + d = 0 + } else { + d = h + 4 | 0; + if ((c[h >> 2] | 0) > 1 ? (c[a + 152 >> 2] & 64 | 0) == 0 : 0) { + c[g >> 2] = c[a + 52 >> 2]; + Pw(0, 97541, g) | 0; + c[h + 8 >> 2] = (c[f >> 2] | 0) + 1 + } + e = c[d >> 2] | 0; + d = h + 8 | 0 + } + c[a + 160 >> 2] = e; + c[b >> 2] = d; + l = i; + return + } + + function hF(a) { + a = a | 0; + return (c[a + 160 >> 2] | 0) <= (c[a + 156 >> 2] | 0) | 0 + } + + function iF(a) { + a = a | 0; + var b = 0; + b = c[(c[a >> 2] | 0) + 316 >> 2] | 0; + return c[((b | 0) == 0 ? a + 156 | 0 : b) >> 2] | 0 + } + + function jF(a) { + a = a | 0; + var b = 0, d = 0; + d = a + 172 | 0; + b = c[d + 4 >> 2] | 0; + a = a + 196 | 0; + c[a >> 2] = c[d >> 2]; + c[a + 4 >> 2] = b; + return + } + + function kF(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a + 196 >> 2] | 0; + if (((d | 0) > -1 ? (d | 0) < (c[a + 164 >> 2] | 0) : 0) ? (b = c[a + 200 >> 2] | 0, (b | 0) > -1) : 0) a = (b | 0) < (c[a + 168 >> 2] | 0) & 1; else a = 0; + return a | 0 + } + + function lF(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 176 | 0; + k = p; + f = p + 48 | 0; + m = p + 32 | 0; + n = c[d + 16 >> 2] | 0; + o = c[d + 152 >> 2] | 0; + if ((c[d + 160 >> 2] | 0) <= 1 ? (c[d + 196 >> 2] | 0) <= 0 : 0) h = 0; else { + Tw(m, 128, f); + g = n + 212 | 0; + h = c[g >> 2] | 0; + RE(d, m); + Ww(m, h) | 0; + i = m + 4 | 0; + f = c[i >> 2] | 0; + if (f >>> 0 >= (c[m + 8 >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + f = c[i >> 2] | 0 + } + a[f >> 0] = 0; + f = c[m >> 2] | 0; + c[i >> 2] = f; + c[g >> 2] = f + } + qQ(xx(e, 97006) | 0); + qF(d); + BO(d); + UO(d, 134232); + WO(d, 131718); + do if (o & 4259840 | 0) { + if ((c[n + 208 >> 2] | 0) == 0 ? (b[n + 260 >> 1] & 1) == 0 : 0) break; + if (o & 655360) { + i = o & 131072; + c[n + 264 >> 2] = i >>> 16 ^ 2; + f = uH((i >>> 12 ^ 32) + 32 | 0) | 0; + g = d + 288 | 0; + c[f >> 2] = c[g >> 2]; + c[f + 4 >> 2] = c[g + 4 >> 2]; + c[f + 8 >> 2] = c[g + 8 >> 2]; + c[f + 12 >> 2] = c[g + 12 >> 2]; + g = f + 16 | 0; + q = d + 304 | 0; + c[g >> 2] = c[q >> 2]; + c[g + 4 >> 2] = c[q + 4 >> 2]; + c[g + 8 >> 2] = c[q + 8 >> 2]; + c[g + 12 >> 2] = c[q + 12 >> 2]; + if (!i) { + WG(f); + g = 4 + } else g = 2 + } else { + f = 0; + g = 0 + } + if (!(o & 8192)) yO(d, f, f, g) | 0; + c[n + 272 >> 2] = f; + c[n + 268 >> 2] = g + } while (0); + if (o & 32768 | 0 ? (j = c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0, j | 0) : 0) c[n + 192 >> 2] = c[j >> 2]; + g = (o & 4 | 0) != 0; + do if (!g) { + f = n + 208 | 0; + if ((c[f >> 2] | 0) == 0 ? (b[n + 260 >> 1] & 1) == 0 : 0) break; + q = d + 256 | 0; + 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]; + XE(d, k); + PO(d, c[f >> 2] | 0, c[n + 228 >> 2] | 0, c[n + 244 >> 2] | 0, c[n + 212 >> 2] | 0) + } while (0); + rF(d, e); + f = c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0; + if (f | 0) oH(d, 4, f); + do if (!g) { + if ((c[n + 208 >> 2] | 0) == 0 ? (b[n + 260 >> 1] & 1) == 0 : 0) break; + QO(d) + } while (0); + sF(d, e, o); + CO(d); + if (h | 0) { + Xw(m); + c[n + 212 >> 2] = h + } + l = p; + return + } + + function mF(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + h = l; + l = l + 32 | 0; + d = h + 24 | 0; + b = h + 16 | 0; + j = h + 8 | 0; + f = h; + g = a + 196 | 0; + i = a + 188 | 0; + c[b >> 2] = c[g >> 2]; + c[b + 4 >> 2] = c[g + 4 >> 2]; + c[d >> 2] = c[i >> 2]; + c[d + 4 >> 2] = c[i + 4 >> 2]; + pF(j, b, d); + i = c[j + 4 >> 2] | 0; + e = g; + c[e >> 2] = c[j >> 2]; + c[e + 4 >> 2] = i; + if (!((kF(a) | 0) << 24 >> 24)) { + e = a + 180 | 0; + if (!(c[a + 184 >> 2] | 0)) c[a + 200 >> 2] = c[a + 176 >> 2]; else c[g >> 2] = c[a + 172 >> 2]; + c[b >> 2] = c[g >> 2]; + c[b + 4 >> 2] = c[g + 4 >> 2]; + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = c[e + 4 >> 2]; + pF(f, b, d); + i = c[f + 4 >> 2] | 0; + j = g; + c[j >> 2] = c[f >> 2]; + c[j + 4 >> 2] = i + } + l = h; + return + } + + function nF(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[b >> 2] | 0; + if (!d) { + d = a + 160 | 0; + c[d >> 2] = (c[d >> 2] | 0) + 1 + } else { + c[a + 160 >> 2] = c[d >> 2]; + c[b >> 2] = d + 4 + } + return + } + + function oF(a) { + a = a | 0; + AO(a); + OE(a); + return + } + + function pF(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = (c[d + 4 >> 2] | 0) + (c[b + 4 >> 2] | 0) | 0; + c[a >> 2] = (c[d >> 2] | 0) + (c[b >> 2] | 0); + c[a + 4 >> 2] = e; + return + } + + function qF(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0, + r = 0, s = 0, t = 0, u = 0.0; + t = l; + l = l + 48 | 0; + n = t + 32 | 0; + f = t + 24 | 0; + j = t + 8 | 0; + k = t + 16 | 0; + m = t; + r = a + 196 | 0; + q = c[r >> 2] | 0; + r = c[r + 4 >> 2] | 0; + p = f; + c[p >> 2] = q; + c[p + 4 >> 2] = r; + p = a + 164 | 0; + i = c[p >> 2] | 0; + p = c[p + 4 >> 2] | 0; + s = j; + c[s >> 2] = i; + c[s + 4 >> 2] = p; + s = a + 360 | 0; + if (!(c[s >> 2] | 0)) { + k = q; + j = r + } else { + c[n >> 2] = c[f >> 2]; + c[n + 4 >> 2] = c[f + 4 >> 2]; + yG(k, n); + r = k; + k = c[r >> 2] | 0; + r = c[r + 4 >> 2] | 0; + p = f; + c[p >> 2] = k; + c[p + 4 >> 2] = r; + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + yG(m, n); + p = m; + i = c[p >> 2] | 0; + p = c[p + 4 >> 2] | 0; + c[j >> 2] = i; + c[j + 4 >> 2] = p; + j = r + } + d = +h[a + 320 >> 3]; + g = d * +(k | 0) - +h[a + 240 >> 3]; + h[a + 288 >> 3] = g; + e = +h[a + 328 >> 3]; + o = e * +(j | 0) - +h[a + 248 >> 3]; + h[a + 296 >> 3] = o; + h[a + 304 >> 3] = d + g; + h[a + 312 >> 3] = e + o; + f = a + 472 | 0; + if (!(c[(c[a + 12 >> 2] | 0) + 28 >> 2] | 0)) { + r = a + 456 | 0; + 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] + } else { + q = a + 456 | 0; + c[f >> 2] = c[((c[f >> 2] | 0) < (c[q >> 2] | 0) ? f : q) >> 2]; + r = a + 476 | 0; + c[r >> 2] = c[((c[r >> 2] | 0) < (c[a + 460 >> 2] | 0) ? f : q) + 4 >> 2]; + r = a + 480 | 0; + c[r >> 2] = c[((c[r >> 2] | 0) > (c[a + 464 >> 2] | 0) ? f : q) + 8 >> 2]; + r = a + 484 | 0; + c[r >> 2] = c[((c[r >> 2] | 0) > (c[a + 468 >> 2] | 0) ? f : q) + 12 >> 2] + } + m = c[a + 152 >> 2] | 0; + b = +h[a + 336 >> 3]; + if (!(m & 128)) { + b = (+(k | 0) - +(i | 0) * .5) * d + b; + h[a + 256 >> 3] = b; + g = (+(j | 0) - +(p | 0) * .5) * e + +h[a + 344 >> 3]; + o = g; + d = d + b; + g = g + e + } else { + d = +h[a + 368 >> 3] * .5; + e = b - d; + h[a + 256 >> 3] = e; + g = +h[a + 344 >> 3]; + u = +h[a + 376 >> 3] * .5; + o = g - u; + d = d + b; + g = u + g; + b = e + } + h[a + 264 >> 3] = o; + h[a + 272 >> 3] = d; + h[a + 280 >> 3] = g; + if (!(c[s >> 2] | 0)) { + e = +h[a + 352 >> 3]; + h[a + 504 >> 3] = +h[a + 384 >> 3] / e - b; + if (!(m & 4096 | c[46369])) { + d = +h[a + 392 >> 3] / e; + b = o + } else { + d = -g; + b = +h[a + 392 >> 3] / e + } + h[a + 512 >> 3] = d - b + } else { + f = a + 384 | 0; + e = +h[a + 352 >> 3]; + h[a + 512 >> 3] = -g - +h[a + 392 >> 3] / e; + if (!(m & 4096 | c[46369])) d = +h[f >> 3] / e; else { + d = -d; + b = +h[f >> 3] / e + } + h[a + 504 >> 3] = d - b + } + l = t; + return + } + + function rF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 48 | 0; + q = s; + o = s + 40 | 0; + p = s + 36 | 0; + r = s + 32 | 0; + e = xx(d, 137895) | 0; + if (!e) { + j = 1; + e = 134116 + } else { + i = (a[e >> 0] | 0) == 0; + j = i & 1; + e = i ? 134116 : e + } + h = c[b + 152 >> 2] | 0; + i = (a[e >> 0] | 0) == 116; + if (!(h & 256)) if (i) { + m = (b$(e, 134297) | 0) == 0; + k = m ? 134116 : e; + m = m ? 1 : j; + n = 8 + } else { + k = e; + m = j; + n = 8 + } else if (!(i ? !(b$(e, 134297) | 0) : 0)) { + k = e; + m = j; + n = 8 + } + if ((n | 0) == 8 ? !((m | 0) != 0 & (h & 33554432 | 0) != 0) : 0) if (!((uG(k, o, p) | 0) << 24 >> 24)) { + WO(b, k); + UO(b, 134297); + r = b + 256 | 0; + c[q >> 2] = c[r >> 2]; + c[q + 4 >> 2] = c[r + 4 >> 2]; + c[q + 8 >> 2] = c[r + 8 >> 2]; + c[q + 12 >> 2] = c[r + 12 >> 2]; + c[q + 16 >> 2] = c[r + 16 >> 2]; + c[q + 20 >> 2] = c[r + 20 >> 2]; + c[q + 24 >> 2] = c[r + 24 >> 2]; + c[q + 28 >> 2] = c[r + 28 >> 2]; + $O(b, q, 1) + } else { + c[r >> 2] = 0; + i = c[o >> 2] | 0; + WO(b, i); + UO(b, 134297); + tG(d, r) | 0; + e = c[o + 4 >> 2] | 0; + h = KL(d, c[46373] | 0, 0, 0) | 0; + f = +g[p >> 2]; + if (!e) XO(b, 134232, h, f); else XO(b, e, h, f); + r = (c[r >> 2] | 0) >>> 1 & 1 | 2; + p = b + 256 | 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]; + $O(b, q, r); + D_(i) + } + e = c[(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0) + 88 >> 2] | 0; + if (e | 0) wG(b, e); + l = s; + return + } + + function sF(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = (c[a >> 2] | 0) + 28 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1; + g = (d & 4 | 0) != 0; + if (!g) tF(a, b, d); + a:do if (!(d & 1)) { + if (d & 16 | 0) { + JO(a); + f = Sy(b) | 0; + while (1) { + if (!f) break; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + vF(a, e); + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + KO(a); + HO(a); + e = Sy(b) | 0; + while (1) { + if (!e) break; + uF(a, e); + e = Ty(b, e) | 0 + } + IO(a); + break + } + if (!(d & 8)) { + f = Sy(b) | 0; + while (1) { + if (!f) break a; + uF(a, f); + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + uF(a, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0); + vF(a, e); + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + } + HO(a); + e = Sy(b) | 0; + while (1) { + if (!e) break; + if ((wF(b, e) | 0) << 24 >> 24) uF(a, e); + e = Ty(b, e) | 0 + } + IO(a); + JO(a); + f = Sy(b) | 0; + while (1) { + if (!f) break; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + if ((xF(b, e) | 0) << 24 >> 24) vF(a, e); + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + KO(a) + } else { + HO(a); + e = Sy(b) | 0; + while (1) { + if (!e) break; + uF(a, e); + e = Ty(b, e) | 0 + } + IO(a); + JO(a); + f = Sy(b) | 0; + while (1) { + if (!f) break; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + vF(a, e); + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + KO(a) + } while (0); + if (g) tF(a, b, d); + return + } + + function tF(e, f, i) { + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, + M = 0, N = 0, O = 0, P = 0, Q = 0; + P = l; + l = l + 128 | 0; + w = P + 72 | 0; + N = P + 64 | 0; + H = P + 112 | 0; + I = P; + J = P + 104 | 0; + K = f + 16 | 0; + L = (i & 4 | 0) != 0; + M = e + 16 | 0; + x = I + 32 | 0; + y = I + 16 | 0; + A = I + 8 | 0; + B = I + 24 | 0; + C = I + 48 | 0; + D = I + 40 | 0; + E = I + 56 | 0; + F = (i & 8 | 0) == 0; + G = J + 4 | 0; + v = 1; + while (1) { + j = c[K >> 2] | 0; + if ((v | 0) > (c[j + 180 >> 2] | 0)) break; + u = c[(c[j + 184 >> 2] | 0) + (v << 2) >> 2] | 0; + if ((rG(e, u) | 0) << 24 >> 24) { + if (L) tF(e, u, i); + sG(e, u); + r = c[M >> 2] | 0; + s = r + 208 | 0; + if (!(c[s >> 2] | 0)) t = (b[r + 260 >> 1] & 1) != 0; else t = 1; + qQ(xx(u, 97006) | 0); + if (!(L | t ^ 1)) { + q = (c[u + 16 >> 2] | 0) + 16 | 0; + 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[w + 16 >> 2] = c[q + 16 >> 2]; + c[w + 20 >> 2] = c[q + 20 >> 2]; + c[w + 24 >> 2] = c[q + 24 >> 2]; + c[w + 28 >> 2] = c[q + 28 >> 2]; + XE(e, w); + PO(e, c[s >> 2] | 0, c[r + 228 >> 2] | 0, c[r + 244 >> 2] | 0, c[r + 212 >> 2] | 0) + } + c[H >> 2] = 0; + j = tG(u, H) | 0; + if (!j) p = 0; else { + YO(e, j); + p = c[H >> 2] & 1 + } + q = u + 16 | 0; + j = d[(c[q >> 2] | 0) + 112 >> 0] | 0; + do if (!(j & 1)) { + if (j & 2 | 0) { + j = OL(u, 0, 103230) | 0; + k = OL(u, 0, 103238) | 0; + O = 29; + break + } + if (j & 8 | 0) { + j = OL(u, 0, 103246) | 0; + k = OL(u, 0, 103254) | 0; + O = 29; + break + } + if (j & 4 | 0) { + j = OL(u, 0, 103262) | 0; + k = OL(u, 0, 103270) | 0; + O = 29; + break + } + j = xx(u, 137741) | 0; + if (!j) k = 0; else k = (a[j >> 0] | 0) == 0 ? 0 : j; + j = xx(u, 134647) | 0; + if (!j) j = k; else j = (a[j >> 0] | 0) == 0 ? k : j; + m = xx(u, 98392) | 0; + if (m) k = (a[m >> 0] | 0) == 0 ? k : m; + if (!((p | 0) != 0 & (k | 0) != 0)) { + m = xx(u, 137895) | 0; + if (m | 0 ? a[m >> 0] | 0 : 0) { + k = m; + O = 29; + break + } + j = (j | 0) == 0 ? 134232 : j; + n = (k | 0) == 0 ? 131718 : k; + c[J >> 2] = 0; + if (!p) k = 0; else O = 31 + } else O = 29 + } else { + j = OL(u, 0, 103214) | 0; + k = OL(u, 0, 103222) | 0; + O = 29 + } while (0); + if ((O | 0) == 29) { + c[J >> 2] = 0; + j = (j | 0) == 0 ? 134232 : j; + n = (k | 0) == 0 ? 131718 : k; + O = 31 + } + if ((O | 0) == 31) { + O = 0; + if (!((uG(n, J, w) | 0) << 24 >> 24)) { + WO(e, n); + k = 1 + } else { + WO(e, c[J >> 2] | 0); + k = c[G >> 2] | 0; + m = KL(u, c[46373] | 0, 0, 0) | 0; + o = +g[w >> 2]; + if (!k) XO(e, 134232, m, o); else XO(e, k, m, o); + k = (c[H >> 2] | 0) >>> 1 & 1 | 2 + } + } + m = c[46372] | 0; + if ((m | 0 ? (z = yx(u, m) | 0, z | 0) : 0) ? a[z >> 0] | 0 : 0) fP(e, +LL(u, c[46372] | 0, 1.0, 0.0)); + p = c[H >> 2] | 0; + do if (p & 4) { + m = KL(u, c[46371] | 0, 1, 0) | 0; + if (m | k | 0) { + n = c[q >> 2] | 0; + Q = n + 16 | 0; + c[I >> 2] = c[Q >> 2]; + c[I + 4 >> 2] = c[Q + 4 >> 2]; + c[I + 8 >> 2] = c[Q + 8 >> 2]; + c[I + 12 >> 2] = c[Q + 12 >> 2]; + n = n + 32 | 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]; + h[y >> 3] = +h[x >> 3]; + h[B >> 3] = +h[A >> 3]; + h[C >> 3] = +h[I >> 3]; + h[E >> 3] = +h[D >> 3]; + if (!m) UO(e, 134297); else UO(e, j); + EJ(e, I, 4, p, k) + } + } else { + if (!(p & 64)) { + if (KL(u, c[46371] | 0, 1, 0) | 0) { + UO(e, j); + Q = (c[q >> 2] | 0) + 16 | 0; + 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[w + 16 >> 2] = c[Q + 16 >> 2]; + c[w + 20 >> 2] = c[Q + 20 >> 2]; + c[w + 24 >> 2] = c[Q + 24 >> 2]; + c[w + 28 >> 2] = c[Q + 28 >> 2]; + $O(e, w, k); + break + } + if (!k) break; + UO(e, 134297); + Q = (c[q >> 2] | 0) + 16 | 0; + 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[w + 16 >> 2] = c[Q + 16 >> 2]; + c[w + 20 >> 2] = c[Q + 20 >> 2]; + c[w + 24 >> 2] = c[Q + 24 >> 2]; + c[w + 28 >> 2] = c[Q + 28 >> 2]; + $O(e, w, k); + break + } + Q = c[q >> 2] | 0; + p = Q + 16 | 0; + c[I >> 2] = c[p >> 2]; + c[I + 4 >> 2] = c[p + 4 >> 2]; + c[I + 8 >> 2] = c[p + 8 >> 2]; + c[I + 12 >> 2] = c[p + 12 >> 2]; + Q = Q + 32 | 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]; + h[y >> 3] = +h[x >> 3]; + h[B >> 3] = +h[A >> 3]; + h[C >> 3] = +h[I >> 3]; + h[E >> 3] = +h[D >> 3]; + if (!(KL(u, c[46371] | 0, 1, 0) | 0)) UO(e, 134297); else UO(e, j); + if ((WE(e, I, n, 0) | 0) > 1) { + c[N >> 2] = ry(u) | 0; + Pw(3, 97374, N) | 0 + } + Q = (c[q >> 2] | 0) + 16 | 0; + 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[w + 16 >> 2] = c[Q + 16 >> 2]; + c[w + 20 >> 2] = c[Q + 20 >> 2]; + c[w + 24 >> 2] = c[Q + 24 >> 2]; + c[w + 28 >> 2] = c[Q + 28 >> 2]; + $O(e, w, 0) + } while (0); + D_(c[J >> 2] | 0); + j = c[(c[q >> 2] | 0) + 12 >> 2] | 0; + if (j | 0) oH(e, 5, j); + if (t) { + if (L) { + Q = (c[q >> 2] | 0) + 16 | 0; + 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[w + 16 >> 2] = c[Q + 16 >> 2]; + c[w + 20 >> 2] = c[Q + 20 >> 2]; + c[w + 24 >> 2] = c[Q + 24 >> 2]; + c[w + 28 >> 2] = c[Q + 28 >> 2]; + XE(e, w); + PO(e, c[s >> 2] | 0, c[r + 228 >> 2] | 0, c[r + 244 >> 2] | 0, c[r + 212 >> 2] | 0) + } + QO(e) + } + a:do if (!F) { + k = Sy(u) | 0; + while (1) { + if (!k) break a; + uF(e, k); + j = Ex(u, k) | 0; + while (1) { + if (!j) break; + vF(e, j); + j = Gx(u, j) | 0 + } + k = Ty(u, k) | 0 + } + } while (0); + vG(e, f); + if (!L) tF(e, u, i) + } + v = v + 1 | 0 + } + l = P; + return + } + + function uF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = l; + l = l + 32 | 0; + e = j; + h = c[b >> 2] | 0; + i = d + 16 | 0; + a:do if (((c[(c[i >> 2] | 0) + 8 >> 2] | 0 ? (jG(b, ez(d) | 0, d) | 0) << 24 >> 24 : 0) ? (k = b + 256 | 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[e + 16 >> 2] = c[k + 16 >> 2], c[e + 20 >> 2] = c[k + 20 >> 2], c[e + 24 >> 2] = c[k + 24 >> 2], c[e + 28 >> 2] = c[k + 28 >> 2], (kG(d, e) | 0) << 24 >> 24) : 0) ? (f = (c[i >> 2] | 0) + 116 | 0, g = c[h + 28 >> 2] | 0, (g | 0) != (a[f >> 0] | 0)) : 0) { + a[f >> 0] = g; + cP(b, ry(d) | 0); + e = NL(d, c[46399] | 0, 191979) | 0; + if (a[e >> 0] | 0) cP(b, e); + e = NL(d, c[46387] | 0, 191979) | 0; + b:do if (a[e >> 0] | 0) { + AF(e) | 0; + e = 185144; + while (1) { + f = e; + e = e + 4 | 0; + f = c[f >> 2] | 0; + if (!f) break b; + if ((a[f >> 0] | 0) != 105) continue; + if (!(b$(f, 131253) | 0)) break a + } + } while (0); + lG(b, d); + ub[c[(c[(c[(c[i >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) + 20 >> 2] & 63](b, d); + e = c[(c[i >> 2] | 0) + 108 >> 2] | 0; + if (e | 0 ? a[e + 81 >> 0] | 0 : 0) oH(b, 10, e); + mG(b) + } while (0); + l = j; + return + } + + function vF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 32 | 0; + g = h; + e = b + 256 | 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]; + a:do if ((yF(d, g) | 0) << 24 >> 24 ? (f = d + -48 | 0, (zF(b, d) | 0) << 24 >> 24) : 0) { + i = d + 48 | 0; + e = W_(ry(c[((c[d >> 2] & 3 | 0) == 3 ? d : i) + 40 >> 2] | 0) | 0) | 0; + e = C_(e + 3 + (W_(ry(c[((c[d >> 2] & 3 | 0) == 2 ? d : f) + 40 >> 2] | 0) | 0) | 0) | 0) | 0; + b0(e, ry(c[((c[d >> 2] & 3 | 0) == 3 ? d : i) + 40 >> 2] | 0) | 0) | 0; + i = (ey(ez(c[((c[d >> 2] & 3 | 0) == 2 ? d : f) + 40 >> 2] | 0) | 0) | 0) == 0; + g = e + (W_(e) | 0) | 0; + if (i) { + a[g >> 0] = a[138665] | 0; + a[g + 1 >> 0] = a[138666] | 0; + a[g + 2 >> 0] = a[138667] | 0 + } else { + a[g >> 0] = a[134656] | 0; + a[g + 1 >> 0] = a[134657] | 0; + a[g + 2 >> 0] = a[134658] | 0 + } + p1(e, ry(c[((c[d >> 2] & 3 | 0) == 2 ? d : f) + 40 >> 2] | 0) | 0) | 0; + cP(b, e); + D_(e); + e = NL(d, c[46421] | 0, 191979) | 0; + if (a[e >> 0] | 0) cP(b, e); + e = NL(d, c[46415] | 0, 191979) | 0; + b:do if (!(a[e >> 0] | 0)) e = 0; else { + AF(e) | 0; + e = 185144; + while (1) { + f = e; + e = e + 4 | 0; + f = c[f >> 2] | 0; + if (!f) { + e = 185144; + break b + } + if ((a[f >> 0] | 0) != 105) continue; + if (!(b$(f, 131253) | 0)) break a + } + } while (0); + BF(b, d, e); + CF(b, d, e); + DF(b) + } while (0); + l = h; + return + } + + function wF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 16 | 0; + a = 1; + while (1) { + e = c[d >> 2] | 0; + if ((a | 0) > (c[e + 180 >> 2] | 0)) { + a = 1; + break + } + if (!(oz(c[(c[e + 184 >> 2] | 0) + (a << 2) >> 2] | 0, b) | 0)) a = a + 1 | 0; else { + a = 0; + break + } + } + return a | 0 + } + + function xF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 16 | 0; + a = 1; + while (1) { + e = c[d >> 2] | 0; + if ((a | 0) > (c[e + 180 >> 2] | 0)) { + a = 1; + break + } + if (!(oz(c[(c[e + 184 >> 2] | 0) + (a << 2) >> 2] | 0, b) | 0)) a = a + 1 | 0; else { + a = 0; + break + } + } + return a | 0 + } + + function yF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 64 | 0; + i = j + 32 | 0; + f = j; + g = b + 16 | 0; + b = c[g >> 2] | 0; + e = c[b + 8 >> 2] | 0; + if ((e | 0) != 0 ? (e = e + 8 | 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[i >> 2] = c[d >> 2], c[i + 4 >> 2] = c[d + 4 >> 2], c[i + 8 >> 2] = c[d + 8 >> 2], c[i + 12 >> 2] = c[d + 12 >> 2], c[i + 16 >> 2] = c[d + 16 >> 2], c[i + 20 >> 2] = c[d + 20 >> 2], c[i + 24 >> 2] = c[d + 24 >> 2], c[i + 28 >> 2] = c[d + 28 >> 2], (iG(f, i) | 0) != 0) : 0) b = 1; else h = 3; + do if ((h | 0) == 3) { + e = c[b + 96 >> 2] | 0; + if (e) { + c[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = c[d + 4 >> 2]; + c[i + 8 >> 2] = c[d + 8 >> 2]; + c[i + 12 >> 2] = c[d + 12 >> 2]; + c[i + 16 >> 2] = c[d + 16 >> 2]; + c[i + 20 >> 2] = c[d + 20 >> 2]; + c[i + 24 >> 2] = c[d + 24 >> 2]; + c[i + 28 >> 2] = c[d + 28 >> 2]; + if ((VM(e, i) | 0) << 24 >> 24) { + b = 1; + break + } + b = c[g >> 2] | 0 + } + b = c[b + 108 >> 2] | 0; + if ((b | 0 ? a[b + 81 >> 0] | 0 : 0) ? (c[i >> 2] = c[d >> 2], c[i + 4 >> 2] = c[d + 4 >> 2], c[i + 8 >> 2] = c[d + 8 >> 2], c[i + 12 >> 2] = c[d + 12 >> 2], c[i + 16 >> 2] = c[d + 16 >> 2], c[i + 20 >> 2] = c[d + 20 >> 2], c[i + 24 >> 2] = c[d + 24 >> 2], c[i + 28 >> 2] = c[d + 28 >> 2], (VM(b, i) | 0) << 24 >> 24) : 0) { + b = 1; + break + } + b = 0 + } while (0); + l = j; + return b | 0 + } + + function zF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + a:do if ((c[b + 156 >> 2] | 0) >= 2 ? (e = NL(d, c[46420] | 0, 191979) | 0, (eG(b, e) | 0) << 24 >> 24 == 0) : 0) if (!(a[e >> 0] | 0)) { + e = 0; + while (1) { + if ((e | 0) >= 2) { + e = 0; + break a + } + f = (e | 0) == 1; + f = NL(c[((c[d >> 2] & 3 | 0) == ((f ? 2 : 3) | 0) ? d : d + ((f ? -1 : 1) * 48 | 0) | 0) + 40 >> 2] | 0, c[46397] | 0, 191979) | 0; + if (!(a[f >> 0] | 0)) { + e = 1; + break a + } + if (!((eG(b, f) | 0) << 24 >> 24)) e = e + 1 | 0; else { + e = 1; + break + } + } + } else e = 0; else e = 1; while (0); + return e | 0 + } + + function AF(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 192 | 0; + o = p + 24 | 0; + n = p + 16 | 0; + m = p + 8 | 0; + k = p; + g = p + 48 | 0; + j = p + 32 | 0; + if (a[97256] | 0) { + Tw(185408, 128, 191746); + a[97256] = 0 + } + Tw(j, 128, p + 56 | 0); + c[g >> 2] = b; + h = j + 4 | 0; + i = j + 8 | 0; + d = 0; + e = 0; + a:while (1) { + f = d; + b:while (1) switch (cG(g, j) | 0) { + case 0: { + d = 21; + break a + } + case 40: + if (!(f << 24 >> 24)) { + f = 1; + continue b + } else { + d = 7; + break a + } + case 41: + if (!(f << 24 >> 24)) { + d = 9; + break a + } else { + f = 0; + continue b + } + default: + break b + } + if (!(f << 24 >> 24)) { + if ((e | 0) == 63) { + d = 12; + break + } + d = c[46353] | 0; + if (d >>> 0 >= (c[46354] | 0) >>> 0) { + Uw(185408, 1) | 0; + d = c[46353] | 0 + } + c[46353] = d + 1; + a[d >> 0] = 0; + c[185144 + (e << 2) >> 2] = c[46353]; + e = e + 1 | 0 + } + d = c[h >> 2] | 0; + if (d >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(j, 1) | 0; + d = c[h >> 2] | 0 + } + a[d >> 0] = 0; + d = c[j >> 2] | 0; + c[h >> 2] = d; + Ww(185408, d) | 0; + d = c[46353] | 0; + if (d >>> 0 >= (c[46354] | 0) >>> 0) { + Uw(185408, 1) | 0; + d = c[46353] | 0 + } + c[46353] = d + 1; + a[d >> 0] = 0; + d = f + } + do if ((d | 0) == 7) { + c[k >> 2] = b; + Pw(1, 97257, k) | 0; + c[46286] = 0; + Xw(j) + } else if ((d | 0) == 9) { + c[m >> 2] = b; + Pw(1, 97291, m) | 0; + c[46286] = 0; + Xw(j) + } else if ((d | 0) == 12) { + c[n >> 2] = b; + Pw(0, 97319, n) | 0; + c[46349] = 0; + Xw(j) + } else if ((d | 0) == 21) { + if (f << 24 >> 24) { + c[o >> 2] = b; + Pw(1, 97342, o) | 0; + c[46286] = 0; + Xw(j); + break + } + c[185144 + (e << 2) >> 2] = 0; + Xw(j); + d = c[46353] | 0; + if (d >>> 0 >= (c[46354] | 0) >>> 0) { + Uw(185408, 1) | 0; + d = c[46353] | 0 + } + a[d >> 0] = 0; + c[46353] = c[46352] + } while (0); + l = p; + return 185144 + } + + function BF(d, f, g) { + d = d | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0; + A = l; + l = l + 160 | 0; + y = A + 24 | 0; + w = A + 20 | 0; + v = A + 16 | 0; + o = A; + p = A + 32 | 0; + x = c[d + 152 >> 2] | 0; + c[y >> 2] = 0; + c[w >> 2] = 0; + c[v >> 2] = 0; + z = NE(d) | 0; + c[z + 4 >> 2] = 3; + c[z + 8 >> 2] = f; + c[z + 12 >> 2] = 9; + t = f + 16 | 0; + n = c[(c[t >> 2] | 0) + 96 >> 2] | 0; + if ((n | 0 ? (a[n + 82 >> 0] | 0) == 0 : 0) ? (RL(xx(f, 97079) | 0, 0) | 0) << 24 >> 24 : 0) { + n = z + 260 | 0; + b[n >> 1] = b[n >> 1] | 512 + } + if (g | 0 ? c[(c[t >> 2] | 0) + 8 >> 2] | 0 : 0) YO(d, g); + g = c[46436] | 0; + if ((g | 0 ? (i = yx(f, g) | 0, i | 0) : 0) ? a[i >> 0] | 0 : 0) fP(d, +LL(f, c[46436] | 0, 1.0, 0.0)); + do if (x & 16777216 | 0) { + g = f + 48 | 0; + if ((e[(c[(ez(c[((c[f >> 2] & 3 | 0) == 3 ? f : g) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 178 >> 1] | 0) > 2) { + m = +h[(c[(c[(c[((c[f >> 2] & 3 | 0) == 3 ? f : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0) + 16 >> 3] * 72.0; + h[z + 176 >> 3] = +(~~(m + (m >= 0.0 ? .5 : -.5)) | 0); + m = +h[(c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0) + 16 >> 3] * 72.0; + h[z + 184 >> 3] = +(~~(m + (m >= 0.0 ? .5 : -.5)) | 0); + break + } else { + n = z + 176 | 0; + c[n >> 2] = 0; + c[n + 4 >> 2] = 0; + c[n + 8 >> 2] = 0; + c[n + 12 >> 2] = 0; + break + } + } while (0); + if (x & 32768 | 0) { + n = c[t >> 2] | 0; + g = c[n + 96 >> 2] | 0; + if (!g) g = c[z + 192 >> 2] | 0; else { + g = c[g >> 2] | 0; + c[z + 192 >> 2] = g + } + i = z + 196 | 0; + c[i >> 2] = g; + k = z + 204 | 0; + c[k >> 2] = g; + j = z + 200 | 0; + c[j >> 2] = g; + g = c[n + 108 >> 2] | 0; + if (g | 0) c[i >> 2] = c[g >> 2]; + g = c[n + 104 >> 2] | 0; + if (g | 0) c[j >> 2] = c[g >> 2]; + g = c[n + 100 >> 2] | 0; + if (g | 0) c[k >> 2] = c[g >> 2] + } + if (!(x & 65536)) j = 0; else { + Tw(o, 128, p); + c[z + 212 >> 2] = pH(QE(d, f, o) | 0, f) | 0; + Xw(o); + g = xx(f, 137973) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 31; else { + g = xx(f, 108395) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 31; else i = 0 + } + if ((q | 0) == 31) i = pH(g, f) | 0; + g = xx(f, 97092) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 36; else q = 34; + do if ((q | 0) == 34) { + g = xx(f, 97101) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = 36; + break + } + if (i | 0) { + g = n1(i) | 0; + q = 39 + } + } while (0); + if ((q | 0) == 36) { + g = pH(g, f) | 0; + q = 39 + } + if ((q | 0) == 39) c[z + 208 >> 2] = g; + g = xx(f, 97109) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 44; else q = 42; + do if ((q | 0) == 42) { + g = xx(f, 97119) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = 44; + break + } + if (i | 0) { + g = n1(i) | 0; + q = 47 + } + } while (0); + if ((q | 0) == 44) { + g = pH(g, f) | 0; + q = 47 + } + if ((q | 0) == 47) c[z + 216 >> 2] = g; + g = xx(f, 97128) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 52; else q = 50; + do if ((q | 0) == 50) { + g = xx(f, 97137) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = 52; + break + } + if (i | 0) c[z + 220 >> 2] = n1(i) | 0 + } while (0); + if ((q | 0) == 52) { + c[z + 220 >> 2] = pH(g, f) | 0; + q = z + 260 | 0; + b[q >> 1] = b[q >> 1] | 128 + } + g = xx(f, 97145) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 59; else q = 57; + do if ((q | 0) == 57) { + g = xx(f, 97154) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = 59; + break + } + if (i | 0) c[z + 224 >> 2] = n1(i) | 0 + } while (0); + if ((q | 0) == 59) { + c[z + 224 >> 2] = pH(g, f) | 0; + q = z + 260 | 0; + b[q >> 1] = b[q >> 1] | 256 + } + j = i + } + do if (x & 8388608) { + g = xx(f, 138006) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) i = pH(g, f) | 0; else i = 0; + g = xx(f, 97162) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + q = z + 260 | 0; + b[q >> 1] = b[q >> 1] | 64; + g = pH(g, f) | 0; + q = 72 + } else q = 70; + if ((q | 0) == 70 ? i | 0 : 0) { + g = n1(i) | 0; + q = 72 + } + if ((q | 0) == 72) c[z + 244 >> 2] = g; + g = xx(f, 97173) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + g = pH(g, f) | 0; + q = 78 + } else q = 76; + if ((q | 0) == 76 ? i | 0 : 0) { + g = n1(i) | 0; + q = 78 + } + if ((q | 0) == 78) c[z + 248 >> 2] = g; + g = xx(f, 97185) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + c[z + 252 >> 2] = pH(g, f) | 0; + p = z + 260 | 0; + b[p >> 1] = b[p >> 1] | 16 + } else q = 82; + if ((q | 0) == 82 ? i | 0 : 0) c[z + 252 >> 2] = n1(i) | 0; + g = xx(f, 97196) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = z + 260 | 0; + b[q >> 1] = b[q >> 1] | 32; + c[z + 256 >> 2] = pH(g, f) | 0; + break + } + if (i) c[z + 256 >> 2] = n1(i) | 0; else i = 0 + } else i = 0; while (0); + do if (x & 4194304 | 0) { + g = xx(f, 138019) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) q = 94; else q = 92; + do if ((q | 0) == 92) { + g = xx(f, 97207) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + q = 94; + break + } + g = c[z + 192 >> 2] | 0; + if (g | 0) c[z + 228 >> 2] = n1(g) | 0 + } while (0); + if ((q | 0) == 94) { + p = WF(g, f) | 0; + c[z + 228 >> 2] = pH(p, f) | 0; + D_(p); + p = z + 260 | 0; + b[p >> 1] = b[p >> 1] | 1 + } + g = xx(f, 97219) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + p = WF(g, f) | 0; + c[z + 232 >> 2] = pH(p, f) | 0; + D_(p); + p = z + 260 | 0; + b[p >> 1] = b[p >> 1] | 8 + } else q = 100; + if ((q | 0) == 100 ? (r = c[z + 192 >> 2] | 0, r | 0) : 0) c[z + 232 >> 2] = n1(r) | 0; + g = xx(f, 97232) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + r = WF(g, f) | 0; + c[z + 236 >> 2] = pH(r, f) | 0; + D_(r); + r = z + 260 | 0; + b[r >> 1] = b[r >> 1] | 2 + } else q = 105; + if ((q | 0) == 105 ? (s = c[z + 200 >> 2] | 0, s | 0) : 0) c[z + 236 >> 2] = n1(s) | 0; + g = xx(f, 97244) | 0; + if (g | 0 ? a[g >> 0] | 0 : 0) { + s = WF(g, f) | 0; + c[z + 240 >> 2] = pH(s, f) | 0; + D_(s); + s = z + 260 | 0; + b[s >> 1] = b[s >> 1] | 4; + break + } + g = c[z + 204 >> 2] | 0; + if (g | 0) c[z + 240 >> 2] = n1(g) | 0 + } while (0); + D_(j); + D_(i); + do if (x & 4259840 | 0 ? (u = c[(c[t >> 2] | 0) + 8 >> 2] | 0, u | 0) : 0) { + if (!(c[z + 208 >> 2] | 0)) { + if ((x & 524288 | 0) == 0 | (c[z + 228 >> 2] | 0) == 0) break + } else if (!(x & 524288)) break; + m = +h[(c[d + 16 >> 2] | 0) + 152 >> 3] * .5; + m = m > 2.0 ? m : 2.0; + i = c[u + 4 >> 2] | 0; + g = 0; + while (1) { + if ((g | 0) >= (i | 0)) break; + XF(y, w, v, (c[u >> 2] | 0) + (g * 48 | 0) | 0, m); + g = g + 1 | 0 + } + j = c[v >> 2] | 0; + c[z + 276 >> 2] = j; + k = c[w >> 2] | 0; + c[z + 280 >> 2] = k; + if (!(x & 8192)) { + g = 0; + i = 0; + while (1) { + if ((i | 0) >= (j | 0)) break; + g = (c[k + (i << 2) >> 2] | 0) + g | 0; + i = i + 1 | 0 + } + y = c[y >> 2] | 0; + yO(d, y, y, g) | 0; + g = y + } else g = c[y >> 2] | 0; + c[z + 284 >> 2] = g; + c[z + 264 >> 2] = 2; + c[z + 272 >> 2] = g; + c[z + 268 >> 2] = c[k >> 2] + } while (0); + NO(d, f); + g = c[z + 208 >> 2] | 0; + if (!((g | 0) == 0 ? !(b[z + 260 >> 1] & 1) : 0)) PO(d, g, c[z + 228 >> 2] | 0, c[z + 244 >> 2] | 0, c[z + 212 >> 2] | 0); + l = A; + return + } + + function CF(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.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.0, O = 0, P = 0, Q = 0, R = 0, S = 0; + P = l; + l = l + 240 | 0; + L = P + 224 | 0; + K = P + 208 | 0; + x = P + 128 | 0; + w = P + 112 | 0; + O = P + 64 | 0; + C = P + 48 | 0; + D = P + 32 | 0; + E = P + 16 | 0; + F = P; + G = P + 192 | 0; + H = P + 176 | 0; + y = P + 160 | 0; + B = P + 144 | 0; + c[E >> 2] = 0; + c[E + 4 >> 2] = 0; + c[E + 8 >> 2] = 0; + c[E + 12 >> 2] = 0; + M = +h[(c[b + 16 >> 2] | 0) + 152 >> 3]; + qQ(xx(e, 97006) | 0); + J = e + 16 | 0; + a:do if (c[(c[J >> 2] | 0) + 8 >> 2] | 0) { + N = +LL(e, c[46418] | 0, 1.0, 0.0); + k = NL(e, c[46406] | 0, 191979) | 0; + v = (f | 0) != 0; + b:do if (v) { + g = f; + while (1) { + i = g; + g = g + 4 | 0; + i = c[i >> 2] | 0; + if (!i) { + o = 0; + break b + } + if ((a[i >> 0] | 0) != 116) continue; + if (!(b$(i, 108091) | 0)) { + o = 1; + break + } + } + } else o = 0; while (0); + j = k; + q = 0; + i = 0; + c:while (1) { + switch (a[j >> 0] | 0) { + case 0: + break c; + case 58: { + g = q + 1 | 0; + break + } + case 59: { + g = q; + i = i + 1 | 0; + break + } + default: + g = q + } + j = j + 1 | 0; + q = g + } + n = (q | 0) != 0; + if ((i | 0) != 0 & n) if (!(KF(b, e, f, k, q + 1 | 0, N, M) | 0)) break; else m = 134232; else m = k; + g = d[(c[J >> 2] | 0) + 115 >> 0] | 0; + if (!(g & 1)) if (!(g & 2)) if (!(g & 8)) if (!(g & 4)) { + i = m; + j = OL(e, c[46407] | 0, m) | 0 + } else { + j = 103270; + g = 103262; + k = 185632; + i = 185632; + p = 18 + } else { + j = 103254; + g = 103246; + k = 185632; + i = 185632; + p = 18 + } else { + j = 103238; + g = 103230; + k = 185632; + i = 185632; + p = 18 + } else { + j = 103222; + g = 103214; + k = 185632; + i = 185632; + p = 18 + } + if ((p | 0) == 18) { + i = c[i >> 2] | 0; + i = OL(e, i, LF(m, g) | 0) | 0; + g = OL(e, c[k >> 2] | 0, j) | 0; + if ((i | 0) == (m | 0)) { + i = m; + j = g + } else { + UO(b, i); + j = g + } + } + if ((j | 0) != (m | 0)) WO(b, j); + if (o << 24 >> 24) { + i = (a[i >> 0] | 0) == 0 ? 134232 : i; + g = (a[j >> 0] | 0) == 0 ? 134232 : j; + UO(b, 134297); + WO(b, i); + u = O; + r = c[c[(c[J >> 2] | 0) + 8 >> 2] >> 2] | 0; + s = u + 48 | 0; + do { + c[u >> 2] = c[r >> 2]; + u = u + 4 | 0; + r = r + 4 | 0 + } while ((u | 0) < (s | 0)); + J = kL(O, MF(e) | 0, M, 0, 0) | 0; + _O(b, c[J + 8 >> 2] | 0, c[J >> 2] | 0, 1); + NF(J); + UO(b, i); + if ((g | 0) != (i | 0)) WO(b, g); + g = c[O + 8 >> 2] | 0; + if (g | 0) { + I = O + 16 | 0; + J = c[O >> 2] | 0; + c[K >> 2] = c[I >> 2]; + c[K + 4 >> 2] = c[I + 4 >> 2]; + c[K + 8 >> 2] = c[I + 8 >> 2]; + c[K + 12 >> 2] = c[I + 12 >> 2]; + c[L >> 2] = c[J >> 2]; + c[L + 4 >> 2] = c[J + 4 >> 2]; + c[L + 8 >> 2] = c[J + 8 >> 2]; + c[L + 12 >> 2] = c[J + 12 >> 2]; + KE(b, 2, K, L, N, M, g) + } + g = c[O + 12 >> 2] | 0; + if (!g) break; + J = O + 32 | 0; + O = (c[O >> 2] | 0) + ((c[O + 4 >> 2] | 0) + -1 << 4) | 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[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]; + KE(b, 3, K, L, N, M, g); + break + } + g = c[J >> 2] | 0; + if (!n) { + do if (!(a[g + 115 >> 0] & 3)) { + if (a[i >> 0] | 0) { + UO(b, i); + WO(b, j); + break + } + UO(b, 134232); + if (!(a[j >> 0] | 0)) { + WO(b, 134232); + break + } else { + WO(b, j); + break + } + } while (0); + k = b + 152 | 0; + m = O + 4 | 0; + n = O + 8 | 0; + o = O + 12 | 0; + p = O + 32 | 0; + q = O + 16 | 0; + j = 0; + while (1) { + g = c[(c[J >> 2] | 0) + 8 >> 2] | 0; + if ((j | 0) >= (c[g + 4 >> 2] | 0)) break a; + u = O; + r = (c[g >> 2] | 0) + (j * 48 | 0) | 0; + s = u + 48 | 0; + do { + c[u >> 2] = c[r >> 2]; + u = u + 4 | 0; + r = r + 4 | 0 + } while ((u | 0) < (s | 0)); + g = c[O >> 2] | 0; + i = c[m >> 2] | 0; + do if (!(c[k >> 2] & 16384)) { + aP(b, g, i, 0, 0, 0); + g = c[n >> 2] | 0; + if (g | 0) { + I = c[O >> 2] | 0; + 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[I >> 2]; + c[L + 4 >> 2] = c[I + 4 >> 2]; + c[L + 8 >> 2] = c[I + 8 >> 2]; + c[L + 12 >> 2] = c[I + 12 >> 2]; + KE(b, 2, K, L, N, M, g) + } + g = c[o >> 2] | 0; + if (g | 0) { + I = (c[O >> 2] | 0) + ((c[m >> 2] | 0) + -1 << 4) | 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[L >> 2] = c[I >> 2]; + c[L + 4 >> 2] = c[I + 4 >> 2]; + c[L + 8 >> 2] = c[I + 8 >> 2]; + c[L + 12 >> 2] = c[I + 12 >> 2]; + KE(b, 3, K, L, N, M, g) + } + if ((c[(c[(c[J >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) > 1) { + if (!(c[n >> 2] | 0)) { + if (!(v & (c[o >> 2] | 0) != 0)) break + } else if (!v) break; + YO(b, f) + } + } else aP(b, g, i, c[n >> 2] | 0, c[o >> 2] | 0, 0); while (0); + j = j + 1 | 0 + } + } + I = c[(c[g + 8 >> 2] | 0) + 4 >> 2] | 0; + A = I * 48 | 0; + z = C_(A) | 0; + A = C_(A) | 0; + t = +(q + 2 | 0) * .5; + v = O + 4 | 0; + p = C + 8 | 0; + q = D + 8 | 0; + e = E + 8 | 0; + f = F + 8 | 0; + o = 0; + while (1) { + if ((o | 0) >= (I | 0)) break; + u = O; + r = (c[c[(c[J >> 2] | 0) + 8 >> 2] >> 2] | 0) + (o * 48 | 0) | 0; + s = u + 48 | 0; + do { + c[u >> 2] = c[r >> 2]; + u = u + 4 | 0; + r = r + 4 | 0 + } while ((u | 0) < (s | 0)); + g = c[v >> 2] | 0; + c[z + (o * 48 | 0) + 4 >> 2] = g; + c[A + (o * 48 | 0) + 4 >> 2] = g; + n = g << 4; + m = C_(n) | 0; + c[z + (o * 48 | 0) >> 2] = m; + n = C_(n) | 0; + c[A + (o * 48 | 0) >> 2] = n; + k = c[O >> 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]; + k = 0; + while (1) { + if ((k | 0) >= (g + -1 | 0)) break; + c[C >> 2] = c[F >> 2]; + c[C + 4 >> 2] = c[F + 4 >> 2]; + c[C + 8 >> 2] = c[F + 8 >> 2]; + c[C + 12 >> 2] = c[F + 12 >> 2]; + g = k + 1 | 0; + j = (c[O >> 2] | 0) + (g << 4) | 0; + c[D >> 2] = c[j >> 2]; + c[D + 4 >> 2] = c[j + 4 >> 2]; + c[D + 8 >> 2] = c[j + 8 >> 2]; + c[D + 12 >> 2] = c[j + 12 >> 2]; + j = m + (k << 4) | 0; + if (!k) { + c[K >> 2] = c[C >> 2]; + c[K + 4 >> 2] = c[C + 4 >> 2]; + c[K + 8 >> 2] = c[C + 8 >> 2]; + c[K + 12 >> 2] = c[C + 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]; + OF(G, K, L); + c[j >> 2] = c[G >> 2]; + c[j + 4 >> 2] = c[G + 4 >> 2]; + c[j + 8 >> 2] = c[G + 8 >> 2]; + c[j + 12 >> 2] = c[G + 12 >> 2] + } else { + 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]; + OF(H, K, L); + c[j >> 2] = c[H >> 2]; + c[j + 4 >> 2] = c[H + 4 >> 2]; + c[j + 8 >> 2] = c[H + 8 >> 2]; + c[j + 12 >> 2] = c[H + 12 >> 2] + } + R = c[O >> 2] | 0; + s = k + 2 | 0; + S = R + (s << 4) | 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]; + u = k + 3 | 0; + R = R + (u << 4) | 0; + 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]; + Q = m + (g << 4) | 0; + r = m + (s << 4) | 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[x >> 2] = c[D >> 2]; + c[x + 4 >> 2] = c[D + 4 >> 2]; + c[x + 8 >> 2] = c[D + 8 >> 2]; + c[x + 12 >> 2] = c[D + 12 >> 2]; + c[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[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]; + PF(y, w, x, K, L); + c[r >> 2] = c[y >> 2]; + c[r + 4 >> 2] = c[y + 4 >> 2]; + c[r + 8 >> 2] = c[y + 8 >> 2]; + c[r + 12 >> 2] = c[y + 12 >> 2]; + 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]; + h[n + (k << 4) >> 3] = +h[C >> 3] - +h[j >> 3] * t; + h[n + (k << 4) + 8 >> 3] = +h[p >> 3] - +h[m + (k << 4) + 8 >> 3] * t; + h[n + (g << 4) >> 3] = +h[D >> 3] - +h[Q >> 3] * t; + h[n + (g << 4) + 8 >> 3] = +h[q >> 3] - +h[m + (g << 4) + 8 >> 3] * t; + h[n + (s << 4) >> 3] = +h[E >> 3] - +h[r >> 3] * t; + h[n + (s << 4) + 8 >> 3] = +h[e >> 3] - +h[m + (s << 4) + 8 >> 3] * t; + k = u; + g = c[v >> 2] | 0 + } + S = m + (k << 4) | 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[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]; + OF(B, K, L); + 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]; + h[n + (k << 4) >> 3] = +h[F >> 3] - +h[S >> 3] * t; + h[n + (k << 4) + 8 >> 3] = +h[f >> 3] - +h[m + (k << 4) + 8 >> 3] * t; + o = o + 1 | 0 + } + s = n1(i) | 0; + f = 0; + r = i; + g = i; + j = i; + i = s; + while (1) { + i = k1(i, 104958) | 0; + if (!i) break; + e = (a[i >> 0] | 0) == 0 ? 134232 : i; + if ((e | 0) != (j | 0)) if (!(a[(c[J >> 2] | 0) + 115 >> 0] & 3)) { + UO(b, e); + WO(b, e); + j = e + } else j = e; + m = (f | 0) == 0; + n = f >>> 0 < 2; + i = 0; + while (1) { + if ((i | 0) >= (I | 0)) break; + o = c[A + (i * 48 | 0) >> 2] | 0; + p = c[z + (i * 48 | 0) >> 2] | 0; + q = c[A + (i * 48 | 0) + 4 >> 2] | 0; + k = 0; + while (1) { + if ((k | 0) >= (q | 0)) break; + S = o + (k << 4) | 0; + h[S >> 3] = +h[S >> 3] + +h[p + (k << 4) >> 3]; + S = o + (k << 4) + 8 | 0; + h[S >> 3] = +h[S >> 3] + +h[p + (k << 4) + 8 >> 3]; + k = k + 1 | 0 + } + aP(b, o, q, 0, 0, 0); + i = i + 1 | 0 + } + f = f + 1 | 0; + r = m ? e : r; + g = n ? e : g; + i = 0 + } + i = c[O + 8 >> 2] | 0; + if (!i) i = 0; else { + if (g) { + if (!(a[(c[J >> 2] | 0) + 115 >> 0] & 3)) { + UO(b, g); + WO(b, g) + } + } else g = 0; + R = O + 16 | 0; + S = c[O >> 2] | 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]; + 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]; + KE(b, 2, K, L, N, M, i); + i = g + } + j = O + 12 | 0; + g = c[j >> 2] | 0; + if (g | 0) { + if ((i | 0) != (r | 0) ? (a[(c[J >> 2] | 0) + 115 >> 0] & 3) == 0 : 0) { + UO(b, r); + WO(b, r); + g = c[j >> 2] | 0 + } + R = O + 32 | 0; + S = (c[O >> 2] | 0) + ((c[v >> 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]; + 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]; + KE(b, 3, K, L, N, M, g) + } + D_(s); + g = 0; + while (1) { + if ((g | 0) >= (I | 0)) break; + D_(c[z + (g * 48 | 0) >> 2] | 0); + D_(c[A + (g * 48 | 0) >> 2] | 0); + g = g + 1 | 0 + } + D_(z); + D_(A) + } while (0); + l = P; + return + } + + function DF(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0; + x = l; + l = l + 64 | 0; + r = x + 48 | 0; + u = x + 32 | 0; + t = x + 16 | 0; + s = x; + w = c[a + 16 >> 2] | 0; + v = c[w + 8 >> 2] | 0; + q = w + 208 | 0; + if (!((c[q >> 2] | 0) == 0 ? !(b[w + 260 >> 1] & 1) : 0)) d = 3; + a:do if ((d | 0) == 3 ? (QO(a), p = w + 276 | 0, e = c[p >> 2] | 0, e | 0) : 0) { + h = w + 280 | 0; + d = c[h >> 2] | 0; + i = w + 268 | 0; + j = w + 284 | 0; + k = w + 272 | 0; + m = w + 228 | 0; + n = w + 244 | 0; + o = w + 212 | 0; + f = c[d >> 2] | 0; + g = 1; + while (1) { + if ((g | 0) >= (e | 0)) break a; + c[i >> 2] = c[d + (g << 2) >> 2]; + c[k >> 2] = (c[j >> 2] | 0) + (f << 4); + PO(a, c[q >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0, c[o >> 2] | 0); + QO(a); + y = c[h >> 2] | 0; + f = (c[y + (g << 2) >> 2] | 0) + f | 0; + g = g + 1 | 0; + e = c[p >> 2] | 0; + d = y + } + } while (0); + c[w + 268 >> 2] = 0; + c[w + 272 >> 2] = 0; + q = v + 16 | 0; + d = c[q >> 2] | 0; + e = c[d + 8 >> 2] | 0; + if (!e) f = w + 260 | 0; else { + p = c[e >> 2] | 0; + d = c[p >> 2] | 0; + y = c[p + 8 >> 2] | 0; + o = p + 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]; + p = p + 32 | 0; + 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]; + if (!y) { + 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] + } else { + 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] + } + f = w + 260 | 0; + p = b[f >> 1] | 0; + o = c[w + 220 >> 2] | 0; + c[r >> 2] = c[u >> 2]; + c[r + 4 >> 2] = c[u + 4 >> 2]; + c[r + 8 >> 2] = c[u + 8 >> 2]; + c[r + 12 >> 2] = c[u + 12 >> 2]; + EF(a, r, (p << 8 & 65535) << 16 >> 16 >> 15 & 255, o, (p << 14 & 65535) << 16 >> 16 >> 15 & 255); + p = c[(c[q >> 2] | 0) + 8 >> 2] | 0; + o = c[p >> 2] | 0; + p = (c[p + 4 >> 2] | 0) + -1 | 0; + d = c[o + (p * 48 | 0) >> 2] | 0; + e = c[o + (p * 48 | 0) + 4 >> 2] | 0; + y = c[o + (p * 48 | 0) + 12 >> 2] | 0; + n = o + (p * 48 | 0) + 16 | 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]; + t = o + (p * 48 | 0) + 32 | 0; + 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]; + if (!y) { + y = d + (e + -1 << 4) | 0; + c[u >> 2] = c[y >> 2]; + c[u + 4 >> 2] = c[y + 4 >> 2]; + c[u + 8 >> 2] = c[y + 8 >> 2]; + c[u + 12 >> 2] = c[y + 12 >> 2] + } else { + 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] + } + d = b[f >> 1] | 0; + y = c[w + 224 >> 2] | 0; + c[r >> 2] = c[u >> 2]; + c[r + 4 >> 2] = c[u + 4 >> 2]; + c[r + 8 >> 2] = c[u + 8 >> 2]; + c[r + 12 >> 2] = c[u + 12 >> 2]; + EF(a, r, (d << 7 & 65535) << 16 >> 16 >> 15 & 255, y, (d << 13 & 65535) << 16 >> 16 >> 15 & 255); + d = c[q >> 2] | 0 + } + e = c[d + 96 >> 2] | 0; + g = (b[f >> 1] << 12 & 65535) << 16 >> 16 >> 15 << 16 >> 16; + m = w + 216 | 0; + h = c[m >> 2] | 0; + n = w + 232 | 0; + i = c[n >> 2] | 0; + o = w + 248 | 0; + j = c[o >> 2] | 0; + p = w + 212 | 0; + k = c[p >> 2] | 0; + if (!((QL(NL(v, c[46416] | 0, 134226) | 0) | 0) << 24 >> 24)) d = 0; else d = c[(c[q >> 2] | 0) + 8 >> 2] | 0; + FF(a, e, 11, g, h, i, j, k, d); + j = c[(c[q >> 2] | 0) + 108 >> 2] | 0; + k = (b[f >> 1] << 12 & 65535) << 16 >> 16 >> 15 << 16 >> 16; + i = c[m >> 2] | 0; + h = c[n >> 2] | 0; + e = c[o >> 2] | 0; + g = c[p >> 2] | 0; + if (!((QL(NL(v, c[46416] | 0, 134226) | 0) | 0) << 24 >> 24)) d = 0; else d = c[(c[q >> 2] | 0) + 8 >> 2] | 0; + FF(a, j, 11, k, i, h, e, g, d); + FF(a, c[(c[q >> 2] | 0) + 100 >> 2] | 0, 7, (b[f >> 1] << 13 & 65535) << 16 >> 16 >> 15 << 16 >> 16, c[w + 224 >> 2] | 0, c[w + 240 >> 2] | 0, c[w + 256 >> 2] | 0, c[p >> 2] | 0, 0); + FF(a, c[(c[q >> 2] | 0) + 104 >> 2] | 0, 6, (b[f >> 1] << 14 & 65535) << 16 >> 16 >> 15 << 16 >> 16, c[w + 220 >> 2] | 0, c[w + 236 >> 2] | 0, c[w + 252 >> 2] | 0, c[p >> 2] | 0, 0); + OO(a); + OE(a); + l = x; + return + } + + function EF(a, d, e, f, g) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + h = j; + i = c[a + 16 >> 2] | 0; + if (!(e << 24 >> 24)) f = c[i + 208 >> 2] | 0; + if (!(g << 24 >> 24 == 0 ? ((f | 0) == 0 ? (b[i + 260 >> 1] & 1) == 0 : 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]; + JF(a, h) + } + l = j; + return + } + + function FF(b, d, e, f, g, h, i, j, k) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 16 | 0; + o = r; + q = c[b + 152 >> 2] | 0; + if (d | 0 ? a[d + 81 >> 0] | 0 : 0) { + if (!j) n = 0; else { + n = uH((W_(j) | 0) + 11 | 0) | 0; + switch (e | 0) { + case 11: { + m = 105198; + break + } + case 7: { + m = 98557; + break + } + case 6: { + m = 98567; + break + } + default: + qa(135312, 96880, 2730, 97018) + } + c[o >> 2] = j; + c[o + 4 >> 2] = m; + Y0(n, 97034, o) | 0 + } + o = b + 16 | 0; + j = (c[o >> 2] | 0) + 12 | 0; + p = c[j >> 2] | 0; + c[j >> 2] = e; + j = (f | 0) != 0 | (g | 0) != 0; + m = (q & 4 | 0) == 0; + if (j & m) { + GF(b, d); + PO(b, g, h, i, n) + } + oH(b, e, d); + if (k | 0) HF(b, d, k); + if (j) { + if (!m) { + GF(b, d); + PO(b, g, h, i, n) + } + QO(b) + } + D_(n); + c[(c[o >> 2] | 0) + 12 >> 2] = p + } + l = r; + return + } + + function GF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + d = c[a + 16 >> 2] | 0; + e = c[a + 152 >> 2] | 0; + if (e & 4259840 | 0) { + f = e & 131072; + i = f >>> 16 ^ 2; + c[d + 264 >> 2] = i; + j = d + 268 | 0; + c[j >> 2] = i + 2; + i = d + 272 | 0; + D_(c[i >> 2] | 0); + d = uH(c[j >> 2] << 4) | 0; + c[i >> 2] = d; + i = b + 56 | 0; + j = b + 24 | 0; + h[d >> 3] = +h[i >> 3] - +h[j >> 3] * .5; + g = b + 64 | 0; + b = b + 32 | 0; + h[d + 8 >> 3] = +h[g >> 3] - +h[b >> 3] * .5; + h[d + 16 >> 3] = +h[j >> 3] * .5 + +h[i >> 3]; + h[d + 24 >> 3] = +h[b >> 3] * .5 + +h[g >> 3]; + if (!(e & 8192)) yO(a, d, d, 2) | 0; + if (!f) WG(d) + } + return + } + + function HF(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + o = l; + l = l + 96 | 0; + g = o + 80 | 0; + i = o + 32 | 0; + j = o + 16 | 0; + k = o; + f = c[d >> 2] | 0; + while (1) { + m = a[f >> 0] | 0; + if (!(m << 24 >> 24)) break; + if (!(B$(m & 255) | 0)) { + n = 4; + break + } else f = f + 1 | 0 + } + if ((n | 0) == 4) { + p = +h[d + 24 >> 3]; + m = d + 56 | 0; + IF(i, +h[m >> 3] + p * .5, +h[d + 64 >> 3] - +h[d + 32 >> 3] * .5); + n = i + 16 | 0; + IF(j, +h[i >> 3] - p, +h[i + 8 >> 3]); + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 12 >> 2]; + n = i + 32 | 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]; + bM(k, e, g); + c[n >> 2] = c[k >> 2]; + c[n + 4 >> 2] = c[k + 4 >> 2]; + c[n + 8 >> 2] = c[k + 8 >> 2]; + c[n + 12 >> 2] = c[k + 12 >> 2]; + YO(b, c[(c[b >> 2] | 0) + 336 >> 2] | 0); + UO(b, c[d + 8 >> 2] | 0); + bP(b, i, 3) + } + l = o; + return + } + + function IF(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function JF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0; + d = c[a + 16 >> 2] | 0; + e = c[a + 152 >> 2] | 0; + if (e & 4259840 | 0) { + f = e & 131072; + j = f >>> 16 ^ 2; + c[d + 264 >> 2] = j; + k = d + 268 | 0; + c[k >> 2] = j + 2; + j = d + 272 | 0; + D_(c[j >> 2] | 0); + d = uH(c[k >> 2] << 4) | 0; + c[j >> 2] = d; + i = +h[b >> 3]; + h[d >> 3] = i + -3.0; + g = +h[b + 8 >> 3]; + h[d + 8 >> 3] = g + -3.0; + h[d + 16 >> 3] = i + 3.0; + h[d + 24 >> 3] = g + 3.0; + if (!(e & 8192)) yO(a, d, d, 2) | 0; + if (!f) WG(d) + } + return + } + + function KF(a, b, d, e, f, h, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + h = +h; + i = +i; + var j = 0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0; + J = l; + l = l + 256 | 0; + D = J + 224 | 0; + C = J + 208 | 0; + j = J + 192 | 0; + F = J + 144 | 0; + G = J + 96 | 0; + H = J + 48 | 0; + E = J; + k = J + 240 | 0; + e = TE(e, f, k) | 0; + if ((e | 0) > 1) { + z = b + 48 | 0; + A = ez(c[((c[b >> 2] & 3 | 0) == 3 ? b : z) + 40 >> 2] | 0) | 0; + z = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : z) + 40 >> 2] | 0) | 0; + A = (ey(A) | 0) != 0; + B = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + c[j >> 2] = z; + c[j + 4 >> 2] = A ? 97053 : 97058; + c[j + 8 >> 2] = B; + Pw(3, 97063, j) | 0; + if ((e | 0) == 2) e = 1; else I = 4 + } else if ((e | 0) == 1) e = 1; else I = 4; + if ((I | 0) == 4) { + B = b + 16 | 0; + r = c[k >> 2] | 0; + s = r + 8 | 0; + t = H + 4 | 0; + u = F + 8 | 0; + v = F + 12 | 0; + w = (d | 0) != 0; + q = (d | 0) == 0; + x = F + 32 | 0; + y = F + 4 | 0; + z = F + 16 | 0; + A = E + 4 | 0; + e = 0; + p = 0; + while (1) { + f = c[(c[B >> 2] | 0) + 8 >> 2] | 0; + if ((p | 0) >= (c[f + 4 >> 2] | 0)) break; + j = F; + f = (c[f >> 2] | 0) + (p * 48 | 0) | 0; + b = j + 48 | 0; + do { + c[j >> 2] = c[f >> 2]; + j = j + 4 | 0; + f = f + 4 | 0 + } while ((j | 0) < (b | 0)); + b = 1; + m = 1.0; + o = c[s >> 2] | 0; + a:while (1) { + f = c[o >> 2] | 0; + if (!f) break; + k = o + 4 | 0; + n = +g[k >> 2]; + do if (n < 1.0e-05 & n > -1.0e-05) f = b; else { + UO(a, f); + n = +g[k >> 2]; + m = m - n; + e = c[o >> 2] | 0; + if (b | 0) { + UF(F, n, H, E); + k = c[H >> 2] | 0; + aP(a, k, c[t >> 2] | 0, 0, 0, 0); + D_(k); + if (m < 1.0e-05 & m > -1.0e-05) { + I = 11; + break a + } else { + f = 0; + break + } + } + if (m < 1.0e-05 & m > -1.0e-05) { + I = 13; + break a + } + j = G; + f = E; + b = j + 48 | 0; + do { + c[j >> 2] = c[f >> 2]; + j = j + 4 | 0; + f = f + 4 | 0 + } while ((j | 0) < (b | 0)); + n = +g[k >> 2]; + UF(G, n / (m + n), H, E); + D_(c[G >> 2] | 0); + f = c[H >> 2] | 0; + aP(a, f, c[t >> 2] | 0, 0, 0, 0); + D_(f); + f = 0 + } while (0); + b = f; + o = o + 12 | 0 + } + if ((I | 0) == 11) { + I = 0; + D_(c[E >> 2] | 0) + } else if ((I | 0) == 13) { + I = 0; + o = c[E >> 2] | 0; + aP(a, o, c[A >> 2] | 0, 0, 0, 0); + D_(o) + } + if (c[u >> 2] | 0) { + UO(a, c[c[s >> 2] >> 2] | 0); + WO(a, c[c[s >> 2] >> 2] | 0); + k = c[F >> 2] | 0; + o = c[u >> 2] | 0; + c[C >> 2] = c[z >> 2]; + c[C + 4 >> 2] = c[z + 4 >> 2]; + c[C + 8 >> 2] = c[z + 8 >> 2]; + c[C + 12 >> 2] = c[z + 12 >> 2]; + c[D >> 2] = c[k >> 2]; + c[D + 4 >> 2] = c[k + 4 >> 2]; + c[D + 8 >> 2] = c[k + 8 >> 2]; + c[D + 12 >> 2] = c[k + 12 >> 2]; + KE(a, 2, C, D, h, i, o) + } + if (c[v >> 2] | 0) { + UO(a, e); + WO(a, e); + k = (c[F >> 2] | 0) + ((c[y >> 2] | 0) + -1 << 4) | 0; + o = c[v >> 2] | 0; + c[C >> 2] = c[x >> 2]; + c[C + 4 >> 2] = c[x + 4 >> 2]; + c[C + 8 >> 2] = c[x + 8 >> 2]; + c[C + 12 >> 2] = c[x + 12 >> 2]; + 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]; + KE(a, 3, C, D, h, i, o) + } + do if ((c[(c[(c[B >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) > 1) { + if (!(c[u >> 2] | 0)) { + if (!(w & (c[v >> 2] | 0) != 0)) break + } else if (q) break; + YO(a, d) + } while (0); + p = p + 1 | 0 + } + UE(r); + e = 0 + } + l = J; + return e | 0 + } + + function LF(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = 1; + a:while (1) { + switch (a[b >> 0] | 0) { + case 0: + break a; + case 58: { + e = e + 1 | 0; + break + } + default: { + } + } + b = b + 1 | 0 + } + f = O((W_(d) | 0) + 1 | 0, e) | 0; + b = f + 10 | 0; + if ((c[46350] | 0) < (f | 0)) { + c[46350] = b; + b = F_(c[46351] | 0, b) | 0; + c[46351] = b + } else b = c[46351] | 0; + b0(b, d) | 0; + while (1) { + e = e + -1 | 0; + b = c[46351] | 0; + if (!e) break; + f = b + (W_(b) | 0) | 0; + a[f >> 0] = 58; + a[f + 1 >> 0] = 0; + p1(b, d) | 0 + } + return b | 0 + } + + function MF(b) { + b = b | 0; + var d = 0, e = 0; + d = c[46414] | 0; + a:do if (!d) e = 7; else { + d = yx(b, d) | 0; + switch (a[d >> 0] | 0) { + case 110: + if (!(b$(d, 132627) | 0)) { + d = 1; + break a + } else { + e = 7; + break a + } + case 102: + if (!(b$(d, 97040) | 0)) { + d = 2; + break a + } else { + e = 7; + break a + } + case 98: { + if (!(b$(d, 97048) | 0)) { + d = 3; + break a + } + if (!(b$(d, 108195) | 0)) { + d = 4; + break a + } else { + e = 7; + break a + } + } + default: { + e = 7; + break a + } + } + } while (0); + if ((e | 0) == 7) { + d = (ey(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0) | 0) != 0; + d = d ? 2 : 1 + } + return d | 0 + } + + function NF(a) { + a = a | 0; + if (a | 0) { + D_(c[a + 8 >> 2] | 0); + D_(a) + } + return + } + + function OF(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0; + e = +h[b >> 3] - +h[c >> 3]; + f = +h[b + 8 >> 3] - +h[c + 8 >> 3]; + d = 2.0 / +C(+(e * e + .0001 + f * f)); + h[a >> 3] = d * f; + h[a + 8 >> 3] = -(e * d); + return + } + + function PF(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0; + g = +h[c >> 3] - +h[d >> 3]; + i = +h[c + 8 >> 3] - +h[d + 8 >> 3]; + f = +C(+(i * i + g * g)); + if (f < .0001) { + j = +h[b >> 3] - +h[e >> 3]; + f = +h[b + 8 >> 3] - +h[e + 8 >> 3]; + i = f; + g = j; + f = +C(+(j * j + .0001 + f * f)) + } + j = 2.0 / f; + h[a >> 3] = i * j; + h[a + 8 >> 3] = -(j * g); + return + } + + function QF(a, b, c) { + a = +a; + b = +b; + c = +c; + return +(c * .5 * (1.0 - a / b)) + } + + function RF(a, b, c) { + a = +a; + b = +b; + c = +c; + return +(c * .5) + } + + function SF(a, b, c) { + a = +a; + b = +b; + c = +c; + return +(c * .5 * (a / b)) + } + + function TF(a, b, c) { + a = +a; + b = +b; + c = +c; + b = a / b; + return +((!(b <= .5) ? 1.0 - b : b) * c) + } + + function UF(a, b, d, e) { + a = a | 0; + b = +b; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0; + p = l; + l = l + 16 | 0; + o = p; + n = c[a + 4 >> 2] | 0; + j = (n + -1 | 0) / 3 | 0; + if ((n + -4 | 0) >>> 0 < 3) { + c[d + 4 >> 2] = 4; + c[d >> 2] = uH(64) | 0; + c[e + 4 >> 2] = 4; + n = uH(64) | 0; + c[e >> 2] = n; + XL(o, c[a >> 2] | 0, 3, b, c[d >> 2] | 0, n) + } else { + n = uH(j << 3) | 0; + g = 0; + i = c[a >> 2] | 0; + f = 0.0; + while (1) { + if ((g | 0) >= (j | 0)) break; + q = +VF(i); + h[n + (g << 3) >> 3] = q; + g = g + 1 | 0; + i = i + 48 | 0; + f = q + f + } + b = f * b; + m = 0; + f = 0.0; + while (1) { + if ((j | 0) <= (m | 0)) break; + f = +h[n + (m << 3) >> 3] + f; + if (f >= b) break; + m = m + 1 | 0 + } + k = m * 3 | 0; + g = k + 4 | 0; + i = d + 4 | 0; + c[i >> 2] = g; + c[d >> 2] = uH(g << 4) | 0; + g = ((j - m | 0) * 3 | 0) + 1 | 0; + j = e + 4 | 0; + c[j >> 2] = g; + c[e >> 2] = uH(g << 4) | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[i >> 2] | 0)) break; + r = (c[d >> 2] | 0) + (g << 4) | 0; + s = (c[a >> 2] | 0) + (g << 4) | 0; + 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]; + g = g + 1 | 0 + } + g = g + -4 | 0; + i = 0; + while (1) { + if ((i | 0) >= (c[j >> 2] | 0)) break; + s = (c[e >> 2] | 0) + (i << 4) | 0; + r = (c[a >> 2] | 0) + (g << 4) | 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]; + g = g + 1 | 0; + i = i + 1 | 0 + } + q = +h[n + (m << 3) >> 3]; + XL(o, (c[a >> 2] | 0) + (k << 4) | 0, 3, (b - f + q) / q, (c[d >> 2] | 0) + (k << 4) | 0, c[e >> 2] | 0); + D_(n) + } + l = p; + return + } + + function VF(a) { + a = a | 0; + var b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0; + e = +h[a + 16 >> 3]; + d = +h[a >> 3] - e; + f = +h[a + 24 >> 3]; + b = +h[a + 8 >> 3] - f; + d = +C(+(b * b + d * d)); + b = +h[a + 32 >> 3]; + e = e - b; + c = +h[a + 40 >> 3]; + f = f - c; + d = +C(+(f * f + e * e)) + d; + b = b - +h[a + 48 >> 3]; + c = c - +h[a + 56 >> 3]; + return +(d + +C(+(c * c + b * b))) + } + + function WF(b, d) { + b = b | 0; + d = d | 0; + d = fz(d) | 0; + if ((a[(c[d + 16 >> 2] | 0) + 115 >> 0] | 0) == 1) d = RM(b) | 0; else d = OM(b, d) | 0; + return bG(d) | 0 + } + + function XF(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + q = l; + l = l + 1664 | 0; + m = q + 1600 | 0; + n = q + 800 | 0; + o = q; + p = vH(24) | 0; + c[p + 16 >> 2] = 1; + j = ((c[e + 4 >> 2] | 0) + -1 | 0) / 3 | 0; + h = 0; + i = p; + while (1) { + if ((h | 0) >= (j | 0)) break; + k = h * 3 | 0; + g = 0; + while (1) { + if ((g | 0) == 4) break; + r = m + (g << 4) | 0; + s = (c[e >> 2] | 0) + (g + k << 4) | 0; + 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]; + g = g + 1 | 0 + } + h = h + 1 | 0; + i = YF(m, i) | 0 + } + g = 0; + h = 0; + i = p; + while (1) { + if (!i) { + h = p; + g = p; + break + } + j = c[i + 16 >> 2] | 0; + k = n + (g << 4) | 0; + e = o + (g << 4) | 0; + ZF(h, i, j, k, e, f); + g = g + 1 | 0; + if (!((g | 0) == 50 | (j | 0) == 0)) { + h = i; + i = j; + continue + } + _F(a, b, d, g, n, o); + c[n >> 2] = c[k >> 2]; + c[n + 4 >> 2] = c[k + 4 >> 2]; + c[n + 8 >> 2] = c[k + 8 >> 2]; + c[n + 12 >> 2] = c[k + 12 >> 2]; + 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 = i; + g = 1; + i = j + } + while (1) { + if (!h) break; + s = c[h + 16 >> 2] | 0; + D_(g); + h = s; + g = s + } + l = q; + return + } + + function YF(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 144 | 0; + f = g + 128 | 0; + d = g + 64 | 0; + e = g; + if (!(ZE(a) | 0)) { + XL(f, a, 3, .5, d, e); + d = YF(e, YF(d, b) | 0) | 0 + } else { + d = b + 16 | 0; + if ((c[d >> 2] | 0) == 1) { + c[d >> 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] + } + d = a + 48 | 0; + c[f >> 2] = c[d >> 2]; + c[f + 4 >> 2] = c[d + 4 >> 2]; + c[f + 8 >> 2] = c[d + 8 >> 2]; + c[f + 12 >> 2] = c[d + 12 >> 2]; + d = aG(f, b) | 0 + } + l = g; + return d | 0 + } + + function ZF(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = +g; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0.0; + r = l; + l = l + 96 | 0; + n = r + 80 | 0; + m = r + 64 | 0; + k = r + 48 | 0; + o = r + 32 | 0; + p = r + 16 | 0; + q = r; + 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]; + do if (a) { + 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]; + if (!d) { + i = +h[o >> 3]; + h[q >> 3] = i * 2.0 - +h[p >> 3]; + j = +h[o + 8 >> 3]; + h[q + 8 >> 3] = j * 2.0 - +h[p + 8 >> 3]; + break + } else { + c[q >> 2] = c[d >> 2]; + c[q + 4 >> 2] = c[d + 4 >> 2]; + c[q + 8 >> 2] = c[d + 8 >> 2]; + c[q + 12 >> 2] = c[d + 12 >> 2]; + i = +h[o >> 3]; + j = +h[o + 8 >> 3]; + break + } + } else { + c[q >> 2] = c[d >> 2]; + c[q + 4 >> 2] = c[d + 4 >> 2]; + c[q + 8 >> 2] = c[d + 8 >> 2]; + c[q + 12 >> 2] = c[d + 12 >> 2]; + i = +h[o >> 3]; + h[p >> 3] = i * 2.0 - +h[q >> 3]; + j = +h[o + 8 >> 3]; + h[p + 8 >> 3] = j * 2.0 - +h[q + 8 >> 3] + } while (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[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]; + c[n >> 2] = c[q >> 2]; + c[n + 4 >> 2] = c[q + 4 >> 2]; + c[n + 8 >> 2] = c[q + 8 >> 2]; + c[n + 12 >> 2] = c[q + 12 >> 2]; + t = +$F(k, m, n); + s = +E(+t) * g; + g = +F(+t) * g; + h[e >> 3] = i + s; + h[e + 8 >> 3] = j + g; + h[f >> 3] = i - s; + h[f + 8 >> 3] = j - g; + l = r; + return + } + + function _F(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + i = e << 1; + j = c[d >> 2] | 0; + h = 0; + k = 0; + while (1) { + if ((h | 0) >= (j | 0)) break; + l = (c[(c[b >> 2] | 0) + (h << 2) >> 2] | 0) + k | 0; + h = h + 1 | 0; + k = l + } + l = j + 1 | 0; + c[d >> 2] = l; + l = xH(c[b >> 2] | 0, l << 2) | 0; + c[b >> 2] = l; + c[l + (h << 2) >> 2] = i; + c[a >> 2] = xH(c[a >> 2] | 0, k + i << 4) | 0; + b = i + -1 + k | 0; + h = 0; + while (1) { + if ((h | 0) >= (e | 0)) break; + l = (c[a >> 2] | 0) + (h + k << 4) | 0; + j = f + (h << 4) | 0; + c[l >> 2] = c[j >> 2]; + c[l + 4 >> 2] = c[j + 4 >> 2]; + c[l + 8 >> 2] = c[j + 8 >> 2]; + c[l + 12 >> 2] = c[j + 12 >> 2]; + l = (c[a >> 2] | 0) + (b - h << 4) | 0; + j = g + (h << 4) | 0; + c[l >> 2] = c[j >> 2]; + c[l + 4 >> 2] = c[j + 4 >> 2]; + c[l + 8 >> 2] = c[j + 8 >> 2]; + c[l + 12 >> 2] = c[j + 12 >> 2]; + h = h + 1 | 0 + } + return + } + + function $F(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0; + f = +h[b + 8 >> 3]; + d = +h[b >> 3]; + e = +K(+(+h[c + 8 >> 3] - f), +(+h[c >> 3] - d)); + d = +K(+(+h[a + 8 >> 3] - f), +(+h[a >> 3] - d)); + e = e - d; + return +((e > 0.0 ? e + -6.283185307179586 : e) * .5 + d) + } + + function aG(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = vH(24) | 0; + c[d + 16 >> 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[b + 16 >> 2] = d; + return d | 0 + } + + function bG(b) { + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0; + c = b; + f = b; + a:while (1) { + e = 0; + while (1) { + d = c; + c = c + 1 | 0; + d = a[d >> 0] | 0; + if (!(d << 24 >> 24)) break a; + if (e << 24 >> 24) { + g = 5; + break + } + if (d << 24 >> 24 != 92) break; else e = 1 + } + b:do if ((g | 0) == 5) { + g = 0; + switch (d << 24 >> 24 | 0) { + case 114: { + d = 13; + break b + } + case 108: + case 110: { + d = 10; + break b + } + default: + break b + } + } while (0); + a[f >> 0] = d; + f = f + 1 | 0 + } + a[f >> 0] = 0; + return b | 0 + } + + function cG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = c[b >> 2] | 0; + while (1) { + g = a[e >> 0] | 0; + if (!(g << 24 >> 24)) { + f = 0; + break + } + f = g << 24 >> 24; + if (!(g << 24 >> 24 == 44 | (B$(f) | 0) != 0)) { + h = 5; + break + } + e = e + 1 | 0 + } + a:do if ((h | 0) == 5) { + switch (f | 0) { + case 0: { + f = 0; + break a + } + case 41: + case 40: { + e = e + 1 | 0; + break a + } + default: { + } + } + h = d + 4 | 0; + i = d + 8 | 0; + while (1) { + if ((dG(g << 24 >> 24) | 0) << 24 >> 24) { + f = 1; + break a + } + f = c[h >> 2] | 0; + if (f >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + f = c[h >> 2] | 0 + } + c[h >> 2] = f + 1; + a[f >> 0] = g; + f = e + 1 | 0; + e = f; + g = a[f >> 0] | 0 + } + } while (0); + c[b >> 2] = e; + return f | 0 + } + + function dG(a) { + a = a | 0; + switch (a | 0) { + case 0: + case 44: + case 41: + case 40: { + a = 1; + break + } + default: + a = 0 + } + return a | 0 + } + + function eG(a, b) { + a = a | 0; + b = b | 0; + return fG(c[a >> 2] | 0, c[a + 160 >> 2] | 0, c[a + 156 >> 2] | 0, b) | 0 + } + + function fG(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 160 | 0; + k = o + 20 | 0; + m = o + 16 | 0; + n = o; + c[k >> 2] = 0; + c[m >> 2] = 0; + Tw(n, 128, o + 24 | 0); + Ww(n, f) | 0; + g = n + 4 | 0; + f = c[g >> 2] | 0; + if (f >>> 0 >= (c[n + 8 >> 2] | 0) >>> 0) { + Uw(n, 1) | 0; + f = c[g >> 2] | 0 + } + a[f >> 0] = 0; + h = c[n >> 2] | 0; + c[g >> 2] = h; + i = b + 300 | 0; + j = b + 296 | 0; + f = 0; + g = h; + a:while (1) { + if (f) { + f = 1; + break + } + f = m1(g, c[i >> 2] | 0, k) | 0; + if (!f) { + f = 0; + break + } + g = m1(f, c[j >> 2] | 0, m) | 0; + h = (g | 0) != 0; + if (h) f = m1(0, c[j >> 2] | 0, m) | 0; else f = 0; + switch (((f | 0) != 0 & 1) + (h & 1) & 3) { + case 2: { + g = gG(b, g, 0) | 0; + f = gG(b, f, e) | 0; + h = (g | 0) > (f | 0); + f = (f & g | 0) > -1 & (((h ? g : f) | 0) >= (d | 0) & ((h ? f : g) | 0) <= (d | 0)); + g = 0; + continue a + } + case 1: { + f = (gG(b, g, d) | 0) == (d | 0); + g = 0; + continue a + } + default: { + f = 0; + g = 0; + continue a + } + } + } + Xw(n); + l = o; + return f | 0 + } + + function gG(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = a[d >> 0] | 0; + if (!(h << 24 >> 24 == 97 ? (b$(d, 97370) | 0) == 0 : 0)) f = 3; + a:do if ((f | 0) == 3) { + if ((hG(d) | 0) << 24 >> 24) { + e = a2(d) | 0; + break + } + g = c[b + 308 >> 2] | 0; + if (!g) e = -1; else { + b = c[b + 312 >> 2] | 0; + e = 1; + while (1) { + if ((e | 0) > (b | 0)) { + e = -1; + break a + } + f = c[g + (e << 2) >> 2] | 0; + if (h << 24 >> 24 == (a[f >> 0] | 0) ? (b$(d, f) | 0) == 0 : 0) break a; + e = e + 1 | 0 + } + } + } while (0); + return e | 0 + } + + function hG(b) { + b = b | 0; + var c = 0; + while (1) { + c = a[b >> 0] | 0; + if (!(c << 24 >> 24)) { + b = 1; + break + } + if (((c & 255) + -48 | 0) >>> 0 < 10) b = b + 1 | 0; else { + b = 0; + break + } + } + return b | 0 + } + + function iG(a, b) { + a = a | 0; + b = b | 0; + if ((+h[a + 16 >> 3] >= +h[b >> 3] ? +h[b + 16 >> 3] >= +h[a >> 3] : 0) ? +h[a + 24 >> 3] >= +h[b + 8 >> 3] : 0) a = +h[b + 24 >> 3] >= +h[a + 8 >> 3] & 1; else a = 0; + return a | 0 + } + + function jG(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + a:do if ((c[b + 156 >> 2] | 0) >= 2 ? (f = NL(e, c[46397] | 0, 191979) | 0, (eG(b, f) | 0) << 24 >> 24 == 0) : 0) if (!(a[f >> 0] | 0)) if (!(Jx(d, e) | 0)) f = 1; else { + f = Jx(d, e) | 0; + while (1) { + if (!f) { + f = 0; + break a + } + g = NL(f, c[46420] | 0, 191979) | 0; + if (!(a[g >> 0] | 0)) { + f = 1; + break a + } + if ((eG(b, g) | 0) << 24 >> 24) { + f = 1; + break a + } + f = Kx(d, f, e) | 0 + } + } else f = 0; else f = 1; while (0); + return f | 0 + } + + function kG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 64 | 0; + e = d + 32 | 0; + f = d; + a = (c[a + 16 >> 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]; + b = (iG(f, e) | 0) & 255; + l = d; + return b | 0 + } + + function lG(a, d) { + a = a | 0; + d = d | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, + t = 0, u = 0.0, v = 0.0; + r = c[a + 152 >> 2] | 0; + s = NE(a) | 0; + c[s + 4 >> 2] = 2; + c[s + 8 >> 2] = d; + c[s + 12 >> 2] = 8; + if (r & 16777216 | 0) { + if ((e[(c[(ez(d) | 0) + 16 >> 2] | 0) + 178 >> 1] | 0) > 2) { + f = +h[(c[(c[d + 16 >> 2] | 0) + 132 >> 2] | 0) + 16 >> 3] * 72.0; + f = +(~~(f + (f >= 0.0 ? .5 : -.5)) | 0) + } else f = 0.0; + h[s + 168 >> 3] = f + } + k = d + 16 | 0; + nG(a, c[(c[k >> 2] | 0) + 104 >> 2] | 0, d); + do if (r & 4259840 | 0) { + if ((c[s + 208 >> 2] | 0) == 0 ? (b[s + 260 >> 1] & 1) == 0 : 0) break; + p = HJ(d) | 0; + l = c[k >> 2] | 0; + f = +h[l + 16 >> 3]; + q = +h[l + 24 >> 3]; + l = oG(d) | 0; + a:do if ((p | 2 | 0) == 3) { + n = c[(c[k >> 2] | 0) + 12 >> 2] | 0; + if (!((pG(n) | 0) << 24 >> 24)) g = 0; else g = (c[n + 4 >> 2] | l | 0) != 0; + if (!((r & 524288 | 0) == 0 | ((n | 0) == 0 | g))) { + i = n + 8 | 0; + o = c[i >> 2] | 0; + o = (o | 0) < 3 ? 1 : o; + j = n + 4 | 0; + m = c[j >> 2] | 0; + m = (m | 0) > 1 ? m : 1; + p = c[n + 44 >> 2] | 0; + g = xx(d, 99679) | 0; + if (!g) g = 0; else g = a2(g) | 0; + g = (g + -4 | 0) >>> 0 > 56 ? 20 : g; + if (!(c[j >> 2] | l)) { + c[s + 264 >> 2] = 0; + i = uH(32) | 0; + g = c[k >> 2] | 0; + v = +h[g + 88 >> 3]; + h[i >> 3] = f - v; + u = +h[g + 80 >> 3] * .5; + h[i + 8 >> 3] = q - u; + h[i + 16 >> 3] = v + f; + h[i + 24 >> 3] = u + q; + g = 2; + break + } + i = c[i >> 2] | 0; + if (((i | 0) < 3 ? +h[n + 32 >> 3] == 0.0 : 0) ? +h[n + 24 >> 3] == 0.0 : 0) { + i = s + 264 | 0; + if (c[n >> 2] | 0) { + c[i >> 2] = 1; + i = uH(32) | 0; + h[i >> 3] = f; + h[i + 8 >> 3] = q; + g = (m << 1) + -1 | 0; + h[i + 16 >> 3] = +h[p + (g << 4) >> 3] + f; + h[i + 24 >> 3] = +h[p + (g << 4) + 8 >> 3] + q; + g = 2; + break + } + c[i >> 2] = 2; + i = (m << 1) + -1 | 0; + i = qG(+h[p + (i << 4) >> 3], +h[p + (i << 4) + 8 >> 3], g) | 0; + j = 0; + while (1) { + if ((j | 0) >= (g | 0)) break a; + p = i + (j << 4) | 0; + h[p >> 3] = +h[p >> 3] + f; + p = i + (j << 4) + 8 | 0; + h[p >> 3] = +h[p >> 3] + q; + j = j + 1 | 0 + } + } + m = O(i, m + -1 | 0) | 0; + c[s + 264 >> 2] = 2; + if ((i | 0) < (g | 0)) { + i = uH(o << 4) | 0; + g = 0; + while (1) { + if ((g | 0) >= (o | 0)) { + g = o; + break a + } + n = g + m | 0; + h[i + (g << 4) >> 3] = +h[p + (n << 4) >> 3] + f; + h[i + (g << 4) + 8 >> 3] = +h[p + (n << 4) + 8 >> 3] + q; + g = g + 1 | 0 + } + } else { + l = (i | 0) / (g | 0) | 0; + i = uH(g << 4) | 0; + j = 0; + k = 0; + while (1) { + if ((j | 0) >= (g | 0)) break a; + o = k + m | 0; + h[i + (j << 4) >> 3] = +h[p + (o << 4) >> 3] + f; + h[i + (j << 4) + 8 >> 3] = +h[p + (o << 4) + 8 >> 3] + q; + j = j + 1 | 0; + k = k + l | 0 + } + } + } else t = 31 + } else t = 31; while (0); + if ((t | 0) == 31) { + c[s + 264 >> 2] = 0; + i = uH(32) | 0; + g = c[k >> 2] | 0; + h[i >> 3] = f - +h[g + 88 >> 3]; + v = +h[g + 80 >> 3] * .5; + h[i + 8 >> 3] = q - v; + h[i + 16 >> 3] = +h[g + 96 >> 3] + f; + h[i + 24 >> 3] = v + q; + g = 2 + } + if (!(r & 8192)) yO(a, i, i, g) | 0; + c[s + 272 >> 2] = i; + c[s + 268 >> 2] = g + } while (0); + qQ(xx(d, 97006) | 0); + LO(a, d); + return + } + + function mG(a) { + a = a | 0; + MO(a); + OE(a); + return + } + + function nG(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 144 | 0; + j = m; + f = xx(e, 137973) | 0; + i = xx(e, 138019) | 0; + k = xx(e, 138006) | 0; + Tw(j, 128, m + 16 | 0); + if (!d) h = 0; else h = c[d >> 2] | 0; + if (!((f | 0) != 0 ? (a[f >> 0] | 0) != 0 : 0)) f = xx(e, 108395) | 0; + g = QE(b, e, j) | 0; + if (!i) d = 0; else d = WF(i, e) | 0; + PE(b, h, f, d, k, g, e) | 0; + D_(d); + Xw(j); + l = m; + return + } + + function oG(b) { + b = b | 0; + var d = 0, e = 0; + b = OL(b, c[46387] | 0, 191979) | 0; + a:do if (!(a[b >> 0] | 0)) b = 0; else { + AF(b) | 0; + b = 0; + d = 185144; + while (1) { + e = c[d >> 2] | 0; + if (!e) break a; + e = (b$(e, 108075) | 0) == 0; + b = e ? 1 : b; + d = d + 4 | 0 + } + } while (0); + return b | 0 + } + + function pG(a) { + a = a | 0; + var b = 0.0; + if (((c[a + 8 >> 2] | 0) == 4 ? (b = +h[a + 16 >> 3], ((~~(b + (b >= 0.0 ? .5 : -.5)) | 0) % 90 | 0 | 0) == 0) : 0) ? +h[a + 24 >> 3] == 0.0 : 0) a = +h[a + 32 >> 3] == 0.0 & 1; else a = 0; + return a | 0 + } + + function qG(a, b, c) { + a = +a; + b = +b; + c = c | 0; + var d = 0.0, e = 0, f = 0.0, g = 0; + f = 6.283185307179586 / +(c | 0); + g = uH(c << 4) | 0; + d = 0.0; + e = 0; + while (1) { + if ((e | 0) >= (c | 0)) break; + h[g + (e << 4) >> 3] = +E(+d) * a; + h[g + (e << 4) + 8 >> 3] = +F(+d) * b; + d = d + f; + e = e + 1 | 0 + } + return g | 0 + } + + function rG(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + a:do if ((c[b + 156 >> 2] | 0) >= 2 ? (e = NL(d, nx(d, 0, 98484, 0) | 0, 191979) | 0, (eG(b, e) | 0) << 24 >> 24 == 0) : 0) if (!(a[e >> 0] | 0)) { + e = Sy(d) | 0; + while (1) { + if (!e) { + e = 0; + break a + } + if ((jG(b, d, e) | 0) << 24 >> 24) { + e = 1; + break a + } + e = Ty(d, e) | 0 + } + } else e = 0; else e = 1; while (0); + return e | 0 + } + + function sG(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = NE(a) | 0; + c[d + 4 >> 2] = 1; + c[d + 8 >> 2] = b; + c[d + 12 >> 2] = 1; + nG(a, c[(c[b + 16 >> 2] | 0) + 12 >> 2] | 0, b); + FO(a, b); + return + } + + function tG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + b = xx(b, 138e3) | 0; + a:do if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) { + AF(b) | 0; + e = 185144; + b = 0; + while (1) { + while (1) { + f = c[e >> 2] | 0; + if (!f) { + e = 185144; + break a + } + if (!(b$(f, 108075) | 0)) { + g = 10; + break + } + if (!(b$(f, 103308) | 0)) { + f = e; + g = 12; + break + } + if (!(b$(f, 103315) | 0)) { + f = e; + g = 14; + break + } + if (!(b$(f, 103290) | 0)) { + f = e; + g = 16; + break + } + e = e + 4 | 0 + } + if ((g | 0) == 10) { + e = e + 4 | 0; + b = b | 1; + continue + } else if ((g | 0) == 12) { + while (1) { + h = f; + f = f + 4 | 0; + g = c[f >> 2] | 0; + c[h >> 2] = g; + if (!g) break; else g = 12 + } + b = b | 3; + continue + } else if ((g | 0) == 14) { + while (1) { + g = f; + f = f + 4 | 0; + h = c[f >> 2] | 0; + c[g >> 2] = h; + if (!h) break; else g = 14 + } + b = b | 64; + continue + } else if ((g | 0) == 16) { + while (1) { + g = f; + f = f + 4 | 0; + h = c[f >> 2] | 0; + c[g >> 2] = h; + if (!h) break; else g = 16 + } + b = b | 4; + continue + } + } + } else { + e = 0; + b = 0 + } while (0); + c[d >> 2] = b; + return e | 0 + } + + function uG(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 16 | 0; + i = k; + j = k + 4 | 0; + c[j >> 2] = 0; + m = (TE(b, 0, j) | 0) == 0; + j = c[j >> 2] | 0; + if ((m ? (f = c[j >> 2] | 0, (f | 0) >= 2) : 0) ? (h = j + 8 | 0, (c[c[h >> 2] >> 2] | 0) != 0) : 0) { + if ((f | 0) > 2) Pw(0, 97389, i) | 0; + m = vH((W_(b) | 0) + 1 | 0) | 0; + c[d >> 2] = m; + b0(m, c[c[h >> 2] >> 2] | 0) | 0; + if (!(c[(c[h >> 2] | 0) + 12 >> 2] | 0)) c[d + 4 >> 2] = 0; else { + m = c[d >> 2] | 0; + m = m + ((W_(m) | 0) + 1) | 0; + c[d + 4 >> 2] = m; + b0(m, c[(c[h >> 2] | 0) + 12 >> 2] | 0) | 0 + } + b = c[h >> 2] | 0; + do if (!(a[b + 8 >> 0] | 0)) if (!(a[b + 20 >> 0] | 0)) { + g[e >> 2] = 0.0; + break + } else { + g[e >> 2] = 1.0 - +g[b + 16 >> 2]; + break + } else c[e >> 2] = c[b + 4 >> 2]; while (0); + UE(j); + b = 1 + } else { + c[d >> 2] = 0; + UE(j); + b = 0 + } + l = k; + return b | 0 + } + + function vG(a, b) { + a = a | 0; + b = b | 0; + GO(a, b); + OE(a); + return + } + + function wG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0, o = 0.0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + x = l; + l = l + 96 | 0; + p = x + 48 | 0; + s = x + 16 | 0; + w = x + 8 | 0; + v = x; + t = x + 80 | 0; + c[t >> 2] = 1e3; + f = vH(16e3) | 0; + u = a + 256 | 0; + e = 1; + j = 1; + i = 0; + q = 0; + r = c[b + 8 >> 2] | 0; + while (1) { + if ((q | 0) >= (c[b >> 2] | 0)) break; + d = c[r >> 2] | 0; + a:do switch (d | 0) { + case 1: + case 0: { + n = r + 80 | 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]; + 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[p + 16 >> 2] = c[u + 16 >> 2]; + c[p + 20 >> 2] = c[u + 20 >> 2]; + c[p + 24 >> 2] = c[u + 24 >> 2]; + c[p + 28 >> 2] = c[u + 28 >> 2]; + if (!(iG(s, p) | 0)) d = j; else { + z = r + 8 | 0; + A = r + 24 | 0; + h[f >> 3] = +h[z >> 3] - +h[A >> 3]; + n = r + 16 | 0; + y = r + 32 | 0; + h[f + 8 >> 3] = +h[n >> 3] - +h[y >> 3]; + h[f + 16 >> 3] = +h[A >> 3] + +h[z >> 3]; + h[f + 24 >> 3] = +h[y >> 3] + +h[n >> 3]; + ZO(a, f, 2, (d | 0) == 0 ? j : 0); + d = j + } + break + } + case 3: + case 2: { + A = r + 80 | 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[s + 16 >> 2] = c[A + 16 >> 2]; + c[s + 20 >> 2] = c[A + 20 >> 2]; + c[s + 24 >> 2] = c[A + 24 >> 2]; + c[s + 28 >> 2] = c[A + 28 >> 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]; + c[p + 16 >> 2] = c[u + 16 >> 2]; + c[p + 20 >> 2] = c[u + 20 >> 2]; + c[p + 24 >> 2] = c[u + 24 >> 2]; + c[p + 28 >> 2] = c[u + 28 >> 2]; + if (!(iG(s, p) | 0)) d = j; else { + d = r + 8 | 0; + f = xG(f, t, c[d + 4 >> 2] | 0, c[d >> 2] | 0) | 0; + _O(a, f, c[d >> 2] | 0, (c[r >> 2] | 0) == 2 ? j : 0); + d = j + } + break + } + case 5: + case 4: { + A = r + 80 | 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[s + 16 >> 2] = c[A + 16 >> 2]; + c[s + 20 >> 2] = c[A + 20 >> 2]; + c[s + 24 >> 2] = c[A + 24 >> 2]; + c[s + 28 >> 2] = c[A + 28 >> 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]; + c[p + 16 >> 2] = c[u + 16 >> 2]; + c[p + 20 >> 2] = c[u + 20 >> 2]; + c[p + 24 >> 2] = c[u + 24 >> 2]; + c[p + 28 >> 2] = c[u + 28 >> 2]; + if (!(iG(s, p) | 0)) d = j; else { + d = r + 8 | 0; + f = xG(f, t, c[d + 4 >> 2] | 0, c[d >> 2] | 0) | 0; + aP(a, f, c[d >> 2] | 0, 0, 0, (c[r >> 2] | 0) == 4 ? j & 255 : 0); + d = j + } + break + } + case 6: { + A = r + 80 | 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[s + 16 >> 2] = c[A + 16 >> 2]; + c[s + 20 >> 2] = c[A + 20 >> 2]; + c[s + 24 >> 2] = c[A + 24 >> 2]; + c[s + 28 >> 2] = c[A + 28 >> 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]; + c[p + 16 >> 2] = c[u + 16 >> 2]; + c[p + 20 >> 2] = c[u + 20 >> 2]; + c[p + 24 >> 2] = c[u + 24 >> 2]; + c[p + 28 >> 2] = c[u + 28 >> 2]; + if (!(iG(s, p) | 0)) d = j; else { + d = r + 8 | 0; + f = xG(f, t, c[d + 4 >> 2] | 0, c[d >> 2] | 0) | 0; + bP(a, f, c[d >> 2] | 0); + d = j + } + break + } + case 7: { + A = r + 80 | 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[s + 16 >> 2] = c[A + 16 >> 2]; + c[s + 20 >> 2] = c[A + 20 >> 2]; + c[s + 24 >> 2] = c[A + 24 >> 2]; + c[s + 28 >> 2] = c[A + 28 >> 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]; + c[p + 16 >> 2] = c[u + 16 >> 2]; + c[p + 20 >> 2] = c[u + 20 >> 2]; + c[p + 24 >> 2] = c[u + 24 >> 2]; + c[p + 28 >> 2] = c[u + 28 >> 2]; + if (!(iG(s, p) | 0)) d = j; else { + h[f >> 3] = +h[r + 8 >> 3]; + h[f + 8 >> 3] = +h[r + 16 >> 3]; + d = c[r + 112 >> 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]; + TO(a, p, d); + d = j + } + break + } + case 8: { + WO(a, c[r + 8 >> 2] | 0); + d = 1; + break + } + case 9: { + UO(a, c[r + 8 >> 2] | 0); + d = 1; + break + } + case 13: { + if ((c[r + 8 >> 2] | 0) != 2) { + d = r + 16 | 0; + z = c[d + 36 >> 2] | 0; + A = c[z + 12 >> 2] | 0; + o = +g[z + 8 >> 2]; + d = ~~(+K(+(+h[r + 40 >> 3] - +h[r + 24 >> 3]), +(+h[r + 32 >> 3] - +h[d >> 3])) * 57.29577951308232); + WO(a, c[z + 4 >> 2] | 0); + XO(a, A, d, o); + d = 2; + break a + } + A = c[r + 68 >> 2] | 0; + j = c[A + 4 >> 2] | 0; + n = c[A + 12 >> 2] | 0; + o = +g[A + 8 >> 2]; + k = +h[r + 40 >> 3]; + m = +h[r + 16 >> 3]; + if (k == m ? +h[r + 48 >> 3] == +h[r + 24 >> 3] : 0) d = 0; else d = ~~(+H(+((m - k) / +h[r + 32 >> 3])) * 57.29577951308232); + WO(a, j); + XO(a, n, d, o); + d = 3; + break + } + case 14: { + Pw(0, 97455, v) | 0; + d = j; + break + } + case 12: { + if (!e) { + e = 0; + d = j + } else { + Pw(0, 97495, w) | 0; + e = 0; + d = j + } + break + } + case 11: { + AF(c[r + 8 >> 2] | 0) | 0; + YO(a, 185144); + i = 185144; + d = j; + break + } + default: + d = j + } while (0); + j = d; + q = q + 1 | 0; + r = r + 120 | 0 + } + if (i | 0) YO(a, c[(c[a >> 2] | 0) + 336 >> 2] | 0); + D_(f); + l = x; + return + } + + function xG(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = c[b >> 2] | 0; + f = g << 1; + f = (f | 0) > (e | 0) ? f : e; + if ((g | 0) < (e | 0)) { + a = xH(a, f << 4) | 0; + c[b >> 2] = f + } + b = 0; + while (1) { + if ((b | 0) >= (e | 0)) break; + h[a + (b << 4) >> 3] = +h[d + (b * 24 | 0) >> 3]; + h[a + (b << 4) + 8 >> 3] = +h[d + (b * 24 | 0) + 8 >> 3]; + b = b + 1 | 0 + } + return a | 0 + } + + function yG(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[b >> 2] | 0; + c[a >> 2] = c[b + 4 >> 2]; + c[a + 4 >> 2] = d; + return + } + + function zG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = d + 16 | 0; + f = 1; + while (1) { + d = c[g >> 2] | 0; + if ((f | 0) > (c[d + 180 >> 2] | 0)) break; + e = c[(c[d + 184 >> 2] | 0) + (f << 2) >> 2] | 0; + zG(b, e); + d = xx(e, 137741) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + d = xx(e, 134647) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + d = xx(e, 137895) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + d = xx(e, 98392) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) WO(b, d); + d = xx(e, 98420) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) UO(b, d); + f = f + 1 | 0 + } + return + } + + function AG(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = c[46356] | 0; + if (!b) { + b = Cw(20524, c[4555] | 0) | 0; + c[46356] = b + } + if (!(nb[c[b >> 2] & 63](b, a, 4) | 0)) { + d = c[46356] | 0; + e = c[d >> 2] | 0; + b = n1(a) | 0; + nb[e & 63](d, b, 1) | 0; + b = 1 + } else b = 0; + return b | 0 + } + + function BG(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function CG(a) { + a = a | 0; + var b = 0; + b = c[46357] | 0; + if (!a) { + if ((b | 0) > 0 ? (b = b + -1 | 0, c[46357] = b, (b | 0) == 0) : 0) { + J0(1, c[46358] | 0) | 0; + D_(c[46358] | 0) + } + } else { + c[46357] = b + 1; + if (!b) { + c[46358] = n1(J0(1, 0) | 0) | 0; + J0(1, 150481) | 0 + } + } + return + } + + function DG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0.0; + u = l; + l = l + 96 | 0; + r = u + 72 | 0; + q = u + 56 | 0; + p = u + 48 | 0; + t = u + 32 | 0; + s = u + 24 | 0; + e = u + 8 | 0; + d = u; + if (0) EL(); + do if ((Az(b, 134401, 0, 1) | 0) != 0 ? (o = b + 16 | 0, (c[(c[o >> 2] | 0) + 8 >> 2] | 0) != 0) : 0) { + EG(b); + FG(a, b); + GG(a, b); + CG(1); + j = a + 56 | 0; + k = a + 184 | 0; + m = a + 192 | 0; + n = a + 28 | 0; + i = pC(a) | 0; + a:while (1) { + if (!i) { + g = 33; + break + } + d = c[j >> 2] | 0; + if (!d) { + c[i + 20 >> 2] = 0; + d = 0 + } else { + c[i + 20 >> 2] = c[d + 8 >> 2]; + d = c[d + 12 >> 2] | 0 + } + c[i + 24 >> 2] = d; + c[i + 12 >> 2] = a; + c[i + 28 >> 2] = c[k >> 2]; + c[i + 620 >> 2] = 25660; + c[i + 624 >> 2] = 14; + if (!(c[(c[o >> 2] | 0) + 8 >> 2] | 0)) { + g = 13; + break + } + e = i + 52 | 0; + g = uO(i, c[e >> 2] | 0) | 0; + c[i + 56 >> 2] = g; + switch (g | 0) { + case 999: { + g = 16; + break a + } + case 21: { + d = 1; + break + } + case 24: { + d = 520; + break + } + default: + d = HG(b) | 0 + } + f = i + 152 | 0; + c[f >> 2] = c[f >> 2] | d; + d = c[m >> 2] | 0; + do if (!d) g = 24; else { + if (c[d + 152 >> 2] & 32 | 0 ? (b$(c[e >> 2] | 0, c[d + 52 >> 2] | 0) | 0) == 0 : 0) { + d = c[46359] | 0; + if (!d) { + g = 27; + break + } + c[d + 8 >> 2] = i; + c[i + 36 >> 2] = c[d + 36 >> 2]; + g = 29; + break + } + wO(d); + c[m >> 2] = 0; + c[n >> 2] = 0; + g = 24 + } while (0); + if ((g | 0) == 24) { + c[46359] = 0; + g = 27 + } + if ((g | 0) == 27 ? (g = 0, (vO(i) | 0) == 0) : 0) { + c[m >> 2] = i; + g = 29 + } + if ((g | 0) == 29) { + c[i + 8 >> 2] = 0; + c[i + 104 >> 2] = 25772; + IG(i); + JG(i); + KG(i, b); + LG(i, b); + MG(i, b); + if (!(c[f >> 2] & 128)) dF(i, b); + c[46359] = i + } + i = qC(a) | 0 + } + if ((g | 0) == 13) { + Pw(1, 97653, s) | 0; + CG(0); + if (!0) { + d = -1; + break + } + d = c[15686] | 0; + s = ry(b) | 0; + v = +FL(); + c[t >> 2] = s; + h[t + 8 >> 3] = v; + g1(d, 97624, t) | 0; + d = -1; + break + } else if ((g | 0) == 16) { + c[p >> 2] = c[e >> 2]; + Pw(1, 97674, p) | 0; + CG(0); + if (!0) { + d = -1; + break + } + d = c[15686] | 0; + t = ry(b) | 0; + v = +FL(); + c[q >> 2] = t; + h[q + 8 >> 3] = v; + g1(d, 97624, q) | 0; + d = -1; + break + } else if ((g | 0) == 33) { + CG(0); + if (!0) { + d = 0; + break + } + d = c[15686] | 0; + t = ry(b) | 0; + v = +FL(); + c[r >> 2] = t; + h[r + 8 >> 3] = v; + g1(d, 97624, r) | 0; + d = 0; + break + } + } else g = 5; while (0); + if ((g | 0) == 5) { + Pw(1, 97576, d) | 0; + if (!0) d = -1; else { + d = c[15686] | 0; + t = ry(b) | 0; + v = +FL(); + c[e >> 2] = t; + h[e + 8 >> 3] = v; + g1(d, 97624, e) | 0; + d = -1 + } + } + l = u; + return d | 0 + } + + function EG(a) { + a = a | 0; + var b = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + RG(a, b); + b = Ty(a, b) | 0 + } + return + } + + function FG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + o = l; + l = l + 32 | 0; + k = o + 24 | 0; + f = o + 16 | 0; + j = o + 8 | 0; + n = o; + c[b + 168 >> 2] = d; + g = b + 293 | 0; + a[g >> 0] = 0; + e = xx(d, 102470) | 0; + if (e | 0 ? (c[f >> 2] = j, c[f + 4 >> 2] = n, i = N1(e, 102477, f) | 0, (i | 0) > 0) : 0) { + p = +h[j >> 3] * 72.0; + e = b + 208 | 0; + h[e >> 3] = p; + h[b + 200 >> 3] = p; + if ((i | 0) != 1) h[e >> 3] = +h[n >> 3] * 72.0; + a[g >> 0] = 1 + } + f = b + 292 | 0; + a[f >> 0] = 0; + e = xx(d, 98076) | 0; + if (e | 0 ? (c[k >> 2] = j, c[k + 4 >> 2] = n, m = N1(e, 102477, k) | 0, (m | 0) > 0) : 0) { + p = +h[j >> 3] * 72.0; + e = b + 224 | 0; + h[e >> 3] = p; + h[b + 216 >> 3] = p; + if ((m | 0) != 1) h[e >> 3] = +h[n >> 3] * 72.0; + a[f >> 0] = 1 + } + e = b + 294 | 0; + a[e >> 0] = 0; + f = b + 232 | 0; + g = d + 16 | 0; + n = (c[(c[g >> 2] | 0) + 8 >> 2] | 0) + 48 | 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]; + f = c[(c[g >> 2] | 0) + 8 >> 2] | 0; + if (+h[f + 48 >> 3] > .001 ? +h[f + 56 >> 3] > .001 : 0) a[e >> 0] = 1; + c[b + 288 >> 2] = a[f + 81 >> 0] | 0 ? 90 : 0; + e = b + 196 | 0; + c[e >> 2] = 98080; + f = xx(d, 98083) | 0; + if (f | 0 ? a[f >> 0] | 0 : 0) c[e >> 2] = f; + n = b + 256 | 0; + m = (c[g >> 2] | 0) + 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[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]; + c[46371] = nx(d, 0, 98446, 0) | 0; + c[46372] = nx(d, 0, 98437, 0) | 0; + c[b + 320 >> 2] = OL(0, c[46381] | 0, 104968) | 0; + h[b + 328 >> 3] = +LL(0, c[46380] | 0, 14.0, 1.0); + c[b + 336 >> 2] = 20560; + c[b + 188 >> 2] = ry(d) | 0; + l = o; + return + } + + function GG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = b + 304 | 0; + f = c[e >> 2] | 0; + if (f | 0) { + D_(f); + c[e >> 2] = 0 + } + f = b + 308 | 0; + e = c[f >> 2] | 0; + if (e | 0) { + D_(e); + c[f >> 2] = 0 + } + g = b + 316 | 0; + e = c[g >> 2] | 0; + if (e | 0) { + D_(e); + c[g >> 2] = 0 + } + e = xx(d, 97827) | 0; + if (e) { + c[b + 312 >> 2] = PG(b, d, e) | 0; + e = xx(d, 97834) | 0; + if (e | 0 ? a[e >> 0] | 0 : 0) c[g >> 2] = QG(b, e) | 0 + } else { + c[f >> 2] = 0; + c[b + 312 >> 2] = 1 + } + return + } + + function HG(b) { + b = b | 0; + b = xx(b, 97795) | 0; + a:do if (!b) b = 0; else switch (a[b >> 0] | 0) { + case 110: { + if (!(b$(b + 1 | 0, 97807) | 0)) b = 1; else { + b = 0; + break a + } + break + } + case 101: { + if (!(b$(b + 1 | 0, 97817) | 0)) b = 16; else { + b = 0; + break a + } + break + } + default: { + b = 0; + break a + } + } while (0); + return b | 0 + } + + function IG(b) { + b = b | 0; + var d = 0.0, e = 0; + e = c[b >> 2] | 0; + if (!(a[e + 292 >> 0] | 0)) { + if ((c[b + 56 >> 2] | 0) == 300) d = +h[(c[b + 68 >> 2] | 0) + 8 >> 3]; else d = 4.0; + h[b + 248 >> 3] = d; + h[b + 240 >> 3] = d + } else { + b = b + 240 | 0; + e = e + 216 | 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] + } + return + } + + function JG(b) { + b = b | 0; + var d = 0; + d = c[b >> 2] | 0; + a:do if (!(a[d + 293 >> 0] | 0)) switch (c[b + 56 >> 2] | 0) { + case 300: { + d = b + 416 | 0; + b = (c[b + 84 >> 2] | 0) + 8 | 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]; + break a + } + case 30: + case 21: + case 22: + case 4: + case 3: + case 2: { + h[b + 424 >> 3] = 36.0; + h[b + 416 >> 3] = 36.0; + break a + } + default: { + d = b + 416 | 0; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + c[d + 8 >> 2] = 0; + c[d + 12 >> 2] = 0; + break a + } + } else { + b = b + 416 | 0; + d = d + 200 | 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] + } while (0); + return + } + + function KG(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0; + f = c[(c[b >> 2] | 0) + 192 >> 2] | 0; + e = +h[(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0) + 24 >> 3]; + do if (!(e != 0.0)) { + if (f | 0 ? a[f + 128 >> 0] | 0 : 0) { + b = b + 432 | 0; + f = f + 112 | 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]; + break + } + d = b + 432 | 0; + if ((c[b + 56 >> 2] | 0) == 300) { + b = (c[b + 84 >> 2] | 0) + 40 | 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]; + break + } else { + h[b + 440 >> 3] = 96.0; + h[d >> 3] = 96.0; + break + } + } else { + h[b + 440 >> 3] = e; + h[b + 432 >> 3] = e + } while (0); + return + } + + function LG(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, + r = 0.0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + A = l; + l = l + 112 | 0; + t = A + 80 | 0; + u = A + 56 | 0; + s = A + 40 | 0; + v = A + 32 | 0; + w = A + 24 | 0; + x = A + 16 | 0; + y = A + 8 | 0; + z = A; + m = c[b >> 2] | 0; + o = +h[m + 272 >> 3]; + q = +h[m + 280 >> 3]; + p = +h[m + 256 >> 3]; + r = +h[m + 264 >> 3]; + f = +h[b + 240 >> 3]; + e = p - f; + h[b + 208 >> 3] = e; + i = +h[b + 248 >> 3]; + j = r - i; + h[b + 216 >> 3] = j; + f = f + o; + h[b + 224 >> 3] = f; + i = i + q; + h[b + 232 >> 3] = i; + e = f - e; + j = i - j; + h[x >> 3] = 1.0; + g = c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0; + i = +h[g + 64 >> 3]; + do if (i > .001 ? (k = +h[g + 72 >> 3], k > .001) : 0) { + e = e == 0.0 ? i : e; + f = j == 0.0 ? k : j; + if (!(i < e | k < f) ? !(k > f & (i > e & (a[g + 80 >> 0] | 0) != 0)) : 0) { + k = e; + j = f; + i = 1.0; + break + } + n = i / e < k / f; + i = (n ? i : k) / (n ? e : f); + h[x >> 3] = i; + k = e; + j = f + } else { + k = e; + i = 1.0 + } while (0); + f = (p + o) * .5; + h[y >> 3] = f; + e = (r + q) * .5; + h[z >> 3] = e; + c[b + 360 >> 2] = c[m + 288 >> 2]; + k = i * k; + h[v >> 3] = k; + j = i * j; + h[w >> 3] = j; + g = xx(d, 97726) | 0; + if (g) { + m = C_((W_(g) | 0) + 1 | 0) | 0; + n = C_((W_(g) | 0) + 1 | 0) | 0; + c[s >> 2] = v; + c[s + 4 >> 2] = w; + c[s + 8 >> 2] = x; + c[s + 12 >> 2] = m; + do if ((N1(g, 97735, s) | 0) == 4) { + g = az(c[d + 60 >> 2] | 0, m, 0) | 0; + if (g | 0) { + u = c[g + 16 >> 2] | 0; + h[y >> 3] = +h[u + 16 >> 3]; + h[z >> 3] = +h[u + 24 >> 3] + } + } else { + c[u >> 2] = v; + c[u + 4 >> 2] = w; + c[u + 8 >> 2] = x; + c[u + 12 >> 2] = m; + c[u + 16 >> 2] = n; + if ((N1(g, 97755, u) | 0) != 4) { + c[t >> 2] = v; + c[t + 4 >> 2] = w; + c[t + 8 >> 2] = x; + c[t + 12 >> 2] = y; + c[t + 16 >> 2] = z; + N1(g, 97775, t) | 0; + break + } + g = az(c[d + 60 >> 2] | 0, m, 0) | 0; + if (g | 0) { + u = c[g + 16 >> 2] | 0; + h[y >> 3] = +h[u + 16 >> 3]; + h[z >> 3] = +h[u + 24 >> 3] + } + } while (0); + D_(m); + D_(n); + k = +h[v >> 3]; + j = +h[w >> 3]; + i = +h[x >> 3]; + f = +h[y >> 3]; + e = +h[z >> 3] + } + h[b + 368 >> 3] = k; + h[b + 376 >> 3] = j; + h[b + 352 >> 3] = i; + h[b + 336 >> 3] = f; + h[b + 344 >> 3] = e; + l = A; + return + } + + function MG(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, 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, P = 0.0, Q = 0.0; + M = l; + l = l + 224 | 0; + J = M + 200 | 0; + z = M + 168 | 0; + E = M + 144 | 0; + I = M + 120 | 0; + F = M + 96 | 0; + G = M + 64 | 0; + e = M + 184 | 0; + v = M + 176 | 0; + w = M + 160 | 0; + y = M + 136 | 0; + x = M + 112 | 0; + A = M + 80 | 0; + B = M + 48 | 0; + C = M + 32 | 0; + D = M + 16 | 0; + K = M + 8 | 0; + L = M; + u = c[b >> 2] | 0; + c[G >> 2] = 0; + c[G + 4 >> 2] = 0; + c[G + 8 >> 2] = 0; + c[G + 12 >> 2] = 0; + H = b + 368 | 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 = b + 360 | 0; + if (c[H >> 2] | 0) { + c[J >> 2] = c[I >> 2]; + c[J + 4 >> 2] = c[I + 4 >> 2]; + c[J + 8 >> 2] = c[I + 8 >> 2]; + c[J + 12 >> 2] = c[I + 12 >> 2]; + NG(e, J); + 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] + } + t = b + 416 | 0; + c[F >> 2] = c[t >> 2]; + c[F + 4 >> 2] = c[t + 4 >> 2]; + c[F + 8 >> 2] = c[t + 8 >> 2]; + c[F + 12 >> 2] = c[t + 12 >> 2]; + if ((a[u + 294 >> 0] | 0) != 0 ? (c[b + 152 >> 2] & 32 | 0) != 0 : 0) { + i = +h[u + 232 >> 3] - +h[F >> 3] * 2.0; + h[E >> 3] = i; + k = +h[u + 240 >> 3] - +h[F + 8 >> 3] * 2.0; + p = E + 8 | 0; + h[p >> 3] = k; + if (!(i < .0001)) { + o = +h[I >> 3]; + e = ~~(o / i); + f = b + 164 | 0; + c[f >> 2] = e; + if (o - i * +(e | 0) > .0001) { + e = e + 1 | 0; + c[f >> 2] = e + } + } else { + c[b + 164 >> 2] = 1; + e = 1 + } + if (!(k < .0001)) { + g = +h[I + 8 >> 3]; + f = ~~(g / k); + j = b + 168 | 0; + c[j >> 2] = f; + if (g - k * +(f | 0) > .0001) { + f = f + 1 | 0; + c[j >> 2] = f + } + } else { + c[b + 168 >> 2] = 1; + f = 1; + g = +h[I + 8 >> 3] + } + c[b + 204 >> 2] = O(f, e) | 0; + o = +h[(+h[I >> 3] < i ? I : E) >> 3]; + h[I >> 3] = o; + e = p; + f = I; + m = +h[(g < k ? I : E) + 8 >> 3]; + g = o; + j = 21 + } else { + if (c[b + 68 >> 2] | 0) { + e = c[b + 84 >> 2] | 0; + i = +h[e + 24 >> 3] - +h[F >> 3] * 2.0; + i = i < 0.0 ? 0.0 : i; + h[E >> 3] = i; + o = +h[e + 32 >> 3] - +h[F + 8 >> 3] * 2.0; + e = E + 8 | 0; + h[e >> 3] = o; + if (o < 0.0) { + f = E; + j = 17 + } else e = E + } else { + h[E + 8 >> 3] = 0.0; + f = E; + e = E; + j = 17 + } + if ((j | 0) == 17) { + h[e >> 3] = 0.0; + e = f; + i = +h[f >> 3] + } + c[b + 204 >> 2] = 1; + c[b + 168 >> 2] = 1; + c[b + 164 >> 2] = 1; + g = +h[I >> 3]; + if (i < g) { + h[e >> 3] = g; + i = g + } + e = E + 8 | 0; + k = +h[e >> 3]; + m = +h[I + 8 >> 3]; + if (k < m) { + f = E; + j = 21 + } else { + r = e; + m = k + } + } + if ((j | 0) == 21) { + h[f + 8 >> 3] = m; + r = e; + m = +h[e >> 3] + } + n = +h[F >> 3]; + s = b + 432 | 0; + k = +h[s >> 3] * .013888888888888888 * (n * 2.0 + i); + c[b + 448 >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + q = F + 8 | 0; + k = +h[q >> 3]; + t = b + 440 | 0; + o = +h[t >> 3] * .013888888888888888 * (k * 2.0 + m); + c[b + 452 >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + j = b + 188 | 0; + p = b + 180 | 0; + e = b + 172 | 0; + f = u + 196 | 0; + c[e >> 2] = 0; + c[e + 4 >> 2] = 0; + c[e + 8 >> 2] = 0; + c[e + 12 >> 2] = 0; + c[e + 16 >> 2] = 0; + c[e + 20 >> 2] = 0; + OG(v, b, a[c[f >> 2] >> 0] | 0); + u = v; + v = c[u + 4 >> 2] | 0; + e = p; + c[e >> 2] = c[u >> 2]; + c[e + 4 >> 2] = v; + OG(w, b, a[(c[f >> 2] | 0) + 1 >> 0] | 0); + e = w; + w = c[e >> 2] | 0; + e = c[e + 4 >> 2] | 0; + v = j; + c[v >> 2] = w; + c[v + 4 >> 2] = e; + w = (c[p >> 2] | 0) + w | 0; + if (!((((w | 0) > -1 ? w : 0 - w | 0) | 0) == 1 ? (w = (c[b + 184 >> 2] | 0) + e | 0, (((w | 0) > -1 ? w : 0 - w | 0) | 0) == 1) : 0)) { + OG(y, b, 66); + v = y; + y = c[v + 4 >> 2] | 0; + w = p; + c[w >> 2] = c[v >> 2]; + c[w + 4 >> 2] = y; + OG(x, b, 76); + w = x; + x = c[w + 4 >> 2] | 0; + y = j; + c[y >> 2] = c[w >> 2]; + c[y + 4 >> 2] = x; + c[z >> 2] = c[f >> 2]; + Pw(0, 97706, z) | 0 + } + if (a[(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0) + 82 >> 0] | 0) { + if (i > g) { + m = (i - g) * .5; + h[G >> 3] = m + } else m = 0.0; + i = +h[r >> 3]; + o = +h[I + 8 >> 3]; + if (i > o) { + i = (i - o) * .5; + h[G + 8 >> 3] = i + } else i = 0.0 + } else { + i = 0.0; + m = 0.0 + } + if (!(c[H >> 2] | 0)) j = 1; else { + c[J >> 2] = c[I >> 2]; + c[J + 4 >> 2] = c[I + 4 >> 2]; + c[J + 8 >> 2] = c[I + 8 >> 2]; + c[J + 12 >> 2] = c[I + 12 >> 2]; + NG(A, J); + c[I >> 2] = c[A >> 2]; + c[I + 4 >> 2] = c[A + 4 >> 2]; + c[I + 8 >> 2] = c[A + 8 >> 2]; + c[I + 12 >> 2] = c[A + 12 >> 2]; + c[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]; + NG(B, J); + 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[J >> 2] = c[F >> 2]; + c[J + 4 >> 2] = c[F + 4 >> 2]; + c[J + 8 >> 2] = c[F + 8 >> 2]; + c[J + 12 >> 2] = c[F + 12 >> 2]; + NG(C, J); + 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]; + c[J >> 2] = c[G >> 2]; + c[J + 4 >> 2] = c[G + 4 >> 2]; + c[J + 8 >> 2] = c[G + 8 >> 2]; + c[J + 12 >> 2] = c[G + 12 >> 2]; + NG(D, J); + 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 = +h[F >> 3]; + m = +h[G >> 3]; + k = +h[q >> 3]; + i = +h[G + 8 >> 3]; + g = +h[I >> 3]; + j = (c[H >> 2] | 0) == 0 + } + o = m + n; + h[b + 384 >> 3] = o; + P = i + k; + h[b + 392 >> 3] = P; + N = m + n + g; + h[b + 400 >> 3] = N; + Q = +h[I + 8 >> 3]; + n = i + k + Q; + h[b + 408 >> 3] = n; + m = +h[b + 352 >> 3]; + h[b + 320 >> 3] = g / m; + h[b + 328 >> 3] = Q / m; + m = +h[s >> 3]; + o = o * .013888888888888888 * m; + f = b + 456 | 0; + c[f >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + o = +h[t >> 3]; + k = P * .013888888888888888 * o; + c[b + 460 >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + m = N * .013888888888888888 * m; + e = b + 464 | 0; + c[e >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + o = n * .013888888888888888 * o; + c[b + 468 >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + if (!j) { + c[J >> 2] = c[f >> 2]; + c[J + 4 >> 2] = c[f + 4 >> 2]; + yG(K, J); + I = K; + K = c[I + 4 >> 2] | 0; + b = f; + c[b >> 2] = c[I >> 2]; + c[b + 4 >> 2] = K; + c[J >> 2] = c[e >> 2]; + c[J + 4 >> 2] = c[e + 4 >> 2]; + yG(L, J); + b = L; + K = c[b + 4 >> 2] | 0; + L = e; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = K + } + l = M; + return + } + + function NG(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0; + c = +h[b >> 3]; + h[a >> 3] = +h[b + 8 >> 3]; + h[a + 8 >> 3] = c; + return + } + + function OG(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = (d << 24 >> 24) + -66 | 0; + switch (d >>> 1 | d << 31 | 0) { + case 9: { + c[b + 176 >> 2] = (c[b + 168 >> 2] | 0) + -1; + b = 0; + d = -1; + break + } + case 0: { + b = 0; + d = 1; + break + } + case 5: { + b = 1; + d = 0; + break + } + case 8: { + c[b + 172 >> 2] = (c[b + 164 >> 2] | 0) + -1; + b = -1; + d = 0; + break + } + default: { + b = 0; + d = 0 + } + } + c[a >> 2] = b; + c[a + 4 >> 2] = d; + return + } + + function PG(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + g = j; + f = xx(d, 97947) | 0; + i = b + 296 | 0; + c[i >> 2] = (f | 0) == 0 ? 97956 : f; + d = xx(d, 97960) | 0; + f = b + 300 | 0; + d = (d | 0) == 0 ? 97973 : d; + c[f >> 2] = d; + d = q1(c[i >> 2] | 0, d) | 0; + if (d | 0) { + c[g >> 2] = a[d >> 0]; + Pw(0, 97975, g) | 0; + c[f >> 2] = 191979 + } + d = n1(e) | 0; + c[b + 304 >> 2] = d; + h = b + 308 | 0; + f = 0; + b = 0; + while (1) { + e = k1(d, c[i >> 2] | 0) | 0; + if (!e) break; + g = b + 1 | 0; + if ((b | 0) < (f | 0)) d = c[h >> 2] | 0; else { + f = f + 128 | 0; + d = c[h >> 2] | 0; + if (!d) d = vH(f << 2) | 0; else d = xH(d, f << 2) | 0; + c[h >> 2] = d + } + c[d + (g << 2) >> 2] = e; + b = g; + d = 0 + } + if (b | 0) { + i = xH(c[h >> 2] | 0, (b << 2) + 8 | 0) | 0; + c[h >> 2] = i; + c[i >> 2] = 0; + c[(c[h >> 2] | 0) + (b + 1 << 2) >> 2] = 0 + } + l = j; + return b | 0 + } + + function QG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k; + i = a + 312 | 0; + d = vH((c[i >> 2] << 2) + 8 | 0) | 0; + e = 0; + h = 1; + while (1) { + g = c[i >> 2] | 0; + if ((h | 0) > (g | 0)) break; + f = e + 1 | 0; + if ((fG(a, h, g, b) | 0) << 24 >> 24) { + c[d + (f << 2) >> 2] = h; + e = f + } + h = h + 1 | 0 + } + if (!e) { + c[j >> 2] = b; + Pw(0, 97846, j) | 0; + D_(d); + d = 0 + } else { + c[d >> 2] = e; + c[d + (e + 1 << 2) >> 2] = (c[i >> 2] | 0) + 1 + } + l = k; + return d | 0 + } + + function RG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0; + d = c[b + 16 >> 2] | 0; + g = +h[d + 16 >> 3]; + h[d + 48 >> 3] = g - +h[d + 88 >> 3]; + e = +h[d + 24 >> 3]; + f = +h[d + 80 >> 3] * .5; + h[d + 56 >> 3] = e - f; + h[d + 64 >> 3] = +h[d + 96 >> 3] + g; + h[d + 72 >> 3] = f + e; + b = Ex(a, b) | 0; + while (1) { + if (!b) break; + SG(b); + b = Gx(a, b) | 0 + } + return + } + + function SG(a) { + a = a | 0; + a = c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0; + if (a | 0) TG(a); + return + } + + function TG(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0; + C = l; + l = l + 240 | 0; + v = C + 192 | 0; + u = C + 176 | 0; + w = C + 64 | 0; + x = C + 32 | 0; + y = C; + z = C + 144 | 0; + A = C + 112 | 0; + B = a + 4 | 0; + if ((c[B >> 2] | 0) <= 0) qa(98114, 96880, 3994, 98128); + b = c[a >> 2] | 0; + d = w; + e = b; + f = d + 48 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + d = v; + e = b; + f = d + 48 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + UG(x, v); + i = x + 8 | 0; + j = y + 8 | 0; + k = x + 16 | 0; + m = y + 16 | 0; + n = x + 24 | 0; + o = y + 24 | 0; + p = w + 8 | 0; + q = w + 12 | 0; + r = w + 32 | 0; + s = w + 4 | 0; + t = w + 16 | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[B >> 2] | 0)) break; + if ((g | 0) > 0) { + b = (c[a >> 2] | 0) + (g * 48 | 0) | 0; + d = w; + e = b; + f = d + 48 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + d = v; + e = b; + f = d + 48 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + UG(y, v); + h[x >> 3] = +h[(+h[x >> 3] < +h[y >> 3] ? x : y) >> 3]; + h[i >> 3] = +h[(+h[i >> 3] < +h[j >> 3] ? x : y) + 8 >> 3]; + h[k >> 3] = +h[(+h[k >> 3] > +h[m >> 3] ? x : y) + 16 >> 3]; + h[n >> 3] = +h[(+h[n >> 3] > +h[o >> 3] ? x : y) + 24 >> 3] + } + b = c[p >> 2] | 0; + if (b | 0) { + f = c[w >> 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[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]; + JE(z, u, v, 1.0, b); + 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]; + h[x >> 3] = +h[(+h[x >> 3] < +h[y >> 3] ? x : y) >> 3]; + h[i >> 3] = +h[(+h[i >> 3] < +h[j >> 3] ? x : y) + 8 >> 3]; + h[k >> 3] = +h[(+h[k >> 3] > +h[m >> 3] ? x : y) + 16 >> 3]; + h[n >> 3] = +h[(+h[n >> 3] > +h[o >> 3] ? x : y) + 24 >> 3] + } + b = c[q >> 2] | 0; + if (b | 0) { + f = (c[w >> 2] | 0) + ((c[s >> 2] | 0) + -1 << 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]; + 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]; + JE(A, u, v, 1.0, b); + 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]; + c[y + 16 >> 2] = c[A + 16 >> 2]; + c[y + 20 >> 2] = c[A + 20 >> 2]; + c[y + 24 >> 2] = c[A + 24 >> 2]; + c[y + 28 >> 2] = c[A + 28 >> 2]; + h[x >> 3] = +h[(+h[x >> 3] < +h[y >> 3] ? x : y) >> 3]; + h[i >> 3] = +h[(+h[i >> 3] < +h[j >> 3] ? x : y) + 8 >> 3]; + h[k >> 3] = +h[(+h[k >> 3] > +h[m >> 3] ? x : y) + 16 >> 3]; + h[n >> 3] = +h[(+h[n >> 3] > +h[o >> 3] ? x : y) + 24 >> 3] + } + g = g + 1 | 0 + } + B = a + 8 | 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]; + l = C; + return + } + + function UG(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, + s = 0.0, t = 0; + n = l; + l = l + 48 | 0; + i = n + 32 | 0; + j = n; + k = c[b + 4 >> 2] | 0; + if ((k | 0) <= 0) qa(98144, 96880, 3968, 98156); + if (((k >>> 0) % 3 | 0 | 0) != 1) qa(98166, 96880, 3969, 98156); + m = j + 16 | 0; + d = c[b >> 2] | 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[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + e = i + 8 | 0; + f = j + 8 | 0; + g = j + 24 | 0; + b = 1; + while (1) { + if ((b | 0) >= (k | 0)) break; + p = +h[d + (b << 4) + 8 >> 3]; + t = b + 1 | 0; + o = +h[d + (t << 4) + 8 >> 3]; + r = (+h[d + (t << 4) >> 3] + +h[d + (b << 4) >> 3]) * .5; + h[i >> 3] = r; + p = (o + p) * .5; + h[e >> 3] = p; + o = +h[(+h[j >> 3] < r ? j : i) >> 3]; + h[j >> 3] = o; + s = +h[(+h[f >> 3] < p ? j : i) + 8 >> 3]; + h[f >> 3] = s; + r = +h[(+h[m >> 3] > r ? m : i) >> 3]; + h[m >> 3] = r; + p = +h[(+h[g >> 3] > p ? m : i) + 8 >> 3]; + h[g >> 3] = p; + t = d + (b + 2 << 4) | 0; + c[i >> 2] = c[t >> 2]; + c[i + 4 >> 2] = c[t + 4 >> 2]; + c[i + 8 >> 2] = c[t + 8 >> 2]; + c[i + 12 >> 2] = c[t + 12 >> 2]; + q = +h[i >> 3]; + h[j >> 3] = +h[(o < q ? j : i) >> 3]; + o = +h[e >> 3]; + h[f >> 3] = +h[(s < o ? j : i) + 8 >> 3]; + h[m >> 3] = +h[(r > q ? m : i) >> 3]; + h[g >> 3] = +h[(p > o ? m : i) + 8 >> 3]; + b = b + 3 | 0 + } + c[a >> 2] = c[j >> 2]; + c[a + 4 >> 2] = c[j + 4 >> 2]; + c[a + 8 >> 2] = c[j + 8 >> 2]; + c[a + 12 >> 2] = c[j + 12 >> 2]; + c[a + 16 >> 2] = c[j + 16 >> 2]; + c[a + 20 >> 2] = c[j + 20 >> 2]; + c[a + 24 >> 2] = c[j + 24 >> 2]; + c[a + 28 >> 2] = c[j + 28 >> 2]; + l = n; + return + } + + function VG(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0, l = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, + q = 0.0, r = 0.0; + q = +h[a >> 3]; + r = +h[c >> 3]; + k = !(q >= r); + if ((!k ? q <= +h[c + 16 >> 3] : 0) ? (e = +h[a + 8 >> 3], e >= +h[c + 8 >> 3]) : 0) i = e <= +h[c + 24 >> 3]; else i = 0; + e = +h[b >> 3]; + if ((e >= r ? e <= +h[c + 16 >> 3] : 0) ? (f = +h[b + 8 >> 3], f >= +h[c + 8 >> 3]) : 0) { + d = f <= +h[c + 24 >> 3]; + if (!(i ^ d)) if (i & d) d = 1; else l = 11; else d = 0 + } else if (i) d = 0; else l = 11; + a:do if ((l | 0) == 11) { + p = +h[a + 8 >> 3]; + do if (q == e) { + r = +h[c + 8 >> 3]; + if (!(k | p >= r ^ +h[b + 8 >> 3] >= r ^ 1) ? q <= +h[c + 16 >> 3] : 0) { + d = 0; + break a + } + } else { + j = +h[b + 8 >> 3]; + if (p == j) { + if (!(q >= r ^ e >= r)) break; + if (!(p >= +h[c + 8 >> 3])) break; + if (!(p <= +h[c + 24 >> 3])) break; else { + d = 0; + break a + } + } + o = (j - p) / (e - q); + l = q < e; + g = l ? q : e; + e = l ? e : q; + f = (r - q) * o + p; + m = +h[c + 8 >> 3]; + if (!(!(r >= g) | !(r <= e) | !(f >= m)) ? f <= +h[c + 24 >> 3] : 0) { + d = 0; + break a + } + n = +h[c + 16 >> 3]; + f = (n - r) * o + f; + if (f >= m ? !(!(n <= e) | (n >= g ? !(f <= +h[c + 24 >> 3]) : 1)) : 0) { + d = 0; + break a + } + l = p < j; + g = l ? p : j; + f = l ? j : p; + e = (m - p) / o + q; + if (e >= r ? !(!(m <= f) | (!(m >= g) | !(e <= n))) : 0) { + d = 0; + break a + } + p = +h[c + 24 >> 3]; + q = (p - m) / o + e; + if (q >= r ? !(!(p <= f) | (!(p >= g) | !(q <= n))) : 0) { + d = 0; + break a + } + } while (0); + d = -1 + } while (0); + return d | 0 + } + + function WG(a) { + a = a | 0; + var b = 0, c = 0.0; + b = a + 16 | 0; + c = +h[b >> 3]; + h[a + 32 >> 3] = c; + h[a + 48 >> 3] = c; + h[a + 40 >> 3] = +h[a + 24 >> 3]; + h[a + 56 >> 3] = +h[a + 8 >> 3]; + h[b >> 3] = +h[a >> 3]; + return + } + + function XG(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0.0; + if ((c[46360] | 0) != (d | 0)) { + w$(+(d | 0) * .15915494309189535, 183248, 183256); + c[46360] = d + } + g = +h[b >> 3]; + e = +h[22907]; + f = +h[b + 8 >> 3]; + i = +h[22906]; + h[a >> 3] = e * g - i * f; + h[a + 8 >> 3] = i * g + f * e; + return + } + + function YG(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + f = k; + e = +h[b >> 3]; + i = b + 8 | 0; + g = +h[i >> 3]; + a:do switch (d | 0) { + case 0: { + j = 11; + break + } + case 90: { + h[b >> 3] = g; + e = -e; + j = 10; + break + } + case 180: { + e = -g; + j = 10; + break + } + case 270: { + h[b >> 3] = g; + j = 10; + break + } + default: { + if ((d | 0) < 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]; + ZG(a, f, 0 - d | 0); + break a + } + if ((d | 0) > 360) { + 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]; + YG(a, f, (d >>> 0) % 360 | 0); + break a + } else { + 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]; + XG(a, f, d); + break a + } + } + } while (0); + if ((j | 0) == 10) { + h[i >> 3] = e; + j = 11 + } + if ((j | 0) == 11) { + c[a >> 2] = c[b >> 2]; + c[a + 4 >> 2] = c[b + 4 >> 2]; + c[a + 8 >> 2] = c[b + 8 >> 2]; + c[a + 12 >> 2] = c[b + 12 >> 2] + } + l = k; + return + } + + function ZG(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + f = k; + e = +h[b >> 3]; + i = b + 8 | 0; + g = +h[i >> 3]; + a:do switch (d | 0) { + case 0: { + j = 11; + break + } + case 90: { + h[b >> 3] = -g; + j = 10; + break + } + case 180: { + e = -g; + j = 10; + break + } + case 270: { + h[b >> 3] = g; + j = 10; + break + } + default: { + if ((d | 0) < 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]; + YG(a, f, 0 - d | 0); + break a + } + if ((d | 0) > 360) { + 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]; + ZG(a, f, (d >>> 0) % 360 | 0); + break a + } else { + 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]; + XG(a, f, 360 - d | 0); + break a + } + } + } while (0); + if ((j | 0) == 10) { + h[i >> 3] = e; + j = 11 + } + if ((j | 0) == 11) { + c[a >> 2] = c[b >> 2]; + c[a + 4 >> 2] = c[b + 4 >> 2]; + c[a + 8 >> 2] = c[b + 8 >> 2]; + c[a + 12 >> 2] = c[b + 12 >> 2] + } + l = k; + return + } + + function _G(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0; + g = +h[c >> 3]; + d = +h[c + 8 >> 3]; + f = d + +h[b >> 3]; + e = g + +h[b + 24 >> 3]; + d = d + +h[b + 16 >> 3]; + h[a >> 3] = g + +h[b + 8 >> 3]; + h[a + 8 >> 3] = f; + h[a + 16 >> 3] = e; + h[a + 24 >> 3] = d; + return + } + + function $G(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0; + f = +h[a >> 3]; + d = +h[b >> 3] - f; + g = +h[a + 8 >> 3]; + e = +h[b + 8 >> 3] - g; + f = (+h[c + 8 >> 3] - g) * d - (+h[c >> 3] - f) * e; + f = f * f; + return +(f < 1.0e-10 ? 0.0 : f / (e * e + d * d)) + } + + function aH(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g + 8 | 0; + e = g; + a = xx(a, b) | 0; + if (a | 0 ? (c[f >> 2] = e, (N1(a, 98183, f) | 0) > 0) : 0) h[d >> 3] = +h[e >> 3]; + l = g; + return + } + + function bH(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + g = n + 8 | 0; + i = n; + e = uH(96) | 0; + m = b + 16 | 0; + c[(c[m >> 2] | 0) + 8 >> 2] = e; + e = xx(b, 98187) | 0; + if (!e) { + e = Ta(98196) | 0; + if (e | 0) k = 3 + } else k = 3; + if ((k | 0) == 3) cb(98208, e | 0, 1) | 0; + e = (cH(b) | 0) & 255; + a[(c[m >> 2] | 0) + 115 >> 0] = e; + if (0 == 0 ? (e = xx(b, 98219) | 0, c[46362] = e, (e | 0) == 0) : 0) c[46362] = c[46361]; + f = +LL(b, nx(b, 0, 98229, 0) | 0, 0.0, 0.0); + h[c[(c[m >> 2] | 0) + 8 >> 2] >> 3] = f; + e = xx(b, 98237) | 0; + a:do if (!e) e = 0; else { + switch (a[e >> 0] | 0) { + case 76: { + if (!(b$(e, 98245) | 0)) { + e = 1; + break a + } + break + } + case 66: { + if (!(b$(e, 98248) | 0)) { + e = 2; + break a + } + break + } + case 82: { + e = (b$(e, 98251) | 0) == 0; + e = e ? 3 : 0; + break a + } + default: { + e = 0; + break a + } + } + e = 0 + } while (0); + c[(c[m >> 2] | 0) + 116 >> 2] = e << 2 | (d << 24 >> 24 == 0 ? 0 : e); + f = +LL(b, nx(b, 0, 98254, 0) | 0, .25, .02); + h[i >> 3] = f; + f = f * 72.0; + c[(c[m >> 2] | 0) + 248 >> 2] = ~~(f + (f >= 0.0 ? .5 : -.5)); + e = NL(b, nx(b, 0, 98262, 0) | 0, 0) | 0; + if (e) { + c[g >> 2] = i; + if (N1(e, 98183, g) | 0) { + f = +h[i >> 3]; + if (f < .02) { + h[i >> 3] = .02; + f = .02 + } + } else { + h[i >> 3] = .5; + f = .5 + } + if (P0(e, 98270) | 0) a[(c[m >> 2] | 0) + 276 >> 0] = 1 + } else { + h[i >> 3] = .5; + f = .5 + } + f = f * 72.0; + c[(c[m >> 2] | 0) + 252 >> 2] = ~~(f + (f >= 0.0 ? .5 : -.5)); + i = (KL(b, nx(b, 0, 98278, 0) | 0, 0, 0) | 0) & 255; + a[(c[m >> 2] | 0) + 243 >> 0] = i; + i = aM(NL(b, nx(b, 0, 98288, 0) | 0, 0) | 0, 20572, 20588) | 0; + c[(c[m >> 2] | 0) + 244 >> 2] = i; + dH(b); + i = eH(b, 98298, (c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 64 | 0) | 0; + e = c[(c[m >> 2] | 0) + 8 >> 2] | 0; + a[e + 80 >> 0] = i; + eH(b, 98303, e + 48 | 0) | 0; + e = QL(xx(b, 98308) | 0) | 0; + a[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 82 >> 0] = e; + e = xx(b, 98315) | 0; + do if (!e) { + e = xx(b, 98322) | 0; + if (e | 0) { + e = (a[e >> 0] | 32) << 24 >> 24 == 108 & 1; + k = 27; + break + } + e = xx(b, 98334) | 0; + if (e | 0) { + e = QL(e) | 0; + k = 27 + } + } else { + e = (a2(e) | 0) == 90 & 1; + k = 27 + } while (0); + if ((k | 0) == 27) a[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 81 >> 0] = e; + c[46364] = aM(xx(b, 98344) | 0, 20604, 20620) | 0; + a[191874] = QL(xx(b, 98356) | 0) | 0; + c[46367] = 0; + c[46368] = 0; + h[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 24 >> 3] = 0.0; + e = xx(b, 98368) | 0; + if ((e | 0) != 0 ? (a[e >> 0] | 0) != 0 : 0) k = 32; else k = 30; + if (((k | 0) == 30 ? (j = xx(b, 98372) | 0, j | 0) : 0) ? a[j >> 0] | 0 : 0) { + e = j; + k = 32 + } + if ((k | 0) == 32) { + f = +b2(e); + h[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 24 >> 3] = f + } + fH(b); + h[22910] = 1.e+37; + c[46370] = nx(b, 0, 98383, 0) | 0; + c[46373] = nx(b, 0, 137952, 0) | 0; + c[46374] = nx(b, 0, 102470, 0) | 0; + c[46375] = nx(b, 1, 137966, 0) | 0; + c[46376] = nx(b, 1, 138034, 0) | 0; + c[46377] = nx(b, 1, 105204, 0) | 0; + c[46378] = nx(b, 1, 137741, 0) | 0; + c[46379] = nx(b, 1, 98392, 0) | 0; + c[46387] = nx(b, 1, 138e3, 0) | 0; + c[46380] = nx(b, 1, 98402, 0) | 0; + c[46381] = nx(b, 1, 98411, 0) | 0; + c[46382] = nx(b, 1, 98420, 0) | 0; + k = nx(b, 1, 105198, 0) | 0; + c[46384] = k; + if (!k) c[46384] = nx(b, 1, 105198, 102467) | 0; + c[46385] = nx(b, 1, 98430, 0) | 0; + c[46388] = nx(b, 1, 98278, 0) | 0; + c[46402] = nx(b, 1, 98437, 0) | 0; + c[46391] = nx(b, 1, 98383, 0) | 0; + c[46383] = nx(b, 1, 102470, 0) | 0; + c[46389] = nx(b, 1, 137994, 0) | 0; + c[46390] = nx(b, 1, 98446, 0) | 0; + c[46393] = nx(b, 1, 98458, 0) | 0; + c[46392] = nx(b, 1, 98322, 0) | 0; + c[46394] = nx(b, 1, 98463, 0) | 0; + c[46395] = nx(b, 1, 137942, 0) | 0; + c[46396] = nx(b, 1, 134215, 0) | 0; + c[46386] = nx(b, 1, 98474, 0) | 0; + c[46397] = nx(b, 1, 98484, 0) | 0; + c[46398] = nx(b, 1, 98490, 0) | 0; + c[46399] = nx(b, 1, 98496, 0) | 0; + c[46400] = nx(b, 1, 98504, 0) | 0; + c[46401] = nx(b, 1, 98513, 0) | 0; + c[46403] = nx(b, 1, 137952, 0) | 0; + c[46404] = nx(b, 2, 98515, 0) | 0; + c[46406] = nx(b, 2, 137741, 0) | 0; + c[46407] = nx(b, 2, 98392, 0) | 0; + c[46409] = nx(b, 2, 98402, 0) | 0; + c[46410] = nx(b, 2, 98411, 0) | 0; + c[46411] = nx(b, 2, 98420, 0) | 0; + c[46412] = nx(b, 2, 105198, 0) | 0; + c[46413] = nx(b, 2, 98430, 0) | 0; + c[46422] = nx(b, 2, 98522, 0) | 0; + c[46414] = nx(b, 2, 98533, 0) | 0; + c[46425] = nx(b, 2, 98537, 0) | 0; + c[46426] = nx(b, 2, 98547, 0) | 0; + c[46427] = nx(b, 2, 98557, 0) | 0; + c[46428] = nx(b, 2, 98567, 0) | 0; + c[46429] = nx(b, 2, 98577, 0) | 0; + c[46430] = nx(b, 2, 98591, 0) | 0; + c[46431] = nx(b, 2, 98605, 0) | 0; + c[46432] = nx(b, 2, 98620, 0) | 0; + c[46433] = nx(b, 2, 98634, 0) | 0; + c[46405] = nx(b, 2, 98645, 0) | 0; + c[46417] = nx(b, 2, 98278, 0) | 0; + c[46415] = nx(b, 2, 138e3, 0) | 0; + c[46416] = nx(b, 2, 98652, 0) | 0; + c[46418] = nx(b, 2, 98661, 0) | 0; + c[46419] = nx(b, 2, 98671, 0) | 0; + c[46420] = nx(b, 2, 98484, 0) | 0; + c[46421] = nx(b, 2, 98496, 0) | 0; + c[46434] = nx(b, 2, 98682, 0) | 0; + c[46435] = nx(b, 2, 98691, 0) | 0; + c[46436] = nx(b, 2, 98437, 0) | 0; + e = ME(b) | 0; + c[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 88 >> 2] = e; + e = xx(b, 137978) | 0; + if (e | 0 ? a[e >> 0] | 0 : 0) { + b = pH(e, b) | 0; + c[(c[(c[m >> 2] | 0) + 8 >> 2] | 0) + 92 >> 2] = b + } + l = n; + return + } + + function cH(a) { + a = a | 0; + var b = 0, d = 0; + d = l; + l = l + 16 | 0; + b = d; + a = OL(a, nx(a, 0, 98781, 0) | 0, 98789) | 0; + if (((((((O$(a, 98795) | 0) != 0 ? (O$(a, 98803) | 0) != 0 : 0) ? (O$(a, 98810) | 0) != 0 : 0) ? (O$(a, 98813) | 0) != 0 : 0) ? (O$(a, 98824) | 0) != 0 : 0) ? (O$(a, 98835) | 0) != 0 : 0) ? (O$(a, 98845) | 0) != 0 : 0) if ((O$(a, 98856) | 0) != 0 ? (O$(a, 98862) | 0) != 0 : 0) if ((O$(a, 98789) | 0) != 0 ? (O$(a, 98867) | 0) != 0 : 0) { + c[b >> 2] = a; + Pw(0, 98872, b) | 0; + a = 0 + } else a = 0; else a = 2; else a = 1; + l = d; + return a | 0 + } + + function dH(b) { + b = b | 0; + var d = 0.0, e = 0, f = 0; + e = xx(b, 98739) | 0; + a:do if (e | 0 ? (f = a[e >> 0] | 0, f << 24 >> 24) : 0) switch (f << 24 >> 24 | 0) { + case 97: { + if (f << 24 >> 24 != 97) break a; + if (b$(e, 98745) | 0) break a; + c[(c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) + 84 >> 2] = 4; + break a + } + case 99: { + if (f << 24 >> 24 != 99) break a; + if (b$(e, 98750) | 0) break a; + c[(c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) + 84 >> 2] = 3; + break a + } + case 101: { + if (f << 24 >> 24 != 101) break a; + if (b$(e, 98759) | 0) break a; + c[(c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) + 84 >> 2] = 5; + break a + } + case 102: { + if (f << 24 >> 24 != 102) break a; + if (b$(e, 98766) | 0) break a; + c[(c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) + 84 >> 2] = 2; + break a + } + default: { + d = +b2(e); + if (!(d > 0.0)) break a; + b = c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0; + c[b + 84 >> 2] = 1; + h[b + 16 >> 3] = d; + break a + } + } while (0); + return + } + + function eH(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 48 | 0; + m = o + 32 | 0; + i = o + 16 | 0; + k = o + 8 | 0; + j = o; + n = o + 40 | 0; + a[n >> 0] = 0; + b = xx(b, d) | 0; + do if (b) { + c[i >> 2] = k; + c[i + 4 >> 2] = j; + c[i + 8 >> 2] = n; + i = (N1(b, 98723, i) | 0) > 1; + g = +h[k >> 3]; + f = +h[j >> 3]; + if (i & g > 0.0 & f > 0.0) { + g = g * 72.0; + h[e >> 3] = +(~~(g + (g >= 0.0 ? .5 : -.5)) | 0); + g = f * 72.0; + h[e + 8 >> 3] = +(~~(g + (g >= 0.0 ? .5 : -.5)) | 0); + b = (a[n >> 0] | 0) == 33; + break + } + a[n >> 0] = 0; + c[m >> 2] = k; + c[m + 4 >> 2] = n; + m = (N1(b, 98733, m) | 0) > 0; + f = +h[k >> 3]; + if (m & f > 0.0) { + g = f * 72.0; + g = +(~~(g + (g >= 0.0 ? .5 : -.5)) | 0); + h[e >> 3] = g; + h[e + 8 >> 3] = g; + b = (a[n >> 0] | 0) == 33 + } else b = 0 + } else b = 0; while (0); + l = o; + return b & 1 | 0 + } + + function fH(b) { + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0; + d = xx(b, 105198) | 0; + do if (d | 0 ? a[d >> 0] | 0 : 0) { + e = (c[(c[b + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 | 0; + a[e >> 0] = a[e >> 0] | 8; + e = (Rz(d) | 0) != 0; + g = +LL(b, nx(b, 0, 98402, 0) | 0, 14.0, 1.0); + i = OL(b, nx(b, 0, 98411, 0) | 0, 104968) | 0; + d = kH(b, d, e ? 2 : 0, g, i, OL(b, nx(b, 0, 98420, 0) | 0, 134232) | 0) | 0; + i = b + 16 | 0; + c[(c[i >> 2] | 0) + 12 >> 2] = d; + d = xx(b, 102602) | 0; + e = (d | 0) != 0; + do if ((fz(b) | 0) == (b | 0)) { + if (e ? (a[d >> 0] | 0) == 116 : 0) { + d = 1; + break + } + d = 0 + } else { + if (e ? (a[d >> 0] | 0) == 98 : 0) { + d = 0; + break + } + d = 1 + } while (0); + e = xx(b, 98700) | 0; + a:do if (e) switch (a[e >> 0] | 0) { + case 108: { + d = d | 2; + break a + } + case 114: { + d = d | 4; + break a + } + default: + break a + } while (0); + a[(c[i >> 2] | 0) + 275 >> 0] = d; + if ((fz(b) | 0) != (b | 0)) { + d = c[(c[i >> 2] | 0) + 12 >> 2] | 0; + f = +h[d + 24 >> 3] + 16.0; + g = +h[d + 32 >> 3] + 8.0; + b = (c[(c[(fz(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + d = c[i >> 2] | 0; + e = a[d + 275 >> 0] << 1 & 2; + if (b) { + b = e & 255; + h[d + 48 + (b << 4) >> 3] = f; + h[d + 48 + (b << 4) + 8 >> 3] = g; + break + } else { + b = (e ^ 3) & 255; + h[d + 48 + (b << 4) >> 3] = g; + h[d + 48 + (b << 4) + 8 >> 3] = f; + break + } + } + } while (0); + return + } + + function gH(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 16 | 0; + d = c[e >> 2] | 0; + b = c[d + 8 >> 2] | 0; + do if (!b) b = d; else { + d = c[b + 88 >> 2] | 0; + if (d) { + pE(d); + d = c[e >> 2] | 0; + b = c[d + 8 >> 2] | 0; + if (!b) { + b = d; + break + } + } + D_(c[b + 92 >> 2] | 0); + b = c[e >> 2] | 0 + } while (0); + D_(c[b + 8 >> 2] | 0); + e = c[e >> 2] | 0; + c[e + 8 >> 2] = 0; + nH(c[e + 12 >> 2] | 0); + Gz(a, 0, 134401); + return + } + + function hH(a) { + a = a | 0; + var b = 0, d = 0; + d = l; + l = l + 16 | 0; + b = d; + switch (a | 0) { + case 0: { + a = 98945; + break + } + case 1: { + a = 98813; + break + } + case 2: { + a = 98951; + break + } + default: { + c[b >> 2] = a; + Pw(1, 98915, b) | 0; + a = 98945 + } + } + l = d; + return a | 0 + } + + function iH(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + f = c[d >> 2] | 0; + l = d + 24 | 0; + c[l >> 2] = 0; + c[l + 4 >> 2] = 0; + c[l + 8 >> 2] = 0; + c[l + 12 >> 2] = 0; + if (a[f >> 0] | 0) { + i = vH((W_(f) | 0) + 1 | 0) | 0; + a[i >> 0] = 0; + j = d + 12 | 0; + e = i; + a:while (1) { + b:while (1) { + h = f + 1 | 0; + g = a[f >> 0] | 0; + if (!(g << 24 >> 24)) break a; + if (!(g << 24 >> 24 == -1 | ((g & 255) < 161 | (c[j >> 2] | 0) != 2))) { + a[e >> 0] = g; + h = a[h >> 0] | 0; + g = e + 2 | 0; + a[e + 1 >> 0] = h; + if (!(h << 24 >> 24)) { + e = g; + break a + } else { + e = g; + f = f + 2 | 0; + continue + } + } + switch (g << 24 >> 24) { + case 92: + break b; + case 10: { + k = 12; + break b + } + default: { + } + } + a[e >> 0] = g; + e = e + 1 | 0; + f = h + } + if ((k | 0) == 12) { + k = 0; + f = e + 1 | 0; + a[e >> 0] = 0; + jH(b, d, i, 110); + e = f; + i = f; + f = h; + continue + } + g = a[h >> 0] | 0; + switch (g << 24 >> 24 | 0) { + case 114: + case 108: + case 110: { + g = e + 1 | 0; + a[e >> 0] = 0; + jH(b, d, i, a[h >> 0] | 0); + e = g; + break + } + default: { + a[e >> 0] = g; + e = e + 1 | 0; + g = i + } + } + i = g; + f = (a[h >> 0] | 0) == 0 ? h : f + 2 | 0 + } + if ((i | 0) != (e | 0)) { + a[e >> 0] = 0; + jH(b, d, i, 110) + } + d = d + 40 | 0; + c[d >> 2] = c[l >> 2]; + c[d + 4 >> 2] = c[l + 4 >> 2]; + c[d + 8 >> 2] = c[l + 8 >> 2]; + c[d + 12 >> 2] = c[l + 12 >> 2] + } + return + } + + function jH(d, e, f, g) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 32 | 0; + q = s + 16 | 0; + p = s; + r = e + 76 | 0; + k = b[r >> 1] | 0; + o = e + 72 | 0; + m = c[o >> 2] | 0; + if (!m) n = uH((k * 56 | 0) + 112 | 0) | 0; else n = wH(m, k + 2 | 0, 56, k + 1 | 0) | 0; + c[o >> 2] = n; + k = b[r >> 1] | 0; + m = n + (k * 56 | 0) | 0; + c[m >> 2] = f; + a[n + (k * 56 | 0) + 48 >> 0] = g; + if ((f | 0) != 0 ? (a[f >> 0] | 0) != 0 : 0) { + c[45824] = c[e + 4 >> 2]; + h[22914] = +h[e + 16 >> 3]; + g = c[d + 144 >> 2] | 0; + c[n + (k * 56 | 0) + 4 >> 2] = nb[c[g >> 2] & 63](g, 183296, 1) | 0; + wL(p, d, m); + j = +h[p >> 3]; + h[q >> 3] = j; + i = +h[p + 8 >> 3] + } else { + h[q >> 3] = 0.0; + i = +(~~(+h[e + 16 >> 3] * 1.2) | 0); + h[n + (k * 56 | 0) + 40 >> 3] = i; + j = 0.0 + } + b[r >> 1] = (b[r >> 1] | 0) + 1 << 16 >> 16; + r = e + 24 | 0; + h[r >> 3] = +h[(+h[r >> 3] > j ? r : q) >> 3]; + r = e + 32 | 0; + h[r >> 3] = +h[r >> 3] + i; + l = s; + return + } + + function kH(b, e, f, g, i, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = +g; + i = i | 0; + j = j | 0; + var k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 32 | 0; + r = u + 16 | 0; + q = u + 8 | 0; + p = u; + t = uH(88) | 0; + switch (pz(b) | 0) { + case 0: { + m = 0; + s = c[b + 60 >> 2] | 0; + n = b; + o = 0; + break + } + case 1: { + m = 0; + s = fz(ez(b) | 0) | 0; + n = 0; + o = b; + break + } + case 2: { + m = b; + s = fz(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0) | 0; + n = 0; + o = 0; + break + } + default: { + m = 0; + s = 0; + n = 0; + o = 0 + } + } + c[t + 4 >> 2] = i; + c[t + 8 >> 2] = j; + h[t + 16 >> 3] = g; + k = s + 16 | 0; + j = t + 12 | 0; + c[j >> 2] = d[(c[k >> 2] | 0) + 115 >> 0]; + a:do if (f & 4) { + c[t >> 2] = n1(e) | 0; + if (f & 2 | 0) a[t + 82 >> 0] = 1 + } else switch (f | 0) { + case 2: { + c[t >> 2] = n1(e) | 0; + a[t + 82 >> 0] = 1; + if (!(kR(b, t) | 0)) break a; + switch (pz(b) | 0) { + case 0: { + c[p >> 2] = ry(n) | 0; + Pw(3, 98957, p) | 0; + break a + } + case 1: { + c[q >> 2] = ry(o) | 0; + Pw(3, 98979, q) | 0; + break a + } + case 2: { + p = ry(c[((c[m >> 2] & 3 | 0) == 3 ? m : m + 48 | 0) + 40 >> 2] | 0) | 0; + q = (ey(s) | 0) != 0; + s = ry(c[((c[m >> 2] & 3 | 0) == 2 ? m : m + -48 | 0) + 40 >> 2] | 0) | 0; + c[r >> 2] = p; + c[r + 4 >> 2] = q ? 134656 : 138665; + c[r + 8 >> 2] = s; + Pw(3, 99e3, r) | 0; + break a + } + default: + break a + } + } + case 0: { + i = lH(e, b, 0) | 0; + c[t >> 2] = i; + if ((c[j >> 2] | 0) == 1) i = RM(i) | 0; else i = OM(i, s) | 0; + D_(c[t >> 2] | 0); + c[t >> 2] = i; + iH(c[(c[k >> 2] | 0) + 144 >> 2] | 0, t); + break a + } + default: + qa(99027, 99043, 166, 99052) + } while (0); + l = u; + return t | 0 + } + + function lH(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0; + switch (pz(d) | 0) { + case 0: { + i = ry(d) | 0; + g = W_(i) | 0; + f = c[(c[d + 16 >> 2] | 0) + 12 >> 2] | 0; + if (f) { + f = c[f >> 2] | 0; + if (!b) { + v = 0; + t = 2; + u = 2; + s = 2; + h = 2; + y = 99075; + m = 99072; + j = 102467; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = 2; + w = f; + x = 99069 + } else { + v = 0; + t = 2; + u = 2; + s = 2; + h = 2; + y = 99075; + m = 99072; + j = 102467; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = W_(f) | 0; + w = f; + x = 99069 + } + } else { + v = 0; + t = 2; + u = 2; + s = 2; + h = 2; + y = 99075; + m = 99072; + j = 102467; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = 2; + w = 99063; + x = 99069 + } + break + } + case 1: { + i = ry(ez(d) | 0) | 0; + g = W_(i) | 0; + j = ry(d) | 0; + h = W_(j) | 0; + f = c[(c[d + 16 >> 2] | 0) + 104 >> 2] | 0; + if (f) { + f = c[f >> 2] | 0; + if (!b) { + v = 0; + t = 2; + u = 2; + s = 2; + y = 99075; + m = 99072; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = 2; + w = f; + x = 99069 + } else { + v = 0; + t = 2; + u = 2; + s = 2; + y = 99075; + m = 99072; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = W_(f) | 0; + w = f; + x = 99069 + } + } else { + v = 0; + t = 2; + u = 2; + s = 2; + y = 99075; + m = 99072; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = 2; + w = 99063; + x = 99069 + } + break + } + case 2: { + h = d + 48 | 0; + i = ry(fz(ez(c[((c[d >> 2] & 3 | 0) == 3 ? d : h) + 40 >> 2] | 0) | 0) | 0) | 0; + g = W_(i) | 0; + l = ry(c[((c[d >> 2] & 3 | 0) == 3 ? d : h) + 40 >> 2] | 0) | 0; + k = W_(l) | 0; + f = d + 16 | 0; + q = c[(c[f >> 2] | 0) + 52 >> 2] | 0; + if (!q) r = 0; else r = W_(q) | 0; + m = ry(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0; + f = c[f >> 2] | 0; + o = c[f + 92 >> 2] | 0; + if (!o) p = 0; else p = W_(o) | 0; + j = W_(m) | 0; + f = c[f + 96 >> 2] | 0; + if (f) { + f = c[f >> 2] | 0; + if (!b) n = 2; else n = W_(f) | 0 + } else { + n = 2; + f = 99063 + } + x = (ey(fz(ez(c[((c[d >> 2] & 3 | 0) == 3 ? d : h) + 40 >> 2] | 0) | 0) | 0) | 0) == 0; + v = 1; + t = k; + u = j; + s = k + 2 + (r | 0 ? r + 1 | 0 : 0) + j + (p | 0 ? p + 1 | 0 : 0) | 0; + h = 2; + y = l; + j = 102467; + w = f; + x = x ? 138665 : 134656; + break + } + default: { + v = 0; + t = 2; + u = 2; + s = 2; + h = 2; + g = 2; + y = 99075; + m = 99072; + j = 102467; + i = 99066; + o = 191979; + q = 191979; + p = 0; + r = 0; + n = 2; + w = 99063; + x = 99069 + } + } + e = (e | 0) == 0; + l = 0; + f = b; + a:while (1) { + d = f + 1 | 0; + b:do switch (a[f >> 0] | 0) { + case 0: + break a; + case 92: { + f = f + 2 | 0; + switch (a[d >> 0] | 0) { + case 78: { + k = h; + break b + } + case 71: { + k = g; + break b + } + case 69: { + k = s; + break b + } + case 72: { + k = u; + break b + } + case 84: { + k = t; + break b + } + case 76: { + k = n; + break b + } + case 92: { + if (!e) { + k = 1; + break b + } + break + } + default: { + } + } + k = 2; + break + } + default: { + k = 1; + f = d + } + } while (0); + l = l + k | 0 + } + s = vH(l + 1 | 0) | 0; + n = (v | 0) == 0; + l = (r | 0) == 0; + d = (p | 0) == 0; + f = s; + g = b; + c:while (1) { + k = g + 1 | 0; + h = a[g >> 0] | 0; + switch (h << 24 >> 24) { + case 0: + break c; + case 92: + break; + default: { + a[f >> 0] = h; + f = f + 1 | 0; + g = k; + continue c + } + } + h = g + 2 | 0; + g = a[k >> 0] | 0; + switch (g << 24 >> 24 | 0) { + case 71: { + g = i; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } + g = g + 1 | 0; + f = f + 1 | 0 + } + } + case 78: { + g = j; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } + g = g + 1 | 0; + f = f + 1 | 0 + } + } + case 69: { + if (n) { + g = h; + continue c + } else g = y; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) break; + g = g + 1 | 0; + f = f + 1 | 0 + } + if (l) g = x; else { + a[f >> 0] = 58; + g = q; + while (1) { + f = f + 1 | 0; + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = x; + break + } else g = g + 1 | 0 + } + } + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = m; + break + } + g = g + 1 | 0; + f = f + 1 | 0 + } + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) break; + g = g + 1 | 0; + f = f + 1 | 0 + } + if (d) { + g = h; + continue c + } + a[f >> 0] = 58; + g = o; + while (1) { + f = f + 1 | 0; + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } else g = g + 1 | 0 + } + } + case 84: { + g = y; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } + g = g + 1 | 0; + f = f + 1 | 0 + } + } + case 72: { + g = m; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } + f = f + 1 | 0; + g = g + 1 | 0 + } + } + case 76: { + g = w; + while (1) { + b = a[g >> 0] | 0; + a[f >> 0] = b; + if (!(b << 24 >> 24)) { + g = h; + continue c + } + f = f + 1 | 0; + g = g + 1 | 0 + } + } + case 92: { + if (!e) { + a[f >> 0] = 92; + f = f + 1 | 0; + g = h; + continue c + } + break + } + default: { + } + } + a[f >> 0] = 92; + a[f + 1 >> 0] = g; + f = f + 2 | 0; + g = h + } + a[f >> 0] = 0; + return s | 0 + } + + function mH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if (a | 0) { + d = a; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + if (!e) D_(c[d >> 2] | 0); + g = c[d + 8 >> 2] | 0; + if (g | 0 ? (f = c[d + 12 >> 2] | 0, f | 0) : 0) tb[f & 127](g); + d = d + 56 | 0; + e = e + 1 | 0 + } + D_(a) + } + return + } + + function nH(d) { + d = d | 0; + var e = 0; + if (d | 0) { + D_(c[d >> 2] | 0); + e = d + 72 | 0; + if (a[d + 82 >> 0] | 0) { + e = c[e >> 2] | 0; + if (e | 0) XQ(e, 1) + } else mH(c[e >> 2] | 0, b[d + 76 >> 1] | 0); + D_(d) + } + return + } + + function oH(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 32 | 0; + q = u + 16 | 0; + r = u; + k = c[d + 16 >> 2] | 0; + s = k + 12 | 0; + t = c[s >> 2] | 0; + c[s >> 2] = e; + if (!(a[f + 82 >> 0] | 0)) { + p = f + 76 | 0; + if ((b[p >> 1] | 0) >= 1) { + RO(d, 0); + UO(d, c[f + 8 >> 2] | 0); + switch (a[f + 80 >> 0] | 0) { + case 116: { + j = +h[f + 64 >> 3]; + g = +h[f + 48 >> 3] * .5 + j; + break + } + case 98: { + j = +h[f + 64 >> 3]; + g = +h[f + 48 >> 3] * -.5 + j + +h[f + 32 >> 3]; + break + } + default: { + j = +h[f + 64 >> 3]; + g = +h[f + 32 >> 3] * .5 + j + } + } + g = g - +h[f + 16 >> 3]; + o = r + 8 | 0; + h[o >> 3] = g; + if (b[k + 260 >> 1] & 512) h[o >> 3] = g - j; + m = f + 72 | 0; + n = f + 56 | 0; + i = f + 40 | 0; + e = 0; + while (1) { + if ((e | 0) >= (b[p >> 1] | 0)) break; + k = c[m >> 2] | 0; + switch (a[k + (e * 56 | 0) + 48 >> 0] | 0) { + case 108: { + g = +h[n >> 3] - +h[i >> 3] * .5; + break + } + case 114: { + g = +h[i >> 3] * .5 + +h[n >> 3]; + break + } + default: + g = +h[n >> 3] + } + h[r >> 3] = g; + 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]; + TO(d, q, k + (e * 56 | 0) | 0); + h[o >> 3] = +h[o >> 3] - +h[(c[m >> 2] | 0) + (e * 56 | 0) + 40 >> 3]; + e = e + 1 | 0 + } + SO(d); + i = 18 + } + } else { + CQ(d, c[f + 72 >> 2] | 0, f); + i = 18 + } + if ((i | 0) == 18) c[s >> 2] = t; + l = u; + return + } + + function pH(a, b) { + a = a | 0; + b = b | 0; + return lH(a, b, 1) | 0 + } + + function qH(a) { + a = a | 0; + return rH(a, 0) | 0 + } + + function rH(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + e = c[46437] | 0; + if (!e) { + c[46438] = 64; + e = vH(64) | 0; + c[46437] = e + } + j = d << 24 >> 24 == 0; + i = 0; + f = 0; + h = b; + while (1) { + if (!h) break; + d = a[h >> 0] | 0; + if (!(d << 24 >> 24)) break; + b = c[46438] | 0; + if ((i | 0) > (b + -8 | 0)) { + e = b << 1; + c[46438] = e; + e = xH(c[46437] | 0, e) | 0; + c[46437] = e; + e = e + i | 0; + d = a[h >> 0] | 0 + } + a:do switch (d << 24 >> 24) { + case 38: { + if (j ? (sH(h) | 0) != 0 : 0) k = 18; else { + f = 5; + d = 99104 + } + break + } + case 60: { + f = 4; + d = 99127; + break + } + case 62: { + f = 4; + d = 99110; + break + } + case 45: { + f = 5; + d = 99121; + break + } + default: { + if ((f | 0) != 0 & d << 24 >> 24 == 32) if ((a[f >> 0] | 0) == 32) { + f = 6; + d = 99097; + break a + } else { + k = 18; + break a + } + switch (d << 24 >> 24) { + case 34: { + f = 6; + d = 99090; + break a + } + case 39: { + f = 5; + d = 99115; + break a + } + case 10: + if (j) { + k = 18; + break a + } else { + f = 5; + d = 99084; + break a + } + default: { + k = 18; + break a + } + } + } + } while (0); + if ((k | 0) == 18) { + k = 0; + d = j | d << 24 >> 24 != 13; + f = d ? 1 : 5; + d = d ? h : 99078 + } + g = e + f | 0; + b = f; + while (1) { + if (!b) break; + a[e >> 0] = a[d >> 0] | 0; + b = b + -1 | 0; + d = d + 1 | 0; + e = e + 1 | 0 + } + b = h; + i = f + i | 0; + e = g; + h = h + 1 | 0; + f = b + } + a[e >> 0] = 0; + return c[46437] | 0 + } + + function sH(b) { + b = b | 0; + var c = 0, d = 0; + d = b + 1 | 0; + c = a[d >> 0] | 0; + a:do if (c << 24 >> 24 == 35) { + d = b + 2 | 0; + c = a[d >> 0] | 0; + switch (c << 24 >> 24) { + case 88: + case 120: + break; + default: { + b = d; + while (1) { + d = b + 1 | 0; + if ((c + -48 & 255) >= 10) break a; + b = d; + c = a[d >> 0] | 0 + } + } + } + d = b + 3 | 0; + while (1) { + c = a[d >> 0] | 0; + if ((c + -48 & 255) >= 10) switch (c << 24 >> 24) { + case 65: + case 66: + case 67: + case 68: + case 69: + case 70: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + break; + default: + break a + } + d = d + 1 | 0 + } + } else while (1) { + b = d + 1 | 0; + if (((c & -33) + -65 & 255) >= 26) break a; + d = b; + c = a[b >> 0] | 0 + } while (0); + return c << 24 >> 24 == 59 | 0 + } + + function tH(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + d = c[46439] | 0; + if (!d) { + c[46440] = 64; + d = vH(64) | 0; + c[46439] = d; + i = 0 + } else i = 0; + while (1) { + if (!b) break; + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) break; + f = c[46440] | 0; + if ((i | 0) > (f + -8 | 0)) { + d = f << 1; + c[46440] = d; + d = xH(c[46439] | 0, d) | 0; + c[46439] = d; + d = d + i | 0; + e = a[b >> 0] | 0 + } + switch (e << 24 >> 24) { + case 38: { + if (!(sH(b) | 0)) { + g = 5; + e = 99104 + } else j = 12; + break + } + case 60: { + g = 4; + e = 99127; + break + } + case 62: { + g = 4; + e = 99110; + break + } + case 34: { + g = 6; + e = 99090; + break + } + case 39: { + g = 5; + e = 99115; + break + } + default: + j = 12 + } + if ((j | 0) == 12) { + j = 0; + g = 1; + e = b + } + h = d + g | 0; + f = g; + while (1) { + if (!f) break; + a[d >> 0] = a[e >> 0] | 0; + f = f + -1 | 0; + e = e + 1 | 0; + d = d + 1 | 0 + } + i = g + i | 0; + d = h; + b = b + 1 | 0 + } + a[d >> 0] = 0; + return c[46439] | 0 + } + + function uH(a) { + a = a | 0; + var b = 0; + if (!a) a = 0; else { + b = vH(a) | 0; + H3(b | 0, 0, a | 0) | 0; + a = b + } + return a | 0 + } + + function vH(a) { + a = a | 0; + if (a) { + a = C_(a) | 0; + if (!a) { + E1(108658, 14, 1, c[15686] | 0) | 0; + a = 0 + } + } else a = 0; + return a | 0 + } + + function wH(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = F_(a, O(d, b) | 0) | 0; + if (!((b | 0) != 0 & (a | 0) == 0)) { + if (b >>> 0 > e >>> 0) H3(a + (O(e, d) | 0) | 0, 0, O(b - e | 0, d) | 0) | 0 + } else E1(108658, 14, 1, c[15686] | 0) | 0; + return a | 0 + } + + function xH(a, b) { + a = a | 0; + b = b | 0; + a = F_(a, b) | 0; + if ((b | 0) != 0 & (a | 0) == 0) E1(108658, 14, 1, c[15686] | 0) | 0; + return a | 0 + } + + function ol(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, + G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0; + M = l; + l = l + 320 | 0; + H = M + 296 | 0; + G = M + 280 | 0; + x = M + 136 | 0; + w = M + 120 | 0; + n = M + 104 | 0; + i = M + 88 | 0; + f = M + 80 | 0; + E = M + 16 | 0; + z = M; + j = M + 264 | 0; + k = M + 248 | 0; + m = M + 232 | 0; + o = M + 216 | 0; + A = M + 200 | 0; + B = M + 184 | 0; + y = M + 168 | 0; + D = M + 152 | 0; + g = pl(xx(a, 87703) | 0, b) | 0; + q = pl(xx(a, 87709) | 0, b) | 0; + r = (q | 0) != 0; + b = (g | 0) != 0; + do if (b | r ? (L = a + 16 | 0, e = c[(c[L >> 2] | 0) + 8 >> 2] | 0, e | 0) : 0) { + if ((c[e + 4 >> 2] | 0) > 1) { + K = ry(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) | 0; + L = ry(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) | 0; + c[f >> 2] = K; + c[f + 4 >> 2] = L; + Pw(0, 87715, f) | 0; + break + } + I = c[e >> 2] | 0; + e = c[I + 4 >> 2] | 0; + p = c[a >> 2] & 3; + s = a + -48 | 0; + t = c[((p | 0) == 2 ? a : s) + 40 >> 2] | 0; + u = a + 48 | 0; + p = c[((p | 0) == 3 ? a : u) + 40 >> 2] | 0; + J = vH(48) | 0; + v = I + 12 | 0; + c[J + 12 >> 2] = c[v >> 2]; + C = I + 8 | 0; + c[J + 8 >> 2] = c[C >> 2]; + do if (b) { + h = (c[g + 16 >> 2] | 0) + 16 | 0; + g = (c[t + 16 >> 2] | 0) + 16 | 0; + c[H >> 2] = c[g >> 2]; + c[H + 4 >> 2] = c[g + 4 >> 2]; + c[H + 8 >> 2] = c[g + 8 >> 2]; + c[H + 12 >> 2] = c[g + 12 >> 2]; + if (!(ql(H, h) | 0)) { + o = ry(c[((c[a >> 2] & 3 | 0) == 3 ? a : u) + 40 >> 2] | 0) | 0; + F = ry(c[((c[a >> 2] & 3 | 0) == 2 ? a : s) + 40 >> 2] | 0) | 0; + K = xx(a, 87703) | 0; + c[i >> 2] = o; + c[i + 4 >> 2] = F; + c[i + 8 >> 2] = K; + Pw(0, 87756, i) | 0; + K = 26; + break + } + b = c[I >> 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]; + if (ql(H, h) | 0) { + F = (c[p + 16 >> 2] | 0) + 16 | 0; + c[H >> 2] = c[F >> 2]; + c[H + 4 >> 2] = c[F + 4 >> 2]; + c[H + 8 >> 2] = c[F + 8 >> 2]; + c[H + 12 >> 2] = c[F + 12 >> 2]; + if (ql(H, h) | 0) { + o = ry(c[((c[a >> 2] & 3 | 0) == 3 ? a : u) + 40 >> 2] | 0) | 0; + F = ry(c[((c[a >> 2] & 3 | 0) == 2 ? a : s) + 40 >> 2] | 0) | 0; + K = xx(a, 87703) | 0; + c[n >> 2] = o; + c[n + 4 >> 2] = F; + c[n + 8 >> 2] = K; + Pw(0, 87799, n) | 0; + K = 26; + break + } + if (!(c[C >> 2] | 0)) qa(87841, 87852, 369, 87863); + o = I + 16 | 0; + c[G >> 2] = c[b >> 2]; + c[G + 4 >> 2] = c[b + 4 >> 2]; + c[G + 8 >> 2] = c[b + 8 >> 2]; + c[G + 12 >> 2] = c[b + 12 >> 2]; + c[H >> 2] = c[o >> 2]; + c[H + 4 >> 2] = c[o + 4 >> 2]; + c[H + 8 >> 2] = c[o + 8 >> 2]; + c[H + 12 >> 2] = c[o + 12 >> 2]; + rl(z, G, H, h); + F = (c[I >> 2] | 0) + 48 | 0; + 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]; + F = (c[I >> 2] | 0) + 16 | 0; + 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]; + c[H >> 2] = c[o >> 2]; + c[H + 4 >> 2] = c[o + 4 >> 2]; + c[H + 8 >> 2] = c[o + 8 >> 2]; + c[H + 12 >> 2] = c[o + 12 >> 2]; + sl(j, G, H); + 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]; + F = c[I >> 2] | 0; + b = F + 16 | 0; + c[G >> 2] = c[b >> 2]; + c[G + 4 >> 2] = c[b + 4 >> 2]; + c[G + 8 >> 2] = c[b + 8 >> 2]; + c[G + 12 >> 2] = c[b + 12 >> 2]; + c[H >> 2] = c[o >> 2]; + c[H + 4 >> 2] = c[o + 4 >> 2]; + c[H + 8 >> 2] = c[o + 8 >> 2]; + c[H + 12 >> 2] = c[o + 12 >> 2]; + sl(k, G, H); + 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]; + F = c[I >> 2] | 0; + b = F + 32 | 0; + F = F + 16 | 0; + c[G >> 2] = c[F >> 2]; + c[G + 4 >> 2] = c[F + 4 >> 2]; + c[G + 8 >> 2] = c[F + 8 >> 2]; + c[G + 12 >> 2] = c[F + 12 >> 2]; + c[H >> 2] = c[z >> 2]; + c[H + 4 >> 2] = c[z + 4 >> 2]; + c[H + 8 >> 2] = c[z + 8 >> 2]; + c[H + 12 >> 2] = c[z + 12 >> 2]; + sl(m, G, H); + 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]; + b = c[v >> 2] | 0; + if (!b) { + F = 3; + break + } + F = (FE(a, c[I >> 2] | 0, 0, 0, J, b) | 0) + 3 | 0; + break + } + g = e + -1 | 0; + b = 0; + while (1) { + if ((b | 0) >= (g | 0)) break; + if (tl((c[I >> 2] | 0) + (b << 4) | 0, h) | 0) break; + b = b + 3 | 0 + } + e = c[v >> 2] | 0; + f = (e | 0) != 0; + if ((b | 0) == (g | 0)) if (f) { + F = J + 32 | 0; + m = I + 32 | 0; + n = (c[I >> 2] | 0) + (g << 4) | 0; + c[G >> 2] = c[m >> 2]; + c[G + 4 >> 2] = c[m + 4 >> 2]; + c[G + 8 >> 2] = c[m + 8 >> 2]; + c[G + 12 >> 2] = c[m + 12 >> 2]; + 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]; + rl(o, G, H, h); + 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]; + F = g; + break + } else qa(87880, 87852, 387, 87863); else { + if (f) b = FE(a, c[I >> 2] | 0, 0, b, J, e) | 0; + F = b + 3 | 0; + break + } + } else K = 26; while (0); + if ((K | 0) == 26) { + b = e + -1 | 0; + if (!(c[v >> 2] | 0)) F = b; else { + F = J + 32 | 0; + o = I + 32 | 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]; + F = b + } + } + do if (r) { + f = (c[q + 16 >> 2] | 0) + 16 | 0; + r = (c[p + 16 >> 2] | 0) + 16 | 0; + c[H >> 2] = c[r >> 2]; + c[H + 4 >> 2] = c[r + 4 >> 2]; + c[H + 8 >> 2] = c[r + 8 >> 2]; + c[H + 12 >> 2] = c[r + 12 >> 2]; + if (!(ql(H, f) | 0)) { + G = ry(c[((c[a >> 2] & 3 | 0) == 3 ? a : u) + 40 >> 2] | 0) | 0; + H = ry(c[((c[a >> 2] & 3 | 0) == 2 ? a : s) + 40 >> 2] | 0) | 0; + K = xx(a, 87709) | 0; + c[w >> 2] = G; + c[w + 4 >> 2] = H; + c[w + 8 >> 2] = K; + Pw(0, 87891, w) | 0; + K = 52; + break + } + b = (c[I >> 2] | 0) + (F << 4) | 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]; + if (ql(H, f) | 0) { + E = (c[t + 16 >> 2] | 0) + 16 | 0; + c[H >> 2] = c[E >> 2]; + c[H + 4 >> 2] = c[E + 4 >> 2]; + c[H + 8 >> 2] = c[E + 8 >> 2]; + c[H + 12 >> 2] = c[E + 12 >> 2]; + if (ql(H, f) | 0) { + G = ry(c[((c[a >> 2] & 3 | 0) == 3 ? a : u) + 40 >> 2] | 0) | 0; + H = ry(c[((c[a >> 2] & 3 | 0) == 2 ? a : s) + 40 >> 2] | 0) | 0; + K = xx(a, 87709) | 0; + c[x >> 2] = G; + c[x + 4 >> 2] = H; + c[x + 8 >> 2] = K; + Pw(0, 87934, x) | 0; + K = 52; + break + } + if (!(c[v >> 2] | 0)) qa(87880, 87852, 429, 87863); + x = J + 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]; + c[H >> 2] = c[x >> 2]; + c[H + 4 >> 2] = c[x + 4 >> 2]; + c[H + 8 >> 2] = c[x + 8 >> 2]; + c[H + 12 >> 2] = c[x + 12 >> 2]; + rl(z, G, H, f); + d = F + -3 | 0; + E = (c[I >> 2] | 0) + (d << 4) | 0; + c[E >> 2] = c[z >> 2]; + c[E + 4 >> 2] = c[z + 4 >> 2]; + c[E + 8 >> 2] = c[z + 8 >> 2]; + c[E + 12 >> 2] = c[z + 12 >> 2]; + E = F + -1 | 0; + b = (c[I >> 2] | 0) + (E << 4) | 0; + 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]; + c[H >> 2] = c[x >> 2]; + c[H + 4 >> 2] = c[x + 4 >> 2]; + c[H + 8 >> 2] = c[x + 8 >> 2]; + c[H + 12 >> 2] = c[x + 12 >> 2]; + sl(A, G, H); + 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[I >> 2] | 0; + D = b + (F << 4) | 0; + b = b + (E << 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]; + c[H >> 2] = c[x >> 2]; + c[H + 4 >> 2] = c[x + 4 >> 2]; + c[H + 8 >> 2] = c[x + 8 >> 2]; + c[H + 12 >> 2] = c[x + 12 >> 2]; + sl(B, G, H); + 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[I >> 2] | 0; + b = D + (F + -2 << 4) | 0; + E = D + (E << 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[H >> 2] = c[z >> 2]; + c[H + 4 >> 2] = c[z + 4 >> 2]; + c[H + 8 >> 2] = c[z + 8 >> 2]; + c[H + 12 >> 2] = c[z + 12 >> 2]; + sl(y, G, H); + c[b >> 2] = c[y >> 2]; + c[b + 4 >> 2] = c[y + 4 >> 2]; + c[b + 8 >> 2] = c[y + 8 >> 2]; + c[b + 12 >> 2] = c[y + 12 >> 2]; + b = c[C >> 2] | 0; + if (!b) break; + d = HE(a, c[I >> 2] | 0, d, d, J, b) | 0; + break + } + e = F; + while (1) { + if ((e | 0) > 0) b = 0; else break; + while (1) { + if ((b | 0) == 4) break; + B = E + (b << 4) | 0; + A = (c[I >> 2] | 0) + (e - b << 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 = b + 1 | 0 + } + if (tl(E, f) | 0) { + b = 0; + K = 43; + break + } + e = e + -3 | 0 + } + a:do if ((K | 0) == 43) while (1) { + K = 0; + if ((b | 0) == 4) break a; + K = (c[I >> 2] | 0) + (e - b << 4) | 0; + B = E + (b << 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]; + b = b + 1 | 0; + K = 43 + } while (0); + if (e | 0) { + d = e + -3 | 0; + b = c[C >> 2] | 0; + if (!b) break; + d = HE(a, c[I >> 2] | 0, d, F + -3 | 0, J, b) | 0; + break + } + if (!(c[C >> 2] | 0)) qa(87841, 87852, 452, 87863); else { + d = J + 16 | 0; + E = I + 16 | 0; + a = c[I >> 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[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]; + rl(D, G, H, f); + c[d >> 2] = c[D >> 2]; + c[d + 4 >> 2] = c[D + 4 >> 2]; + c[d + 8 >> 2] = c[D + 8 >> 2]; + c[d + 12 >> 2] = c[D + 12 >> 2]; + d = 0; + break + } + } else K = 52; while (0); + if ((K | 0) == 52) if (!(c[C >> 2] | 0)) d = 0; else { + d = J + 16 | 0; + K = I + 16 | 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]; + d = 0 + } + b = F - d + 1 | 0; + e = J + 4 | 0; + c[e >> 2] = b; + c[J >> 2] = vH(b << 4) | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[e >> 2] | 0)) break; + K = (c[J >> 2] | 0) + (b << 4) | 0; + a = (c[I >> 2] | 0) + (d << 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]; + d = d + 1 | 0; + b = b + 1 | 0 + } + D_(c[I >> 2] | 0); + D_(I); + c[c[(c[L >> 2] | 0) + 8 >> 2] >> 2] = J + } while (0); + l = M; + return + } + + function pl(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) { + d = vM(d, b) | 0; + if (!d) { + c[e >> 2] = b; + Pw(0, 88054, e) | 0; + d = 0 + } + } else d = 0; + l = f; + return d | 0 + } + + function ql(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + d = +h[a >> 3]; + if ((+h[b >> 3] <= d ? d <= +h[b + 16 >> 3] : 0) ? (c = +h[a + 8 >> 3], +h[b + 8 >> 3] <= c) : 0) a = c <= +h[b + 24 >> 3] & 1; else a = 0; + return a | 0 + } + + function rl(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, + s = 0.0, t = 0.0, u = 0, v = 0, w = 0, x = 0, y = 0.0, z = 0, A = 0, B = 0, C = 0; + C = l; + l = l + 464 | 0; + n = C + 48 | 0; + B = C + 32 | 0; + u = C + 16 | 0; + v = C; + w = C + 364 | 0; + x = C + 264 | 0; + z = C + 164 | 0; + A = C + 64 | 0; + q = +h[b >> 3]; + r = +h[b + 8 >> 3]; + s = +h[d >> 3]; + t = +h[d + 8 >> 3]; + 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]; + e = e + 16 | 0; + c[v >> 2] = c[e >> 2]; + c[v + 4 >> 2] = c[e + 4 >> 2]; + c[v + 8 >> 2] = c[e + 8 >> 2]; + c[v + 12 >> 2] = c[e + 12 >> 2]; + k = +h[u >> 3]; + if ((s < k ? (f = r + +(~~((k - q) * (r - t) / (q - s)) | 0), f >= +h[u + 8 >> 3]) : 0) ? f <= +h[v + 8 >> 3] : 0) { + o = f; + p = k + } else i = 4; + do if ((i | 0) == 4) { + j = +h[v >> 3]; + if (s > j) { + g = r + +(~~((j - q) * (r - t) / (q - s)) | 0); + f = +h[u + 8 >> 3]; + if (g >= f ? g <= +h[v + 8 >> 3] : 0) { + o = g; + p = j; + break + } + } else f = +h[u + 8 >> 3]; + if (t < f ? (m = q + +(~~((f - r) * (q - s) / (r - t)) | 0), !(!(m >= k) | !(m <= j))) : 0) { + o = f; + p = m; + break + } + f = +h[v + 8 >> 3]; + if (t > f ? (y = q + +(~~((f - r) * (q - s) / (r - t)) | 0), !(!(y >= k) | !(y <= j))) : 0) { + o = f; + p = y; + break + } + ;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]; + w = yl(n, w) | 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]; + x = yl(n, x) | 0; + c[n >> 2] = c[u >> 2]; + c[n + 4 >> 2] = c[u + 4 >> 2]; + c[n + 8 >> 2] = c[u + 8 >> 2]; + c[n + 12 >> 2] = c[u + 12 >> 2]; + z = yl(n, z) | 0; + c[n >> 2] = c[v >> 2]; + c[n + 4 >> 2] = c[v + 4 >> 2]; + c[n + 8 >> 2] = c[v + 8 >> 2]; + c[n + 12 >> 2] = c[v + 12 >> 2]; + A = yl(n, A) | 0; + c[B >> 2] = w; + c[B + 4 >> 2] = x; + c[B + 8 >> 2] = z; + c[B + 12 >> 2] = A; + Pw(1, 87976, B) | 0; + qa(135312, 87852, 78, 88028) + } while (0); + h[a >> 3] = p; + h[a + 8 >> 3] = o; + l = C; + return + } + + function sl(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = (+h[c + 8 >> 3] + +h[b + 8 >> 3]) * .5; + h[a >> 3] = (+h[c >> 3] + +h[b >> 3]) * .5; + h[a + 8 >> 3] = d; + return + } + + function tl(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 80 | 0; + j = m + 16 | 0; + k = m; + e = 0; + while (1) { + if ((e | 0) == 4) break; + i = j + (e << 4) | 0; + g = a + (e << 4) | 0; + c[i >> 2] = c[g >> 2]; + c[i + 4 >> 2] = c[g + 4 >> 2]; + c[i + 8 >> 2] = c[g + 8 >> 2]; + c[i + 12 >> 2] = c[g + 12 >> 2]; + e = e + 1 | 0 + } + e = b + 8 | 0; + i = b + 24 | 0; + d = +ul(a, 0.0, 1.0, +h[b >> 3], +h[e >> 3], +h[i >> 3]); + if (d >= 0.0 & d < 2.0) XL(k, j, 3, d, a, 0); else d = 2.0; + g = b + 16 | 0; + f = +ul(a, 0.0, d > 1.0 ? 1.0 : d, +h[g >> 3], +h[e >> 3], +h[i >> 3]); + if (f >= 0.0 & f < d) { + XL(k, j, 3, f, a, 0); + d = f + } + f = +vl(a, 0.0, d > 1.0 ? 1.0 : d, +h[e >> 3], +h[b >> 3], +h[g >> 3]); + if (f >= 0.0 & f < d) { + XL(k, j, 3, f, a, 0); + d = f + } + f = +vl(a, 0.0, d > 1.0 ? 1.0 : d, +h[i >> 3], +h[b >> 3], +h[g >> 3]); + if (f >= 0.0 & f < d) { + XL(k, j, 3, f, a, 0); + d = f + } + l = m; + return d < 2.0 | 0 + } + + function ul(a, b, c, d, e, f) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + f = +f; + var g = 0.0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 144 | 0; + j = m + 80 | 0; + k = m + 16 | 0; + i = m; + a:do if (!(b == c)) { + switch (xl(a, d) | 0) { + case 0: { + b = -1.0; + break a + } + case 1: { + if (+B(+(+h[a + 48 >> 3] - d)) <= .005) { + b = +h[a + 56 >> 3]; + b = !(b >= e) | !(b <= f) ? -1.0 : c; + break a + } + break + } + default: { + } + } + XL(i, a, 3, .5, j, k); + g = (c + b) * .5; + b = +ul(j, b, g, d, e, f); + if (!(b >= 0.0)) b = +ul(k, g, c, d, e, f) + } while (0); + l = m; + return +b + } + + function vl(a, b, c, d, e, f) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + f = +f; + var g = 0.0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 144 | 0; + j = m + 80 | 0; + k = m + 16 | 0; + i = m; + a:do if (!(b == c)) { + switch (wl(a, d) | 0) { + case 0: { + b = -1.0; + break a + } + case 1: { + if (+B(+(+h[a + 56 >> 3] - d)) <= .005) { + b = +h[a + 48 >> 3]; + b = !(b >= e) | !(b <= f) ? -1.0 : c; + break a + } + break + } + default: { + } + } + XL(i, a, 3, .5, j, k); + g = (c + b) * .5; + b = +vl(j, b, g, d, e, f); + if (!(b >= 0.0)) b = +vl(k, g, c, d, e, f) + } while (0); + l = m; + return +b + } + + function wl(a, b) { + a = a | 0; + b = +b; + var c = 0, d = 0, e = 0, f = 0.0, g = 0, i = 0; + f = +h[a + 8 >> 3]; + e = f < b ? -1 : f > b & 1; + c = 1; + d = e; + e = (e | 0) == 0 & 1; + while (1) { + if ((c | 0) == 4) break; + f = +h[a + (c << 4) + 8 >> 3]; + i = f < b ? -1 : f > b & 1; + g = e + ((d | 0) != 0 & (i | 0) != (d | 0) & 1) | 0; + c = c + 1 | 0; + d = i; + e = g + } + return e | 0 + } + + function xl(a, b) { + a = a | 0; + b = +b; + var c = 0, d = 0, e = 0, f = 0.0, g = 0, i = 0; + f = +h[a >> 3]; + e = f < b ? -1 : f > b & 1; + c = 1; + d = e; + e = (e | 0) == 0 & 1; + while (1) { + if ((c | 0) == 4) break; + f = +h[a + (c << 4) >> 3]; + i = f < b ? -1 : f > b & 1; + g = e + ((d | 0) != 0 & (i | 0) != (d | 0) & 1) | 0; + c = c + 1 | 0; + d = i; + e = g + } + return e | 0 + } + + function yl(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0.0; + c = l; + l = l + 16 | 0; + d = c; + e = +h[a + 8 >> 3]; + h[d >> 3] = +h[a >> 3]; + h[d + 8 >> 3] = e; + Y0(b, 88042, d) | 0; + l = c; + return b | 0 + } + + function zl(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0; + v = l; + l = l + 16 | 0; + s = v; + u = 4; + t = C_(40) | 0; + c[t >> 2] = 0; + r = a + 16 | 0; + e = c[r >> 2] | 0; + a:do if (((b[e + 238 >> 1] | 0) - (b[e + 236 >> 1] | 0) | 0) >= 2) { + m = 1; + d = e; + e = c[e + 196 >> 2] | 0; + b:while (1) { + n = m + 1 | 0; + if (!(c[e + (n << 6) >> 2] | 0)) { + q = 15; + break + } else k = 0; + while (1) { + h = c[e + (m << 6) >> 2] | 0; + if ((k | 0) >= (h | 0)) { + m = n; + continue b + } + j = c[(c[e + (m << 6) + 4 >> 2] | 0) + (k << 2) >> 2] | 0; + o = 0; + d = $(20, j | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, u | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + d = z; + break b + } + if (d << 24 >> 24) { + i = k; + d = h; + while (1) { + g = i + 1 | 0; + if ((g | 0) >= (d | 0)) break; + o = 0; + d = aa(65, j | 0, c[(c[e + (m << 6) + 4 >> 2] | 0) + (g << 2) >> 2] | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, t | 0, u | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + d = z; + break b + } + if (!(d << 24 >> 24)) break; + d = c[(c[r >> 2] | 0) + 196 >> 2] | 0; + i = g; + e = d; + d = c[d + (m << 6) >> 2] | 0 + } + if ((g - k | 0) > 1) { + o = 0; + na(6, a | 0, m | 0, k | 0, i | 0, 1); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, t | 0, u | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + break b + } + } + } + e = c[r >> 2] | 0; + k = k + 1 | 0; + d = e; + e = c[e + 196 >> 2] | 0 + } + } + c:do if ((q | 0) == 15) { + while (1) { + if ((m | 0) > 0) k = 0; else break; + while (1) { + e = c[d + 196 >> 2] | 0; + h = c[e + (m << 6) >> 2] | 0; + if ((k | 0) >= (h | 0)) break; + j = c[(c[e + (m << 6) + 4 >> 2] | 0) + (k << 2) >> 2] | 0; + o = 0; + d = $(21, j | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, u | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + d = z; + break c + } + if (d << 24 >> 24) { + i = k; + d = h; + while (1) { + g = i + 1 | 0; + if ((g | 0) >= (d | 0)) break; + o = 0; + d = aa(66, j | 0, c[(c[e + (m << 6) + 4 >> 2] | 0) + (g << 2) >> 2] | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, t | 0, u | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + d = z; + break c + } + if (!(d << 24 >> 24)) break; + d = c[(c[r >> 2] | 0) + 196 >> 2] | 0; + i = g; + e = d; + d = c[d + (m << 6) >> 2] | 0 + } + if ((g - k | 0) > 1) { + o = 0; + na(6, a | 0, m | 0, k | 0, i | 0, 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, t | 0, u | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + break c + } + } + } + k = k + 1 | 0; + d = c[r >> 2] | 0 + } + m = m + -1 | 0; + q = 15 + } + t = D3(183936, 1, t | 0, u | 0) | 0; + u = z; + o = 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, t | 0, u | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) d = z; else d = 0 + } while (0); + d:while (1) { + if (d) { + o = 0; + ca(20, 3, 88082, s | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, t | 0, u | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + continue + } else break + } else f = 1; + while (1) { + d = c[r >> 2] | 0; + if ((f | 0) > (c[d + 180 >> 2] | 0)) break a; + o = 0; + ia(99, c[(c[d + 184 >> 2] | 0) + (f << 2) >> 2] | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, t | 0, u | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + continue d + } + f = f + 1 | 0 + } + } + } while (0); + D_(t | 0); + l = v; + return + } + + function Al(b) { + b = b | 0; + b = c[b + 16 >> 2] | 0; + if (((a[b + 156 >> 0] | 0) == 1 ? (c[b + 176 >> 2] | 0) == 1 : 0) ? (c[b + 184 >> 2] | 0) == 1 : 0) b = (c[b + 104 >> 2] | 0) == 0 & 1; else b = 0; + return b | 0 + } + + function Bl(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 80 | 0; + h = i + 40 | 0; + g = i; + e = c[c[(c[a + 16 >> 2] | 0) + 172 >> 2] >> 2] | 0; + a = c[c[(c[b + 16 >> 2] | 0) + 172 >> 2] >> 2] | 0; + if (((Al(b) | 0) << 24 >> 24 != 0 ? (c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) == (c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) : 0) ? (Hl(e, a) | 0) << 24 >> 24 != 0 : 0) { + d = (c[a + 16 >> 2] | 0) + 16 | 0; + f = g; + a = (c[e + 16 >> 2] | 0) + 16 | 0; + b = f + 40 | 0; + do { + c[f >> 2] = c[a >> 2]; + f = f + 4 | 0; + a = a + 4 | 0 + } while ((f | 0) < (b | 0)); + f = h; + a = d; + b = f + 40 | 0; + do { + c[f >> 2] = c[a >> 2]; + f = f + 4 | 0; + a = a + 4 | 0 + } while ((f | 0) < (b | 0)); + a = (jg(g, h) | 0) == 0 & 1 + } else a = 0; + l = i; + return a | 0 + } + + function Cl(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; + t = a + 16 | 0; + q = c[(c[(c[(c[t >> 2] | 0) + 196 >> 2] | 0) + (b << 6) + 4 >> 2] | 0) + (d << 2) >> 2] | 0; + p = d + 1 | 0; + m = (f | 0) == 1; + n = q + 16 | 0; + l = p; + while (1) { + if ((l | 0) > (e | 0)) { + g = e; + s = p; + break + } + o = c[(c[(c[(c[t >> 2] | 0) + 196 >> 2] | 0) + (b << 6) + 4 >> 2] | 0) + (l << 2) >> 2] | 0; + k = o + 16 | 0; + a:do if (m) while (1) { + d = c[k >> 2] | 0; + j = c[c[d + 180 >> 2] >> 2] | 0; + if (!j) break a; + h = c[(c[n >> 2] | 0) + 180 >> 2] | 0; + i = j + -48 | 0; + f = 0; + while (1) { + d = c[h + (f << 2) >> 2] | 0; + if (!d) { + r = 8; + break + } + if ((c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) == (c[((c[j >> 2] & 3 | 0) == 2 ? j : i) + 40 >> 2] | 0)) break; else f = f + 1 | 0 + } + if ((r | 0) == 8) { + r = 0; + d = ph(q, c[((c[j >> 2] & 3 | 0) == 2 ? j : i) + 40 >> 2] | 0, j) | 0 + } + while (1) { + f = c[c[(c[k >> 2] | 0) + 172 >> 2] >> 2] | 0; + if (!f) break; + xh(f, d); + kh(f) + } + kh(j) + } else while (1) { + d = c[k >> 2] | 0; + j = c[c[d + 172 >> 2] >> 2] | 0; + if (!j) break a; + h = c[(c[n >> 2] | 0) + 172 >> 2] | 0; + i = j + 48 | 0; + f = 0; + while (1) { + d = c[h + (f << 2) >> 2] | 0; + if (!d) { + r = 17; + break + } + if ((c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) == (c[((c[j >> 2] & 3 | 0) == 3 ? j : i) + 40 >> 2] | 0)) break; else f = f + 1 | 0 + } + if ((r | 0) == 17) { + r = 0; + d = ph(c[((c[j >> 2] & 3 | 0) == 3 ? j : i) + 40 >> 2] | 0, q, j) | 0 + } + while (1) { + f = c[c[(c[k >> 2] | 0) + 180 >> 2] >> 2] | 0; + if (!f) break; + xh(f, d); + kh(f) + } + kh(j) + } while (0); + if ((c[d + 176 >> 2] | 0) != (0 - (c[d + 184 >> 2] | 0) | 0)) { + r = 23; + break + } + sh(a, o); + l = l + 1 | 0 + } + if ((r | 0) == 23) qa(88218, 88262, 115, 88269); + while (1) { + g = g + 1 | 0; + d = c[(c[t >> 2] | 0) + 196 >> 2] | 0; + f = d + (b << 6) | 0; + if ((g | 0) >= (c[f >> 2] | 0)) break; + e = c[d + (b << 6) + 4 >> 2] | 0; + r = c[e + (g << 2) >> 2] | 0; + c[e + (s << 2) >> 2] = r; + c[(c[r + 16 >> 2] | 0) + 236 >> 2] = s; + s = s + 1 | 0 + } + c[f >> 2] = s; + c[(c[d + (b << 6) + 4 >> 2] | 0) + (s << 2) >> 2] = 0; + return + } + + function Dl(b) { + b = b | 0; + b = c[b + 16 >> 2] | 0; + if (((a[b + 156 >> 0] | 0) == 1 ? (c[b + 184 >> 2] | 0) == 1 : 0) ? (c[b + 176 >> 2] | 0) == 1 : 0) b = (c[b + 104 >> 2] | 0) == 0 & 1; else b = 0; + return b | 0 + } + + function El(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 80 | 0; + h = i + 40 | 0; + g = i; + e = c[c[(c[a + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0; + a = c[c[(c[b + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0; + if (((Dl(b) | 0) << 24 >> 24 != 0 ? (c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) == (c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) : 0) ? (Hl(e, a) | 0) << 24 >> 24 != 0 : 0) { + d = (c[a + 16 >> 2] | 0) + 56 | 0; + f = g; + a = (c[e + 16 >> 2] | 0) + 56 | 0; + b = f + 40 | 0; + do { + c[f >> 2] = c[a >> 2]; + f = f + 4 | 0; + a = a + 4 | 0 + } while ((f | 0) < (b | 0)); + f = h; + a = d; + b = f + 40 | 0; + do { + c[f >> 2] = c[a >> 2]; + f = f + 4 | 0; + a = a + 4 | 0 + } while ((f | 0) < (b | 0)); + a = (jg(g, h) | 0) == 0 & 1 + } else a = 0; + l = i; + return a | 0 + } + + function Fl(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 32 | 0; + p = r + 16 | 0; + o = r; + m = d + 16 | 0; + f = c[m >> 2] | 0; + e = b[f + 236 >> 1] | 0; + while (1) { + if ((e | 0) > (b[f + 238 >> 1] | 0)) break; + c[(c[f + 268 >> 2] | 0) + (e << 2) >> 2] = 0; + e = e + 1 | 0; + f = c[m >> 2] | 0 + } + xj(d); + j = Sy(d) | 0; + while (1) { + if (!j) break; + Gl(d, j); + i = Ex(d, j) | 0; + while (1) { + if (!i) break; else f = i; + while (1) { + e = c[(c[f + 16 >> 2] | 0) + 172 >> 2] | 0; + if (!e) break; else f = e + } + h = i + -48 | 0; + while (1) { + e = f + -48 | 0; + g = c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0; + if ((c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0) >= (c[(c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : h) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) break; + Gl(d, g); + f = c[c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } + i = Gx(d, i) | 0 + } + j = Ty(d, j) | 0 + } + e = c[m >> 2] | 0; + i = b[e + 236 >> 1] | 0; + while (1) { + if ((i | 0) > (b[e + 238 >> 1] | 0)) { + k = 1; + n = e; + break + } + e = c[(c[e + 268 >> 2] | 0) + (i << 2) >> 2] | 0; + j = c[(c[(c[(ig(d) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (i << 6) + 4 >> 2] | 0; + f = e + 16 | 0; + if ((c[j + (c[(c[f >> 2] | 0) + 236 >> 2] << 2) >> 2] | 0) != (e | 0)) { + q = 17; + break + } + h = c[(c[(c[(ig(d) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (i << 6) + 4 >> 2] | 0; + e = c[m >> 2] | 0; + f = c[e + 196 >> 2] | 0; + c[f + (i << 6) + 4 >> 2] = h + (c[(c[(c[(c[e + 268 >> 2] | 0) + (i << 2) >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] << 2); + e = -1; + h = 0; + a:while (1) { + if ((h | 0) >= (c[f + (i << 6) >> 2] | 0)) break; + f = c[(c[f + (i << 6) + 4 >> 2] | 0) + (h << 2) >> 2] | 0; + if (!f) break; + g = c[f + 16 >> 2] | 0; + b:do if (!(a[g + 156 >> 0] | 0)) if (!(oz(d, f) | 0)) break a; else e = h; else { + f = c[c[g + 172 >> 2] >> 2] | 0; + while (1) { + if (!f) break b; + g = c[(c[f + 16 >> 2] | 0) + 116 >> 2] | 0; + if (!g) break; else f = g + } + if (oz(d, c[((c[f >> 2] & 3 | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) | 0) { + j = (oz(d, c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) | 0) == 0; + e = j ? e : h + } + } while (0); + h = h + 1 | 0; + f = c[(c[m >> 2] | 0) + 196 >> 2] | 0 + } + if ((e | 0) == -1) { + c[p >> 2] = ry(d) | 0; + c[p + 4 >> 2] = i; + Pw(0, 88182, p) | 0 + } + j = c[m >> 2] | 0; + c[(c[j + 196 >> 2] | 0) + (i << 6) >> 2] = e + 1; + i = i + 1 | 0; + e = j + } + if ((q | 0) == 17) { + p = ry(e) | 0; + q = c[(c[f >> 2] | 0) + 236 >> 2] | 0; + c[o >> 2] = p; + c[o + 4 >> 2] = q; + c[o + 8 >> 2] = i; + Pw(1, 88124, o) | 0; + bb(183936, 1) + } + while (1) { + if ((k | 0) > (c[n + 180 >> 2] | 0)) break; + Fl(c[(c[n + 184 >> 2] | 0) + (k << 2) >> 2] | 0); + k = k + 1 | 0; + n = c[m >> 2] | 0 + } + l = r; + return + } + + function Gl(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = c[b + 16 >> 2] | 0; + a = (c[(c[a + 16 >> 2] | 0) + 268 >> 2] | 0) + (c[d + 232 >> 2] << 2) | 0; + e = c[a >> 2] | 0; + if (!((e | 0) != 0 ? (c[(c[e + 16 >> 2] | 0) + 236 >> 2] | 0) <= (c[d + 236 >> 2] | 0) : 0)) c[a >> 2] = b; + return + } + + function Hl(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + while (1) { + f = c[b + 16 >> 2] | 0; + if (!(a[f + 112 >> 0] | 0)) break; + b = c[f + 116 >> 2] | 0 + } + while (1) { + e = c[d + 16 >> 2] | 0; + if (!(a[e + 112 >> 0] | 0)) break; + d = c[e + 116 >> 2] | 0 + } + if ((a[f + 153 >> 0] | 0) == 0 ? (a[e + 153 >> 0] | 0) == 0 : 0) { + f = c[d >> 2] & 3; + e = c[b >> 2] & 3; + b = (O((c[(c[(c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0, (c[(c[(c[((f | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((f | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0) | 0) > 0 & 1 + } else b = 0; + return b | 0 + } + + function Il(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 544 | 0; + j = k + 528 | 0; + Jl(j, k + 512 | 0, k); + e = (a[190690] | 0) + 1 << 24 >> 24; + a[190690] = e << 24 >> 24 == 0 ? 1 : e; + e = c[b + 16 >> 2] | 0; + c[e + 220 >> 2] = 0; + c[e + 232 >> 2] = 0; + e = (d | 0) > 0; + d = Sy(b) | 0; + while (1) { + if (!d) break; + if (e ? (h = c[d + 16 >> 2] | 0, i = c[h + 212 >> 2] | 0, (i | 0) != 0) : 0) { + g = c[(c[(c[i + 16 >> 2] | 0) + 268 >> 2] | 0) + (c[h + 232 >> 2] << 2) >> 2] | 0; + f = 7 + } else f = 6; + if ((f | 0) == 6 ? (f = 0, (d | 0) == (SL(d) | 0)) : 0) { + g = d; + f = 7 + } + if ((f | 0) == 7 ? (0, (a[(c[g + 16 >> 2] | 0) + 157 >> 0] | 0) != (a[190690] | 0)) : 0) { + Kl(b); + Ll(j, b, g); + Ml(b) + } + d = Ty(b, d) | 0 + } + Nl(j); + l = k; + return + } + + function Jl(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + c[b >> 2] = d; + c[b + 4 >> 2] = d + 512; + c[b + 12 >> 2] = 0; + c[b + 8 >> 2] = 0; + c[a >> 2] = b; + c[a + 4 >> 2] = b; + c[a + 8 >> 2] = d; + return + } + + function Kl(a) { + a = a | 0; + c[(c[a + 16 >> 2] | 0) + 192 >> 2] = 0; + c[46023] = 0; + return + } + + function Ll(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 32 | 0; + p = q; + Ol(b, e); + k = p + 8 | 0; + m = p + 16 | 0; + n = p + 24 | 0; + a:while (1) { + o = Pl(b) | 0; + if (!o) break; + e = o + 16 | 0; + if ((a[(c[e >> 2] | 0) + 157 >> 0] | 0) == (a[190690] | 0)) continue; + Ql(d, o); + h = c[e >> 2] | 0; + g = h + 180 | 0; + j = c[g + 4 >> 2] | 0; + i = p; + c[i >> 2] = c[g >> 2]; + c[i + 4 >> 2] = j; + i = h + 172 | 0; + j = c[i + 4 >> 2] | 0; + g = k; + c[g >> 2] = c[i >> 2]; + c[g + 4 >> 2] = j; + g = h + 188 | 0; + j = c[g + 4 >> 2] | 0; + i = m; + c[i >> 2] = c[g >> 2]; + c[i + 4 >> 2] = j; + h = h + 196 | 0; + i = c[h + 4 >> 2] | 0; + j = n; + c[j >> 2] = c[h >> 2]; + c[j + 4 >> 2] = i; + j = 3; + while (1) { + if ((j | 0) <= -1) continue a; + e = c[p + (j << 3) >> 2] | 0; + b:do if (e | 0) { + i = (c[p + (j << 3) + 4 >> 2] | 0) + -1 | 0; + h = e + (i << 2) | 0; + while (1) { + if ((i | 0) <= -1) break b; + f = c[h >> 2] | 0; + g = c[f >> 2] & 3; + e = c[((g | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (o | 0)) e = c[((g | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0; + if ((a[(c[e + 16 >> 2] | 0) + 157 >> 0] | 0) != (a[190690] | 0) ? (e | 0) == (SL(e) | 0) : 0) Ol(b, e); + h = h + -4 | 0; + i = i + -1 | 0 + } + } while (0); + j = j + -1 | 0 + } + } + l = q; + return + } + + function Ml(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = a + 16 | 0; + b = c[d >> 2] | 0; + f = b + 220 | 0; + e = c[f >> 2] | 0; + a = e + 1 | 0; + c[f >> 2] = a; + b = c[b + 216 >> 2] | 0; + if (!b) a = vH(a << 2) | 0; else a = xH(b, a << 2) | 0; + f = c[d >> 2] | 0; + c[f + 216 >> 2] = a; + c[a + (e << 2) >> 2] = c[f + 192 >> 2]; + return + } + + function Nl(a) { + a = a | 0; + var b = 0; + a = c[(c[a >> 2] | 0) + 12 >> 2] | 0; + while (1) { + if (!a) break; + b = c[a + 12 >> 2] | 0; + D_(c[a >> 2] | 0); + D_(a); + a = b + } + return + } + + function Ol(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + h = k + 8 | 0; + g = k; + j = b + 8 | 0; + f = c[j >> 2] | 0; + i = b + 4 | 0; + b = c[i >> 2] | 0; + if ((f | 0) == (c[b + 4 >> 2] | 0)) { + f = c[b + 12 >> 2] | 0; + if (!f) { + f = uH(16) | 0; + if (!f) Pw(1, 95943, g) | 0; + c[f + 8 >> 2] = c[i >> 2]; + c[f + 12 >> 2] = 0; + b = uH(4e6) | 0; + c[f >> 2] = b; + if (!b) { + Pw(1, 88282, h) | 0; + b = c[f >> 2] | 0 + } + c[f + 4 >> 2] = b + 4e6; + c[(c[i >> 2] | 0) + 12 >> 2] = f + } + c[i >> 2] = f; + f = c[f >> 2] | 0; + c[j >> 2] = f + } + a[(c[e + 16 >> 2] | 0) + 157 >> 0] = (d[190690] | 0) + 1; + c[j >> 2] = f + 4; + c[f >> 2] = e; + l = k; + return + } + + function Pl(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = a + 8 | 0; + b = c[f >> 2] | 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + if ((b | 0) == (c[e >> 2] | 0)) if ((e | 0) == (c[a >> 2] | 0)) b = 0; else { + b = c[e + 8 >> 2] | 0; + c[d >> 2] = b; + b = c[b + 4 >> 2] | 0; + c[f >> 2] = b; + g = 4 + } else g = 4; + if ((g | 0) == 4) { + b = b + -4 | 0; + c[f >> 2] = b; + b = c[b >> 2] | 0 + } + return b | 0 + } + + function Ql(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = c[b + 16 >> 2] | 0; + g = f + 232 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1; + g = c[d + 16 >> 2] | 0; + a[g + 157 >> 0] = a[190690] | 0; + b = c[46023] | 0; + e = g + 168 | 0; + if (!b) { + c[e >> 2] = 0; + c[f + 192 >> 2] = d + } else { + c[e >> 2] = b; + c[(c[b + 16 >> 2] | 0) + 164 >> 2] = d + } + c[46023] = d; + c[g + 164 >> 2] = 0; + return + } + + function Rl(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0.0, o = 0.0; + m = b + 16 | 0; + d = (c[m >> 2] | 0) + 192 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + g = d + 16 | 0; + d = c[g >> 2] | 0; + e = c[d + 188 >> 2] | 0; + a:do if (!e) f = 0; else { + f = 0; + while (1) { + e = c[e + (f << 2) >> 2] | 0; + if (!e) { + f = 0; + break a + } + Sl(e); + d = c[g >> 2] | 0; + f = f + 1 | 0; + e = c[d + 188 >> 2] | 0 + } + } while (0); + while (1) { + if ((f | 0) >= (c[d + 208 >> 2] | 0)) break; + e = c[(c[d + 204 >> 2] | 0) + (f << 2) >> 2] | 0; + l = c[e >> 2] & 3; + if ((c[(c[(c[((l | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) == (c[(c[(c[((l | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) { + Sl(e); + d = c[g >> 2] | 0 + } + f = f + 1 | 0 + } + d = d + 164 | 0 + } + l = c[m >> 2] | 0; + d = c[l + 196 >> 2] | 0; + if (!((c[d + 56 >> 2] | 0) == 0 ? (c[l + 180 >> 2] | 0) <= 0 : 0)) i = 13; + b:do if ((i | 0) == 13) { + i = c[d + 4 >> 2] | 0; + g = 0; + c:while (1) { + d = c[i + (g << 2) >> 2] | 0; + if (!d) break b; + e = c[(c[d + 16 >> 2] | 0) + 196 >> 2] | 0; + d = 0; + while (1) { + f = c[e + (d << 2) >> 2] | 0; + if (!f) break; + l = c[f + 16 >> 2] | 0; + if (c[l + 96 >> 2] | 0 ? (a[l + 113 >> 0] | 0) == 0 : 0) break c; + d = d + 1 | 0 + } + g = g + 1 | 0 + } + Tl(b) + } while (0); + Ji(b); + e = 0; + d = (c[m >> 2] | 0) + 192 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + l = d + 16 | 0; + d = c[l >> 2] | 0; + f = c[d + 188 >> 2] | 0; + d:do if (f) { + k = 0; + while (1) { + g = c[f + (k << 2) >> 2] | 0; + if (!g) { + k = 0; + break + } + i = c[g + 16 >> 2] | 0; + j = c[i + 96 >> 2] | 0; + do if (j) if (!(a[i + 113 >> 0] | 0)) { + Ul(g); + f = c[l >> 2] | 0; + e = 1; + d = f; + f = c[f + 188 >> 2] | 0; + break + } else { + h[i + 136 >> 3] = +h[((c[(c[m >> 2] | 0) + 116 >> 2] & 1 | 0) == 0 ? j + 24 | 0 : j + 32 | 0) >> 3]; + break + } while (0); + k = k + 1 | 0 + } + while (1) { + if ((k | 0) >= (c[d + 208 >> 2] | 0)) break d; + i = c[(c[d + 204 >> 2] | 0) + (k << 2) >> 2] | 0; + j = c[i >> 2] & 3; + g = c[((j | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0; + j = c[((j | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0; + do if (!((g | 0) == (j | 0) ? 1 : (c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0) != (c[(c[j + 16 >> 2] | 0) + 232 >> 2] | 0))) { + f = i; + do { + j = c[f + 16 >> 2] | 0; + f = c[j + 172 >> 2] | 0 + } while ((f | 0) != 0); + f = a[j + 113 >> 0] | 0; + g = c[i + 16 >> 2] | 0; + a[g + 113 >> 0] = f; + g = c[g + 96 >> 2] | 0; + if (g) if (!(f << 24 >> 24)) { + Ul(i); + e = 1; + d = c[l >> 2] | 0; + break + } else { + o = +h[((c[(c[m >> 2] | 0) + 116 >> 2] & 1 | 0) == 0 ? g + 24 | 0 : g + 32 | 0) >> 3]; + j = j + 136 | 0; + n = +h[j >> 3]; + h[j >> 3] = o > n ? o : n; + break + } + } while (0); + k = k + 1 | 0 + } + } while (0); + d = d + 164 | 0 + } + if (e | 0) { + Ch(b); + Qh(b) + } + return e | 0 + } + + function Sl(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + d = c[b >> 2] & 3; + i = c[((d | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + f = i + 16 | 0; + g = c[(c[f >> 2] | 0) + 236 >> 2] | 0; + d = c[(c[(c[((d | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + h = (g | 0) < (d | 0); + e = h ? d : g; + i = c[(c[(ig(i) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0; + f = i + (c[(c[f >> 2] | 0) + 232 >> 2] << 6) + 4 | 0; + d = h ? g : d; + a:while (1) { + d = d + 1 | 0; + if ((d | 0) >= (e | 0)) break; + g = c[(c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0; + switch (a[g + 156 >> 0] | 0) { + case 0: + break a; + case 1: + break; + default: + continue a + } + if (c[g + 104 >> 2] | 0) break + } + if ((d | 0) == (e | 0)) do { + i = c[b + 16 >> 2] | 0; + a[i + 113 >> 0] = 1; + b = c[i + 172 >> 2] | 0 + } while ((b | 0) != 0); + return + } + + function Tl(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0; + g = a + 16 | 0; + a = c[g >> 2] | 0; + if (b[a + 236 >> 1] | 0) qa(88339, 88322, 190, 88358); + d = (b[a + 238 >> 1] | 0) + 3 | 0; + a = c[a + 196 >> 2] | 0; + if (!a) a = vH(d << 6) | 0; else a = xH(a, d << 6) | 0; + d = a + 64 | 0; + a = c[g >> 2] | 0; + c[a + 196 >> 2] = d; + a = b[a + 238 >> 1] | 0; + while (1) { + if ((a | 0) <= -1) break; + f = a + -1 | 0; + e = d + (a << 6) | 0; + a = d + (f << 6) | 0; + d = e + 64 | 0; + do { + c[e >> 2] = c[a >> 2]; + e = e + 4 | 0; + a = a + 4 | 0 + } while ((e | 0) < (d | 0)); + a = f; + d = c[(c[g >> 2] | 0) + 196 >> 2] | 0 + } + c[d + (a << 6) + 8 >> 2] = 0; + c[d + (a << 6) >> 2] = 0; + e = uH(8) | 0; + g = c[g >> 2] | 0; + f = c[g + 196 >> 2] | 0; + c[f + (a << 6) + 12 >> 2] = e; + c[f + (a << 6) + 4 >> 2] = e; + c[f + (a << 6) + 56 >> 2] = 0; + h[f + (a << 6) + 24 >> 3] = 1.0; + h[f + (a << 6) + 16 >> 3] = 1.0; + h[f + (a << 6) + 40 >> 3] = 1.0; + h[f + (a << 6) + 32 >> 3] = 1.0; + g = g + 236 | 0; + b[g >> 1] = (b[g >> 1] | 0) + -1 << 16 >> 16; + return + } + + function Ul(b) { + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, + r = 0.0; + j = b + 16 | 0; + if (c[(c[j >> 2] | 0) + 96 >> 2] | 0) { + m = b + 48 | 0; + k = ig(c[((c[b >> 2] & 3 | 0) == 3 ? b : m) + 40 >> 2] | 0) | 0; + d = c[(c[(c[((c[b >> 2] & 3 | 0) == 3 ? b : m) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + l = Vl(k, b) | 0; + n = k + 16 | 0; + e = c[n >> 2] | 0; + g = c[e + 196 >> 2] | 0; + o = d + -1 | 0; + i = c[c[g + (o << 6) + 4 >> 2] >> 2] | 0; + if (!i) f = +h[g + (d << 6) + 24 >> 3] + +h[(c[(c[c[g + (d << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] + +(c[e + 252 >> 2] | 0); else f = +h[(c[i + 16 >> 2] | 0) + 24 >> 3] - +h[g + (o << 6) + 16 >> 3]; + d = Wl(k, o, l) | 0; + k = c[(c[j >> 2] | 0) + 96 >> 2] | 0; + q = +h[k + 24 >> 3]; + p = +h[k + 32 >> 3]; + j = (c[(c[n >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + r = j ? p : q; + g = d + 16 | 0; + e = c[g >> 2] | 0; + h[e + 80 >> 3] = r; + l = ~~(r * .5); + p = (j ? q : p) * .5; + h[e + 96 >> 3] = p; + h[e + 88 >> 3] = p; + c[e + 104 >> 2] = k; + h[e + 24 >> 3] = +(l + ~~f | 0); + e = ph(d, c[((c[b >> 2] & 3 | 0) == 3 ? b : m) + 40 >> 2] | 0, b) | 0; + e = c[e + 16 >> 2] | 0; + h[e + 16 >> 3] = -+h[(c[g >> 2] | 0) + 88 >> 3]; + h[e + 56 >> 3] = +h[(c[(c[((c[b >> 2] & 3 | 0) == 3 ? b : m) + 40 >> 2] | 0) + 16 >> 2] | 0) + 96 >> 3]; + a[e + 112 >> 0] = 4; + e = b + -48 | 0; + d = ph(d, c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0, b) | 0; + g = c[g >> 2] | 0; + d = c[d + 16 >> 2] | 0; + h[d + 16 >> 3] = +h[g + 96 >> 3]; + h[d + 56 >> 3] = +h[(c[(c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 88 >> 3]; + a[d + 112 >> 0] = 4; + d = c[(c[n >> 2] | 0) + 196 >> 2] | 0; + e = d + (o << 6) + 16 | 0; + f = +(l | 0); + if (+h[e >> 3] < f) h[e >> 3] = f; + d = d + (o << 6) + 24 | 0; + if (+h[d >> 3] < f) h[d >> 3] = f; + c[g + 112 >> 2] = b + } + return + } + + function Vl(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 32 | 0; + j = n + 8 | 0; + f = n + 4 | 0; + g = n; + d = c[b >> 2] & 3; + e = c[((d | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + k = (c[(c[e + 16 >> 2] | 0) + 232 >> 2] | 0) + -1 | 0; + a = c[(c[a + 16 >> 2] | 0) + 196 >> 2] | 0; + h = c[a + (k << 6) + 4 >> 2] | 0; + a = c[a + (k << 6) >> 2] | 0; + k = j + 8 | 0; + c[k >> 2] = -1; + c[j >> 2] = -1; + m = j + 12 | 0; + c[m >> 2] = a; + i = j + 4 | 0; + c[i >> 2] = a; + Xl(e, c[((d | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0, f, g); + f = c[f >> 2] | 0; + g = c[g >> 2] | 0; + d = 0; + e = a; + b = -1; + while (1) { + if ((d | 0) >= (e | 0)) break; + e = e + -1 | 0; + Yl(c[h + (d << 2) >> 2] | 0, j, f, g); + if ((d | 0) != (e | 0)) Yl(c[h + (e << 2) >> 2] | 0, j, f, g); + a = c[i >> 2] | 0; + b = c[j >> 2] | 0; + if ((a - b | 0) < 2) break; else d = d + 1 | 0 + } + if ((b | 0) > (a | 0)) a = (c[m >> 2] | 0) + (c[k >> 2] | 0) | 0; else a = a + b | 0; + l = n; + return (a + 1 | 0) / 2 | 0 | 0 + } + + function Wl(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + g = a + 16 | 0; + f = c[(c[g >> 2] | 0) + 196 >> 2] | 0; + e = f + (b << 6) | 0; + f = c[f + (b << 6) + 4 >> 2] | 0; + if (!f) f = vH((c[e >> 2] << 2) + 8 | 0) | 0; else f = xH(f, (c[e >> 2] << 2) + 8 | 0) | 0; + e = c[(c[g >> 2] | 0) + 196 >> 2] | 0; + c[e + (b << 6) + 4 >> 2] = f; + e = c[e + (b << 6) >> 2] | 0; + while (1) { + if ((e | 0) <= (d | 0)) break; + h = e + -1 | 0; + i = c[f + (h << 2) >> 2] | 0; + c[f + (e << 2) >> 2] = i; + i = (c[i + 16 >> 2] | 0) + 236 | 0; + c[i >> 2] = (c[i >> 2] | 0) + 1; + e = h + } + h = uh(a) | 0; + i = f + (d << 2) | 0; + c[i >> 2] = h; + h = c[h + 16 >> 2] | 0; + c[h + 236 >> 2] = d; + c[h + 232 >> 2] = b; + g = (c[(c[g >> 2] | 0) + 196 >> 2] | 0) + (b << 6) | 0; + h = (c[g >> 2] | 0) + 1 | 0; + c[g >> 2] = h; + c[f + (h << 2) >> 2] = 0; + return c[i >> 2] | 0 + } + + function Xl(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + a = c[(c[a + 16 >> 2] | 0) + 236 >> 2] | 0; + b = c[(c[b + 16 >> 2] | 0) + 236 >> 2] | 0; + f = (a | 0) > (b | 0); + c[d >> 2] = f ? b : a; + c[e >> 2] = f ? a : b; + return + } + + function Yl(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 16 | 0; + h = m + 4 | 0; + g = m; + b = c[b + 16 >> 2] | 0; + do if ((a[b + 156 >> 0] | 0) == 1) { + k = c[b + 236 >> 2] | 0; + if (c[b + 176 >> 2] | 0) { + i = c[b + 180 >> 2] | 0; + b = 0; + g = 0; + h = 0; + while (1) { + j = c[i + (h << 2) >> 2] | 0; + if (!j) break; + n = c[(c[(c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + j = (n | 0) > (e | 0); + b = j ? ((n | 0) < (f | 0) ? b : 1) : b; + g = j ? g : 1; + h = h + 1 | 0 + } + if (g << 24 >> 24 != 0 & b << 24 >> 24 == 0) { + c[d >> 2] = k + 1; + break + } + if (!(g << 24 >> 24 == 0 & b << 24 >> 24 != 0)) break; + c[d + 4 >> 2] = k + -1; + break + } + if ((c[b + 184 >> 2] | 0) != 2) qa(88302, 88322, 63, 88329); + i = c[b + 180 >> 2] | 0; + n = c[i >> 2] | 0; + i = c[i + 4 >> 2] | 0; + Xl(c[((c[n >> 2] & 3 | 0) == 2 ? n : n + -48 | 0) + 40 >> 2] | 0, c[((c[i >> 2] & 3 | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0, h, g); + i = c[g >> 2] | 0; + if ((i | 0) <= (e | 0)) { + c[d >> 2] = k; + c[d + 8 >> 2] = k; + break + } + b = c[h >> 2] | 0; + if ((b | 0) >= (f | 0)) { + c[d + 4 >> 2] = k; + c[d + 12 >> 2] = k; + break + } + g = (b | 0) < (e | 0); + h = (i | 0) > (f | 0); + if (!(h & g)) { + if (!(!g ? !((i | 0) < (f | 0) & (b | 0) == (e | 0)) : 0)) c[d + 8 >> 2] = k; + if (!h ? !((i | 0) == (f | 0) & (b | 0) > (e | 0)) : 0) break; + c[d + 12 >> 2] = k + } + } while (0); + l = m; + return + } + + function Zl(a) { + a = a | 0; + c[46363] = 1; + rm(a); + c[46363] = 0; + return + } + + function _l(a) { + a = a | 0; + c[46363] = 2; + rm(a); + c[46363] = 0; + return + } + + function $l(a) { + a = a | 0; + var b = 0; + Az(a, 134365, 304, 1) | 0; + dM(a); + b = uH((e[(c[(ez(a) | 0) + 16 >> 2] | 0) + 176 >> 1] | 0) << 3) | 0; + c[(c[a + 16 >> 2] | 0) + 132 >> 2] = b; + bN(a, c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1); + return + } + + function am(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0, u = 0.0; + s = l; + l = l + 64 | 0; + j = s + 48 | 0; + o = s + 40 | 0; + k = s + 24 | 0; + i = s + 8 | 0; + q = s + 56 | 0; + m = s; + do if ((b | 0) != 0 ? (r = e + 16 | 0, p = c[(c[r >> 2] | 0) + 132 >> 2] | 0, g = yx(e, b) | 0, (a[g >> 0] | 0) != 0) : 0) { + a[q >> 0] = 0; + b = p + 8 | 0; + if ((c[46366] | 0) > 2 ? (c[i >> 2] = p, c[i + 4 >> 2] = b, c[i + 8 >> 2] = p + 16, c[i + 12 >> 2] = q, (N1(g, 88435, i) | 0) > 2) : 0) { + a[(c[r >> 2] | 0) + 119 >> 0] = 1; + g = c[46366] | 0; + a:do if (+h[22908] > 0.0) { + b = 0; + while (1) { + if ((b | 0) >= (g | 0)) break a; + o = p + (b << 3) | 0; + h[o >> 3] = +h[o >> 3] / +h[22908]; + b = b + 1 | 0 + } + } while (0); + if ((g | 0) > 3) Hn(e, f, 3); + if ((a[q >> 0] | 0) != 33) { + if (!d) { + b = 1; + break + } + if (!((QL(yx(e, d) | 0) | 0) << 24 >> 24)) { + b = 1; + break + } + } + a[(c[r >> 2] | 0) + 119 >> 0] = 3; + b = 1; + break + } + c[k >> 2] = p; + c[k + 4 >> 2] = b; + c[k + 8 >> 2] = q; + if ((N1(g, 98723, k) | 0) <= 1) { + c[j >> 2] = ry(e) | 0; + c[j + 4 >> 2] = g; + Pw(1, 88449, j) | 0; + b = 0; + break + } + a[(c[r >> 2] | 0) + 119 >> 0] = 1; + g = c[46366] | 0; + b:do if (+h[22908] > 0.0) { + b = 0; + while (1) { + if ((b | 0) >= (g | 0)) break b; + k = p + (b << 3) | 0; + h[k >> 3] = +h[k >> 3] / +h[22908]; + b = b + 1 | 0 + } + } while (0); + do if ((g | 0) > 2) { + b = c[46401] | 0; + if ((b | 0 ? (n = yx(e, b) | 0, n | 0) : 0) ? (c[o >> 2] = m, (N1(n, 98183, o) | 0) == 1) : 0) { + u = +h[22908]; + t = +h[m >> 3]; + h[p + 16 >> 3] = u > 0.0 ? t / u : t; + Hn(e, f, 3); + break + } + In(e, f) + } while (0); + if ((a[q >> 0] | 0) != 33) { + if (!d) { + b = 1; + break + } + if (!((QL(yx(e, d) | 0) | 0) << 24 >> 24)) { + b = 1; + break + } + } + a[(c[r >> 2] | 0) + 119 >> 0] = 3; + b = 1 + } else b = 0; while (0); + l = s; + return b | 0 + } + + function bm(a) { + a = a | 0; + var b = 0, c = 0; + c = Sy(a) | 0; + while (1) { + if (!c) break; + b = Ex(a, c) | 0; + while (1) { + if (!b) break; + JM(b); + b = Gx(a, b) | 0 + } + HM(c); + c = Ty(a, c) | 0 + } + cm(a); + return + } + + function cm(a) { + a = a | 0; + if ((c[46363] | 0) != 0 | (c[46025] | 0) < 0) Fn(a); + if ((fz(a) | 0) != (a | 0)) Gz(a, 0, 134401); + return + } + + function dm(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 48 | 0; + m = q + 32 | 0; + o = q; + k = nx(b, 0, 99611, 0) | 0; + e = nx(b, 0, 99645, 0) | 0; + p = (RL(xx(b, 88493) | 0, 0) | 0) << 24 >> 24 != 0; + if (!e) e = nx(b, 0, 99645, 191979) | 0; + En(b) | 0; + n = b + 16 | 0; + i = 0; + while (1) { + j = c[(c[(c[n >> 2] | 0) + 152 >> 2] | 0) + (i << 2) >> 2] | 0; + if (!j) { + f = 12; + break + } + g = j + 16 | 0; + f = c[g >> 2] | 0; + if (!(a[f + 119 >> 0] | 0)) { + if (z$(ry(j) | 0, 104980, 7) | 0) { + f = 8; + break + } + f = c[g >> 2] | 0 + } + f = c[f + 108 >> 2] | 0; + if (f | 0) em(j, f, 99607); + i = i + 1 | 0 + } + a:do if ((f | 0) == 8) { + p = ry(j) | 0; + e = ry(b) | 0; + c[m >> 2] = p; + c[m + 4 >> 2] = e; + Pw(1, 88505, m) | 0; + e = -1 + } else if ((f | 0) == 12) { + fm(b, k, e); + j = gm(b) | 0; + e = c[(c[n >> 2] | 0) + 8 >> 2] | 0; + if (!(c[e + 88 >> 2] | 0)) e = 0; else { + c[e + 84 >> 2] = 0; + e = 1 + } + g = (d | 0) != 0; + i = (e | 0) != 0; + if (!(i | g & (c[46363] | 0) == 1 ^ 1) ? (tq(b) | 0) != 0 : 0) { + f = c[(c[n >> 2] | 0) + 12 >> 2] | 0; + if (!f) f = 1; else { + a[f + 81 >> 0] = 0; + f = 1 + } + } else f = 0; + mM(b); + if (i) { + d = (c[n >> 2] | 0) + 16 | 0; + _E(o, b); + 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[d + 16 >> 2] = c[o + 16 >> 2]; + c[d + 20 >> 2] = c[o + 20 >> 2]; + c[d + 24 >> 2] = c[o + 24 >> 2]; + c[d + 28 >> 2] = c[o + 28 >> 2] + } + if (!g) { + c[46367] = 1; + f = Sy(b) | 0; + while (1) { + if (!f) break a; + p = c[f + 16 >> 2] | 0; + o = c[p + 132 >> 2] | 0; + h[p + 16 >> 3] = +h[o >> 3] * 72.0; + h[p + 24 >> 3] = +h[o + 8 >> 3] * 72.0; + f = Ty(b, f) | 0 + } + } + do if (!(p | i)) { + p = c[n >> 2] | 0; + if (!(+h[p + 16 >> 3] != 0.0) ? !(+h[p + 24 >> 3] != 0.0) : 0) break; + cn(b) + } while (0); + if (!((j | 0) != 0 & (f | (an(b) | 0) << 24 >> 24 != 0))) { + if ((j | 0) == 2) { + c[46367] = 1; + break + } + } else hm(b); + $m(b, 0) + } while (0); + l = q; + return e | 0 + } + + function em(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 48 | 0; + j = k + 32 | 0; + f = k + 24 | 0; + g = k + 16 | 0; + i = k; + b = xx(b, e) | 0; + if (b | 0 ? (c[j >> 2] = f, c[j + 4 >> 2] = g, (N1(b, 102477, j) | 0) == 2) : 0) { + j = d + 56 | 0; + km(i, +h[f >> 3], +h[g >> 3]); + c[j >> 2] = c[i >> 2]; + c[j + 4 >> 2] = c[i + 4 >> 2]; + c[j + 8 >> 2] = c[i + 8 >> 2]; + c[j + 12 >> 2] = c[i + 12 >> 2]; + a[d + 81 >> 0] = 1 + } + l = k; + return + } + + function fm(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 48 | 0; + k = m + 32 | 0; + f = m + 24 | 0; + g = m + 16 | 0; + i = m; + j = b + 16 | 0; + if ((d | 0 ? (c[(c[j >> 2] | 0) + 12 >> 2] | 0) != 0 : 0) ? (n = yx(b, d) | 0, c[k >> 2] = f, c[k + 4 >> 2] = g, (N1(n, 102477, k) | 0) == 2) : 0) { + n = (c[(c[j >> 2] | 0) + 12 >> 2] | 0) + 56 | 0; + km(i, +h[f >> 3], +h[g >> 3]); + 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]; + a[(c[(c[j >> 2] | 0) + 12 >> 2] | 0) + 81 >> 0] = 1 + } + a:do if (e | 0) { + f = wA(b) | 0; + while (1) { + if (!f) break a; + lm(f, b, d, e); + f = xA(f) | 0 + } + } while (0); + l = m; + return + } + + function gm(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if (by(a) | 0) { + f = nx(a, 2, 99597, 0) | 0; + if (!((f | 0) == 0 | (c[46363] | 0) < 2)) { + b = 0; + e = Sy(a) | 0; + while (1) { + if (!e) break; + d = Ex(a, e) | 0; + while (1) { + if (!d) break; + g = b + ((im(f, d) | 0) != 0 & 1) | 0; + d = Gx(a, d) | 0; + b = g + } + e = Ty(a, e) | 0 + } + if (b) { + b = (b | 0) == (by(a) | 0); + b = b ? 2 : 1 + } else b = 0 + } else b = 0 + } else b = 2; + return b | 0 + } + + function hm(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + KM(b); + e = b + 16 | 0; + nH(c[(c[e >> 2] | 0) + 96 >> 2] | 0); + nH(c[(c[e >> 2] | 0) + 108 >> 2] | 0); + nH(c[(c[e >> 2] | 0) + 100 >> 2] | 0); + nH(c[(c[e >> 2] | 0) + 104 >> 2] | 0); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + return + } + + function im(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + B = l; + l = l + 96 | 0; + z = B + 72 | 0; + x = B + 56 | 0; + A = B + 48 | 0; + y = B + 32 | 0; + w = B + 16 | 0; + r = B + 88 | 0; + s = B + 8 | 0; + t = B; + u = B + 84 | 0; + v = B + 80 | 0; + b = yx(d, b) | 0; + do if (a[b >> 0] | 0) { + sE(d, u, v); + q = 1; + f = 0; + e = 0; + j = 0.0; + i = 0.0; + k = 0.0; + g = 0.0; + a:while (1) { + c[w >> 2] = s; + c[w + 4 >> 2] = t; + c[w + 8 >> 2] = r; + if ((N1(b, 88542, w) | 0) == 2) { + p = 1; + b = b + (c[r >> 2] | 0) | 0; + i = +h[s >> 3]; + g = +h[t >> 3] + } else p = e; + c[y >> 2] = s; + c[y + 4 >> 2] = t; + c[y + 8 >> 2] = r; + if ((N1(b, 88554, y) | 0) == 2) { + o = 1; + b = b + (c[r >> 2] | 0) | 0; + j = +h[s >> 3]; + k = +h[t >> 3] + } else o = f; + m = jm(b) | 0; + if (!((m | 0) > 3 & ((m | 0) % 3 | 0 | 0) == 1)) { + e = 8; + break + } + n = vH(m << 4) | 0; + e = n; + f = m; + while (1) { + if (!f) break; + c[x >> 2] = s; + c[x + 4 >> 2] = t; + c[x + 8 >> 2] = r; + if ((N1(b, 88624, x) | 0) < 2) { + e = 13; + break a + } + C = b + (c[r >> 2] | 0) | 0; + h[e >> 3] = +h[s >> 3]; + h[e + 8 >> 3] = +h[t >> 3]; + e = e + 16 | 0; + f = f + -1 | 0; + b = C + } + while (1) { + e = a[b >> 0] | 0; + f = b + 1 | 0; + if (!(B$(e << 24 >> 24) | 0)) break; else b = f + } + C = e << 24 >> 24 == 0; + b = C ? b : f; + q = C ? 0 : q; + f = PK(d, m) | 0; + if (p | 0) { + c[f + 8 >> 2] = c[u >> 2]; + h[f + 16 >> 3] = i; + h[f + 24 >> 3] = g + } + if (o | 0) { + c[f + 12 >> 2] = c[v >> 2]; + h[f + 32 >> 3] = j; + h[f + 40 >> 3] = k + } + e = 0; + while (1) { + if ((e | 0) >= (m | 0)) break; + C = (c[f >> 2] | 0) + (e << 4) | 0; + D = n + (e << 4) | 0; + c[C >> 2] = c[D >> 2]; + c[C + 4 >> 2] = c[D + 4 >> 2]; + c[C + 8 >> 2] = c[D + 8 >> 2]; + c[C + 12 >> 2] = c[D + 12 >> 2]; + e = e + 1 | 0 + } + D_(n); + if (!q) { + e = 26; + break + } else { + f = o; + e = p + } + } + if ((e | 0) == 8) { + KM(d); + if (a[190691] | 0) { + b = 0; + break + } + a[190691] = 1; + D = ry(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) | 0; + b = ry(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0; + c[A >> 2] = D; + c[A + 4 >> 2] = b; + Pw(0, 88567, A) | 0; + b = 0; + break + } else if ((e | 0) == 13) { + if (!(a[190691] | 0)) { + a[190691] = 1; + C = ry(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) | 0; + D = ry(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0; + c[z >> 2] = C; + c[z + 4 >> 2] = D; + Pw(0, 88634, z) | 0 + } + D_(n); + KM(d); + b = 0; + break + } else if ((e | 0) == 26) { + f = d + 16 | 0; + b = c[f >> 2] | 0; + e = c[b + 96 >> 2] | 0; + if (e) { + em(d, e, 99611); + b = c[f >> 2] | 0 + } + e = c[b + 108 >> 2] | 0; + if (e) { + em(d, e, 99607); + b = c[f >> 2] | 0 + } + e = c[b + 100 >> 2] | 0; + if (e) { + em(d, e, 99614); + b = c[f >> 2] | 0 + } + b = c[b + 104 >> 2] | 0; + if (!b) { + b = 1; + break + } + em(d, b, 99622); + b = 1; + break + } + } else b = 0; while (0); + l = B; + return b | 0 + } + + function jm(b) { + b = b | 0; + var c = 0, d = 0; + d = 0; + do { + while (1) { + c = a[b >> 0] | 0; + if (!(B$(c & 255) | 0)) break; else b = b + 1 | 0 + } + a:do if (!(c << 24 >> 24)) c = 0; else { + d = d + 1 | 0; + while (1) { + if (!(c << 24 >> 24)) { + c = 0; + break a + } + if (c << 24 >> 24 == 59 | (B$(c & 255) | 0) != 0) break a; + c = b + 1 | 0; + b = c; + c = a[c >> 0] | 0 + } + } while (0) + } while ((B$(c & 255) | 0) != 0); + return d | 0 + } + + function km(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function lm(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 32 | 0; + f = h; + if ((z$(ry(a) | 0, 104980, 7) | 0) == 0 ? (mm(a, e, f) | 0) != 0 : 0) { + Az(a, 134401, 280, 1) | 0; + i = (c[a + 16 >> 2] | 0) + 16 | 0; + c[i >> 2] = c[f >> 2]; + c[i + 4 >> 2] = c[f + 4 >> 2]; + c[i + 8 >> 2] = c[f + 8 >> 2]; + c[i + 12 >> 2] = c[f + 12 >> 2]; + c[i + 16 >> 2] = c[f + 16 >> 2]; + c[i + 20 >> 2] = c[f + 20 >> 2]; + c[i + 24 >> 2] = c[f + 24 >> 2]; + c[i + 28 >> 2] = c[f + 28 >> 2]; + nm(b, a); + fm(a, d, e) + } else g = 4; + a:do if ((g | 0) == 4) { + a = wA(a) | 0; + while (1) { + if (!a) break a; + lm(a, b, d, e); + a = xA(a) | 0 + } + } while (0); + l = h; + return + } + + function mm(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0; + i = l; + l = l + 48 | 0; + j = i + 32 | 0; + g = i; + k = yx(a, b) | 0; + a = g + 8 | 0; + b = g + 24 | 0; + c[j >> 2] = g; + c[j + 4 >> 2] = a; + c[j + 8 >> 2] = g + 16; + c[j + 12 >> 2] = b; + if ((N1(k, 88682, j) | 0) == 4) { + e = +h[a >> 3]; + f = +h[b >> 3]; + if (e > f) { + h[a >> 3] = f; + h[b >> 3] = e + } + ;c[d >> 2] = c[g >> 2]; + c[d + 4 >> 2] = c[g + 4 >> 2]; + c[d + 8 >> 2] = c[g + 8 >> 2]; + c[d + 12 >> 2] = c[g + 12 >> 2]; + c[d + 16 >> 2] = c[g + 16 >> 2]; + c[d + 20 >> 2] = c[g + 20 >> 2]; + c[d + 24 >> 2] = c[g + 24 >> 2]; + c[d + 28 >> 2] = c[g + 28 >> 2]; + a = 1 + } else a = 0; + l = i; + return a | 0 + } + + function nm(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = a + 16 | 0; + d = c[e >> 2] | 0; + g = d + 180 | 0; + a = c[g >> 2] | 0; + f = a + 1 | 0; + c[g >> 2] = f; + d = c[d + 184 >> 2] | 0; + if (!d) a = uH((a << 2) + 8 | 0) | 0; else a = wH(d, a + 2 | 0, 4, f) | 0; + c[(c[e >> 2] | 0) + 184 >> 2] = a; + c[a + (f << 2) >> 2] = b; + fH(b); + return + } + + function om(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 48 | 0; + m = n + 8 | 0; + k = n; + i = n + 16 | 0; + j = n + 12 | 0; + h = xx(b, 88698) | 0; + do if ((h | 0) != 0 ? (g = a[h >> 0] | 0, g << 24 >> 24 != 0) : 0) { + g = g & 255; + if (!(N$(g) | 0)) if ((e | 0) == 2 | (g + -48 | 0) >>> 0 < 10) e = h; else break; else { + if (!(z$(h, 88704, 4) | 0)) { + e = 0; + break + } + if (!(z$(h, 102485, 7) | 0)) { + e = 1; + break + } + if (z$(h, 88709, 6) | 0) if ((e | 0) == 2) e = h; else break; else e = h + 6 | 0 + } + if (!(((d[e >> 0] | 0) + -48 | 0) >>> 0 < 10 ? (c[k >> 2] = j, (N1(e, 96907, k) | 0) >= 1) : 0)) { + k = H1() | 0; + k = (db(0) | 0) ^ k; + c[j >> 2] = k; + c[m >> 2] = k; + Y0(i, 96907, m) | 0; + zx(b, 88698, i) | 0 + } + c[f >> 2] = c[j >> 2]; + e = 2 + } while (0); + l = n; + return e | 0 + } + + function pm(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f + 4 | 0; + c[e >> 2] = 1; + d = om(a, d, e) | 0; + if ((d | 0) != 2 & (c[46026] | 0) != 0) Pw(0, 88716, f) | 0; + if ((d | 0) == 1) qm(a, b); + i2(c[e >> 2] | 0); + l = f; + return d | 0 + } + + function qm(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, l = 0.0; + g = +(d | 0); + i = 6.283185307179586 / g; + e = Sy(b) | 0; + f = 0.0; + while (1) { + if (!e) break; + l = +E(+f) * g; + j = c[e + 16 >> 2] | 0; + k = c[j + 132 >> 2] | 0; + h[k >> 3] = l; + h[k + 8 >> 3] = +F(+f) * g; + a[j + 119 >> 0] = 1; + if ((c[46366] | 0) > 2) In(e, d); + e = Ty(b, e) | 0; + f = f + i + } + return + } + + function rm(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0; + r = l; + l = l + 80 | 0; + d = r + 24 | 0; + n = r + 32 | 0; + k = r; + p = r + 28 | 0; + m = r + 64 | 0; + q = +h[22908]; + do if (c[46363] | 0) { + h[22908] = 72.0; + sm(b); + tm(b); + if ((dm(b, 1) | 0) < 0) { + Pw(3, 88764, d) | 0; + break + } else { + PI(b, 0); + f = 32; + break + } + } else { + o = RL(xx(b, 88493) | 0, 0) | 0; + h[22908] = +ML(b); + sm(b); + g = um(b) | 0; + Sp(b, k, 0) | 0; + i = vm(b) | 0; + j = ZD(b, 0, n) | 0; + d = YD(b, -1, 8) | 0; + c[46025] = d; + e = (d | 0) < 0; + do if (!j) { + if ((g | 0) != 0 & e) { + c[46025] = 8; + c[n + 16 >> 2] = 2; + f = 11; + break + } + c[n + 16 >> 2] = 2; + if ((d | 0) <= -1) { + wm(b, g, i); + Vp(b, k) | 0; + tm(b); + if (!(o << 24 >> 24)) { + hn(b); + break + } else { + xm(b); + break + } + } else f = 11 + } else if (e) { + c[46025] = 8; + f = 11 + } else f = 11; while (0); + if ((f | 0) == 11) { + j = dD(b, p, 88792, m) | 0; + d = c[p >> 2] | 0; + do if ((d | 0) <= 1) { + wm(b, g, i); + Vp(b, k) | 0; + if (!(o << 24 >> 24)) { + hn(b); + break + } else { + xm(b); + break + } + } else { + f = o << 24 >> 24 == 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + d = c[j + (e << 2) >> 2] | 0; + vD(d) | 0; + wm(d, g, i); + Vp(d, k) | 0; + $M(d, 2); + if (f) hn(d); else xm(d); + e = e + 1 | 0; + d = c[p >> 2] | 0 + } + if (!(a[m >> 0] | 0)) e = 0; else { + e = uH(d) | 0; + a[e >> 0] = 1; + d = c[p >> 2] | 0 + } + c[n + 8 >> 2] = c[46025]; + c[n + 20 >> 2] = e; + c[n + 12 >> 2] = 1; + VD(d, j, b, n) | 0; + D_(e) + } while (0); + mM(b); + tm(b); + d = 0; + while (1) { + if ((d | 0) >= (c[p >> 2] | 0)) break; + n = c[j + (d << 2) >> 2] | 0; + Fn(n); + Cz(n, 134401) | 0; + dz(b, n) | 0; + d = d + 1 | 0 + } + D_(j) + } + PI(b, o << 24 >> 24 == 0 & 1); + f = 32 + } while (0); + if ((f | 0) == 32) h[22908] = q; + l = r; + return + } + + function sm(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0; + $M(a, 2); + f = KL(a, nx(a, 0, 89557, 0) | 0, 2, 2) | 0; + d = (KL(a, nx(a, 0, 90633, 0) | 0, f, 2) | 0) & 65535; + b[(c[(fz(a) | 0) + 16 >> 2] | 0) + 176 >> 1] = d; + d = c[(c[a + 60 >> 2] | 0) + 16 >> 2] | 0; + g = d + 176 | 0; + e = b[g >> 1] | 0; + e = (e & 65535) < 10 ? e : 10; + b[g >> 1] = e; + e = e & 65535; + c[46366] = e; + b[d + 178 >> 1] = (f | 0) < (e | 0) ? f : e; + Hm(a); + return + } + + function tm(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 1040 | 0; + e = f; + d = f + 8 | 0; + a:do if ((c[46366] | 0) > 2 & (c[46401] | 0) != 0) { + b = Sy(a) | 0; + while (1) { + if (!b) break a; + h[e >> 3] = +h[(c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0) + 16 >> 3] * 72.0; + Y0(d, 98183, e) | 0; + rx(b, c[46401] | 0, d) | 0; + b = Ty(a, b) | 0 + } + } while (0); + l = f; + return + } + + function um(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + d = xx(b, 89477) | 0; + a:do if (!d) b = 1; else { + switch (a[d >> 0] | 0) { + case 0: { + b = 1; + break a + } + case 75: { + if (!(b$(d, 89482) | 0)) { + b = 0; + break a + } + break + } + case 109: { + if (!(b$(d, 89485) | 0)) { + b = 1; + break a + } + break + } + case 104: { + if (!(b$(d, 89491) | 0)) { + b = 2; + break a + } + break + } + default: { + } + } + b = ry(b) | 0; + c[e >> 2] = d; + c[e + 4 >> 2] = b; + Pw(0, 89496, e) | 0; + b = 1 + } while (0); + l = f; + return b | 0 + } + + function vm(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 32 | 0; + g = h + 16 | 0; + f = h + 8 | 0; + e = h; + d = xx(b, 89260) | 0; + a:do if (!d) b = 0; else { + switch (a[d >> 0] | 0) { + case 0: { + b = 0; + break a + } + case 99: { + if (!(b$(d, 89266) | 0)) { + b = 1; + break a + } + break + } + case 115: { + if (!(b$(d, 89274) | 0)) { + b = 2; + break a + } + if (!(b$(d, 89281) | 0)) { + b = 0; + break a + } + break + } + case 109: { + if (!(b$(d, 89291) | 0)) { + if (nx(b, 2, 90566, 0) | 0) { + b = 3; + break a + } + c[e >> 2] = ry(b) | 0; + Pw(0, 89295, e) | 0; + Pw(3, 89358, f) | 0; + b = 0; + break a + } + break + } + default: { + } + } + b = ry(b) | 0; + c[g >> 2] = d; + c[g + 4 >> 2] = b; + Pw(0, 89415, g) | 0; + b = 0 + } while (0); + l = h; + return b | 0 + } + + function wm(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = xx(a, 90975) | 0; + if (!e) if ((b | 0) == 1) e = 200; else e = (ay(a) | 0) * 100 | 0; else e = a2(e) | 0; + c[46365] = e; + e = yn(a, b) | 0; + do if (!((e | 0) < 2 | (c[46365] | 0) < 0)) if (!b) { + zm(a, e, d); + break + } else { + ym(a, e, b, d, c[46366] | 0); + break + } while (0); + return + } + + function xm(a) { + a = a | 0; + mM(a); + $m(a, 1); + return + } + + function ym(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 64 | 0; + r = u + 40 | 0; + o = u + 24 | 0; + n = u; + p = u + 48 | 0; + t = u + 44 | 0; + q = (d | 0) == 2; + i = pm(a, b, q ? 0 : 2) | 0; + j = Gm(a) | 0; + k = j | 4; + s = vH(f << 2) | 0; + c[s >> 2] = vH(O(b << 3, f) | 0) | 0; + g = c[46366] | 0; + f = 1; + while (1) { + if ((f | 0) >= (g | 0)) break; + c[s + (f << 2) >> 2] = (c[s >> 2] | 0) + ((O(f, b) | 0) << 3); + f = f + 1 | 0 + } + g = (i | 0) == 0; + f = g ? k : j; + if (0) { + k = c[15686] | 0; + j = c[46365] | 0; + m = +h[22909]; + c[n >> 2] = e; + c[n + 4 >> 2] = g & 1; + c[n + 8 >> 2] = f & 3; + c[n + 12 >> 2] = j; + h[n + 16 >> 3] = m; + g1(k, 89073, n) | 0; + E1(89130, 15, 1, k) | 0; + EL(); + E1(89146, 13, 1, k) | 0 + } + n = Cm(a, b, p, d, e, t) | 0; + if (0) { + k = c[15686] | 0; + m = +FL(); + c[o >> 2] = b; + h[o + 8 >> 3] = m; + g1(k, 89160, o) | 0 + } + if ((d | 0) != 1) { + m = +LL(a, nx(a, 0, 89179, 0) | 0, 0.0, -1797693134862315708145274.0e284); + if (q) { + f = Gq(n, b, c[p >> 2] | 0, s, c[t >> 2] | 0, c[46366] | 0, f, e, c[46365] | 0, m) | 0; + g = 12 + } else g = 14 + } else { + f = qn(n, b, c[p >> 2] | 0, s, c[t >> 2] | 0, c[46366] | 0, f, e, c[46365] | 0) | 0; + g = 12 + } + if ((g | 0) == 12) if ((f | 0) < 0) Pw(3, 89189, r) | 0; else g = 14; + a:do if ((g | 0) == 14) { + g = Sy(a) | 0; + while (1) { + if (!g) break a; + k = c[g + 16 >> 2] | 0; + i = c[k + 120 >> 2] | 0; + j = c[46366] | 0; + k = k + 132 | 0; + f = 0; + while (1) { + if ((f | 0) >= (j | 0)) break; + h[(c[k >> 2] | 0) + (f << 3) >> 3] = +h[(c[s + (f << 2) >> 2] | 0) + (i << 3) >> 3]; + f = f + 1 | 0 + } + g = Ty(a, g) | 0 + } + } while (0); + br(n); + D_(c[s >> 2] | 0); + D_(s); + D_(c[t >> 2] | 0); + l = u; + return + } + + function zm(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0; + g = l; + l = l + 48 | 0; + f = g + 32 | 0; + e = g; + switch (d | 0) { + case 2: { + Am(a, b); + break + } + case 1: { + if (!(Cq(a, b) | 0)) { + c[e >> 2] = ry(a) | 0; + Pw(0, 88802, e) | 0; + Pw(3, 91952, g + 8 | 0) | 0; + Pw(3, 88854, g + 16 | 0) | 0; + Pw(3, 88926, g + 24 | 0) | 0; + Wn(a, b) + } + break + } + default: { + Wn(a, b); + if ((d | 0) == 3) Bm(a) + } + } + Kn(a, b); + Ln(a, b); + if (0) { + e = c[15686] | 0; + j = c[46365] | 0; + i = +h[22909]; + c[f >> 2] = d; + c[f + 4 >> 2] = j; + h[f + 8 >> 3] = i; + g1(e, 88964, f) | 0; + EL() + } + Mn(a, b); + l = g; + return + } + + function Am(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + g = Cm(a, b, j, 0, 2, 0) | 0; + i = ds(g, b) | 0; + e = a + 16 | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + f = i + (a << 2) | 0; + d = 0; + while (1) { + if ((d | 0) == (b | 0)) break; + h[(c[(c[(c[e >> 2] | 0) + 160 >> 2] | 0) + (a << 2) >> 2] | 0) + (d << 3) >> 3] = +(c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0); + d = d + 1 | 0 + } + a = a + 1 | 0 + } + D_(c[i >> 2] | 0); + D_(i); + br(g); + l = j; + return + } + + function Bm(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0; + f = a + 16 | 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + g = c[b >> 2] & 3; + e = (c[c[((g | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + g = (c[c[((g | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + if ((e | 0) != (g | 0)) { + j = +h[(c[b + 16 >> 2] | 0) + 136 >> 3]; + i = c[(c[f >> 2] | 0) + 160 >> 2] | 0; + h[(c[i + (g << 2) >> 2] | 0) + (e << 3) >> 3] = j; + h[(c[i + (e << 2) >> 2] | 0) + (g << 3) >> 3] = j + } + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + return + } + + function Cm(a, b, d, e, f, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, 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.0, I = 0; + j = by(a) | 0; + G = GI() | 0; + if ((f | 0) == 2) { + k = 0; + D = 0 + } else { + D = nx(a, 2, 90566, 0) | 0; + k = (c[46404] | 0) != 0 & 1; + D = (D | 0) != 0 + } + A = (e | 1 | 0) == 3; + E = vH(b * 20 | 0) | 0; + F = vH(b << 2) | 0; + l = (j << 1) + b << 2; + m = vH(l) | 0; + z = A | D; + if (z) f = vH(l) | 0; else f = 0; + C = (k | 0) != 0; + if (C) j = vH(l) | 0; else j = 0; + if (A) k = vH(l) | 0; else k = 0; + l = 0; + x = Sy(a) | 0; + y = 0; + while (1) { + if (!x) break; + JI(G); + if ((c[(c[x + 16 >> 2] | 0) + 120 >> 2] | 0) != (y | 0)) { + B = 12; + break + } + c[F + (y << 2) >> 2] = x; + u = E + (y * 20 | 0) + 4 | 0; + c[u >> 2] = m; + v = E + (y * 20 | 0) + 8 | 0; + c[v >> 2] = z ? f : 0; + w = E + (y * 20 | 0) + 12 | 0; + c[w >> 2] = C ? j : 0; + c[E + (y * 20 | 0) + 16 >> 2] = A ? k : 0; + r = 1; + t = Jx(a, x) | 0; + s = 1; + q = l; + m = m + 4 | 0; + f = z ? f + 4 | 0 : f; + j = C ? j + 4 | 0 : j; + k = A ? k + 4 | 0 : k; + while (1) { + if (!t) break; + n = c[t >> 2] & 3; + p = t + -48 | 0; + l = t + 48 | 0; + do if ((c[((n | 0) == 2 ? t : p) + 40 >> 2] | 0) == (c[((n | 0) == 3 ? t : l) + 40 >> 2] | 0)) { + n = r; + p = s; + l = q + } else { + n = Dm(G, t, r) | 0; + if ((n | 0) != (r | 0)) { + if (C) { + p = (c[w >> 2] | 0) + (n << 2) | 0; + g[p >> 2] = +h[(c[t + 16 >> 2] | 0) + 128 >> 3] + +g[p >> 2] + } + if (!D) { + n = r; + p = s; + l = q; + break + } + n = (c[v >> 2] | 0) + (n << 2) | 0; + H = +h[(c[t + 16 >> 2] | 0) + 136 >> 3]; + o = +(~~+g[n >> 2] | 0); + g[n >> 2] = H > o ? H : o; + n = r; + p = s; + l = q; + break + } + I = c[t >> 2] & 3; + l = (I | 0) == 3 ? t : l; + q = q + 1 | 0; + n = r + 1 | 0; + r = m + 4 | 0; + c[m >> 2] = c[(c[(c[((c[l + 40 >> 2] | 0) == (x | 0) ? ((I | 0) == 2 ? t : p) : l) + 40 >> 2] | 0) + 16 >> 2] | 0) + 120 >> 2]; + if (C) { + g[j >> 2] = +h[(c[t + 16 >> 2] | 0) + 128 >> 3]; + j = j + 4 | 0 + } + if (D) { + l = f + 4 | 0; + g[f >> 2] = +h[(c[t + 16 >> 2] | 0) + 136 >> 3]; + if (A) { + f = l; + B = 27 + } else f = l + } else if (A) { + g[f >> 2] = 1.0; + f = f + 4 | 0; + B = 27 + } + if ((B | 0) == 27) { + B = 0; + l = xx(t, 98533) | 0; + if ((l | 0) != 0 ? (z$(l, 132627, 4) | 0) == 0 : 0) o = 0.0; else o = (x | 0) == (c[((c[t >> 2] & 3 | 0) == 2 ? t : p) + 40 >> 2] | 0) ? 1.0 : -1.0; + g[k >> 2] = o; + k = k + 4 | 0 + } + p = s + 1 | 0; + l = q; + m = r + } while (0); + r = n; + t = Kx(a, t, x) | 0; + s = p; + q = l + } + c[E + (y * 20 | 0) >> 2] = s; + c[c[u >> 2] >> 2] = y; + l = q; + x = Ty(a, x) | 0; + y = y + 1 | 0 + } + if ((B | 0) == 12) qa(89003, 89018, 819, 89030); + if (A) Em(E, b, e, F); + n = (l | 0) / 2 | 0; + a:do if ((n | 0) != (by(a) | 0)) { + l = (n << 1) + b << 2; + k = xH(c[E + 4 >> 2] | 0, l) | 0; + if (D) f = xH(c[E + 8 >> 2] | 0, l) | 0; + if (C) { + m = 0; + j = xH(c[E + 12 >> 2] | 0, l) | 0 + } else m = 0; + while (1) { + if ((m | 0) >= (b | 0)) break a; + l = c[E + (m * 20 | 0) >> 2] | 0; + c[E + (m * 20 | 0) + 4 >> 2] = k; + if (D) { + c[E + (m * 20 | 0) + 8 >> 2] = f; + f = f + (l << 2) | 0 + } + if (C) { + c[E + (m * 20 | 0) + 12 >> 2] = j; + j = j + (l << 2) | 0 + } + m = m + 1 | 0; + k = k + (l << 2) | 0 + } + } while (0); + c[d >> 2] = n; + if (!i) D_(F); else c[i >> 2] = F; + KI(G); + return E | 0 + } + + function Dm(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = c[b >> 2] & 3; + e = c[(c[(c[((f | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 120 >> 2] | 0; + b = c[(c[(c[((f | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 120 >> 2] | 0; + f = (e | 0) > (b | 0); + return LI(a, f ? b : e, f ? e : b, d) | 0 + } + + function Em(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) { + g = 0; + break + } + h = c[(c[f + (g << 2) >> 2] | 0) + 16 >> 2] | 0; + a[h + 157 >> 0] = 0; + a[h + 158 >> 0] = 0; + g = g + 1 | 0 + } + while (1) { + if ((g | 0) >= (d | 0)) break; + if (!(a[(c[(c[f + (g << 2) >> 2] | 0) + 16 >> 2] | 0) + 157 >> 0] | 0)) Fm(b, g, e, f); + g = g + 1 | 0 + } + return + } + + function Fm(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0; + q = (c[f + (d << 2) >> 2] | 0) + 16 | 0; + l = c[q >> 2] | 0; + a[l + 157 >> 0] = 1; + a[l + 158 >> 0] = 1; + l = b + (d * 20 | 0) | 0; + m = b + (d * 20 | 0) + 16 | 0; + n = b + (d * 20 | 0) + 4 | 0; + o = (e | 0) == 3 ? -1.0 : 1.0; + k = 1; + a:while (1) { + if ((k | 0) >= (c[l >> 2] | 0)) { + h = 14; + break + } + h = (c[m >> 2] | 0) + (k << 2) | 0; + do if (!(+g[h >> 2] == 1.0)) { + p = c[(c[n >> 2] | 0) + (k << 2) >> 2] | 0; + i = c[(c[f + (p << 2) >> 2] | 0) + 16 >> 2] | 0; + if (!(a[i + 158 >> 0] | 0)) { + if (a[i + 157 >> 0] | 0) break; + Fm(b, p, e, f); + break + } + g[h >> 2] = o; + i = b + (p * 20 | 0) + 4 | 0; + j = c[b + (p * 20 | 0) >> 2] | 0; + h = 1; + while (1) { + if ((h | 0) >= (j | 0)) { + h = 9; + break a + } + if ((c[(c[i >> 2] | 0) + (h << 2) >> 2] | 0) == (d | 0)) break; + h = h + 1 | 0 + } + g[(c[b + (p * 20 | 0) + 16 >> 2] | 0) + (h << 2) >> 2] = -1.0 + } while (0); + k = k + 1 | 0 + } + if ((h | 0) == 9) qa(89044, 89018, 721, 89064); else if ((h | 0) == 14) { + a[(c[q >> 2] | 0) + 158 >> 0] = 0; + return + } + } + + function Gm(a) { + a = a | 0; + var b = 0, d = 0; + d = l; + l = l + 16 | 0; + b = d; + a = KL(a, nx(a, 0, 89205, 0) | 0, 2, 0) | 0; + if ((a | 0) == 0 | (a | 0) > 2) { + c[b >> 2] = 89205; + Pw(0, 89214, b) | 0; + a = 2 + } + l = d; + return a | 0 + } + + function Hm(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = ay(a) | 0; + c[46026] = nx(a, 1, 99597, 0) | 0; + e = nx(a, 1, 90570, 0) | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + $l(b); + am(c[46026] | 0, e, b, d) | 0; + b = Ty(a, b) | 0 + } + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + Im(b); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + return + } + + function Im(a) { + a = a | 0; + var b = 0.0; + Az(a, 134378, 176, 1) | 0; + eM(a) | 0; + b = +LL(a, c[46404] | 0, 1.0, 1.0); + h[(c[a + 16 >> 2] | 0) + 128 >> 3] = b; + return + } + + function Jm(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + a = uH(64) | 0; + e = a + 8 | 0; + f = d + 8 | 0; + g = e + 48 | 0; + do { + c[e >> 2] = c[f >> 2]; + e = e + 4 | 0; + f = f + 4 | 0 + } while ((e | 0) < (g | 0)); + d = c[d + 56 >> 2] | 0; + c[a + 56 >> 2] = d; + b[(c[d + 16 >> 2] | 0) + 168 >> 1] = 1; + return a | 0 + } + + function Km(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function Lm(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[b >> 2] | 0; + e = c[d >> 2] | 0; + if (a >>> 0 <= e >>> 0) if (a >>> 0 >= e >>> 0) { + e = c[b + 24 >> 2] | 0; + a = c[d + 24 >> 2] | 0; + if (e >>> 0 <= a >>> 0) if (e >>> 0 >= a >>> 0) { + a = ~~(+h[b + 8 >> 3] - +h[d + 8 >> 3]); + if (!a) { + a = ~~(+h[b + 16 >> 3] - +h[d + 16 >> 3]); + if (!a) { + a = ~~(+h[b + 32 >> 3] - +h[d + 32 >> 3]); + if (!a) a = ~~(+h[b + 40 >> 3] - +h[d + 40 >> 3]) + } + } + } else a = -1; else a = 1 + } else a = -1; else a = 1; + return a | 0 + } + + function Mm(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0.0; + k = l; + l = l + 16 | 0; + g = k; + h = e + 16 | 0; + i = b[(c[h >> 2] | 0) + 168 >> 1] | 0; + j = i << 16 >> 16; + if (i << 16 >> 16 != 1 & (a[191874] | 0) == 0) { + i = vH(j << 2) | 0; + g = 0; + while (1) { + if ((g | 0) >= (j | 0)) break; + c[i + (g << 2) >> 2] = e; + e = c[(c[e + 16 >> 2] | 0) + 172 >> 2] | 0; + g = g + 1 | 0 + } + m = +(f | 0); + YK(d, i, 0, j, m, m, 17764); + e = 0; + while (1) { + if ((e | 0) >= (j | 0)) break; + g = c[i + (e << 2) >> 2] | 0; + h = g + 16 | 0; + if (c[(c[h >> 2] | 0) + 96 >> 2] | 0) { + f = ez(c[((c[g >> 2] & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) | 0; + kM(f, c[(c[h >> 2] | 0) + 96 >> 2] | 0) + } + dL(g); + e = e + 1 | 0 + } + D_(i) + } else { + c[g >> 2] = e; + m = +(f | 0); + YK(d, g, 0, 1, m, m, 17764); + if (c[(c[h >> 2] | 0) + 96 >> 2] | 0) { + j = ez(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) | 0; + kM(j, c[(c[h >> 2] | 0) + 96 >> 2] | 0) + } + dL(e) + } + l = k; + return + } + + function Nm(a) { + a = a | 0; + return 0 + } + + function Om(a) { + a = a | 0; + return 0 + } + + function Pm(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0.0, t = 0, + u = 0, v = 0, w = 0.0, x = 0.0, y = 0.0, z = 0, A = 0, B = 0, D = 0, G = 0, H = 0, I = 0, J = 0, + K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0; + Q = l; + l = l + 384 | 0; + O = Q + 368 | 0; + P = Q + 112 | 0; + j = Q + 32 | 0; + r = Q + 336 | 0; + K = Q + 320 | 0; + L = Q + 304 | 0; + M = Q + 288 | 0; + N = Q + 272 | 0; + i = Q + 256 | 0; + H = Q + 240 | 0; + I = Q + 224 | 0; + J = Q + 208 | 0; + t = Q + 192 | 0; + u = Q + 176 | 0; + v = Q + 160 | 0; + z = Q + 144 | 0; + A = Q + 128 | 0; + B = Q + 96 | 0; + D = Q + 16 | 0; + G = Q; + a:do switch (HJ(b) | 0) { + case 3: + case 1: { + f = uH(8) | 0; + z = b + 16 | 0; + b = c[z >> 2] | 0; + i = c[b + 12 >> 2] | 0; + do if (!(e << 24 >> 24)) { + b = c[i + 8 >> 2] | 0; + if ((b | 0) > 2) { + y = 0.0; + j = c[i + 44 >> 2] | 0; + e = 0; + p = +g[d >> 2]; + q = +g[d + 4 >> 2]; + break + } else { + y = +k2() * .01; + b = 8; + j = 0; + e = 1; + p = 0.0; + q = 0.0; + break + } + } else if (!(c[i + 40 >> 2] & 2048)) { + q = +h[b + 88 >> 3]; + p = -q; + y = +h[b + 80 >> 3]; + x = y * -.5; + h[j >> 3] = p; + h[j + 8 >> 3] = x; + h[j + 16 >> 3] = q; + h[j + 24 >> 3] = x; + y = y * .5; + h[j + 32 >> 3] = q; + h[j + 40 >> 3] = y; + h[j + 48 >> 3] = p; + h[j + 56 >> 3] = y; + y = 0.0; + b = 4; + e = 0; + p = 0.0; + q = 0.0; + break + } else { + jM(r, i); + p = +h[r >> 3]; + x = +h[r + 8 >> 3]; + q = +h[r + 16 >> 3]; + y = +h[r + 24 >> 3]; + h[j >> 3] = p; + h[j + 8 >> 3] = x; + h[j + 16 >> 3] = q; + h[j + 24 >> 3] = x; + h[j + 32 >> 3] = q; + h[j + 40 >> 3] = y; + h[j + 48 >> 3] = p; + h[j + 56 >> 3] = y; + y = 0.0; + b = 4; + e = 0; + p = 0.0; + q = 0.0; + break + } while (0); + c[f + 4 >> 2] = b; + r = uH(b << 4) | 0; + c[f >> 2] = r; + s = 1.0 / +(b | 0); + t = d + 8 | 0; + u = d + 4 | 0; + v = (b | 0) == 4; + w = -p; + x = -q; + i = 0; + while (1) { + if ((b | 0) <= (i | 0)) break a; + do if (e) { + k = +(i | 0) * 6.283185307179586 * s + y; + m = +E(+k); + k = +F(+k); + if (!(a[t >> 0] | 0)) { + P = c[z >> 2] | 0; + n = k * +g[u >> 2] * +h[P + 80 >> 3]; + k = m * +g[d >> 2] * (+h[P + 96 >> 3] + +h[P + 88 >> 3]) + } else { + P = c[z >> 2] | 0; + n = (+h[P + 80 >> 3] + +g[u >> 2]) * k; + k = (+h[P + 96 >> 3] + +h[P + 88 >> 3] + +g[d >> 2]) * m + } + o = k * .5; + k = n * .5 + } else { + if (!(a[t >> 0] | 0)) { + o = +h[j + (i << 4) >> 3] * p; + k = +h[j + (i << 4) + 8 >> 3] * q; + break + } + if (!v) { + o = +h[j + (i << 4) >> 3]; + k = +h[j + (i << 4) + 8 >> 3]; + n = +C(+(k * k + o * o)); + o = (p / n + 1.0) * o; + k = (q / n + 1.0) * k; + break + } + switch (i | 0) { + case 0: { + m = q; + k = p; + break + } + case 1: { + m = q; + k = w; + break + } + case 2: { + m = x; + k = w; + break + } + case 3: { + m = x; + k = p; + break + } + default: { + m = 0.0; + k = 0.0 + } + } + o = +h[j + (i << 4) >> 3] + k; + k = +h[j + (i << 4) + 8 >> 3] + m + } while (0); + O = c[z >> 2] | 0; + P = b - i + -1 | 0; + h[r + (P << 4) >> 3] = +h[O + 16 >> 3] + o; + h[r + (P << 4) + 8 >> 3] = +h[O + 24 >> 3] + k; + i = i + 1 | 0 + } + } + case 2: { + G = b + 16 | 0; + f = c[(c[G >> 2] | 0) + 12 >> 2] | 0; + k = +h[f + 16 >> 3]; + o = +h[f + 24 >> 3]; + m = +h[f + 32 >> 3]; + n = +h[f + 40 >> 3]; + f = uH(8) | 0; + c[f + 4 >> 2] = 4; + b = uH(64) | 0; + c[f >> 2] = b; + G = (c[G >> 2] | 0) + 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]; + if (!(a[d + 8 >> 0] | 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]; + Rm(i, k, o, O, d); + 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]; + N = (c[f >> 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]; + Rm(H, k, n, O, d); + c[N >> 2] = c[H >> 2]; + c[N + 4 >> 2] = c[H + 4 >> 2]; + c[N + 8 >> 2] = c[H + 8 >> 2]; + c[N + 12 >> 2] = c[H + 12 >> 2]; + N = (c[f >> 2] | 0) + 32 | 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]; + Rm(I, m, n, O, d); + 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]; + N = (c[f >> 2] | 0) + 48 | 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]; + Rm(J, m, o, O, d); + c[N >> 2] = c[J >> 2]; + c[N + 4 >> 2] = c[J + 4 >> 2]; + c[N + 8 >> 2] = c[J + 8 >> 2]; + c[N + 12 >> 2] = c[J + 12 >> 2]; + break a + } else { + y = k - +g[d >> 2]; + J = d + 4 | 0; + x = o - +g[J >> 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]; + Qm(K, y, x, O); + 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]; + K = (c[f >> 2] | 0) + 16 | 0; + x = k - +g[d >> 2]; + y = n + +g[J >> 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]; + Qm(L, x, y, O); + 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]; + L = (c[f >> 2] | 0) + 32 | 0; + y = m + +g[d >> 2]; + x = n + +g[J >> 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]; + Qm(M, y, x, O); + 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]; + M = (c[f >> 2] | 0) + 48 | 0; + x = m + +g[d >> 2]; + y = o - +g[J >> 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]; + Qm(N, x, y, O); + 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]; + break a + } + } + case 4: { + b = b + 16 | 0; + f = uH(8) | 0; + c[f + 4 >> 2] = 4; + i = uH(64) | 0; + c[f >> 2] = i; + j = c[b >> 2] | 0; + N = j + 16 | 0; + 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]; + k = -+h[j + 88 >> 3]; + if (!(a[d + 8 >> 0] | 0)) { + x = -+h[j + 80 >> 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]; + Rm(A, k, x, O, d); + 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]; + N = (c[f >> 2] | 0) + 16 | 0; + M = c[b >> 2] | 0; + x = -+h[M + 88 >> 3]; + y = +h[M + 80 >> 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]; + Rm(B, x, y, O, d); + 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]; + N = (c[f >> 2] | 0) + 32 | 0; + M = c[b >> 2] | 0; + y = +h[M + 96 >> 3]; + x = +h[M + 80 >> 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]; + Rm(D, y, x, O, d); + 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[f >> 2] | 0) + 48 | 0; + M = c[b >> 2] | 0; + x = +h[M + 96 >> 3]; + y = -+h[M + 80 >> 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]; + Rm(G, x, y, O, d); + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + break a + } else { + y = k - +g[d >> 2]; + M = d + 4 | 0; + x = -+h[j + 80 >> 3] - +g[M >> 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]; + Qm(t, y, x, O); + c[i >> 2] = c[t >> 2]; + c[i + 4 >> 2] = c[t + 4 >> 2]; + c[i + 8 >> 2] = c[t + 8 >> 2]; + c[i + 12 >> 2] = c[t + 12 >> 2]; + N = (c[f >> 2] | 0) + 16 | 0; + L = c[b >> 2] | 0; + x = -+h[L + 88 >> 3] - +g[d >> 2]; + y = +h[L + 80 >> 3] + +g[M >> 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]; + Qm(u, x, y, O); + c[N >> 2] = c[u >> 2]; + c[N + 4 >> 2] = c[u + 4 >> 2]; + c[N + 8 >> 2] = c[u + 8 >> 2]; + c[N + 12 >> 2] = c[u + 12 >> 2]; + N = (c[f >> 2] | 0) + 32 | 0; + L = c[b >> 2] | 0; + y = +h[L + 96 >> 3] + +g[d >> 2]; + x = +h[L + 80 >> 3] + +g[M >> 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]; + Qm(v, y, x, O); + c[N >> 2] = c[v >> 2]; + c[N + 4 >> 2] = c[v + 4 >> 2]; + c[N + 8 >> 2] = c[v + 8 >> 2]; + c[N + 12 >> 2] = c[v + 12 >> 2]; + N = (c[f >> 2] | 0) + 48 | 0; + L = c[b >> 2] | 0; + x = +h[L + 96 >> 3] + +g[d >> 2]; + y = -+h[L + 80 >> 3] - +g[M >> 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]; + Qm(z, x, y, O); + 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]; + break a + } + } + default: + f = 0 + } while (0); + l = Q; + return f | 0 + } + + function Qm(a, b, c, d) { + a = a | 0; + b = +b; + c = +c; + d = d | 0; + c = +h[d + 8 >> 3] + c; + h[a >> 3] = +h[d >> 3] + b; + h[a + 8 >> 3] = c; + return + } + + function Rm(a, b, c, d, e) { + a = a | 0; + b = +b; + c = +c; + d = d | 0; + e = e | 0; + c = +g[e + 4 >> 2] * c + +h[d + 8 >> 3]; + h[a >> 3] = +g[e >> 2] * b + +h[d >> 3]; + h[a + 8 >> 3] = c; + return + } + + function Sm(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + o = l; + l = l + 112 | 0; + j = o + 88 | 0; + i = o + 72 | 0; + k = o + 32 | 0; + m = o + 16 | 0; + n = o; + f = o + 56 | 0; + g = o + 40 | 0; + h = b + 48 | 0; + r = (c[(c[((c[b >> 2] & 3 | 0) == 3 ? b : h) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + p = b + 16 | 0; + q = (c[p >> 2] | 0) + 16 | 0; + 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]; + c[j >> 2] = c[q >> 2]; + c[j + 4 >> 2] = c[q + 4 >> 2]; + c[j + 8 >> 2] = c[q + 8 >> 2]; + c[j + 12 >> 2] = c[q + 12 >> 2]; + Tm(f, i, j); + 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]; + f = b + -48 | 0; + q = (c[(c[((c[b >> 2] & 3 | 0) == 2 ? b : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + p = (c[p >> 2] | 0) + 56 | 0; + c[i >> 2] = c[q >> 2]; + c[i + 4 >> 2] = c[q + 4 >> 2]; + c[i + 8 >> 2] = c[q + 8 >> 2]; + c[i + 12 >> 2] = c[q + 12 >> 2]; + c[j >> 2] = c[p >> 2]; + c[j + 4 >> 2] = c[p + 4 >> 2]; + c[j + 8 >> 2] = c[p + 8 >> 2]; + c[j + 12 >> 2] = c[p + 12 >> 2]; + Tm(g, i, j); + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + if (!e) { + g = -1111; + f = -1111 + } else { + r = c[b >> 2] & 3; + g = c[(c[(c[((r | 0) == 2 ? b : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 288 >> 2] | 0; + f = c[(c[(c[((r | 0) == 3 ? b : h) + 40 >> 2] | 0) + 16 >> 2] | 0) + 288 >> 2] | 0 + } + ;c[i >> 2] = c[m >> 2]; + c[i + 4 >> 2] = c[m + 4 >> 2]; + c[i + 8 >> 2] = c[m + 8 >> 2]; + c[i + 12 >> 2] = c[m + 12 >> 2]; + c[j >> 2] = c[n >> 2]; + c[j + 4 >> 2] = c[n + 4 >> 2]; + c[j + 8 >> 2] = c[n + 8 >> 2]; + c[j + 12 >> 2] = c[n + 12 >> 2]; + vU(d, i, f, j, g, k) | 0; + p = k; + q = c[p + 4 >> 2] | 0; + r = a; + c[r >> 2] = c[p >> 2]; + c[r + 4 >> 2] = q; + l = o; + return + } + + function Tm(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function Um(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0; + u = l; + l = l + 144 | 0; + p = u + 104 | 0; + q = u + 88 | 0; + o = u + 80 | 0; + n = u + 72 | 0; + j = u + 64 | 0; + s = u + 128 | 0; + k = u + 32 | 0; + m = u + 124 | 0; + t = u + 16 | 0; + r = u; + i = u + 120 | 0; + h = (c[b + 16 >> 2] | 0) + 144 | 0; + g = c[h >> 2] | 0; + h = c[h + 4 >> 2] | 0; + v = j; + c[v >> 2] = g; + c[v + 4 >> 2] = h; + v = g; + 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]; + h = g + (h + -1 << 4) | 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]; + a:do if (!(f << 24 >> 24)) { + g = -1111; + f = -1111 + } else { + g = -1111; + f = -1111; + h = 0; + while (1) { + if ((h | 0) >= (e | 0)) break a; + if ((f | 0) == -1111) { + f = c[d + (h << 2) >> 2] | 0; + c[q >> 2] = c[f >> 2]; + c[q + 4 >> 2] = c[f + 4 >> 2]; + 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]; + f = (wU(q, p) | 0) == 0; + f = f ? -1111 : h + } + if ((g | 0) == -1111) { + g = c[d + (h << 2) >> 2] | 0; + c[q >> 2] = c[g >> 2]; + c[q + 4 >> 2] = c[g + 4 >> 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]; + g = (wU(q, p) | 0) == 0; + g = g ? -1111 : h + } + h = h + 1 | 0 + } + } while (0); + Vm(d, e, f, g, i, m); + 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 = c[i >> 2] | 0; + v = c[m >> 2] | 0; + c[p >> 2] = c[j >> 2]; + c[p + 4 >> 2] = c[j + 4 >> 2]; + if ((xU(h, v, p, k, s) | 0) < 0) { + t = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + v = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + c[n >> 2] = t; + c[n + 4 >> 2] = v; + Pw(1, 89563, n) | 0 + } else { + if (0 > 1) { + g = c[15686] | 0; + n = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + f = b + -48 | 0; + v = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : f) + 40 >> 2] | 0) | 0; + c[o >> 2] = n; + c[o + 4 >> 2] = v; + g1(g, 89611, o) | 0; + g = b + } else { + f = b + -48 | 0; + g = b + } + QK(b, c[((c[g >> 2] & 3 | 0) == 2 ? b : f) + 40 >> 2] | 0, c[s >> 2] | 0, c[s + 4 >> 2] | 0, 17764); + D_(h); + 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]; + 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]; + jL(a, b, q, p) + } + l = u; + return + } + + function Vm(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; + i = 0; + h = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + if (!((i | 0) == (d | 0) | (i | 0) == (e | 0))) h = (c[(c[a + (i << 2) >> 2] | 0) + 4 >> 2] | 0) + h | 0; + i = i + 1 | 0 + } + o = vH(h << 5) | 0; + i = 0; + n = 0; + while (1) { + if ((n | 0) >= (b | 0)) break; + a:do if (!((n | 0) == (d | 0) | (n | 0) == (e | 0))) { + m = a + (n << 2) | 0; + l = 0; + while (1) { + j = c[m >> 2] | 0; + k = c[j + 4 >> 2] | 0; + if ((l | 0) >= (k | 0)) break a; + p = l + 1 | 0; + q = o + (i << 5) | 0; + j = (c[j >> 2] | 0) + (l << 4) | 0; + c[q >> 2] = c[j >> 2]; + c[q + 4 >> 2] = c[j + 4 >> 2]; + c[q + 8 >> 2] = c[j + 8 >> 2]; + c[q + 12 >> 2] = c[j + 12 >> 2]; + j = o + (i << 5) + 16 | 0; + k = (c[c[m >> 2] >> 2] | 0) + (((p | 0) < (k | 0) ? p : 0) << 4) | 0; + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + l = p; + i = i + 1 | 0 + } + } while (0); + n = n + 1 | 0 + } + if ((i | 0) == (h | 0)) { + c[f >> 2] = o; + c[g >> 2] = h; + return + } else qa(89625, 89632, 77, 89647) + } + + function Wm(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + n = l; + l = l + 32 | 0; + k = n + 12 | 0; + f = n; + uq(f, a); + c[k >> 2] = c[f >> 2]; + c[k + 4 >> 2] = c[f + 4 >> 2]; + c[k + 8 >> 2] = c[f + 8 >> 2]; + f = Sy(a) | 0; + while (1) { + if (!f) break; + g = Ex(a, f) | 0; + while (1) { + if (!g) break; + KK(g); + g = Gx(a, g) | 0 + } + f = Ty(a, f) | 0 + } + h = Cw(17728, c[4555] | 0) | 0; + f = Sy(a) | 0; + while (1) { + if (!f) break; + g = Ex(a, f) | 0; + while (1) { + if (!g) break; + if ((c[46363] | 0) > 1 ? (i = c[g + 16 >> 2] | 0, (c[i + 8 >> 2] | 0) != 0) : 0) { + o = i + 168 | 0; + b[o >> 1] = (b[o >> 1] | 0) + 1 << 16 >> 16 + } else m = 14; + if ((m | 0) == 14 ? (m = 0, j = Xm(h, g) | 0, (j | 0) != (g | 0)) : 0) { + o = c[j + 16 >> 2] | 0; + p = o + 168 | 0; + b[p >> 1] = (b[p >> 1] | 0) + 1 << 16 >> 16; + o = o + 172 | 0; + c[(c[g + 16 >> 2] | 0) + 172 >> 2] = c[o >> 2]; + c[o >> 2] = g + } + g = Gx(a, g) | 0 + } + f = Ty(a, f) | 0 + } + yw(h) | 0; + if (!(nb[d & 63](a, k, e) | 0)) { + c[46367] = 1; + f = 0 + } else f = 1; + l = n; + return f | 0 + } + + function Xm(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0; + q = l; + l = l + 64 | 0; + p = q; + e = c[b >> 2] & 3; + i = c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + e = c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + do if (i >>> 0 >= e >>> 0) { + d = b + 16 | 0; + if (i >>> 0 > e >>> 0) { + d = c[d >> 2] | 0; + o = e; + e = i; + k = +h[d + 16 >> 3]; + m = +h[d + 24 >> 3]; + g = +h[d + 56 >> 3]; + f = +h[d + 64 >> 3]; + break + } + o = c[d >> 2] | 0; + j = +h[o + 56 >> 3]; + n = +h[o + 64 >> 3]; + g = +h[o + 16 >> 3]; + f = +h[o + 24 >> 3]; + if (!(g < j)) if (!(g > j)) { + d = f > n; + if (f < n) { + o = i; + e = i; + k = j; + m = n + } else { + o = i; + e = i; + k = g; + m = f; + g = d ? j : g; + f = d ? n : f + } + } else { + o = i; + e = i; + k = g; + m = f; + g = j; + f = n + } else { + o = i; + e = i; + k = j; + m = n + } + } else { + d = c[b + 16 >> 2] | 0; + o = i; + k = +h[d + 56 >> 3]; + m = +h[d + 64 >> 3]; + g = +h[d + 16 >> 3]; + f = +h[d + 24 >> 3] + } while (0); + c[p + 8 >> 2] = o; + h[p + 16 >> 3] = g; + h[p + 24 >> 3] = f; + c[p + 32 >> 2] = e; + h[p + 40 >> 3] = k; + h[p + 48 >> 3] = m; + c[p + 56 >> 2] = b; + p = c[(nb[c[a >> 2] & 63](a, p, 1) | 0) + 56 >> 2] | 0; + l = q; + return p | 0 + } + + function Ym(a, b) { + a = a | 0; + b = b | 0; + return Wm(a, 21, b) | 0 + } + + function Zm(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0.0, H = 0; + F = l; + l = l + 112 | 0; + B = F + 88 | 0; + A = F + 72 | 0; + t = F + 40 | 0; + q = F + 8 | 0; + p = F; + u = F + 64 | 0; + C = F + 48 | 0; + D = F + 24 | 0; + i = (c[46363] | 0) > 1 & 1; + do if ((f | 0) > 5) { + s = uH((ay(d) | 0) << 2) | 0; + o = (f | 0) == 8; + n = o & 1; + m = Sy(d) | 0; + r = 0; + while (1) { + if (!m) break; + j = Pm(m, e, n) | 0; + k = (c[m + 16 >> 2] | 0) + 288 | 0; + if (!j) { + c[k >> 2] = -1111; + j = r + } else { + c[k >> 2] = r; + c[s + (r << 2) >> 2] = j; + j = r + 1 | 0 + } + m = Ty(d, m) | 0; + r = j + } + if (s) { + j = ms(s, r) | 0; + if (j | 0) { + if (o) { + y = 0; + z = s; + x = s; + w = 1; + break + } + y = sU(s, r) | 0; + z = s; + x = s; + w = 1; + break + } + if (o) { + Pw(0, 89661, p) | 0; + j = 0; + y = 0; + z = s; + x = s; + w = 1; + break + } else { + G = +g[e + 4 >> 2]; + h[q >> 3] = +g[e >> 2]; + h[q + 8 >> 3] = G; + Pw(0, 89739, q) | 0; + j = 0; + y = 0; + z = s; + x = s; + w = 1; + break + } + } else { + j = 0; + y = 0; + z = 0; + x = 0; + w = 0 + } + } else { + j = 0; + y = 0; + z = 0; + r = 0; + x = 0; + w = 0 + } while (0); + if (0) { + k = c[15686] | 0; + if ((f | 0) == 8 & (j | 0) != 0) m = 89845; else m = (y | 0) == 0 ? 89831 : (f | 0) == 10 ? 107030 : 89821; + c[t >> 2] = m; + g1(k, 89862, t) | 0 + } + v = (y | 0) != 0; + a:do if (!v) { + if ((f | 0) == 8 & (j | 0) != 0) { + cN(d, 0); + i = 1 + } + } else { + k = Sy(d) | 0; + while (1) { + if (!k) break a; + j = Ex(d, k) | 0; + while (1) { + if (!j) break; + t = (c[j + 16 >> 2] | 0) + 144 | 0; + Sm(u, j, y, 1, 0, 0); + q = u; + s = c[q + 4 >> 2] | 0; + c[t >> 2] = c[q >> 2]; + c[t + 4 >> 2] = s; + j = Gx(d, j) | 0 + } + k = Ty(d, k) | 0 + } + } while (0); + p = (i | 0) == 0; + q = d + 60 | 0; + s = (f | 0) == 10; + i = 0; + o = Sy(d) | 0; + j = 0; + while (1) { + if (!o) break; + t = o + 16 | 0; + e = Ex(d, o) | 0; + while (1) { + if (!e) break; + n = c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0; + k = e + 16 | 0; + m = c[k >> 2] | 0; + if (!p ? (c[m + 8 >> 2] | 0) != 0 : 0) { + H = (c[t >> 2] | 0) + 16 | 0; + u = m + 16 | 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]; + 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]; + Tm(C, A, B); + n = (c[n + 16 >> 2] | 0) + 16 | 0; + u = (c[k >> 2] | 0) + 56 | 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[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]; + Tm(D, A, B); + c[A >> 2] = c[C >> 2]; + c[A + 4 >> 2] = c[C + 4 >> 2]; + c[A + 8 >> 2] = c[C + 8 >> 2]; + c[A + 12 >> 2] = c[C + 12 >> 2]; + c[B >> 2] = c[D >> 2]; + c[B + 4 >> 2] = c[D + 4 >> 2]; + c[B + 8 >> 2] = c[D + 8 >> 2]; + c[B + 12 >> 2] = c[D + 12 >> 2]; + jL(d, e, A, B) + } else E = 35; + b:do if ((E | 0) == 35) { + E = 0; + H = b[m + 168 >> 1] | 0; + k = H << 16 >> 16; + if (H << 16 >> 16) { + if ((o | 0) == (n | 0)) { + if (!i) { + j = uH(96) | 0; + c[j + 84 >> 2] = uH(((ay(d) | 0) << 5) + 11520 | 0) | 0; + i = j + } + Mm(i, e, c[(c[(c[q >> 2] | 0) + 16 >> 2] | 0) + 248 >> 2] | 0); + break + } + if (!v) { + zJ(d, e, f, 17764); + break + } + k = a[191874] | 0 ? 1 : k; + m = e; + n = 0; + while (1) { + if ((n | 0) >= (k | 0)) break b; + if (s) Um(d, m, z, r, 1); else _m(d, m); + m = c[(c[m + 16 >> 2] | 0) + 172 >> 2] | 0; + n = n + 1 | 0 + } + } + } while (0); + e = Gx(d, e) | 0 + } + o = Ty(d, o) | 0 + } + if (v) uU(y); + if (i | 0) { + D_(c[i + 84 >> 2] | 0); + D_(j) + } + if (w) { + i = 0; + while (1) { + if ((i | 0) >= (r | 0)) break; + D_(c[z + (i << 2) >> 2] | 0); + i = i + 1 | 0 + } + D_(x) + } + l = F; + return 0 + } + + function _m(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + k = l; + l = l + 96 | 0; + g = k + 64 | 0; + f = k + 48 | 0; + d = k + 40 | 0; + h = k + 80 | 0; + e = k + 32 | 0; + i = k + 16 | 0; + j = k; + m = (c[b + 16 >> 2] | 0) + 144 | 0; + n = c[m >> 2] | 0; + m = c[m + 4 >> 2] | 0; + o = e; + c[o >> 2] = n; + c[o + 4 >> 2] = m; + o = n; + c[i >> 2] = c[o >> 2]; + c[i + 4 >> 2] = c[o + 4 >> 2]; + c[i + 8 >> 2] = c[o + 8 >> 2]; + c[i + 12 >> 2] = c[o + 12 >> 2]; + m = n + (m + -1 << 4) | 0; + c[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + c[g >> 2] = c[e >> 2]; + c[g + 4 >> 2] = c[e + 4 >> 2]; + oV(g, h); + if (0 > 1) { + o = c[15686] | 0; + m = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + e = b + -48 | 0; + n = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0) | 0; + c[d >> 2] = m; + c[d + 4 >> 2] = n; + g1(o, 89887, d) | 0; + d = e; + e = b + } else { + d = b + -48 | 0; + e = b + } + QK(b, c[((c[e >> 2] & 3 | 0) == 2 ? b : d) + 40 >> 2] | 0, c[h >> 2] | 0, c[h + 4 >> 2] | 0, 17764); + 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[j >> 2]; + c[g + 4 >> 2] = c[j + 4 >> 2]; + c[g + 8 >> 2] = c[j + 8 >> 2]; + c[g + 12 >> 2] = c[j + 12 >> 2]; + jL(a, b, f, g); + l = k; + return + } + + function $m(a, d) { + a = a | 0; + d = d | 0; + var e = 0; + e = b[(c[a + 16 >> 2] | 0) + 136 >> 1] & 14; + if (d << 24 >> 24) an(a) | 0; + if (e << 16 >> 16) Ym(a, e & 65535) | 0; + return + } + + function an(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = bn(a) | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + e = c[b + 16 >> 2] | 0; + f = c[e + 132 >> 2] | 0; + h[e + 16 >> 3] = +h[f >> 3] * 72.0; + h[e + 24 >> 3] = +h[f + 8 >> 3] * 72.0; + b = Ty(a, b) | 0 + } + return d | 0 + } + + function bn(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0; + a:do if ((c[a + 60 >> 2] | 0) == (a | 0) ? (d = a + 16 | 0, e = c[d >> 2] | 0, (c[(c[e + 8 >> 2] | 0) + 84 >> 2] | 0) != 0) : 0) { + if (!(+h[e + 16 >> 3] != 0.0) ? !(+h[e + 24 >> 3] != 0.0) : 0) b = 0; else { + cn(a); + b = 1; + e = c[d >> 2] | 0 + } + j = (c[e + 116 >> 2] & 1 | 0) == 0; + if (!j) { + k = e + 32 | 0; + i = +h[k >> 3]; + d = e + 40 | 0; + h[k >> 3] = +h[d >> 3]; + h[d >> 3] = i + } + d = c[e + 8 >> 2] | 0; + b:do switch (c[d + 84 >> 2] | 0) { + case 2: { + f = +h[d + 64 >> 3]; + if (f <= 0.0) break a; + g = f / +h[e + 32 >> 3]; + f = +h[d + 72 >> 3] / +h[e + 40 >> 3]; + if (g < 1.0 | f < 1.0) if (g < f) { + i = 1.0; + f = f / g; + break b + } else { + i = g / f; + f = 1.0; + break b + } else i = g; + break + } + case 5: { + f = +h[d + 64 >> 3]; + if (f <= 0.0) break a; + g = f / +h[e + 32 >> 3]; + f = +h[d + 72 >> 3] / +h[e + 40 >> 3]; + if (!(g > 1.0 & f > 1.0)) break a; + f = g < f ? g : f; + i = f; + break + } + case 1: { + g = +h[d + 16 >> 3]; + f = +h[e + 40 >> 3] / +h[e + 32 >> 3]; + if (f < g) { + i = 1.0; + f = g / f; + break b + } else { + i = f / g; + f = 1.0; + break b + } + } + default: + break a + } while (0); + g = j ? f : i; + f = j ? i : f; + c:do if ((c[46363] | 0) > 1) { + d = Sy(a) | 0; + while (1) { + if (!d) break c; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + if (c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) dn(b, f, g); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + } while (0); + b = Sy(a) | 0; + while (1) { + if (!b) break; + k = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + h[k >> 3] = +h[k >> 3] * f; + k = k + 8 | 0; + h[k >> 3] = +h[k >> 3] * g; + b = Ty(a, b) | 0 + } + en(a, f, g); + b = 1 + } else b = 0; while (0); + return b | 0 + } + + function cn(b) { + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 32 | 0; + k = n + 16 | 0; + m = n; + d = (c[b + 16 >> 2] | 0) + 16 | 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]; + f = +h[m >> 3]; + g = f * .013888888888888888; + i = +h[m + 8 >> 3]; + j = i * .013888888888888888; + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = c[d + 16 >> 2] | 0; + o = c[e + 132 >> 2] | 0; + h[o >> 3] = +h[o >> 3] - g; + o = o + 8 | 0; + h[o >> 3] = +h[o >> 3] - j; + e = c[e + 108 >> 2] | 0; + if (e | 0 ? a[e + 81 >> 0] | 0 : 0) { + o = e + 56 | 0; + h[o >> 3] = +h[o >> 3] - f; + o = e + 64 | 0; + h[o >> 3] = +h[o >> 3] - i + } + d = Ty(b, d) | 0 + } + e = Sy(b) | 0; + while (1) { + if (!e) break; + d = Ex(b, e) | 0; + while (1) { + if (!d) break; + if (c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0) { + c[k >> 2] = c[m >> 2]; + c[k + 4 >> 2] = c[m + 4 >> 2]; + c[k + 8 >> 2] = c[m + 8 >> 2]; + c[k + 12 >> 2] = c[m + 12 >> 2]; + fn(d, k) + } + d = Gx(b, d) | 0 + } + e = Ty(b, e) | 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]; + gn(b, k); + l = n; + return + } + + function dn(b, d, e) { + b = b | 0; + d = +d; + e = +e; + var f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0.0, r = 0.0, s = 0.0, + t = 0.0, u = 0; + p = c[b >> 2] & 3; + i = c[(c[(c[((p | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + s = (d + -1.0) * 72.0; + q = s * +h[i >> 3]; + t = (e + -1.0) * 72.0; + r = t * +h[i + 8 >> 3]; + p = c[(c[(c[((p | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + s = s * +h[p >> 3]; + t = t * +h[p + 8 >> 3]; + p = c[b + 16 >> 2] | 0; + i = c[p + 8 >> 2] | 0; + j = c[i + 4 >> 2] | 0; + k = j + -1 | 0; + b = 0; + i = c[i >> 2] | 0; + while (1) { + if ((b | 0) >= (j | 0)) break; + l = c[i + 4 >> 2] | 0; + m = l + -1 | 0; + n = (b | 0) == (k | 0); + f = 0; + g = c[i >> 2] | 0; + while (1) { + if ((f | 0) >= (l | 0)) break; + do if (f | b) { + o = +h[g >> 3]; + if ((f | 0) == (m | 0) & n) { + h[g >> 3] = o + q; + u = g + 8 | 0; + h[u >> 3] = +h[u >> 3] + r; + break + } else { + h[g >> 3] = o * d; + u = g + 8 | 0; + h[u >> 3] = +h[u >> 3] * e; + break + } + } else { + h[g >> 3] = +h[g >> 3] + s; + u = g + 8 | 0; + h[u >> 3] = +h[u >> 3] + t + } while (0); + f = f + 1 | 0; + g = g + 16 | 0 + } + if (c[i + 8 >> 2] | 0) { + u = i + 16 | 0; + h[u >> 3] = +h[u >> 3] + s; + u = i + 24 | 0; + h[u >> 3] = +h[u >> 3] + t + } + if (c[i + 12 >> 2] | 0) { + u = i + 32 | 0; + h[u >> 3] = +h[u >> 3] + q; + u = i + 40 | 0; + h[u >> 3] = +h[u >> 3] + r + } + b = b + 1 | 0; + i = i + 48 | 0 + } + b = c[p + 96 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + u = b + 56 | 0; + h[u >> 3] = +h[u >> 3] * d; + u = b + 64 | 0; + h[u >> 3] = +h[u >> 3] * e + } + b = c[p + 100 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + u = b + 56 | 0; + h[u >> 3] = +h[u >> 3] + q; + u = b + 64 | 0; + h[u >> 3] = +h[u >> 3] + r + } + b = c[p + 104 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + u = b + 56 | 0; + h[u >> 3] = +h[u >> 3] + s; + u = b + 64 | 0; + h[u >> 3] = +h[u >> 3] + t + } + return + } + + function en(b, d, e) { + b = b | 0; + d = +d; + e = +e; + var f = 0, g = 0, i = 0; + i = b + 16 | 0; + g = c[i >> 2] | 0; + b = g + 32 | 0; + h[b >> 3] = +h[b >> 3] * d; + b = g + 40 | 0; + h[b >> 3] = +h[b >> 3] * e; + b = g + 16 | 0; + h[b >> 3] = +h[b >> 3] * d; + b = g + 24 | 0; + h[b >> 3] = +h[b >> 3] * e; + b = c[g + 12 >> 2] | 0; + if ((b | 0) != 0 ? (a[b + 81 >> 0] | 0) != 0 : 0) { + f = b + 56 | 0; + h[f >> 3] = +h[f >> 3] * d; + f = b + 64 | 0; + h[f >> 3] = +h[f >> 3] * e; + f = 1; + b = g + } else { + f = 1; + b = g + } + while (1) { + if ((f | 0) > (c[b + 180 >> 2] | 0)) break; + en(c[(c[b + 184 >> 2] | 0) + (f << 2) >> 2] | 0, d, e); + f = f + 1 | 0; + b = c[i >> 2] | 0 + } + return + } + + function fn(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = c[b + 16 >> 2] | 0; + b = c[k + 8 >> 2] | 0; + j = c[b + 4 >> 2] | 0; + l = d + 8 | 0; + b = c[b >> 2] | 0; + g = 0; + while (1) { + if ((g | 0) >= (j | 0)) break; + i = c[b + 4 >> 2] | 0; + e = c[b >> 2] | 0; + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) break; + h[e >> 3] = +h[e >> 3] - +h[d >> 3]; + m = e + 8 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3]; + e = e + 16 | 0; + f = f + 1 | 0 + } + if (c[b + 8 >> 2] | 0) { + m = b + 16 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 24 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + if (c[b + 12 >> 2] | 0) { + m = b + 32 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 40 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + b = b + 48 | 0; + g = g + 1 | 0 + } + b = c[k + 96 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + m = b + 56 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 64 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + b = c[k + 108 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + m = b + 56 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 64 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + b = c[k + 100 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + m = b + 56 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 64 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + b = c[k + 104 >> 2] | 0; + if (b | 0 ? a[b + 81 >> 0] | 0 : 0) { + m = b + 56 | 0; + h[m >> 3] = +h[m >> 3] - +h[d >> 3]; + m = b + 64 | 0; + h[m >> 3] = +h[m >> 3] - +h[l >> 3] + } + return + } + + function gn(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 16 | 0; + j = k; + g = +h[d >> 3]; + i = b + 16 | 0; + b = c[i >> 2] | 0; + e = b + 32 | 0; + h[e >> 3] = +h[e >> 3] - g; + f = +h[d + 8 >> 3]; + e = b + 40 | 0; + h[e >> 3] = +h[e >> 3] - f; + e = b + 16 | 0; + h[e >> 3] = +h[e >> 3] - g; + e = b + 24 | 0; + h[e >> 3] = +h[e >> 3] - f; + e = c[b + 12 >> 2] | 0; + if ((e | 0) != 0 ? (a[e + 81 >> 0] | 0) != 0 : 0) { + m = e + 56 | 0; + h[m >> 3] = +h[m >> 3] - g; + e = e + 64 | 0; + h[e >> 3] = +h[e >> 3] - f; + e = 1 + } else e = 1; + while (1) { + if ((e | 0) > (c[b + 180 >> 2] | 0)) break; + m = c[(c[b + 184 >> 2] | 0) + (e << 2) >> 2] | 0; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + gn(m, j); + e = e + 1 | 0; + b = c[i >> 2] | 0 + } + l = k; + return + } + + function hn(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0.0, g = 0.0, i = 0, j = 0; + i = l; + l = l + 16 | 0; + d = i; + mM(a); + e = a + 16 | 0; + b = c[e >> 2] | 0; + f = +h[b + 16 >> 3] * .013888888888888888; + g = +h[b + 24 >> 3] * .013888888888888888; + b = Sy(a) | 0; + while (1) { + if (!b) break; + j = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + h[j >> 3] = +h[j >> 3] - f; + j = j + 8 | 0; + h[j >> 3] = +h[j >> 3] - g; + b = Ty(a, b) | 0 + } + j = (c[e >> 2] | 0) + 16 | 0; + c[d >> 2] = c[j >> 2]; + c[d + 4 >> 2] = c[j + 4 >> 2]; + c[d + 8 >> 2] = c[j + 8 >> 2]; + c[d + 12 >> 2] = c[j + 12 >> 2]; + jn(a, d); + $m(a, 1); + l = i; + return + } + + function jn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0.0, j = 0.0; + g = l; + l = l + 16 | 0; + f = g; + d = a + 16 | 0; + a = 1; + while (1) { + e = c[d >> 2] | 0; + if ((a | 0) > (c[e + 180 >> 2] | 0)) break; + e = c[(c[e + 184 >> 2] | 0) + (a << 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]; + jn(e, f); + a = a + 1 | 0 + } + j = +h[b >> 3]; + f = e + 32 | 0; + h[f >> 3] = +h[f >> 3] - j; + i = +h[b + 8 >> 3]; + b = e + 40 | 0; + h[b >> 3] = +h[b >> 3] - i; + b = e + 16 | 0; + h[b >> 3] = +h[b >> 3] - j; + b = e + 24 | 0; + h[b >> 3] = +h[b >> 3] - i; + l = g; + return + } + + function kn(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0; + p = (e | 0) > 2; + n = 0; + o = 0; + j = c[f + 4 >> 2] | 0; + b = c[f >> 2] | 0; + while (1) { + if ((o | 0) >= (d | 0)) { + b = 0; + break + } + i = c[(c[g + (o << 2) >> 2] | 0) + 16 >> 2] | 0; + l = a[i + 119 >> 0] | 0; + a:do if (!(l << 24 >> 24)) { + k = b + 8 | 0; + h[b >> 3] = +k2(); + i = j + 8 | 0; + h[j >> 3] = +k2(); + if (p) { + b = 2; + while (1) { + if ((b | 0) == (e | 0)) { + j = n; + b = k; + break a + } + q = +k2(); + h[(c[f + (b << 2) >> 2] | 0) + (o << 3) >> 3] = q; + b = b + 1 | 0 + } + } else { + j = n; + b = k + } + } else { + k = c[i + 132 >> 2] | 0; + m = b + 8 | 0; + h[b >> 3] = +h[k >> 3]; + i = j + 8 | 0; + h[j >> 3] = +h[k + 8 >> 3]; + b:do if (p) { + j = 2; + b = k + 16 | 0; + while (1) { + if ((j | 0) == (e | 0)) break b; + h[(c[f + (j << 2) >> 2] | 0) + (o << 3) >> 3] = +h[b >> 3]; + j = j + 1 | 0; + b = b + 8 | 0 + } + } while (0); + j = (l & 255) > 1 ? 1 : n; + b = m + } while (0); + n = j; + o = o + 1 | 0; + j = i + } + while (1) { + if ((b | 0) >= (e | 0)) break; + Is(d, c[f + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + return n | 0 + } + + function ln(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0; + d = uH(((O(b + 1 | 0, b) | 0) / 2 | 0) << 2) | 0; + n = wn(b, b, 0.0) | 0; + o = wn(b, b, 0.0) | 0; + a:do if (!(c[a + 8 >> 2] | 0)) { + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break a; + i = c[a + (e * 20 | 0) >> 2] | 0; + j = a + (e * 20 | 0) + 4 | 0; + k = n + (e << 2) | 0; + f = 1; + while (1) { + if ((f | 0) >= (i | 0)) break; + m = c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0; + h[(c[n + (m << 2) >> 2] | 0) + (e << 3) >> 3] = -1.0; + h[(c[k >> 2] | 0) + (m << 3) >> 3] = -1.0; + f = f + 1 | 0 + } + e = e + 1 | 0 + } + } else { + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break a; + i = c[a + (e * 20 | 0) >> 2] | 0; + j = a + (e * 20 | 0) + 4 | 0; + k = a + (e * 20 | 0) + 8 | 0; + m = n + (e << 2) | 0; + f = 1; + while (1) { + if ((f | 0) >= (i | 0)) break; + p = c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0; + l = -1.0 / +g[(c[k >> 2] | 0) + (f << 2) >> 2]; + h[(c[n + (p << 2) >> 2] | 0) + (e << 3) >> 3] = l; + h[(c[m >> 2] | 0) + (p << 3) >> 3] = l; + f = f + 1 | 0 + } + e = e + 1 | 0 + } + } while (0); + b:do if (!(Bq(b, n, o) | 0)) { + D_(d); + d = 0 + } else { + f = 0; + j = 0; + m = b; + while (1) { + if ((j | 0) >= (b | 0)) break b; + k = o + (j << 2) | 0; + e = j; + i = f; + while (1) { + if ((e | 0) == (b | 0)) break; + if ((j | 0) == (e | 0)) l = 0.0; else { + p = c[k >> 2] | 0; + l = +h[(c[o + (e << 2) >> 2] | 0) + (e << 3) >> 3] + +h[p + (j << 3) >> 3] + +h[p + (e << 3) >> 3] * -2.0 + } + g[d + (i << 2) >> 2] = l; + e = e + 1 | 0; + i = i + 1 | 0 + } + f = f + m | 0; + j = j + 1 | 0; + m = m + -1 | 0 + } + } while (0); + xn(n); + xn(o); + return d | 0 + } + + function mn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0; + r = l; + l = l + 16 | 0; + q = r; + if (c[a + 8 >> 2] | 0) { + d = nn(a, b) | 0; + f = 0.0; + e = 0; + p = 0; + while (1) { + if ((p | 0) >= (b | 0)) break; + e = e + p | 0; + o = c[a + (p * 20 | 0) >> 2] | 0; + k = a + (p * 20 | 0) + 4 | 0; + m = (O(p, b) | 0) - e | 0; + n = a + (p * 20 | 0) + 8 | 0; + j = 1; + while (1) { + if ((j | 0) >= (o | 0)) break; + i = c[(c[k >> 2] | 0) + (j << 2) >> 2] | 0; + if ((i | 0) >= (p | 0)) { + i = d + (m + i << 2) | 0; + s = +g[(c[n >> 2] | 0) + (j << 2) >> 2]; + f = f + +B(+(+g[i >> 2] - s)); + g[i >> 2] = s + } + j = j + 1 | 0 + } + p = p + 1 | 0 + } + if (0) { + b = c[15686] | 0; + h[q >> 3] = f; + g1(b, 89903, q) | 0 + } + } else d = 0; + l = r; + return d | 0 + } + + function nn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + h = m; + i = uH(((O(b + 1 | 0, b) | 0) / 2 | 0) << 2) | 0; + j = uH(b << 2) | 0; + zq(h, b); + d = 0; + f = 0; + k = b; + while (1) { + if ((d | 0) >= (b | 0)) break; + ir(d, a, b, j); + e = d; + g = f; + while (1) { + if ((e | 0) == (b | 0)) break; + c[i + (g << 2) >> 2] = c[j + (e << 2) >> 2]; + e = e + 1 | 0; + g = g + 1 | 0 + } + d = d + 1 | 0; + f = f + k | 0; + k = k + -1 | 0 + } + D_(j); + Aq(h); + l = m; + return i | 0 + } + + function on(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + i = n; + j = uH(((O(b + 1 | 0, b) | 0) / 2 | 0) << 2) | 0; + k = uH(b << 2) | 0; + zq(i, b); + d = 0; + f = 0; + m = b; + while (1) { + if ((d | 0) >= (b | 0)) break; + vq(d, a, b, k, i); + e = d; + h = f; + while (1) { + if ((e | 0) == (b | 0)) break; + g[j + (h << 2) >> 2] = +(c[k + (e << 2) >> 2] | 0); + e = e + 1 | 0; + h = h + 1 | 0 + } + d = d + 1 | 0; + f = f + m | 0; + m = m + -1 | 0 + } + D_(k); + Aq(i); + l = n; + return j | 0 + } + + function pn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, h = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0.0; + r = a + 8 | 0; + d = c[r >> 2] | 0; + e = 0; + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + e = (c[a + (f * 20 | 0) >> 2] | 0) + e | 0; + f = f + 1 | 0 + } + f = uH(e << 2) | 0; + q = uH(b << 2) | 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + c[q + (e << 2) >> 2] = 0; + e = e + 1 | 0 + } + if (!(c[r >> 2] | 0)) { + h = 0; + while (1) { + if ((h | 0) >= (b | 0)) break; + c[a + (h * 20 | 0) + 8 >> 2] = f; + _r(a, h, q); + i = a + (h * 20 | 0) | 0; + j = c[i >> 2] | 0; + k = a + (h * 20 | 0) + 4 | 0; + l = +(j + -1 | 0); + e = 1; + while (1) { + if ((e | 0) >= (j | 0)) break; + p = c[(c[k >> 2] | 0) + (e << 2) >> 2] | 0; + s = +((c[a + (p * 20 | 0) >> 2] | 0) + -1 | 0) + l; + g[f + (e << 2) >> 2] = s - +((Zr(a, h, p, q) | 0) << 1 | 0); + e = e + 1 | 0 + } + $r(a, h, q); + f = f + (c[i >> 2] << 2) | 0; + h = h + 1 | 0 + } + f = on(a, b) | 0 + } else { + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + _r(a, j, q); + k = a + (j * 20 | 0) | 0; + m = c[k >> 2] | 0; + n = a + (j * 20 | 0) + 4 | 0; + o = m + -2 | 0; + p = a + (j * 20 | 0) + 8 | 0; + i = 1; + while (1) { + if ((i | 0) >= (m | 0)) break; + e = c[(c[n >> 2] | 0) + (i << 2) >> 2] | 0; + h = o + (c[a + (e * 20 | 0) >> 2] | 0) | 0; + s = +(h - ((Zr(a, j, e, q) | 0) << 1) | 0); + l = +g[(c[p >> 2] | 0) + (i << 2) >> 2]; + if (l < s) l = +(h - ((Zr(a, j, e, q) | 0) << 1) | 0); + g[f + (i << 2) >> 2] = l; + i = i + 1 | 0 + } + $r(a, j, q); + c[p >> 2] = f; + f = f + (c[k >> 2] << 2) | 0; + j = j + 1 | 0 + } + f = nn(a, b) | 0 + } + D_(q); + D_(c[r >> 2] | 0); + c[r >> 2] = 0; + a:do if (d | 0) { + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break a; + c[a + (e * 20 | 0) + 8 >> 2] = d; + d = d + (c[a + (e * 20 | 0) >> 2] << 2) | 0; + e = e + 1 | 0 + } + } while (0); + return f | 0 + } + + function qn(a, b, e, f, i, j, k, m, n) { + a = a | 0; + b = b | 0; + e = e | 0; + f = f | 0; + i = i | 0; + j = j | 0; + k = k | 0; + m = m | 0; + n = n | 0; + var o = 0, p = 0, q = 0, r = 0.0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0.0, y = 0, z = 0, A = 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, P = 0.0; + M = l; + l = l + 80 | 0; + L = M + 56 | 0; + K = M + 48 | 0; + A = M + 40 | 0; + u = M + 32 | 0; + t = M + 24 | 0; + s = M + 16 | 0; + p = M + 8 | 0; + o = M; + q = k & 4; + J = k & 3; + a:do if ((n | 0) < 0) e = 0; else { + if (0) EL(); + k = (m | 0) == 2; + b:do if (k) { + if (0) E1(91878, 24, 1, c[15686] | 0) | 0; + e = pn(a, b) | 0; + w = 14 + } else { + switch (m | 0) { + case 1: { + e = ln(a, b) | 0; + if (e | 0) { + I = e; + break b + } + Pw(0, 91903, o) | 0; + Pw(3, 91952, p) | 0; + w = 15; + break b + } + case 3: + break; + default: { + w = 15; + break b + } + } + if (0) E1(92005, 21, 1, c[15686] | 0) | 0; + e = mn(a, b) | 0; + w = 14 + } while (0); + if ((w | 0) == 14) if (!e) w = 15; else I = e; + do if ((w | 0) == 15) { + if (0) E1(92027, 26, 1, c[15686] | 0) | 0; + if (!(c[a + 8 >> 2] | 0)) { + I = on(a, b) | 0; + break + } else { + I = nn(a, b) | 0; + break + } + } while (0); + if (0) { + H = c[15686] | 0; + h[s >> 3] = +FL(); + g1(H, 92054, s) | 0; + E1(92066, 25, 1, H) | 0; + EL() + } + c:do if ((b | 0) > 1 & (q | 0) != 0) if ((rn(a, b, f, j, q, J, k & 1) | 0) < 0) { + u = 0; + t = 0; + e = -1; + a = 0; + s = 0; + q = 0; + p = 0; + o = 0; + m = 0; + k = 0 + } else { + k = 0; + while (1) { + if ((k | 0) >= (j | 0)) { + y = 0; + w = 35; + break c + } + m = f + (k << 2) | 0; + r = 1.0; + e = 0; + while (1) { + if ((e | 0) == (b | 0)) break; + x = +B(+(+h[(c[m >> 2] | 0) + (e << 3) >> 3])); + r = x > r ? x : r; + e = e + 1 | 0 + } + r = 1.0 / r; + e = 0; + while (1) { + if ((e | 0) == (b | 0)) { + e = 0; + break + } + H = (c[m >> 2] | 0) + (e << 3) | 0; + h[H >> 3] = +h[H >> 3] * r; + e = e + 1 | 0 + } + while (1) { + if ((e | 0) == (b | 0)) break; + x = (+k2() + -.5) * 1.0e-06; + H = (c[m >> 2] | 0) + (e << 3) | 0; + h[H >> 3] = +h[H >> 3] + x; + e = e + 1 | 0 + } + Is(b, c[m >> 2] | 0); + k = k + 1 | 0 + } + } else { + y = kn(0, b, j, f, i) | 0; + w = 35 + } while (0); + d:do if ((w | 0) == 35) { + if (0) { + H = c[15686] | 0; + h[t >> 3] = +FL(); + g1(H, 92092, t) | 0 + } + if ((b | 0) == 1 | (n | 0) == 0) { + e = 0; + break a + } + if (0) { + H = c[15686] | 0; + h[u >> 3] = +FL(); + g1(H, 92054, u) | 0; + E1(89925, 26, 1, H) | 0; + EL() + } + s = j << 2; + H = uH(s) | 0; + t = b << 2; + a = O(t, j) | 0; + G = uH(a) | 0; + e = 0; + while (1) { + if ((e | 0) >= (j | 0)) break; + m = G + ((O(e, b) | 0) << 2) | 0; + c[H + (e << 2) >> 2] = m; + o = f + (e << 2) | 0; + k = 0; + while (1) { + if ((k | 0) >= (b | 0)) break; + g[m + (k << 2) >> 2] = +h[(c[o >> 2] | 0) + (k << 3) >> 3]; + k = k + 1 | 0 + } + e = e + 1 | 0 + } + e:do if (!J) { + p = b + -1 | 0; + e = 0; + r = 0.0; + o = 0; + while (1) { + if ((o | 0) >= (p | 0)) break e; + q = b - o | 0; + m = e; + k = 1; + while (1) { + e = m + 1 | 0; + if ((k | 0) >= (q | 0)) break; + m = e; + r = +g[I + (e << 2) >> 2] + r; + k = k + 1 | 0 + } + o = o + 1 | 0 + } + } else r = +(b | 0) * .5 * +(b + -1 | 0); while (0); + C = (O(b + 1 | 0, b) | 0) / 2 | 0; + D = (J | 0) == 2; + if (D) ct(C, I); + dt(C, I); + E = b << 3; + m = uH(E) | 0; + H3(m | 0, 0, E | 0) | 0; + F = b + -1 | 0; + e = 0; + o = 0; + while (1) { + if ((o | 0) >= (F | 0)) { + e = b; + k = 0; + o = 0; + break + } + p = b - o | 0; + v = 0.0; + k = 1; + while (1) { + e = e + 1 | 0; + if ((k | 0) >= (p | 0)) break; + x = +g[I + (e << 2) >> 2]; + z = m + (k + o << 3) | 0; + h[z >> 3] = +h[z >> 3] - x; + v = v + x; + k = k + 1 | 0 + } + z = m + (o << 3) | 0; + h[z >> 3] = +h[z >> 3] - v; + o = o + 1 | 0 + } + while (1) { + if ((k | 0) >= (b | 0)) break; + g[I + (o << 2) >> 2] = +h[m + (k << 3) >> 3]; + z = e + o | 0; + e = e + -1 | 0; + k = k + 1 | 0; + o = z + } + z = uH(s) | 0; + c[z >> 2] = uH(a) | 0; + e = 1; + while (1) { + if ((e | 0) >= (j | 0)) break; + c[z + (e << 2) >> 2] = (c[z >> 2] | 0) + ((O(e, b) | 0) << 2); + e = e + 1 | 0 + } + p = uH(t) | 0; + o = uH(t) | 0; + k = uH(C << 2) | 0; + if (0) { + w = c[15686] | 0; + h[A >> 3] = +FL(); + g1(w, 92054, A) | 0; + E1(89952, 15, 1, w) | 0; + EL() + } + w = (y | 0) == 0; + y = c[15686] | 0; + e = 0; + q = 0; + x = 1797693134862315708145274.0e284; + while (1) { + if (!(q << 24 >> 24 == 0 & (e | 0) < (n | 0))) break; + H3(m | 0, 0, E | 0) | 0; + if (D) { + et(C, I, k); + u = 0; + a = 0 + } else { + u = 0; + a = 0 + } + while (1) { + if ((u | 0) >= (F | 0)) { + q = b; + s = 0; + a = 0; + break + } + t = b - u + -1 | 0; + at(t, 0.0, o); + q = 0; + while (1) { + if ((q | 0) >= (j | 0)) break; + A = H + (q << 2) | 0; + at(t, +g[(c[A >> 2] | 0) + (u << 2) >> 2], p); + Xs(t, p, -1.0, (c[A >> 2] | 0) + (u << 2) + 4 | 0); + ct(t, p); + Ws(t, p, o, o); + q = q + 1 | 0 + } + ft(t, o); + q = 0; + while (1) { + if ((q | 0) >= (t | 0)) break; + s = o + (q << 2) | 0; + v = +g[s >> 2]; + if (v >= 3402823466385288598117041.0e14 | v < 0.0) g[s >> 2] = 0.0; + q = q + 1 | 0 + } + q = a + 1 | 0; + a = u + 1 | 0; + f:do if (D) { + v = 0.0; + s = 0; + while (1) { + if ((s | 0) >= (t | 0)) break f; + A = k + (q << 2) | 0; + N = +g[A >> 2] * +g[o + (s << 2) >> 2]; + g[A >> 2] = N; + A = m + (a + s << 3) | 0; + h[A >> 3] = +h[A >> 3] - N; + v = v + N; + q = q + 1 | 0; + s = s + 1 | 0 + } + } else { + v = 0.0; + s = 0; + while (1) { + if ((s | 0) >= (t | 0)) break f; + N = +g[o + (s << 2) >> 2]; + g[k + (q << 2) >> 2] = N; + A = m + (a + s << 3) | 0; + h[A >> 3] = +h[A >> 3] - N; + v = v + N; + q = q + 1 | 0; + s = s + 1 | 0 + } + } while (0); + A = m + (u << 3) | 0; + h[A >> 3] = +h[A >> 3] - v; + u = a; + a = q + } + while (1) { + if ((s | 0) >= (b | 0)) { + q = 0; + break + } + g[k + (a << 2) >> 2] = +h[m + (s << 3) >> 3]; + A = q + a | 0; + q = q + -1 | 0; + s = s + 1 | 0; + a = A + } + while (1) { + if ((q | 0) >= (j | 0)) { + v = 0.0; + q = 0; + break + } + Us(k, b, c[H + (q << 2) >> 2] | 0, c[z + (q << 2) >> 2] | 0); + q = q + 1 | 0 + } + while (1) { + if ((q | 0) >= (j | 0)) break; + v = +_s(b, c[H + (q << 2) >> 2] | 0, c[z + (q << 2) >> 2] | 0) + v; + q = q + 1 | 0 + } + v = v * 2.0 + r; + q = 0; + while (1) { + if ((q | 0) >= (j | 0)) break; + A = H + (q << 2) | 0; + Us(I, b, c[A >> 2] | 0, p); + v = v - +_s(b, c[A >> 2] | 0, p); + q = q + 1 | 0 + } + P = x - v; + N = +h[22909]; + q = (v < N ? 1 : (P >= 0.0 ? P : -P) / x < N) & 1; + a = 0; + while (1) { + if ((a | 0) >= (j | 0)) break; + t = H + (a << 2) | 0; + s = c[t >> 2] | 0; + g:do if (w) { + if ((Fq(I, s, c[z + (a << 2) >> 2] | 0, b, .001, b) | 0) < 0) { + u = z; + t = I; + e = -1; + a = G; + s = H; + q = z; + break d + } + } else { + Zs(b, s, p); + if ((Fq(I, p, c[z + (a << 2) >> 2] | 0, b, .001, b) | 0) < 0) { + u = z; + t = I; + e = -1; + a = G; + s = H; + q = z; + break d + } else s = 0; + while (1) { + if ((s | 0) >= (b | 0)) break g; + if ((d[(c[(c[i + (s << 2) >> 2] | 0) + 16 >> 2] | 0) + 119 >> 0] | 0) <= 1) c[(c[t >> 2] | 0) + (s << 2) >> 2] = c[p + (s << 2) >> 2]; + s = s + 1 | 0 + } + } while (0); + a = a + 1 | 0 + } + if (((e | 0) % 5 | 0 | 0) == 0 & 0 != 0 ? (h[K >> 3] = v, g1(y, 90277, K) | 0, ((e + 5 | 0) % 50 | 0 | 0) == 0) : 0) n3(10, y) | 0; + e = e + 1 | 0; + x = v + } + if (!0) q = 0; else { + N = +sn(H, I, j, b, J); + P = +FL(); + h[L >> 3] = N; + c[L + 8 >> 2] = e; + h[L + 16 >> 3] = P; + g1(y, 89968, L) | 0; + q = 0 + } + while (1) { + if ((q | 0) >= (j | 0)) { + u = z; + t = I; + a = G; + s = H; + q = z; + break d + } + a = H + (q << 2) | 0; + t = f + (q << 2) | 0; + s = 0; + while (1) { + if ((s | 0) >= (b | 0)) break; + h[(c[t >> 2] | 0) + (s << 3) >> 3] = +g[(c[a >> 2] | 0) + (s << 2) >> 2]; + s = s + 1 | 0 + } + q = q + 1 | 0 + } + } while (0); + D_(a); + D_(s); + D_(t); + if (u | 0) { + D_(c[u >> 2] | 0); + D_(q) + } + D_(p); + D_(o); + D_(m); + D_(k) + } while (0); + l = M; + return e | 0 + } + + function rn(b, d, e, f, i, j, k) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0, n = 0, o = 0, p = 0.0, q = 0, r = 0, s = 0.0, t = 0, u = 0.0, v = 0, w = 0, x = 0, y = 0, + z = 0, A = 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; + R = l; + l = l + 32 | 0; + o = R + 24 | 0; + Q = R + 8 | 0; + H = R + 4 | 0; + N = R; + M = (d | 0) < 50 ? d : 50; + P = vH(M << 2) | 0; + G = d << 3; + n = vH(O(G, M) | 0) | 0; + m = 0; + while (1) { + if ((m | 0) >= (M | 0)) break; + c[P + (m << 2) >> 2] = n + ((O(m, d) | 0) << 3); + m = m + 1 | 0 + } + E = M << 1; + E = (E | 0) > 50 ? E : 50; + E = (E | 0) > (d | 0) ? d : E; + c[o >> 2] = 0; + sr(b, d, E, o, k); + tr(c[o >> 2] | 0, d, E); + mt(c[o >> 2] | 0, E, d, P, M); + D_(c[c[o >> 2] >> 2] | 0); + D_(c[o >> 2] | 0); + E = d << 2; + L = vH(E) | 0; + m = 0; + while (1) { + if ((m | 0) >= (d | 0)) break; + c[L + (m << 2) >> 2] = -1; + m = m + 1 | 0 + } + zq(Q, d); + J = c[b + 8 >> 2] | 0; + I = (k | 0) != 0; + if (I) es(b, d); + C = vH(E) | 0; + K = vH(160) | 0; + n = vH(d * 160 | 0) | 0; + D = vH(160) | 0; + m = 0; + while (1) { + if ((m | 0) == 40) break; + c[D + (m << 2) >> 2] = n + ((O(m, d) | 0) << 2); + m = m + 1 | 0 + } + m = (g2() | 0) % (d | 0) | 0; + c[L + (m << 2) >> 2] = 0; + c[K >> 2] = m; + n = c[D >> 2] | 0; + if (I) { + cr(m, b, d, n); + n = 0; + o = 0 + } else { + vq(m, b, d, n, Q); + n = 0; + o = 0 + } + while (1) { + if ((o | 0) >= (d | 0)) { + r = 1; + break + } + F = c[(c[D >> 2] | 0) + (o << 2) >> 2] | 0; + c[C + (o << 2) >> 2] = F; + A = (F | 0) > (n | 0); + m = A ? o : m; + n = A ? F : n; + o = o + 1 | 0 + } + while (1) { + if ((r | 0) == 40) { + m = 0; + break + } + c[L + (m << 2) >> 2] = r; + c[K + (r << 2) >> 2] = m; + t = D + (r << 2) | 0; + n = c[t >> 2] | 0; + if (I) { + cr(m, b, d, n); + q = 0; + n = 0 + } else { + vq(m, b, d, n, Q); + q = 0; + n = 0 + } + while (1) { + if ((q | 0) >= (d | 0)) break; + o = C + (q << 2) | 0; + F = c[o >> 2] | 0; + k = c[(c[t >> 2] | 0) + (q << 2) >> 2] | 0; + k = (F | 0) < (k | 0) ? F : k; + c[o >> 2] = k; + if ((k | 0) <= (n | 0)) { + if ((k | 0) == (n | 0) ? ((g2() | 0) % (q + 1 | 0) | 0 | 0) == 0 : 0) { + n = c[o >> 2] | 0; + m = q + } + } else { + n = k; + m = q + } + q = q + 1 | 0 + } + r = r + 1 | 0 + } + while (1) { + if ((m | 0) >= (d | 0)) break; + c[C + (m << 2) >> 2] = -1; + m = m + 1 | 0 + } + w = vH(E) | 0; + F = vH(d << 4) | 0; + x = d + -1 | 0; + y = x << 2; + A = 0; + o = 0; + k = 0; + n = 0; + z = 0; + while (1) { + if ((z | 0) >= (d | 0)) break; + m = L + (z << 2) | 0; + a:do if ((c[m >> 2] | 0) > -1) { + t = F + (z << 4) + 4 | 0; + c[t >> 2] = vH(y) | 0; + v = vH(y) | 0; + c[F + (z << 4) + 8 >> 2] = v; + c[F + (z << 4) >> 2] = x; + a[F + (z << 4) + 12 >> 0] = 1; + r = D + (c[m >> 2] << 2) | 0; + m = 0; + while (1) { + if ((m | 0) == (z | 0)) { + q = z; + break + } + c[(c[t >> 2] | 0) + (m << 2) >> 2] = m; + c[v + (m << 2) >> 2] = c[(c[r >> 2] | 0) + (m << 2) >> 2]; + m = m + 1 | 0 + } + while (1) { + m = q + 1 | 0; + if ((q | 0) == (x | 0)) { + m = x; + break a + } + c[(c[t >> 2] | 0) + (q << 2) >> 2] = m; + c[v + (q << 2) >> 2] = c[(c[r >> 2] | 0) + (m << 2) >> 2]; + q = m + } + } else { + if ((n | 0) < 40) { + k = vH(E) | 0; + o = vH(E) | 0; + n = d; + m = 1 + } else m = 0; + a[F + (z << 4) + 12 >> 0] = m; + c[F + (z << 4) + 4 >> 2] = k; + c[F + (z << 4) + 8 >> 2] = o; + c[F + (z << 4) >> 2] = 40; + m = 0; + while (1) { + if ((m | 0) == 40) break; + c[k + (m << 2) >> 2] = c[K + (m << 2) >> 2]; + c[o + (m << 2) >> 2] = c[(c[D + (m << 2) >> 2] | 0) + (z << 2) >> 2]; + m = m + 1 | 0 + } + o = o + 160 | 0; + k = k + 160 | 0; + n = n + -40 | 0; + m = 40 + } while (0); + A = m + A | 0; + z = z + 1 | 0 + } + D_(C); + D_(w); + if (D | 0) { + D_(c[D >> 2] | 0); + D_(D) + } + D = vH(d * 20 | 0) | 0; + q = A + d << 2; + r = vH(q) | 0; + v = (j | 0) == 2; + q = vH(q) | 0; + t = 0; + while (1) { + if ((t | 0) >= (d | 0)) break; + c[D + (t * 20 | 0) + 4 >> 2] = r; + c[D + (t * 20 | 0) + 8 >> 2] = q; + m = (c[F + (t << 4) >> 2] | 0) + 1 | 0; + w = D + (t * 20 | 0) | 0; + c[w >> 2] = m; + o = (c[F + (t << 4) + 8 >> 2] | 0) + -4 | 0; + k = F + (t << 4) + 4 | 0; + b:do if (v) { + p = 0.0; + n = 1; + while (1) { + if ((n | 0) >= (m | 0)) break b; + c[r + (n << 2) >> 2] = c[(c[k >> 2] | 0) + (n + -1 << 2) >> 2]; + u = +(c[o + (n << 2) >> 2] | 0); + u = -1.0 / (u * u); + g[q + (n << 2) >> 2] = u; + p = p - u; + n = n + 1 | 0; + m = c[w >> 2] | 0 + } + } else { + p = 0.0; + n = 1; + while (1) { + if ((n | 0) >= (m | 0)) break b; + c[r + (n << 2) >> 2] = c[(c[k >> 2] | 0) + (n + -1 << 2) >> 2]; + u = -1.0 / +(c[o + (n << 2) >> 2] | 0); + g[q + (n << 2) >> 2] = u; + p = p - u; + n = n + 1 | 0; + m = c[w >> 2] | 0 + } + } while (0); + c[r >> 2] = t; + g[q >> 2] = p; + E = c[w >> 2] | 0; + q = q + (E << 2) | 0; + r = r + (E << 2) | 0; + t = t + 1 | 0 + } + C = vH(f << 2) | 0; + c[C >> 2] = vH(O(f << 3, M) | 0) | 0; + m = 1; + while (1) { + if ((m | 0) >= (f | 0)) break; + c[C + (m << 2) >> 2] = (c[C >> 2] | 0) + ((O(m, M) | 0) << 3); + m = m + 1 | 0 + } + c:do if (i) { + m = 0; + while (1) { + if ((m | 0) >= (f | 0)) break; + o = C + (m << 2) | 0; + n = 0; + while (1) { + if ((n | 0) >= (M | 0)) break; + h[(c[o >> 2] | 0) + (n << 3) >> 3] = 0.0; + n = n + 1 | 0 + } + m = m + 1 | 0 + } + if ((f | 0) != 2) { + m = 0; + while (1) { + if ((m | 0) >= (f | 0)) { + m = 0; + break c + } + h[(c[C + (m << 2) >> 2] | 0) + (m << 3) >> 3] = 1.0; + m = m + 1 | 0 + } + } + h[c[C >> 2] >> 3] = 1.0; + m = C + 4 | 0; + if (!((nt(P, M, d, c[m >> 2] | 0) | 0) << 24 >> 24)) { + n = c[m >> 2] | 0; + m = 0; + while (1) { + if ((m | 0) >= (M | 0)) break; + h[n + (m << 3) >> 3] = 0.0; + m = m + 1 | 0 + } + h[n + 8 >> 3] = 1.0; + m = 0 + } else m = 0 + } else { + n = 0; + while (1) { + if ((n | 0) >= (f | 0)) { + m = 0; + break c + } + o = C + (n << 2) | 0; + m = 0; + while (1) { + if ((m | 0) >= (M | 0)) break; + u = +(g2() | 0) * 4.656612875245797e-10; + h[(c[o >> 2] | 0) + (m << 3) >> 3] = u; + m = m + 1 | 0 + } + n = n + 1 | 0 + } + } while (0); + while (1) { + if ((m | 0) >= (f | 0)) break; + Ss(P, d, M, c[C + (m << 2) >> 2] | 0, c[e + (m << 2) >> 2] | 0); + m = m + 1 | 0 + } + c[H >> 2] = 0; + c[N >> 2] = 0; + Hs(D, P, d, M, H); + Fs(P, c[H >> 2] | 0, M, d, M, N); + D_(c[c[H >> 2] >> 2] | 0); + D_(c[H >> 2] | 0); + z = vH(G) | 0; + A = vH(M << 3) | 0; + m = 0; + n = 0; + p = +tn(e, F, f, d, j); + d:while (1) { + if ((n | 0) < 50 & m << 24 >> 24 == 0) x = 0; else break; + while (1) { + if ((x | 0) >= (f | 0)) break; + y = e + (x << 2) | 0; + o = 0; + while (1) { + if ((o | 0) >= (d | 0)) break; + q = z + (o << 3) | 0; + h[q >> 3] = 0.0; + r = (c[F + (o << 4) + 8 >> 2] | 0) + -4 | 0; + t = c[D + (o * 20 | 0) + 4 >> 2] | 0; + v = c[D + (o * 20 | 0) + 8 >> 2] | 0; + w = D + (o * 20 | 0) | 0; + s = 0.0; + k = 1; + while (1) { + if ((k | 0) >= (c[w >> 2] | 0)) break; + m = c[t + (k << 2) >> 2] | 0; + u = +gs(e, f, o, m); + if (u > 1.0e-30) { + u = -(+g[v + (k << 2) >> 2] * +(c[r + (k << 2) >> 2] | 0)) / u; + h[q >> 3] = u * +h[(c[y >> 2] | 0) + (m << 3) >> 3] + +h[q >> 3]; + s = s - u + } + k = k + 1 | 0 + } + h[q >> 3] = +h[q >> 3] + +h[(c[y >> 2] | 0) + (o << 3) >> 3] * s; + o = o + 1 | 0 + } + Es(P, M, d, z, A); + m = C + (x << 2) | 0; + if (Eq(c[N >> 2] | 0, c[m >> 2] | 0, A, M, .001, M, 0) | 0) { + n = -1; + break d + } + Ss(P, d, M, c[m >> 2] | 0, c[y >> 2] | 0); + x = x + 1 | 0 + } + if (!(n & 1)) { + u = +tn(e, F, f, d, j); + p = +B(+(u - p)) / (u + 1.0e-10); + m = p < +h[22909] & 1; + p = u + } else m = 0; + n = n + 1 | 0 + } + D_(A); + D_(z); + if (I) { + fs(b, d, J); + m = 0 + } else m = 0; + while (1) { + if ((m | 0) >= (d | 0)) break; + if (a[F + (m << 4) + 12 >> 0] | 0) { + D_(c[F + (m << 4) + 4 >> 2] | 0); + D_(c[F + (m << 4) + 8 >> 2] | 0) + } + m = m + 1 | 0 + } + D_(F); + D_(c[D + 4 >> 2] | 0); + D_(c[D + 8 >> 2] | 0); + D_(D); + D_(L); + D_(K); + D_(c[C >> 2] | 0); + D_(C); + m = c[N >> 2] | 0; + if (m | 0) { + D_(c[m >> 2] | 0); + D_(c[N >> 2] | 0) + } + D_(c[P >> 2] | 0); + D_(P); + Aq(Q); + l = R; + return n | 0 + } + + function sn(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var h = 0.0, i = 0.0, j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + q = e + -1 | 0; + o = (f | 0) == 2; + h = 0.0; + f = 0; + m = 0; + while (1) { + if ((m | 0) >= (q | 0)) break; + p = e - m | 0; + n = 1; + while (1) { + f = f + 1 | 0; + if ((n | 0) >= (p | 0)) break; + k = n + m | 0; + i = 0.0; + j = 0; + while (1) { + if ((j | 0) >= (d | 0)) break; + r = c[a + (j << 2) >> 2] | 0; + l = +g[r + (m << 2) >> 2] - +g[r + (k << 2) >> 2]; + i = i + l * l; + j = j + 1 | 0 + } + i = +C(+i); + l = +g[b + (f << 2) >> 2]; + if (o) { + i = 1.0 / +C(+l) - i; + i = i * i + } else { + i = 1.0 / l - i; + i = i * i + } + n = n + 1 | 0; + h = i * l + h + } + m = m + 1 | 0 + } + return +h + } + + function tn(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0.0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0; + a:do if ((f | 0) == 2) { + g = 0.0; + l = 0; + while (1) { + if ((l | 0) >= (e | 0)) break a; + n = c[b + (l << 4) >> 2] | 0; + o = b + (l << 4) + 4 | 0; + m = b + (l << 4) + 8 | 0; + k = 0; + while (1) { + if ((k | 0) >= (n | 0)) break; + j = c[(c[o >> 2] | 0) + (k << 2) >> 2] | 0; + if ((j | 0) > (l | 0)) { + i = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + q = c[a + (f << 2) >> 2] | 0; + p = +h[q + (l << 3) >> 3] - +h[q + (j << 3) >> 3]; + i = p * p + i; + f = f + 1 | 0 + } + i = +C(+i); + p = +(c[(c[m >> 2] | 0) + (k << 2) >> 2] | 0); + i = p - i; + g = i * i / (p * p) + g + } + k = k + 1 | 0 + } + l = l + 1 | 0 + } + } else { + l = 0; + g = 0.0; + while (1) { + if ((l | 0) >= (e | 0)) break a; + m = c[b + (l << 4) >> 2] | 0; + n = b + (l << 4) + 4 | 0; + o = b + (l << 4) + 8 | 0; + k = 0; + while (1) { + if ((k | 0) >= (m | 0)) break; + j = c[(c[n >> 2] | 0) + (k << 2) >> 2] | 0; + if ((j | 0) > (l | 0)) { + i = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + q = c[a + (f << 2) >> 2] | 0; + p = +h[q + (l << 3) >> 3] - +h[q + (j << 3) >> 3]; + i = p * p + i; + f = f + 1 | 0 + } + i = +C(+i); + p = +(c[(c[o >> 2] | 0) + (k << 2) >> 2] | 0); + i = p - i; + g = i * i / p + g + } + k = k + 1 | 0 + } + l = l + 1 | 0 + } + } while (0); + return +g + } + + function un(a) { + a = +a; + return +(+C(+a) * a) + } + + function vn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0.0; + g = c[46366] | 0; + e = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + i = +h[a + (f << 3) >> 3] - +h[b + (f << 3) >> 3]; + h[d + (f << 3) >> 3] = i; + e = i * i + e; + f = f + 1 | 0 + } + return +(+C(+e)) + } + + function wn(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0, i = 0; + i = uH(a << 2) | 0; + f = 0; + g = uH(O(a << 3, b) | 0) | 0; + while (1) { + if ((f | 0) >= (a | 0)) break; + c[i + (f << 2) >> 2] = g; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + h[g + (e << 3) >> 3] = d; + e = e + 1 | 0 + } + f = f + 1 | 0; + g = g + (b << 3) | 0 + } + return i | 0 + } + + function xn(a) { + a = a | 0; + if (a | 0) { + D_(c[a >> 2] | 0); + D_(a) + } + return + } + + function yn(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + o = l; + l = l + 16 | 0; + n = ay(b) | 0; + m = by(b) | 0; + k = nx(b, 2, 90566, 0) | 0; + a:do if (!d) { + h[22909] = +(n | 0) * .0001; + aH(b, 105860, 183272); + g = xx(c[b + 60 >> 2] | 0, 90006) | 0; + if (!g) e = .99; else e = +b2(g); + h[22911] = e; + g = uH((n << 2) + 4 | 0) | 0; + j = b + 16 | 0; + c[(c[j >> 2] | 0) + 152 >> 2] = g; + g = 0; + e = 0.0; + i = Sy(b) | 0; + while (1) { + if (!i) break a; + c[(c[(c[j >> 2] | 0) + 152 >> 2] | 0) + (g << 2) >> 2] = i; + p = c[i + 16 >> 2] | 0; + c[p + 120 >> 2] = g; + c[p + 124 >> 2] = -1; + f = +Bn(b, i, k) + e; + g = g + 1 | 0; + e = f; + i = Ty(b, i) | 0 + } + } else { + h[22909] = .0001; + aH(b, 105860, 183272); + g = 0; + e = 0.0; + i = Sy(b) | 0; + while (1) { + if (!i) break a; + c[(c[i + 16 >> 2] | 0) + 120 >> 2] = g; + f = +Bn(b, i, k) + e; + g = g + 1 | 0; + e = f; + i = Ty(b, i) | 0 + } + } while (0); + g = xx(b, 90014) | 0; + if ((g | 0) != 0 ? (a[g >> 0] | 0) != 0 : 0) { + e = +h[22909]; + f = +b2(g); + if (!(e > f)) e = f + } else e = e / +(((m | 0) > 1 ? m : 1) | 0) * +C(+(+(n | 0))) + 1.0; + h[22910] = e; + if (!(c[46363] | d)) { + d = wn(n, n, e) | 0; + p = b + 16 | 0; + c[(c[p >> 2] | 0) + 160 >> 2] = d; + d = wn(n, n, 1.0) | 0; + c[(c[p >> 2] | 0) + 164 >> 2] = d; + d = wn(n, c[46366] | 0, 1.0) | 0; + c[(c[p >> 2] | 0) + 168 >> 2] = d; + d = Cn(n, n, c[46366] | 0) | 0; + c[(c[p >> 2] | 0) + 172 >> 2] = d + } + l = o; + return n | 0 + } + + function zn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + f = 0; + e = 0; + j = Jx(a, b) | 0; + a:while (1) { + if (!j) break; + h = c[j >> 2] & 3; + g = c[((h | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + h = c[((h | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + do if ((g | 0) != (h | 0)) { + i = (h | 0) == (b | 0); + if ((e | 0) != 1) { + f = i ? g : h; + c[d >> 2] = f; + e = e + 1 | 0; + break + } + if (!((g | 0) == (f | 0) & i) ? !((g | 0) == (b | 0) & (h | 0) == (f | 0)) : 0) { + e = 2; + break a + } else e = 1 + } while (0); + j = Kx(a, j, b) | 0 + } + return e | 0 + } + + function An(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + g = a + 60 | 0; + a:while (1) { + b:while (1) { + if (!b) break a; + switch (zn(a, b, f) | 0) { + case 0: { + e = 5; + break b + } + case 1: { + e = 8; + break b + } + default: + b = 0 + } + } + if ((e | 0) == 5) { + if ((d | 0) == (b | 0)) d = Ty(a, d) | 0; + dz(c[g >> 2] | 0, b) | 0; + b = 0; + continue + } else if ((e | 0) == 8) { + if ((d | 0) == (b | 0)) d = Ty(a, d) | 0; + dz(c[g >> 2] | 0, b) | 0; + b = c[f >> 2] | 0; + continue + } + } + l = h; + return d | 0 + } + + function Bn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 32 | 0; + i = k + 8 | 0; + g = k; + b = Ex(a, b) | 0; + e = 0.0; + while (1) { + if (!b) break; + switch (Dn(b, d, g) | 0) { + case 0: { + f = +h[g >> 3]; + break + } + case 2: { + c[i >> 2] = ry(a) | 0; + h[i + 8 >> 3] = 1.0; + Pw(3, 90026, i) | 0; + j = 6; + break + } + default: + j = 6 + } + if ((j | 0) == 6) { + j = 0; + h[g >> 3] = 1.0; + f = 1.0 + } + h[(c[b + 16 >> 2] | 0) + 136 >> 3] = f; + b = Gx(a, b) | 0; + e = f + e + } + l = k; + return +e + } + + function Cn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0; + j = uH((a << 2) + 4 | 0) | 0; + k = (b << 2) + 4 | 0; + l = d << 3; + g = 0; + while (1) { + if ((g | 0) >= (a | 0)) break; + i = j + (g << 2) | 0; + c[i >> 2] = uH(k) | 0; + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + e = uH(l) | 0; + c[(c[i >> 2] | 0) + (f << 2) >> 2] = e; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + h[(c[(c[i >> 2] | 0) + (f << 2) >> 2] | 0) + (e << 3) >> 3] = 0.0; + e = e + 1 | 0 + } + f = f + 1 | 0 + } + c[(c[i >> 2] | 0) + (f << 2) >> 2] = 0; + g = g + 1 | 0 + } + c[j + (g << 2) >> 2] = 0; + return j | 0 + } + + function Dn(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + i = k; + do if ((d | 0) != 0 ? (f = yx(b, d) | 0, (a[f >> 0] | 0) != 0) : 0) { + c[i >> 2] = e; + if (((N1(f, 98183, i) | 0) >= 1 ? (g = +h[e >> 3], !(g < 0.0)) : 0) ? g != 0.0 | (c[46363] | 0) != 0 : 0) { + b = 0; + break + } + c[j >> 2] = f; + Pw(0, 90053, j) | 0; + b = 2 + } else b = 1; while (0); + l = k; + return b | 0 + } + + function En(a) { + a = a | 0; + return yn(a, 0) | 0 + } + + function Fn(a) { + a = a | 0; + a = a + 16 | 0; + D_(c[(c[a >> 2] | 0) + 152 >> 2] | 0); + if (!(c[46363] | 0)) { + xn(c[(c[a >> 2] | 0) + 160 >> 2] | 0); + xn(c[(c[a >> 2] | 0) + 164 >> 2] | 0); + xn(c[(c[a >> 2] | 0) + 168 >> 2] | 0); + Gn(c[(c[a >> 2] | 0) + 172 >> 2] | 0); + c[(c[a >> 2] | 0) + 172 >> 2] = 0 + } + return + } + + function Gn(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if (a | 0) { + f = 0; + while (1) { + g = a + (f << 2) | 0; + b = c[g >> 2] | 0; + if (!b) break; else e = 0; + while (1) { + d = c[b + (e << 2) >> 2] | 0; + if (!d) break; + D_(d); + e = e + 1 | 0; + b = c[g >> 2] | 0 + } + D_(b); + f = f + 1 | 0 + } + D_(a) + } + return + } + + function Hn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +(b | 0); + b = a + 16 | 0; + while (1) { + if ((d | 0) >= (c[46366] | 0)) break; + f = +k2() * e; + h[(c[(c[b >> 2] | 0) + 132 >> 2] | 0) + (d << 3) >> 3] = f; + d = d + 1 | 0 + } + return + } + + function In(a, b) { + a = a | 0; + b = b | 0; + Hn(a, b, 2); + return + } + + function Jn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0; + e = +(b | 0); + f = +k2() * e; + d = a + 16 | 0; + h[c[(c[d >> 2] | 0) + 132 >> 2] >> 3] = f; + e = +k2() * e; + h[(c[(c[d >> 2] | 0) + 132 >> 2] | 0) + 8 >> 3] = e; + if ((c[46366] | 0) > 2) In(a, b); + return + } + + function Kn(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + if (0) E1(90071, 26, 1, c[15686] | 0) | 0; + d = pm(b, d, 2) | 0; + a:do if ((d | 0) != 1) { + if (!(c[46027] | d)) { + Pw(0, 90098, e) | 0; + c[46027] = 1 + } + e = b + 16 | 0; + d = 0; + while (1) { + b = c[(c[(c[e >> 2] | 0) + 152 >> 2] | 0) + (d << 2) >> 2] | 0; + if (!b) break a; + if (!(a[(c[b + 16 >> 2] | 0) + 119 >> 0] | 0)) Jn(b, 1); + d = d + 1 | 0 + } + } while (0); + l = f; + return + } + + function Ln(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 96 | 0; + p = q + 80 | 0; + n = q; + if (0) { + E1(90147, 25, 1, c[15686] | 0) | 0; + EL() + } + o = a + 16 | 0; + f = c[o >> 2] | 0; + k = c[f + 164 >> 2] | 0; + f = c[f + 160 >> 2] | 0; + m = 0; + while (1) { + if ((m | 0) >= (b | 0)) break; + i = f + (m << 2) | 0; + j = k + (m << 2) | 0; + e = 0; + while (1) { + if ((e | 0) == (m | 0)) break; + g = +h[(c[i >> 2] | 0) + (e << 3) >> 3]; + g = 1.0 / (g * g); + d = c[(c[o >> 2] | 0) + 152 >> 2] | 0; + d = Rx(a, c[d + (m << 2) >> 2] | 0, c[d + (e << 2) >> 2] | 0, 0, 0) | 0; + if (d) g = +h[(c[d + 16 >> 2] | 0) + 128 >> 3] * g; + h[(c[k + (e << 2) >> 2] | 0) + (m << 3) >> 3] = g; + h[(c[j >> 2] | 0) + (e << 3) >> 3] = g; + e = e + 1 | 0 + } + m = m + 1 | 0 + } + a = c[46366] | 0; + e = 0; + while (1) { + if ((e | 0) < (b | 0)) d = 0; else break; + while (1) { + if ((d | 0) >= (a | 0)) break; + h[(c[(c[(c[o >> 2] | 0) + 168 >> 2] | 0) + (e << 2) >> 2] | 0) + (d << 3) >> 3] = 0.0; + d = d + 1 | 0 + } + e = e + 1 | 0 + } + i = 0; + while (1) { + d = c[(c[(c[o >> 2] | 0) + 152 >> 2] | 0) + (i << 2) >> 2] | 0; + if (!d) break; + a = d + 16 | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + a:do if ((i | 0) != (d | 0)) { + g = +vn(c[(c[a >> 2] | 0) + 132 >> 2] | 0, c[(c[(c[(c[(c[o >> 2] | 0) + 152 >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0, n); + f = c[46366] | 0; + g = 1.0 / g; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) break a; + m = c[o >> 2] | 0; + r = +h[n + (e << 3) >> 3]; + r = (r - +h[(c[(c[m + 160 >> 2] | 0) + (i << 2) >> 2] | 0) + (d << 3) >> 3] * r * g) * +h[(c[(c[m + 164 >> 2] | 0) + (i << 2) >> 2] | 0) + (d << 3) >> 3]; + h[(c[(c[(c[m + 172 >> 2] | 0) + (i << 2) >> 2] | 0) + (d << 2) >> 2] | 0) + (e << 3) >> 3] = r; + m = (c[(c[m + 168 >> 2] | 0) + (i << 2) >> 2] | 0) + (e << 3) | 0; + h[m >> 3] = +h[m >> 3] + r; + e = e + 1 | 0 + } + } while (0); + d = d + 1 | 0 + } + i = i + 1 | 0 + } + if (0) { + o = c[15686] | 0; + h[p >> 3] = +FL(); + g1(o, 90173, p) | 0 + } + l = q; + return + } + + function Mn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0; + i = l; + l = l + 32 | 0; + g = i + 24 | 0; + f = i + 8 | 0; + e = i; + j = +h[22909]; + h[22831] = j * j; + while (1) { + d = Nn(a, b) | 0; + if (!d) break; + On(a, b, d) + } + if (!0) b = a + 16 | 0; else { + d = c[15686] | 0; + h[e >> 3] = +Pn(a, b); + g1(d, 90183, e) | 0; + b = a + 16 | 0; + k = c[(c[b >> 2] | 0) + 156 >> 2] | 0; + e = (k | 0) == (c[46365] | 0) ? 90197 : 191979; + j = +FL(); + c[f >> 2] = k; + c[f + 4 >> 2] = e; + h[f + 8 >> 3] = j; + g1(d, 90199, f) | 0 + } + b = c[(c[b >> 2] | 0) + 156 >> 2] | 0; + if ((b | 0) == (c[46365] | 0)) { + k = ry(a) | 0; + c[g >> 2] = b; + c[g + 4 >> 2] = k; + Pw(0, 90226, g) | 0 + } + l = i; + return + } + + function Nn(a, b) { + a = a | 0; + b = b | 0; + var e = 0.0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0; + r = l; + l = l + 16 | 0; + q = r; + o = (c[46029] | 0) + 1 | 0; + c[46029] = o; + a = c[a + 16 >> 2] | 0; + if ((c[a + 156 >> 2] | 0) < (c[46365] | 0)) { + m = c[46366] | 0; + n = a + 152 | 0; + k = a + 168 | 0; + a = 0; + e = 0.0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + g = c[(c[n >> 2] | 0) + (j << 2) >> 2] | 0; + if ((d[(c[g + 16 >> 2] | 0) + 119 >> 0] | 0) <= 1) { + i = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (m | 0)) break; + s = +h[(c[(c[k >> 2] | 0) + (j << 2) >> 2] | 0) + (f << 3) >> 3]; + i = s * s + i; + f = f + 1 | 0 + } + if (i > e) { + a = g; + e = i + } + } + j = j + 1 | 0 + } + if (!(e < +h[22831])) { + if (0 != 0 & ((o | 0) % 100 | 0 | 0) == 0 ? (p = c[15686] | 0, h[q >> 3] = +C(+e), g1(p, 90277, q) | 0, ((c[46029] | 0) % 1e3 | 0 | 0) == 0) : 0) n3(10, p) | 0 + } else a = 0 + } else a = 0; + l = r; + return a | 0 + } + + function On(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o; + k = d + 16 | 0; + m = c[(c[k >> 2] | 0) + 120 >> 2] | 0; + f = c[46028] | 0; + if (!f) { + g = c[46366] | 0; + g = vH(O(g << 3, g) | 0) | 0 + } else { + g = c[46366] | 0; + g = xH(f, O(g << 3, g) | 0) | 0 + } + c[46028] = g; + Qn(a, b, m, g); + i = c[46366] | 0; + j = a + 16 | 0; + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) break; + h[182656 + (f << 3) >> 3] = -+h[(c[(c[(c[j >> 2] | 0) + 168 >> 2] | 0) + (m << 2) >> 2] | 0) + (f << 3) >> 3]; + f = f + 1 | 0 + } + Xt(g, 182736, 182656, i); + f = 0; + while (1) { + if ((f | 0) >= (c[46366] | 0)) break; + e = +h[22911]; + e = (1.0 - e) * 2.0 * +k2() + e; + i = 182736 + (f << 3) | 0; + e = e * +h[i >> 3]; + h[i >> 3] = e; + i = (c[(c[k >> 2] | 0) + 132 >> 2] | 0) + (f << 3) | 0; + h[i >> 3] = +h[i >> 3] + e; + f = f + 1 | 0 + } + k = (c[j >> 2] | 0) + 156 | 0; + c[k >> 2] = (c[k >> 2] | 0) + 1; + Rn(a, b, m); + if (cM() | 0) { + g = c[46366] | 0; + e = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + e = +B(+(+h[182736 + (f << 3) >> 3])) + e; + f = f + 1 | 0 + } + e = +C(+e); + m = c[15686] | 0; + c[n >> 2] = ry(d) | 0; + h[n + 8 >> 3] = e; + g1(m, 90268, n) | 0 + } + l = o; + return + } + + function Pn(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0.0; + q = b + -1 | 0; + n = a + 16 | 0; + o = c[46366] | 0; + g = 0; + d = 0.0; + a:while (1) { + if ((g | 0) >= (q | 0)) break; + m = c[n >> 2] | 0; + p = c[m + 152 >> 2] | 0; + j = g + 1 | 0; + k = (c[p + (g << 2) >> 2] | 0) + 16 | 0; + l = m + 164 | 0; + m = m + 160 | 0; + i = j; + while (1) { + if ((i | 0) >= (b | 0)) { + g = j; + continue a + } + f = (c[p + (i << 2) >> 2] | 0) + 16 | 0; + a = 0; + e = 0.0; + while (1) { + if ((a | 0) >= (o | 0)) break; + r = +h[(c[(c[k >> 2] | 0) + 132 >> 2] | 0) + (a << 3) >> 3] - +h[(c[(c[f >> 2] | 0) + 132 >> 2] | 0) + (a << 3) >> 3]; + a = a + 1 | 0; + e = r * r + e + } + r = +h[(c[(c[m >> 2] | 0) + (g << 2) >> 2] | 0) + (i << 3) >> 3]; + r = ((+C(+e) * -2.0 + r) * r + e) * +h[(c[(c[l >> 2] | 0) + (g << 2) >> 2] | 0) + (i << 3) >> 3] + d; + i = i + 1 | 0; + d = r + } + } + return +d + } + + function Qn(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0; + x = l; + l = l + 80 | 0; + w = x; + v = c[a + 16 >> 2] | 0; + k = c[v + 164 >> 2] | 0; + m = c[v + 160 >> 2] | 0; + v = c[v + 152 >> 2] | 0; + j = c[v + (d << 2) >> 2] | 0; + g = c[46366] | 0; + a = 0; + while (1) { + if ((a | 0) >= (g | 0)) break; + i = O(g, a) | 0; + f = 0; + while (1) { + if ((f | 0) == (g | 0)) break; + h[e + (i + f << 3) >> 3] = 0.0; + f = f + 1 | 0 + } + a = a + 1 | 0 + } + u = c[46366] | 0; + t = j + 16 | 0; + s = k + (d << 2) | 0; + k = m + (d << 2) | 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + a:do if ((j | 0) != (d | 0)) { + f = (c[v + (j << 2) >> 2] | 0) + 16 | 0; + r = 0.0; + a = 0; + while (1) { + if ((a | 0) >= (u | 0)) break; + q = +h[(c[(c[t >> 2] | 0) + 132 >> 2] | 0) + (a << 3) >> 3] - +h[(c[(c[f >> 2] | 0) + 132 >> 2] | 0) + (a << 3) >> 3]; + h[w + (a << 3) >> 3] = q; + r = q * q + r; + a = a + 1 | 0 + } + n = 1.0 / +un(r); + i = 0; + while (1) { + if ((i | 0) >= (u | 0)) break a; + f = (c[s >> 2] | 0) + (j << 3) | 0; + g = (c[k >> 2] | 0) + (j << 3) | 0; + o = +h[w + (i << 3) >> 3]; + a = 0; + while (1) { + p = +h[f >> 3]; + q = +h[g >> 3]; + if ((a | 0) == (i | 0)) break; + m = e + ((O(u, a) | 0) + i << 3) | 0; + h[m >> 3] = +h[m >> 3] + p * n * q * o * +h[w + (a << 3) >> 3]; + a = a + 1 | 0 + } + m = e + ((O(u, i) | 0) + i << 3) | 0; + h[m >> 3] = (1.0 - q * n * (r - o * o)) * p + +h[m >> 3]; + i = i + 1 | 0 + } + } while (0); + j = j + 1 | 0 + } + f = c[46366] | 0; + i = 1; + while (1) { + if ((i | 0) >= (f | 0)) break; + g = O(f, i) | 0; + a = 0; + while (1) { + if ((a | 0) == (i | 0)) break; + h[e + (g + a << 3) >> 3] = +h[e + ((O(f, a) | 0) + i << 3) >> 3]; + a = a + 1 | 0 + } + i = i + 1 | 0 + } + l = x; + return + } + + function Rn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0; + m = l; + l = l + 80 | 0; + k = m; + j = a + 16 | 0; + f = c[j >> 2] | 0; + g = c[(c[f + 152 >> 2] | 0) + (d << 2) >> 2] | 0; + e = c[46366] | 0; + f = f + 168 | 0; + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break; + h[(c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0) + (a << 3) >> 3] = 0.0; + a = a + 1 | 0 + } + f = g + 16 | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + a:do if ((a | 0) != (d | 0)) { + i = +vn(c[(c[f >> 2] | 0) + 132 >> 2] | 0, c[(c[(c[(c[(c[j >> 2] | 0) + 152 >> 2] | 0) + (a << 2) >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0, k); + g = c[46366] | 0; + i = 1.0 / i; + e = 0; + while (1) { + if ((e | 0) >= (g | 0)) break a; + n = c[j >> 2] | 0; + q = c[n + 172 >> 2] | 0; + r = (c[(c[q + (d << 2) >> 2] | 0) + (a << 2) >> 2] | 0) + (e << 3) | 0; + o = +h[k + (e << 3) >> 3]; + o = (o - +h[(c[(c[n + 160 >> 2] | 0) + (d << 2) >> 2] | 0) + (a << 3) >> 3] * o * i) * +h[(c[(c[n + 164 >> 2] | 0) + (d << 2) >> 2] | 0) + (a << 3) >> 3]; + h[r >> 3] = o; + n = c[n + 168 >> 2] | 0; + s = (c[n + (d << 2) >> 2] | 0) + (e << 3) | 0; + h[s >> 3] = +h[s >> 3] + o; + q = (c[(c[q + (a << 2) >> 2] | 0) + (d << 2) >> 2] | 0) + (e << 3) | 0; + o = +h[q >> 3]; + p = -+h[r >> 3]; + h[q >> 3] = p; + n = (c[n + (a << 2) >> 2] | 0) + (e << 3) | 0; + h[n >> 3] = p - o + +h[n >> 3]; + e = e + 1 | 0 + } + } while (0); + a = a + 1 | 0 + } + l = m; + return + } + + function Sn(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + d = a + 16 | 0; + g = c[46030] | 0; + b = c[(c[d >> 2] | 0) + 124 >> 2] | 0; + while (1) { + if ((b | 0) <= 0) break; + i = (b + -1 | 0) / 2 | 0; + j = g + (i << 2) | 0; + e = c[j >> 2] | 0; + f = e + 16 | 0; + if (+h[(c[f >> 2] | 0) + 136 >> 3] <= +h[(c[d >> 2] | 0) + 136 >> 3]) break; + c[j >> 2] = a; + c[(c[d >> 2] | 0) + 124 >> 2] = i; + c[g + (b << 2) >> 2] = e; + c[(c[f >> 2] | 0) + 124 >> 2] = b; + b = i + } + return + } + + function Tn(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0; + i = a + 16 | 0; + j = c[46031] | 0; + k = c[46030] | 0; + g = c[(c[i >> 2] | 0) + 124 >> 2] | 0; + while (1) { + e = g << 1 | 1; + if ((e | 0) >= (j | 0)) break; + d = e + 1 | 0; + if ((d | 0) < (j | 0)) { + f = c[k + (d << 2) >> 2] | 0; + b = c[k + (e << 2) >> 2] | 0; + if (+h[(c[f + 16 >> 2] | 0) + 136 >> 3] < +h[(c[b + 16 >> 2] | 0) + 136 >> 3]) { + e = d; + b = f + } else l = 6 + } else { + b = c[k + (e << 2) >> 2] | 0; + l = 6 + } + if ((l | 0) == 6) l = 0; + d = b + 16 | 0; + if (+h[(c[i >> 2] | 0) + 136 >> 3] <= +h[(c[d >> 2] | 0) + 136 >> 3]) break; + c[k + (e << 2) >> 2] = a; + c[(c[i >> 2] | 0) + 124 >> 2] = e; + c[k + (g << 2) >> 2] = b; + c[(c[d >> 2] | 0) + 124 >> 2] = g; + g = e + } + return + } + + function Un(a) { + a = a | 0; + var b = 0, d = 0; + b = (c[a + 16 >> 2] | 0) + 124 | 0; + if ((c[b >> 2] | 0) >= 0) qa(90283, 90303, 643, 90311); + d = c[46031] | 0; + c[46031] = d + 1; + c[b >> 2] = d; + c[(c[46030] | 0) + (d << 2) >> 2] = a; + if ((d | 0) > 0) Sn(a); + return + } + + function Vn() { + var a = 0, b = 0, d = 0, e = 0; + b = c[46031] | 0; + if (!b) a = 0; else { + e = c[46030] | 0; + a = c[e >> 2] | 0; + d = b + -1 | 0; + c[46031] = d; + d = c[e + (d << 2) >> 2] | 0; + c[e >> 2] = d; + c[(c[d + 16 >> 2] | 0) + 124 >> 2] = 0; + if ((b | 0) > 2) Tn(d); + c[(c[a + 16 >> 2] | 0) + 124 >> 2] = -1 + } + return a | 0 + } + + function Wn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + c[46030] = uH((b << 2) + 4 | 0) | 0; + if (0) { + E1(90325, 28, 1, c[15686] | 0) | 0; + EL() + } + b = Sy(a) | 0; + while (1) { + if (!b) break; + Xn(a, b); + b = Ty(a, b) | 0 + } + if (0) { + a = c[15686] | 0; + h[d >> 3] = +FL(); + g1(a, 90173, d) | 0 + } + D_(c[46030] | 0); + l = e; + return + } + + function Xn(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0; + e = c[(c[a + 16 >> 2] | 0) + 152 >> 2] | 0; + f = +h[22910]; + d = 0; + while (1) { + g = c[e + (d << 2) >> 2] | 0; + if (!g) break; + h[(c[g + 16 >> 2] | 0) + 136 >> 3] = f; + d = d + 1 | 0 + } + c[46032] = b; + k = c[b + 16 >> 2] | 0; + h[k + 136 >> 3] = 0.0; + c[k + 128 >> 2] = 0; + Un(b); + a:while (1) { + k = Vn() | 0; + if (!k) break; + d = c[46032] | 0; + j = k + 16 | 0; + if ((k | 0) != (d | 0)) Yn(a, d, k, +h[(c[j >> 2] | 0) + 136 >> 3]); + i = Jx(a, k) | 0; + while (1) { + if (!i) continue a; + d = c[i >> 2] & 3; + b = c[((d | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0; + if ((b | 0) == (k | 0)) b = c[((d | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0; + d = c[j >> 2] | 0; + f = +h[(c[i + 16 >> 2] | 0) + 136 >> 3] + +h[d + 136 >> 3]; + e = c[b + 16 >> 2] | 0; + g = e + 136 | 0; + do if (+h[g >> 3] > f) { + h[g >> 3] = f; + if ((c[e + 124 >> 2] | 0) > -1) { + Sn(b); + break + } else { + c[e + 128 >> 2] = (c[d + 128 >> 2] | 0) + 1; + Un(b); + break + } + } while (0); + i = Kx(a, i, k) | 0 + } + } + return + } + + function Yn(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + b = c[(c[b + 16 >> 2] | 0) + 120 >> 2] | 0; + d = c[(c[d + 16 >> 2] | 0) + 120 >> 2] | 0; + a = c[(c[a + 16 >> 2] | 0) + 160 >> 2] | 0; + h[(c[a + (d << 2) >> 2] | 0) + (b << 3) >> 3] = e; + h[(c[a + (b << 2) >> 2] | 0) + (d << 3) >> 3] = e; + return + } + + function Zn(a) { + a = a | 0; + $M(a, 2); + b[(c[a + 16 >> 2] | 0) + 176 >> 1] = 2; + c[46366] = 2; + _n(a); + return + } + + function _n(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = ay(a) | 0; + e = uH(b * 56 | 0) | 0; + b = uH((b << 2) + 4 | 0) | 0; + f = a + 16 | 0; + c[(c[f >> 2] | 0) + 152 >> 2] = b; + b = Sy(a) | 0; + d = 0; + while (1) { + if (!b) break; + $l(b); + c[(c[b + 16 >> 2] | 0) + 112 >> 2] = e + (d * 56 | 0); + c[(c[(c[f >> 2] | 0) + 152 >> 2] | 0) + (d << 2) >> 2] = b; + b = Ty(a, b) | 0; + d = d + 1 | 0 + } + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + $n(b); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + return + } + + function $n(a) { + a = a | 0; + var b = 0.0; + Az(a, 134378, 176, 1) | 0; + eM(a) | 0; + b = +LL(a, c[46404] | 0, 1.0, 0.0); + h[(c[a + 16 >> 2] | 0) + 128 >> 3] = b; + return + } + + function ao(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0; + u = l; + l = l + 80 | 0; + m = u + 32 | 0; + i = u + 24 | 0; + g = u + 16 | 0; + j = u; + t = u + 72 | 0; + p = u + 40 | 0; + if (ay(b) | 0) { + Zn(b); + f = xx(b, 93136) | 0; + if (f) if (a[f >> 0] | 0) { + d = az(b, f, 0) | 0; + if (!d) { + c[g >> 2] = f; + Pw(0, 90354, g) | 0; + Pw(3, 90394, i) | 0; + d = 0; + s = 1 + } else s = 0 + } else { + d = 0; + s = 1 + } else { + d = 0; + s = 0 + } + n = nx(b, 1, 93136, 0) | 0; + o = (n | 0) != 0; + f = xx(b, 137660) | 0; + if ((f | 0 ? a[f >> 0] | 0 : 0) ? (k = j + 8 | 0, c[m >> 2] = j, c[m + 4 >> 2] = k, (N1(f, 102477, m) | 0) == 1) : 0) h[k >> 3] = +h[j >> 3]; + if (ay(b) | 0) { + m = oD(b, t, 0) | 0; + if ((c[t >> 2] | 0) == 1) { + g = (d | 0) != 0; + do if (g) e = d; else { + if (o ? (e = bo(b, n) | 0, e | 0) : 0) break; + e = 0 + } while (0); + f = Zt(b, e) | 0; + if (!((e | 0) != 0 | o ^ 1)) rx(f, n, 139381) | 0; + r = (Sy(b) | 0) + 16 | 0; + D_(c[(c[r >> 2] | 0) + 112 >> 2] | 0); + c[(c[r >> 2] | 0) + 112 >> 2] = 0; + tq(b) | 0; + hn(b); + d = (s | 0) == 0 | g ? d : f + } else { + XD(b, 2, 8, p) | 0; + c[p + 12 >> 2] = 0; + k = (s | 0) == 0; + j = 0; + while (1) { + if ((j | 0) >= (c[t >> 2] | 0)) break; + g = c[m + (j << 2) >> 2] | 0; + e = (d | 0) != 0; + if (e ? (oz(g, d) | 0) != 0 : 0) f = d; else r = 23; + do if ((r | 0) == 23) { + r = 0; + if (o ? (q = bo(g, n) | 0, q | 0) : 0) { + f = q; + break + } + f = 0 + } while (0); + vD(g) | 0; + i = Zt(g, f) | 0; + d = k | e ? d : i; + if (o ? (f | 0) == 0 | (f | 0) == (d | 0) : 0) rx(i, n, 139381) | 0; + tq(g) | 0; + j = j + 1 | 0 + } + r = (Sy(b) | 0) + 16 | 0; + D_(c[(c[r >> 2] | 0) + 112 >> 2] | 0); + c[(c[r >> 2] | 0) + 112 >> 2] = 0; + WD(c[t >> 2] | 0, m, b, p) | 0; + hn(b) + } + e = 0; + while (1) { + if ((e | 0) >= (c[t >> 2] | 0)) break; + dz(b, c[m + (e << 2) >> 2] | 0) | 0; + e = e + 1 | 0 + } + D_(m) + } + if (s | 0) zx(b, 93136, ry(d) | 0) | 0; + eJ(b) + } + l = u; + return + } + + function bo(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Sy(a) | 0; + while (1) { + if (!c) { + c = 0; + break + } + if ((QL(yx(c, b) | 0) | 0) << 24 >> 24) break; + c = Ty(a, c) | 0 + } + return c | 0 + } + + function co(a) { + a = a | 0; + var b = 0, c = 0; + b = Sy(a) | 0; + if (b | 0) { + while (1) { + if (!b) break; + c = Ex(a, b) | 0; + while (1) { + if (!c) break; + JM(c); + c = Gx(a, c) | 0 + } + HM(b); + b = Ty(a, b) | 0 + } + eo(a) + } + return + } + + function eo(a) { + a = a | 0; + D_(c[(c[a + 16 >> 2] | 0) + 152 >> 2] | 0); + if ((fz(a) | 0) != (a | 0)) Gz(a, 0, 134401); + return + } + + function fo(a) { + a = a | 0; + go(a); + if (!((ay(a) | 0) == 0 ? !(c[(c[a + 16 >> 2] | 0) + 180 >> 2] | 0) : 0)) { + nu(a); + eJ(a) + } + return + } + + function go(a) { + a = a | 0; + c[46377] = nx(a, 1, 105204, 105210) | 0; + $M(a, 2); + b[(c[a + 16 >> 2] | 0) + 176 >> 1] = 2; + c[46366] = 2; + ho(a, 0); + io(a); + return + } + + function ho(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + h = (b | 0) == 0; + if (h) { + lo(g); + b = g + } + d = wA(a) | 0; + while (1) { + if (!d) break; + if (!(z$(ry(d) | 0, 104980, 7) | 0)) { + Az(d, 134401, 280, 1) | 0; + mo(b, d); + ho(d, 0) + } else ho(d, b); + d = xA(d) | 0 + } + if (h ? (e = c[g + 8 >> 2] | 0, f = a + 16 | 0, c[(c[f >> 2] | 0) + 180 >> 2] = e, e | 0) : 0) { + h = xH(c[g >> 2] | 0, (e << 2) + 4 | 0) | 0; + c[(c[f >> 2] | 0) + 184 >> 2] = h + } + l = i; + return + } + + function io(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = uH((ay(a) | 0) << 2) | 0; + b = uH(((ay(a) | 0) << 2) + 4 | 0) | 0; + g = a + 16 | 0; + c[(c[g >> 2] | 0) + 152 >> 2] = b; + b = Sy(a) | 0; + d = 0; + while (1) { + if (!b) break; + Az(b, 134365, 304, 1) | 0; + c[(c[b + 16 >> 2] | 0) + 112 >> 2] = f + (d << 2); + c[(c[(c[g >> 2] | 0) + 152 >> 2] | 0) + (d << 2) >> 2] = b; + jo(b); + e = Ex(a, b) | 0; + while (1) { + if (!e) break; + ko(e); + e = Gx(a, e) | 0 + } + b = Ty(a, b) | 0; + d = d + 1 | 0 + } + return + } + + function jo(a) { + a = a | 0; + zx(a, 105204, 105210) | 0; + return + } + + function ko(a) { + a = a | 0; + Az(a, 134378, 304, 1) | 0; + return + } + + function lo(a) { + a = a | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + return + } + + function mo(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = a + 8 | 0; + d = (c[g >> 2] | 0) + 1 | 0; + c[g >> 2] = d; + e = a + 4 | 0; + h = c[e >> 2] | 0; + f = h + 10 | 0; + if ((d | 0) < (h | 0)) a = c[a >> 2] | 0; else { + c[e >> 2] = f; + d = xH(c[a >> 2] | 0, f << 2) | 0; + c[a >> 2] = d; + a = d; + d = c[g >> 2] | 0 + } + c[a + (d << 2) >> 2] = b; + return + } + + function no(a) { + a = a | 0; + var b = 0, d = 0; + b = Sy(a) | 0; + if (b | 0) { + D_(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0); + while (1) { + if (!b) break; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + JM(d); + d = Gx(a, d) | 0 + } + HM(b); + b = Ty(a, b) | 0 + } + oo(a) + } + return + } + + function oo(a) { + a = a | 0; + D_(c[(c[a + 16 >> 2] | 0) + 152 >> 2] | 0); + if ((fz(a) | 0) != (a | 0)) Gz(a, 0, 134401); + return + } + + function po(a) { + a = a | 0; + var d = 0, e = 0, f = 0; + qo(a); + ro(a, 0); + so(a, 0); + to(a, 0); + d = c[a + 16 >> 2] | 0; + if (!(c[(c[d + 8 >> 2] | 0) + 84 >> 2] | 0)) { + d = b[d + 136 >> 1] & 14; + if (d << 16 >> 16) Ym(a, d & 65535) | 0 + } else { + d = Sy(a) | 0; + while (1) { + if (!d) break; + f = c[d + 16 >> 2] | 0; + e = c[f + 132 >> 2] | 0; + h[e >> 3] = +h[f + 16 >> 3] * .013888888888888888; + h[e + 8 >> 3] = +h[f + 24 >> 3] * .013888888888888888; + d = Ty(a, d) | 0 + } + $m(a, 1) + } + eJ(a); + return + } + + function qo(a) { + a = a | 0; + var d = 0, e = 0; + $M(a, 2); + b[(c[a + 16 >> 2] | 0) + 176 >> 1] = 2; + c[46366] = 2; + d = Sy(a) | 0; + while (1) { + if (!d) break; + $l(d); + d = Ty(a, d) | 0 + } + e = Sy(a) | 0; + while (1) { + if (!e) break; + d = Ex(a, e) | 0; + while (1) { + if (!d) break; + Az(d, 134378, 176, 1) | 0; + eM(d) | 0; + d = Gx(a, d) | 0 + } + e = Ty(a, e) | 0 + } + return + } + + function ro(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + h = (b | 0) == 0; + if (h) { + yo(g); + b = g + } + d = wA(a) | 0; + while (1) { + if (!d) break; + if (!(z$(ry(d) | 0, 104980, 7) | 0)) { + Az(d, 134401, 280, 1) | 0; + fH(d); + zo(b, d); + ro(d, 0) + } else ro(d, b); + d = xA(d) | 0 + } + if (h ? (e = c[g + 8 >> 2] | 0, f = a + 16 | 0, c[(c[f >> 2] | 0) + 180 >> 2] = e, e | 0) : 0) { + h = xH(c[g >> 2] | 0, (e << 2) + 4 | 0) | 0; + c[(c[f >> 2] | 0) + 184 >> 2] = h + } + l = i; + return + } + + function so(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, + G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0; + Q = l; + l = l + 448 | 0; + G = Q + 400 | 0; + F = Q + 384 | 0; + P = Q + 344 | 0; + O = Q + 304 | 0; + N = Q + 248 | 0; + D = Q + 192 | 0; + x = Q + 152 | 0; + y = Q + 96 | 0; + o = Q + 72 | 0; + d = Q + 64 | 0; + I = Q + 32 | 0; + J = Q; + B = Q + 416 | 0; + u = Q + 328 | 0; + w = Q + 288 | 0; + K = Q + 232 | 0; + L = Q + 176 | 0; + M = Q + 136 | 0; + H = Q + 80 | 0; + n = c[a + 60 >> 2] | 0; + if (0 > 1) { + uo(b); + E = c[15686] | 0; + c[d >> 2] = ry(a) | 0; + g1(E, 90637, d) | 0 + } + E = a + 16 | 0; + f = b + 1 | 0; + d = 1; + e = 0; + while (1) { + g = c[E >> 2] | 0; + if ((d | 0) > (c[g + 180 >> 2] | 0)) break; + C = c[(c[g + 184 >> 2] | 0) + (d << 2) >> 2] | 0; + so(C, f); + d = d + 1 | 0; + e = (ay(C) | 0) + e | 0 + } + p = (ay(a) | 0) - e | 0; + d = c[E >> 2] | 0; + C = (c[d + 180 >> 2] | 0) + p | 0; + v = (C | 0) == 0; + if (v ? (c[d + 12 >> 2] | 0) == 0 : 0) { + P = d + 16 | 0; + c[P >> 2] = 0; + c[P + 4 >> 2] = 0; + c[P + 8 >> 2] = 0; + c[P + 12 >> 2] = 0; + h[d + 40 >> 3] = 18.0; + h[d + 32 >> 3] = 18.0 + } else { + d = B + 16 | 0; + do if ((XD(a, 4, 4, B) | 0) >>> 0 >= 3) if ((c[d >> 2] | 0) == 4 ? (c[B + 28 >> 2] & 2 | 0) != 0 : 0) { + e = nx(n, 0, 96164, 0) | 0; + d = nx(n, 1, 96164, 0) | 0; + if ((e | 0) != 0 | (d | 0) != 0) { + c[B + 24 >> 2] = uH(C << 2) | 0; + break + } else { + c[o >> 2] = ry(a) | 0; + Pw(0, 90483, o) | 0; + d = 0; + e = 0; + break + } + } else { + d = 0; + e = 0 + } else { + c[d >> 2] = 3; + d = 0; + e = 0 + } while (0); + z = uH(C << 5) | 0; + A = uH(C << 2) | 0; + s = B + 24 | 0; + n = (e | 0) != 0; + r = 0; + g = 1; + while (1) { + f = c[E >> 2] | 0; + if ((g | 0) > (c[f + 180 >> 2] | 0)) break; + f = c[(c[f + 184 >> 2] | 0) + (g << 2) >> 2] | 0; + t = z + (r << 5) | 0; + q = (c[f + 16 >> 2] | 0) + 16 | 0; + 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]; + c[t + 16 >> 2] = c[q + 16 >> 2]; + c[t + 20 >> 2] = c[q + 20 >> 2]; + c[t + 24 >> 2] = c[q + 24 >> 2]; + c[t + 28 >> 2] = c[q + 28 >> 2]; + if (n & (c[s >> 2] | 0) != 0) { + t = KL(f, e, 0, 0) | 0; + c[(c[s >> 2] | 0) + (r << 2) >> 2] = t + } + c[A + (r << 2) >> 2] = f; + r = r + 1 | 0; + g = g + 1 | 0 + } + a:do if ((p | 0) > 0) { + o = I + 16 | 0; + p = I + 24 | 0; + q = (d | 0) != 0; + n = Sy(a) | 0; + e = r; + while (1) { + if (!n) break a; + f = c[n + 16 >> 2] | 0; + g = f + 112 | 0; + if (!(c[g >> 2] | 0)) { + c[g >> 2] = a; + c[I >> 2] = 0; + c[I + 4 >> 2] = 0; + c[I + 8 >> 2] = 0; + c[I + 12 >> 2] = 0; + h[o >> 3] = +h[f + 96 >> 3] + +h[f + 88 >> 3]; + h[p >> 3] = +h[f + 80 >> 3]; + t = z + (e << 5) | 0; + c[t >> 2] = c[I >> 2]; + c[t + 4 >> 2] = c[I + 4 >> 2]; + c[t + 8 >> 2] = c[I + 8 >> 2]; + c[t + 12 >> 2] = c[I + 12 >> 2]; + c[t + 16 >> 2] = c[I + 16 >> 2]; + c[t + 20 >> 2] = c[I + 20 >> 2]; + c[t + 24 >> 2] = c[I + 24 >> 2]; + c[t + 28 >> 2] = c[I + 28 >> 2]; + if (q & (c[s >> 2] | 0) != 0) { + t = KL(n, d, 0, 0) | 0; + c[(c[s >> 2] | 0) + (e << 2) >> 2] = t + } + c[A + (e << 2) >> 2] = n; + e = e + 1 | 0 + } + n = Ty(a, n) | 0 + } + } while (0); + t = QD(C, z, B) | 0; + d = c[s >> 2] | 0; + if (d | 0) D_(d); + vo(J, 2147483647.0, 2147483647.0); + s = J + 16 | 0; + vo(u, -2147483647.0, -2147483647.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]; + g = I + 16 | 0; + n = I + 8 | 0; + o = I + 24 | 0; + p = J + 8 | 0; + q = J + 24 | 0; + r = c[15686] | 0; + d = 0; + while (1) { + if ((d | 0) >= (C | 0)) break; + j = +(c[t + (d << 3) >> 2] | 0); + m = +(c[t + (d << 3) + 4 >> 2] | 0); + e = z + (d << 5) | 0; + c[I >> 2] = c[e >> 2]; + c[I + 4 >> 2] = c[e + 4 >> 2]; + c[I + 8 >> 2] = c[e + 8 >> 2]; + c[I + 12 >> 2] = c[e + 12 >> 2]; + c[I + 16 >> 2] = c[e + 16 >> 2]; + c[I + 20 >> 2] = c[e + 20 >> 2]; + c[I + 24 >> 2] = c[e + 24 >> 2]; + c[I + 28 >> 2] = c[e + 28 >> 2]; + i = +h[I >> 3] + j; + h[I >> 3] = i; + j = +h[g >> 3] + j; + h[g >> 3] = j; + k = +h[n >> 3] + m; + h[n >> 3] = k; + m = +h[o >> 3] + m; + h[o >> 3] = m; + h[J >> 3] = +h[(+h[J >> 3] < i ? J : I) >> 3]; + h[p >> 3] = +h[(+h[p >> 3] < k ? J : I) + 8 >> 3]; + h[s >> 3] = +h[(+h[s >> 3] > j ? J : I) + 16 >> 3]; + h[q >> 3] = +h[(+h[q >> 3] > m ? J : I) + 24 >> 3]; + e = c[A + (d << 2) >> 2] | 0; + f = e + 16 | 0; + if ((d | 0) < (c[(c[E >> 2] | 0) + 180 >> 2] | 0)) { + u = (c[f >> 2] | 0) + 16 | 0; + 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[u + 16 >> 2] = c[I + 16 >> 2]; + c[u + 20 >> 2] = c[I + 20 >> 2]; + c[u + 24 >> 2] = c[I + 24 >> 2]; + c[u + 28 >> 2] = c[I + 28 >> 2]; + if (0 > 1) { + uo(b); + c[y >> 2] = ry(e) | 0; + h[y + 8 >> 3] = i; + h[y + 16 >> 3] = k; + h[y + 24 >> 3] = j; + h[y + 32 >> 3] = m; + g1(r, 90462, y) | 0 + } + } else { + u = (c[f >> 2] | 0) + 16 | 0; + c[F >> 2] = c[I >> 2]; + c[F + 4 >> 2] = c[I + 4 >> 2]; + c[F + 8 >> 2] = c[I + 8 >> 2]; + c[F + 12 >> 2] = c[I + 12 >> 2]; + c[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]; + wo(w, F, G); + 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]; + if (0 > 1) { + uo(b); + u = ry(e) | 0; + f = c[f >> 2] | 0; + k = +h[f + 16 >> 3]; + m = +h[f + 24 >> 3]; + c[x >> 2] = u; + h[x + 8 >> 3] = k; + h[x + 16 >> 3] = m; + g1(r, 90450, x) | 0 + } + } + d = d + 1 | 0 + } + e = c[E >> 2] | 0; + d = c[e + 12 >> 2] | 0; + if (d | 0) { + i = +h[d + 24 >> 3]; + if (v) { + j = +h[d + 32 >> 3]; + c[J >> 2] = 0; + c[J + 4 >> 2] = 0; + c[J + 8 >> 2] = 0; + c[J + 12 >> 2] = 0; + h[s >> 3] = i; + h[q >> 3] = j; + j = 0.0; + k = i + } else { + j = +h[J >> 3]; + k = +h[s >> 3] + } + m = i - (k - j); + i = m * .5; + if (m > 0.0) { + h[J >> 3] = j - i; + h[s >> 3] = k + i + } + } + if ((b | 0) > 0) i = +((c[B + 8 >> 2] | 0) >>> 0) * .5; else i = 0.0; + j = +h[J >> 3] - i; + h[J >> 3] = j; + k = +h[s >> 3] + i; + h[s >> 3] = k; + m = -i - +h[e + 56 >> 3] + +h[p >> 3]; + h[p >> 3] = m; + i = +h[e + 88 >> 3] + i + +h[q >> 3]; + h[q >> 3] = i; + if (0 > 1) { + uo(b); + c[D >> 2] = ry(a) | 0; + h[D + 8 >> 3] = j; + h[D + 16 >> 3] = m; + h[D + 24 >> 3] = k; + h[D + 32 >> 3] = i; + g1(r, 90462, D) | 0 + } + d = 0; + while (1) { + if ((d | 0) >= (C | 0)) break; + e = c[A + (d << 2) >> 2] | 0; + f = e + 16 | 0; + if ((d | 0) < (c[(c[E >> 2] | 0) + 180 >> 2] | 0)) { + D = (c[f >> 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]; + c[I + 16 >> 2] = c[D + 16 >> 2]; + c[I + 20 >> 2] = c[D + 20 >> 2]; + c[I + 24 >> 2] = c[D + 24 >> 2]; + c[I + 28 >> 2] = c[D + 28 >> 2]; + c[F >> 2] = c[D >> 2]; + c[F + 4 >> 2] = c[D + 4 >> 2]; + c[F + 8 >> 2] = c[D + 8 >> 2]; + c[F + 12 >> 2] = c[D + 12 >> 2]; + c[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + xo(I, F, 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[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + xo(K, F, G); + 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]; + D = (c[f >> 2] | 0) + 16 | 0; + c[D >> 2] = c[I >> 2]; + c[D + 4 >> 2] = c[I + 4 >> 2]; + c[D + 8 >> 2] = c[I + 8 >> 2]; + c[D + 12 >> 2] = c[I + 12 >> 2]; + c[D + 16 >> 2] = c[I + 16 >> 2]; + c[D + 20 >> 2] = c[I + 20 >> 2]; + c[D + 24 >> 2] = c[I + 24 >> 2]; + c[D + 28 >> 2] = c[I + 28 >> 2]; + if (0 > 1) { + uo(b); + D = ry(e) | 0; + i = +h[I >> 3]; + j = +h[n >> 3]; + k = +h[g >> 3]; + m = +h[o >> 3]; + c[N >> 2] = D; + h[N + 8 >> 3] = i; + h[N + 16 >> 3] = j; + h[N + 24 >> 3] = k; + h[N + 32 >> 3] = m; + g1(r, 90462, N) | 0 + } + } else { + D = (c[f >> 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[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + xo(L, F, G); + c[D >> 2] = c[L >> 2]; + c[D + 4 >> 2] = c[L + 4 >> 2]; + c[D + 8 >> 2] = c[L + 8 >> 2]; + c[D + 12 >> 2] = c[L + 12 >> 2]; + if (0 > 1) { + uo(b); + D = ry(e) | 0; + B = c[f >> 2] | 0; + k = +h[B + 16 >> 3]; + m = +h[B + 24 >> 3]; + c[O >> 2] = D; + h[O + 8 >> 3] = k; + h[O + 16 >> 3] = m; + g1(r, 90450, O) | 0 + } + } + d = d + 1 | 0 + } + c[F >> 2] = c[s >> 2]; + c[F + 4 >> 2] = c[s + 4 >> 2]; + c[F + 8 >> 2] = c[s + 8 >> 2]; + c[F + 12 >> 2] = c[s + 12 >> 2]; + c[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + xo(M, F, G); + 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[F >> 2] = c[J >> 2]; + c[F + 4 >> 2] = c[J + 4 >> 2]; + c[F + 8 >> 2] = c[J + 8 >> 2]; + c[F + 12 >> 2] = c[J + 12 >> 2]; + c[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + xo(H, F, G); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + O = (c[E >> 2] | 0) + 16 | 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[O + 16 >> 2] = c[J + 16 >> 2]; + c[O + 20 >> 2] = c[J + 20 >> 2]; + c[O + 24 >> 2] = c[J + 24 >> 2]; + c[O + 28 >> 2] = c[J + 28 >> 2]; + if (0 > 1) { + uo(b); + O = ry(a) | 0; + i = +h[J >> 3]; + j = +h[p >> 3]; + k = +h[s >> 3]; + m = +h[q >> 3]; + c[P >> 2] = O; + h[P + 8 >> 3] = i; + h[P + 16 >> 3] = j; + h[P + 24 >> 3] = k; + h[P + 32 >> 3] = m; + g1(r, 90462, P) | 0 + } + D_(z); + D_(A); + D_(t) + } + l = Q; + return + } + + function to(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0, p = 0.0, q = 0.0, + r = 0, s = 0, t = 0, u = 0; + t = l; + l = l + 80 | 0; + s = t + 32 | 0; + i = t + 8 | 0; + d = t; + r = a + 16 | 0; + o = c[r >> 2] | 0; + p = +h[o + 16 >> 3]; + q = +h[o + 24 >> 3]; + if (0 > 1) { + uo(b); + o = c[15686] | 0; + c[d >> 2] = ry(a) | 0; + g1(o, 90435, d) | 0 + } + o = (b | 0) != 0; + a:do if (o) { + d = Sy(a) | 0; + e = c[15686] | 0; + while (1) { + if (!d) break a; + f = d + 16 | 0; + g = c[f >> 2] | 0; + if ((c[g + 112 >> 2] | 0) == (a | 0) ? (u = g + 16 | 0, h[u >> 3] = +h[u >> 3] + p, g = g + 24 | 0, h[g >> 3] = +h[g >> 3] + q, 0 > 1) : 0) { + uo(b); + u = ry(d) | 0; + g = c[f >> 2] | 0; + m = +h[g + 16 >> 3]; + n = +h[g + 24 >> 3]; + c[i >> 2] = u; + h[i + 8 >> 3] = m; + h[i + 16 >> 3] = n; + g1(e, 90450, i) | 0 + } + d = Ty(a, d) | 0 + } + } else e = c[15686] | 0; while (0); + i = b + 1 | 0; + a = 1; + while (1) { + d = c[r >> 2] | 0; + if ((a | 0) > (c[d + 180 >> 2] | 0)) break; + g = c[(c[d + 184 >> 2] | 0) + (a << 2) >> 2] | 0; + if (o) { + f = g + 16 | 0; + d = c[f >> 2] | 0; + j = +h[d + 16 >> 3] + p; + k = +h[d + 24 >> 3] + q; + m = +h[d + 32 >> 3] + p; + n = +h[d + 40 >> 3] + q; + if (0 > 1) { + uo(b); + c[s >> 2] = ry(g) | 0; + h[s + 8 >> 3] = j; + h[s + 16 >> 3] = k; + h[s + 24 >> 3] = m; + h[s + 32 >> 3] = n; + g1(e, 90462, s) | 0; + d = c[f >> 2] | 0 + } + h[d + 16 >> 3] = j; + h[d + 24 >> 3] = k; + h[d + 32 >> 3] = m; + h[d + 40 >> 3] = n + } + to(g, i); + a = a + 1 | 0 + } + l = t; + return + } + + function uo(a) { + a = a | 0; + var b = 0; + b = c[15686] | 0; + while (1) { + if ((a | 0) <= 0) break; + D1(90480, b) | 0; + a = a + -1 | 0 + } + return + } + + function vo(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function wo(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = (+h[c + 8 >> 3] + +h[b + 8 >> 3]) * .5; + h[a >> 3] = (+h[c >> 3] + +h[b >> 3]) * .5; + h[a + 8 >> 3] = d; + return + } + + function xo(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[b + 8 >> 3] - +h[c + 8 >> 3]; + h[a >> 3] = +h[b >> 3] - +h[c >> 3]; + h[a + 8 >> 3] = d; + return + } + + function yo(a) { + a = a | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + return + } + + function zo(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = a + 8 | 0; + d = (c[g >> 2] | 0) + 1 | 0; + c[g >> 2] = d; + e = a + 4 | 0; + h = c[e >> 2] | 0; + f = h + 10 | 0; + if ((d | 0) < (h | 0)) a = c[a >> 2] | 0; else { + c[e >> 2] = f; + d = xH(c[a >> 2] | 0, f << 2) | 0; + c[a >> 2] = d; + a = d; + d = c[g >> 2] | 0 + } + c[a + (d << 2) >> 2] = b; + return + } + + function Ao(a) { + a = a | 0; + var b = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + HM(b); + b = Ty(a, b) | 0 + } + Bo(a); + return + } + + function Bo(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = a + 16 | 0; + a = 1; + while (1) { + e = c[b >> 2] | 0; + d = c[e + 184 >> 2] | 0; + if ((a | 0) > (c[e + 180 >> 2] | 0)) break; + e = c[d + (a << 2) >> 2] | 0; + nH(c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0); + Bo(e); + a = a + 1 | 0 + } + D_(d); + return + } + + function Co(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + Fz(a, 1, 134365, 304, 1); + sM(a) | 0; + b = uH(((ay(a) | 0) << 2) + 4 | 0) | 0; + e = a + 16 | 0; + c[(c[e >> 2] | 0) + 152 >> 2] = b; + b = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + Do(d); + c[(c[(c[e >> 2] | 0) + 152 >> 2] | 0) + (b << 2) >> 2] = d; + c[(c[d + 16 >> 2] | 0) + 120 >> 2] = b; + b = b + 1 | 0; + d = Ty(a, d) | 0 + } + e = nx(a, 2, 90566, 0) | 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + Eo(b, e); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + Fo(a); + return + } + + function Do(a) { + a = a | 0; + var b = 0; + dM(a); + b = uH((e[(c[(ez(a) | 0) + 16 >> 2] | 0) + 176 >> 1] | 0) << 3) | 0; + c[(c[a + 16 >> 2] | 0) + 132 >> 2] = b; + bN(a, c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1); + return + } + + function Eo(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0; + Az(a, 134378, 176, 1) | 0; + e = +LL(a, c[46404] | 0, 1.0, 0.0); + d = a + 16 | 0; + h[(c[d >> 2] | 0) + 128 >> 3] = e; + e = +LL(a, b, +h[1371], 0.0); + h[(c[d >> 2] | 0) + 136 >> 3] = e; + eM(a) | 0; + return + } + + function Fo(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + r = l; + l = l + 32 | 0; + q = r + 16 | 0; + p = r; + m = r + 24 | 0; + n = nx(b, 1, 99597, 0) | 0; + a:do if (n | 0) { + o = nx(b, 1, 90570, 0) | 0; + i = b + 16 | 0; + j = (o | 0) == 0; + k = c[15686] | 0; + g = 0; + while (1) { + e = c[(c[(c[i >> 2] | 0) + 152 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!e) break a; + b = yx(e, n) | 0; + do if (a[b >> 0] | 0) { + f = e + 16 | 0; + d = c[(c[f >> 2] | 0) + 132 >> 2] | 0; + a[m >> 0] = 0; + c[p >> 2] = d; + c[p + 4 >> 2] = d + 8; + c[p + 8 >> 2] = m; + if ((N1(b, 98723, p) | 0) <= 1) { + c[q >> 2] = ry(e) | 0; + c[q + 4 >> 2] = b; + g1(k, 90574, q) | 0; + break + } + b:do if (+h[22908] > 0.0) { + b = 0; + while (1) { + if ((b | 0) == 2) break b; + s = d + (b << 3) | 0; + h[s >> 3] = +h[s >> 3] / +h[22908]; + b = b + 1 | 0 + } + } while (0); + b = c[f >> 2] | 0; + a[b + 119 >> 0] = 1; + if ((a[m >> 0] | 0) != 33) { + if (j) break; + if (!((QL(yx(e, o) | 0) | 0) << 24 >> 24)) break; + b = c[f >> 2] | 0 + } + a[b + 119 >> 0] = 3 + } while (0); + g = g + 1 | 0 + } + } while (0); + l = r; + return + } + + function Go(a) { + a = a | 0; + var b = 0, c = 0; + c = Sy(a) | 0; + while (1) { + if (!c) break; + b = Ex(a, c) | 0; + while (1) { + if (!b) break; + JM(b); + b = Gx(a, b) | 0 + } + HM(c); + c = Ty(a, c) | 0 + } + Ho(a); + return + } + + function Ho(a) { + a = a | 0; + Io(a); + a = a + 16 | 0; + D_(c[(c[a >> 2] | 0) + 152 >> 2] | 0); + D_(c[(c[a >> 2] | 0) + 140 >> 2] | 0); + return + } + + function Io(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + g = a + 16 | 0; + f = 1; + while (1) { + e = c[g >> 2] | 0; + b = c[e + 184 >> 2] | 0; + if ((f | 0) > (c[e + 180 >> 2] | 0)) break; + e = c[b + (f << 2) >> 2] | 0; + b = e + 16 | 0; + nH(c[(c[b >> 2] | 0) + 12 >> 2] | 0); + d = c[(c[b >> 2] | 0) + 140 >> 2] | 0; + if (d | 0) { + D_(c[d >> 2] | 0); + D_(c[(c[b >> 2] | 0) + 140 >> 2] | 0) + } + Io(e); + f = f + 1 | 0 + } + D_(b); + if ((fz(a) | 0) != (a | 0)) Cz(a, 134401) | 0; + return + } + + function Jo(a, b) { + a = a | 0; + b = b | 0; + c[b + 4 >> 2] = nx(a, 0, 90626, 0) | 0; + c[b + 8 >> 2] = nx(a, 0, 138034, 0) | 0; + c[b + 12 >> 2] = nx(a, 0, 137966, 0) | 0; + c[b >> 2] = a; + c[b + 16 >> 2] = 0; + c[b + 36 >> 2] = XD(a, 2, 4, b + 20 | 0) | 0; + return + } + + function Ko(a) { + a = a | 0; + var d = 0, e = 0; + $M(a, 2); + d = uH(56) | 0; + e = a + 16 | 0; + c[(c[e >> 2] | 0) + 140 >> 2] = d; + d = (KL(a, nx(a, 0, 90633, 0) | 0, 2, 2) | 0) & 65535; + d = (d & 65535) < 10 ? d : 10; + b[(c[e >> 2] | 0) + 176 >> 1] = d; + c[46366] = d & 65535; + Lo(a, 0, a); + hp(a); + Co(a); + return + } + + function Lo(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + m = l; + l = l + 16 | 0; + j = m; + k = (d | 0) == 0; + if (k) { + Mo(j); + d = j + } + g = e + 16 | 0; + f = wA(a) | 0; + while (1) { + if (!f) break; + if (!(z$(ry(f) | 0, 104980, 7) | 0)) { + Az(f, 134401, 280, 1) | 0; + n = uH(56) | 0; + p = c[f + 16 >> 2] | 0; + c[p + 140 >> 2] = n; + o = c[g >> 2] | 0; + b[p + 176 >> 1] = b[o + 176 >> 1] | 0; + c[n + 44 >> 2] = (c[(c[o + 140 >> 2] | 0) + 44 >> 2] | 0) + 1; + c[n + 48 >> 2] = e; + No(d, f); + Lo(f, 0, f) + } else Lo(f, d, e); + f = xA(f) | 0 + } + if (k ? (h = c[j + 8 >> 2] | 0, i = a + 16 | 0, c[(c[i >> 2] | 0) + 180 >> 2] = h, h | 0) : 0) { + p = xH(c[j >> 2] | 0, (h << 2) + 4 | 0) | 0; + c[(c[i >> 2] | 0) + 184 >> 2] = p + } + l = m; + return + } + + function Mo(a) { + a = a | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + return + } + + function No(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = a + 8 | 0; + d = (c[g >> 2] | 0) + 1 | 0; + c[g >> 2] = d; + e = a + 4 | 0; + h = c[e >> 2] | 0; + f = h + 10 | 0; + if ((d | 0) < (h | 0)) a = c[a >> 2] | 0; else { + c[e >> 2] = f; + d = xH(c[a >> 2] | 0, f << 2) | 0; + c[a >> 2] = d; + a = d; + d = c[g >> 2] | 0 + } + c[a + (d << 2) >> 2] = b; + return + } + + function Oo(a) { + a = a | 0; + var b = 0, c = 0; + b = l; + l = l + 64 | 0; + c = b; + Jo(a, c); + Po(a, c); + Qo(a); + Ro(a, a); + So(a); + l = b; + return + } + + function Po(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0, + u = 0.0, v = 0, w = 0.0, x = 0.0; + s = l; + l = l + 64 | 0; + r = s + 48 | 0; + e = s + 40 | 0; + o = s + 56 | 0; + n = s + 52 | 0; + m = s; + if (0) { + q = c[15686] | 0; + c[e >> 2] = ry(b) | 0; + g1(q, 90637, e) | 0 + } + e = Sy(b) | 0; + while (1) { + if (!e) break; + c[(c[e + 16 >> 2] | 0) + 164 >> 2] = 0; + e = Ty(b, e) | 0 + } + p = To(b, d) | 0; + q = Iu(p, o, n) | 0; + e = q; + while (1) { + k = e + 4 | 0; + f = c[e >> 2] | 0; + if (!f) break; + ip(f, m); + e = Sy(f) | 0; + while (1) { + if (!e) break; + g = Ty(f, e) | 0; + i = e + 16 | 0; + j = c[i >> 2] | 0; + if (c[j + 212 >> 2] | 0) { + v = Uo(e, f) | 0; + Po(v, d); + v = c[(c[v + 16 >> 2] | 0) + 140 >> 2] | 0; + u = +h[v + 24 >> 3]; + j = c[i >> 2] | 0; + h[j + 32 >> 3] = u; + t = +h[v + 32 >> 3]; + h[j + 40 >> 3] = t; + u = u * 36.0; + h[j + 88 >> 3] = u; + h[j + 96 >> 3] = u; + h[j + 80 >> 3] = t * 72.0; + e = g; + continue + } + if (c[(c[j + 112 >> 2] | 0) + 8 >> 2] | 0) { + e = g; + continue + } + dz(f, e) | 0; + e = g + } + if ((ay(f) | 0) <= 1) { + e = k; + continue + } + if ((c[d >> 2] | 0) == (b | 0)) Qp(f) | 0; + vp(f, m); + e = k + } + e = c[o >> 2] | 0; + if ((e | 0) <= 1) if ((e | 0) == 1) { + mM(c[q >> 2] | 0); + e = 0 + } else e = 0; else { + if (!(c[n >> 2] | 0)) f = 0; else { + f = uH(e) | 0; + a[f >> 0] = 1; + e = c[o >> 2] | 0 + } + c[d + 40 >> 2] = f; + e = BD(e, q, 0, d + 20 | 0) | 0; + D_(f) + } + Vo(p, c[o >> 2] | 0, q, e, b, d); + D_(e); + f = Sy(p) | 0; + while (1) { + if (!f) break; + g = c[f + 16 >> 2] | 0; + e = c[g + 212 >> 2] | 0; + if (!e) { + e = c[(c[g + 112 >> 2] | 0) + 8 >> 2] | 0; + if (e | 0) { + o = c[g + 132 >> 2] | 0; + v = c[(c[e + 16 >> 2] | 0) + 132 >> 2] | 0; + h[v >> 3] = +h[o >> 3]; + h[v + 8 >> 3] = +h[o + 8 >> 3] + } + } else { + o = c[g + 132 >> 2] | 0; + x = +h[g + 32 >> 3]; + w = +h[o >> 3] - x * .5; + v = c[(c[e + 16 >> 2] | 0) + 140 >> 2] | 0; + h[v + 8 >> 3] = w; + t = +h[g + 40 >> 3]; + u = +h[o + 8 >> 3] - t * .5; + h[v + 16 >> 3] = u; + h[v + 24 >> 3] = x + w; + h[v + 32 >> 3] = t + u + } + f = Ty(p, f) | 0 + } + v = (c[(c[b + 16 >> 2] | 0) + 140 >> 2] | 0) + 8 | 0; + o = (c[(c[p + 16 >> 2] | 0) + 140 >> 2] | 0) + 8 | 0; + c[v >> 2] = c[o >> 2]; + c[v + 4 >> 2] = c[o + 4 >> 2]; + c[v + 8 >> 2] = c[o + 8 >> 2]; + c[v + 12 >> 2] = c[o + 12 >> 2]; + c[v + 16 >> 2] = c[o + 16 >> 2]; + c[v + 20 >> 2] = c[o + 20 >> 2]; + c[v + 24 >> 2] = c[o + 24 >> 2]; + c[v + 28 >> 2] = c[o + 28 >> 2]; + Wo(p, q); + D_(q); + if (0) { + v = c[15686] | 0; + c[r >> 2] = ry(b) | 0; + g1(v, 90648, r) | 0 + } + l = s; + return + } + + function Qo(b) { + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0; + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = c[d + 16 >> 2] | 0; + if (a[e + 118 >> 0] | 0) { + k = c[(c[(c[e + 212 >> 2] | 0) + 16 >> 2] | 0) + 140 >> 2] | 0; + j = +h[k + 24 >> 3] - +h[k + 8 >> 3]; + i = +h[k + 32 >> 3] - +h[k + 16 >> 3]; + g = j * 36.0; + f = i * 36.0; + k = c[e + 132 >> 2] | 0; + h[k >> 3] = j * .5; + h[k + 8 >> 3] = i * .5; + h[e + 32 >> 3] = j; + h[e + 40 >> 3] = i; + h[e + 96 >> 3] = g; + h[e + 88 >> 3] = g; + h[e + 80 >> 3] = i * 72.0; + e = c[(c[e + 12 >> 2] | 0) + 44 >> 2] | 0; + h[e >> 3] = g; + h[e + 8 >> 3] = f; + i = -g; + h[e + 16 >> 3] = i; + h[e + 24 >> 3] = f; + h[e + 32 >> 3] = i; + f = -f; + h[e + 40 >> 3] = f; + h[e + 48 >> 3] = g; + h[e + 56 >> 3] = f + } + d = Ty(b, d) | 0 + } + return + } + + function Ro(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0.0, l = 0, m = 0.0, n = 0, o = 0.0, p = 0; + i = a + 16 | 0; + j = c[(c[i >> 2] | 0) + 140 >> 2] | 0; + f = +h[j + 8 >> 3]; + g = +h[j + 16 >> 3]; + j = (a | 0) != (b | 0); + a:do if (j) { + d = Sy(a) | 0; + while (1) { + if (!d) { + a = 1; + break a + } + e = c[d + 16 >> 2] | 0; + if ((c[e + 212 >> 2] | 0) == (a | 0)) { + e = c[e + 132 >> 2] | 0; + h[e >> 3] = +h[e >> 3] + f; + e = e + 8 | 0; + h[e >> 3] = +h[e >> 3] + g + } + d = Ty(a, d) | 0 + } + } else a = 1; while (0); + while (1) { + d = c[i >> 2] | 0; + if ((a | 0) > (c[d + 180 >> 2] | 0)) break; + d = c[(c[d + 184 >> 2] | 0) + (a << 2) >> 2] | 0; + if (j) { + e = c[(c[d + 16 >> 2] | 0) + 140 >> 2] | 0; + p = e + 8 | 0; + n = e + 16 | 0; + l = e + 24 | 0; + e = e + 32 | 0; + o = +h[n >> 3] + g; + m = +h[l >> 3] + f; + k = +h[e >> 3] + g; + h[p >> 3] = +h[p >> 3] + f; + h[n >> 3] = o; + h[l >> 3] = m; + h[e >> 3] = k + } + Ro(d, b); + a = a + 1 | 0 + } + return + } + + function So(a) { + a = a | 0; + var b = 0, d = 0, e = 0.0, f = 0.0, g = 0.0; + b = a + 16 | 0; + a = c[b >> 2] | 0; + d = c[a + 140 >> 2] | 0; + g = +h[d + 16 >> 3] * 72.0; + f = +h[d + 24 >> 3] * 72.0; + e = +h[d + 32 >> 3] * 72.0; + h[a + 16 >> 3] = +h[d + 8 >> 3] * 72.0; + h[a + 24 >> 3] = g; + h[a + 32 >> 3] = f; + h[a + 40 >> 3] = e; + a = 1; + while (1) { + d = c[b >> 2] | 0; + if ((a | 0) > (c[d + 180 >> 2] | 0)) break; + So(c[(c[d + 184 >> 2] | 0) + (a << 2) >> 2] | 0); + a = a + 1 | 0 + } + return + } + + function To(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0; + y = l; + l = l + 160 | 0; + s = y + 24 | 0; + t = y + 8 | 0; + g = y; + f = y + 56 | 0; + w = e + 16 | 0; + x = c[w >> 2] | 0; + c[w >> 2] = x + 1; + c[s >> 2] = x; + Y0(f, 90710, s) | 0; + if (0 > 1) { + x = c[15686] | 0; + w = ry(d) | 0; + c[g >> 2] = f; + c[g + 4 >> 2] = w; + g1(x, 90717, g) | 0 + } + ;a[s >> 0] = a[18484] | 0; + a[s + 1 >> 0] = a[18485] | 0; + a[s + 2 >> 0] = a[18486] | 0; + a[s + 3 >> 0] = a[18487] | 0; + x = Xx(91072, s, 0) | 0; + Az(x, 134401, 280, 1) | 0; + v = uH(56) | 0; + w = x + 16 | 0; + o = c[w >> 2] | 0; + c[o + 140 >> 2] = v; + v = d + 16 | 0; + b[o + 176 >> 1] = b[(c[v >> 2] | 0) + 176 >> 1] | 0; + ap(d, x, 91095); + ap(d, x, 91700); + ap(d, x, 90983); + o = e + 4 | 0; + p = s + 16 | 0; + q = s + 8 | 0; + r = s + 24 | 0; + j = 0; + n = 1; + while (1) { + f = c[v >> 2] | 0; + if ((n | 0) > (c[f + 180 >> 2] | 0)) break; + c[s >> 2] = c[332]; + c[s + 4 >> 2] = c[333]; + c[s + 8 >> 2] = c[334]; + c[s + 12 >> 2] = c[335]; + c[s + 16 >> 2] = c[336]; + c[s + 20 >> 2] = c[337]; + c[s + 24 >> 2] = c[338]; + c[s + 28 >> 2] = c[339]; + g = c[(c[f + 184 >> 2] | 0) + (n << 2) >> 2] | 0; + fH(g); + i = bp(x, ry(g) | 0) | 0; + k = i + 16 | 0; + f = c[k >> 2] | 0; + c[f + 212 >> 2] = g; + m = j + 1 | 0; + c[f + 120 >> 2] = j; + if (c[o >> 2] | 0) cp(g, i, e, s); + f = Sy(g) | 0; + while (1) { + if (!f) break; + c[(c[f + 16 >> 2] | 0) + 164 >> 2] = i; + f = Ty(g, f) | 0 + } + f = c[k >> 2] | 0; + if (a[f + 119 >> 0] | 0) { + k = c[f + 132 >> 2] | 0; + h[k >> 3] = (+h[p >> 3] + +h[s >> 3]) * .5; + h[k + 8 >> 3] = (+h[r >> 3] + +h[q >> 3]) * .5 + } + j = m; + n = n + 1 | 0 + } + k = Sy(d) | 0; + while (1) { + if (!k) break; + f = k + 16 | 0; + g = c[f >> 2] | 0; + if (!(c[g + 164 >> 2] | 0)) { + i = g + 212 | 0; + s = c[i >> 2] | 0; + if (s | 0 ? (s | 0) != (c[(c[(c[v >> 2] | 0) + 140 >> 2] | 0) + 48 >> 2] | 0) : 0) { + u = 18; + break + } + c[i >> 2] = d; + if (!(a[g + 118 >> 0] | 0)) { + i = bp(x, ry(k) | 0) | 0; + g = c[f >> 2] | 0; + c[g + 164 >> 2] = i; + i = c[i + 16 >> 2] | 0; + c[i + 120 >> 2] = j; + h[i + 32 >> 3] = +h[g + 32 >> 3]; + h[i + 40 >> 3] = +h[g + 40 >> 3]; + h[i + 88 >> 3] = +h[g + 88 >> 3]; + h[i + 96 >> 3] = +h[g + 96 >> 3]; + h[i + 80 >> 3] = +h[g + 80 >> 3]; + c[i + 8 >> 2] = c[g + 8 >> 2]; + c[i + 12 >> 2] = c[g + 12 >> 2]; + f = a[g + 119 >> 0] | 0; + if (f << 24 >> 24) { + e = c[g + 132 >> 2] | 0; + s = c[i + 132 >> 2] | 0; + h[s >> 3] = +h[e >> 3]; + h[s + 8 >> 3] = +h[e + 8 >> 3]; + a[i + 119 >> 0] = f + } + c[(c[i + 112 >> 2] | 0) + 8 >> 2] = k; + f = j + 1 | 0 + } else f = j + } else f = j; + k = Ty(d, k) | 0; + j = f + } + if ((u | 0) == 18) { + e = ry(k) | 0; + s = ry(d) | 0; + u = ry(c[(c[f >> 2] | 0) + 212 >> 2] | 0) | 0; + c[t >> 2] = e; + c[t + 4 >> 2] = s; + c[t + 8 >> 2] = u; + Pw(1, 90740, t) | 0; + bb(184132, 1) + } + m = Sy(d) | 0; + while (1) { + if (!m) break; + n = c[(c[m + 16 >> 2] | 0) + 164 >> 2] | 0; + o = n + 16 | 0; + i = Ex(d, m) | 0; + while (1) { + if (!i) break; + f = c[(c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 164 >> 2] | 0; + if ((f | 0) != (n | 0)) { + if (f >>> 0 > n >>> 0) k = Rx(x, n, f, 0, 1) | 0; else k = Rx(x, f, n, 0, 1) | 0; + Az(k, 134378, 176, 1) | 0; + g = c[i + 16 >> 2] | 0; + u = c[k + 16 >> 2] | 0; + h[u + 136 >> 3] = +h[g + 136 >> 3]; + h[u + 128 >> 3] = +h[g + 128 >> 3]; + f = c[(c[f + 16 >> 2] | 0) + 112 >> 2] | 0; + g = f + 4 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1; + g = c[(c[o >> 2] | 0) + 112 >> 2] | 0; + t = g + 4 | 0; + c[t >> 2] = (c[t >> 2] | 0) + 1; + if (!(c[u + 172 >> 2] | 0)) { + c[f >> 2] = (c[f >> 2] | 0) + 1; + c[g >> 2] = (c[g >> 2] | 0) + 1 + } + dp(k, i) + } + i = Gx(d, i) | 0 + } + m = Ty(d, m) | 0 + } + f = c[(c[v >> 2] | 0) + 140 >> 2] | 0; + g = c[f >> 2] | 0; + if (g | 0) { + i = uH((c[f + 4 >> 2] << 4) + 16 | 0) | 0; + c[c[(c[w >> 2] | 0) + 140 >> 2] >> 2] = i; + f = 0; + while (1) { + if (!(c[g >> 2] | 0)) break; + m = c[(c[(c[g + 4 >> 2] | 0) + 16 >> 2] | 0) + 164 >> 2] | 0; + if (m) { + ep(d, g); + n = bp(x, 190692) | 0; + o = n + 16 | 0; + c[(c[o >> 2] | 0) + 120 >> 2] = j; + if (n >>> 0 > m >>> 0) k = Rx(x, m, n, 0, 1) | 0; else k = Rx(x, n, m, 0, 1) | 0; + Az(k, 134378, 176, 1) | 0; + u = c[g >> 2] | 0; + t = c[u + 16 >> 2] | 0; + v = c[k + 16 >> 2] | 0; + h[v + 136 >> 3] = +h[t + 136 >> 3]; + h[v + 128 >> 3] = +h[t + 128 >> 3]; + dp(k, u); + u = c[(c[o >> 2] | 0) + 112 >> 2] | 0; + v = u + 4 | 0; + c[v >> 2] = (c[v >> 2] | 0) + 1; + v = c[(c[m + 16 >> 2] | 0) + 112 >> 2] | 0; + t = v + 4 | 0; + c[t >> 2] = (c[t >> 2] | 0) + 1; + c[u >> 2] = (c[u >> 2] | 0) + 1; + c[v >> 2] = (c[v >> 2] | 0) + 1; + c[i + 4 >> 2] = n; + h[i + 8 >> 3] = +h[g + 8 >> 3]; + c[i >> 2] = k; + f = f + 1 | 0; + i = i + 16 | 0; + j = j + 1 | 0 + } + g = g + 16 | 0 + } + c[(c[(c[w >> 2] | 0) + 140 >> 2] | 0) + 4 >> 2] = f + } + l = y; + return x | 0 + } + + function Uo(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0; + l = c[a + 16 >> 2] | 0; + k = c[l + 212 >> 2] | 0; + l = c[(c[l + 112 >> 2] | 0) + 4 >> 2] | 0; + do if (l | 0) { + j = uH((l << 4) + 16 | 0) | 0; + f = Zo(a, b) | 0; + g = f + 8 | 0; + b = 0; + e = f; + while (1) { + if (!(c[e >> 2] | 0)) break; + i = e + 24 | 0; + if (!(c[i >> 2] | 0)) d = +h[g >> 3] + 6.283185307179586; else d = +h[e + 32 >> 3]; + b = _o(a, e, j, b, d) | 0; + e = i + } + if ((b | 0) == (l | 0)) { + a = c[(c[k + 16 >> 2] | 0) + 140 >> 2] | 0; + c[a >> 2] = j; + c[a + 4 >> 2] = l; + D_(f); + break + } else qa(90656, 90666, 766, 90675) + } while (0); + return k | 0 + } + + function Vo(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0.0, H = 0.0; + B = l; + l = l + 32 | 0; + x = B + 16 | 0; + A = B; + m = c[g + 8 >> 2] | 0; + j = c[g + 12 >> 2] | 0; + y = (c[g >> 2] | 0) == (f | 0); + z = (b | 0) != 0; + a:do if (z) { + p = c[(c[d >> 2] | 0) + 16 >> 2] | 0; + k = +h[p + 16 >> 3]; + m = ~~(k + (k >= 0.0 ? .5 : -.5)); + c[A >> 2] = m; + k = +h[p + 24 >> 3]; + g = ~~(k + (k >= 0.0 ? .5 : -.5)); + u = A + 4 | 0; + c[u >> 2] = g; + k = +h[p + 32 >> 3]; + n = ~~(k + (k >= 0.0 ? .5 : -.5)); + v = A + 8 | 0; + c[v >> 2] = n; + k = +h[p + 40 >> 3]; + p = ~~(k + (k >= 0.0 ? .5 : -.5)); + w = A + 12 | 0; + c[w >> 2] = p; + if ((b | 0) > 1) { + q = c[e >> 2] | 0; + t = c[e + 4 >> 2] | 0; + m = q + m | 0; + c[A >> 2] = m; + b = t + g | 0; + c[u >> 2] = b; + n = q + n | 0; + c[v >> 2] = n; + q = x + 4 | 0; + r = x + 8 | 0; + s = x + 12 | 0; + o = e; + g = d; + t = t + p | 0; + p = b; + while (1) { + g = g + 4 | 0; + j = o + 8 | 0; + c[w >> 2] = t; + b = c[g >> 2] | 0; + if (!b) { + j = 0; + r = p; + s = t; + break a + } + E = c[b + 16 >> 2] | 0; + G = +h[E + 16 >> 3]; + i = +h[E + 24 >> 3]; + k = +h[E + 32 >> 3]; + H = +h[E + 40 >> 3]; + E = ~~(H + (H >= 0.0 ? .5 : -.5)); + c[s >> 2] = E; + b = c[j >> 2] | 0; + F = c[o + 12 >> 2] | 0; + D = b + ~~(G + (G >= 0.0 ? .5 : -.5)) | 0; + c[x >> 2] = D; + C = F + ~~(i + (i >= 0.0 ? .5 : -.5)) | 0; + c[q >> 2] = C; + b = b + ~~(k + (k >= 0.0 ? .5 : -.5)) | 0; + c[r >> 2] = b; + E = F + E | 0; + c[s >> 2] = E; + D = c[((m | 0) < (D | 0) ? A : x) >> 2] | 0; + c[A >> 2] = D; + C = c[((p | 0) < (C | 0) ? A : x) + 4 >> 2] | 0; + c[u >> 2] = C; + b = c[((n | 0) > (b | 0) ? A : x) + 8 >> 2] | 0; + c[v >> 2] = b; + o = j; + t = c[((t | 0) > (E | 0) ? A : x) + 12 >> 2] | 0; + m = D; + p = C; + n = b + } + } else { + j = 0; + r = g; + s = p + } + } else { + c[A >> 2] = 0; + c[A + 4 >> 2] = 0; + n = KL(f, m, 54, 3) | 0; + c[A + 8 >> 2] = n; + s = KL(f, j, 36, 3) | 0; + c[A + 12 >> 2] = s; + j = 1; + m = 0; + r = 0 + } while (0); + b = f + 16 | 0; + o = c[b >> 2] | 0; + g = c[o + 12 >> 2] | 0; + if (g) { + H = +h[g + 24 >> 3]; + g = m - n + ~~(H + (H >= 0.0 ? .5 : -.5)) | 0; + if ((g | 0) > 0) { + g = g >>> 1; + m = m - g | 0; + c[A >> 2] = m; + n = n + g | 0; + c[A + 8 >> 2] = n; + g = 0 + } else g = 0 + } else g = j; + if (y | (g | 0) != 0) { + j = 0; + g = o + } else { + j = KL(a, c[46374] | 0, 8, 0) | 0; + g = c[b >> 2] | 0 + } + q = j - m | 0; + p = ~~(+h[g + 56 >> 3] + +(j - r | 0)); + c[A >> 2] = 0; + c[A + 4 >> 2] = 0; + o = q + j + n | 0; + c[A + 8 >> 2] = o; + b = ~~(+h[g + 88 >> 3] + +(j + p | 0) + +(s | 0)); + c[A + 12 >> 2] = b; + b:do if (z) { + g = e; + c:while (1) { + n = d + 4 | 0; + j = c[d >> 2] | 0; + if (!j) break b; + if (!g) { + m = 0; + d = q; + g = p + } else { + m = g + 8 | 0; + d = (c[g >> 2] | 0) + q | 0; + g = (c[g + 4 >> 2] | 0) + p | 0 + } + k = +(d | 0) * .013888888888888888; + i = +(g | 0) * .013888888888888888; + d = Sy(j) | 0; + while (1) { + if (!d) { + d = n; + g = m; + continue c + } + F = c[(c[d + 16 >> 2] | 0) + 132 >> 2] | 0; + h[F >> 3] = +h[F >> 3] + k; + F = F + 8 | 0; + h[F >> 3] = +h[F >> 3] + i; + d = Ty(j, d) | 0 + } + } + } while (0); + F = c[(c[a + 16 >> 2] | 0) + 140 >> 2] | 0; + E = F + 8 | 0; + c[E >> 2] = 0; + c[E + 4 >> 2] = 0; + c[E + 8 >> 2] = 0; + c[E + 12 >> 2] = 0; + h[F + 24 >> 3] = +(o | 0) * .013888888888888888; + h[F + 32 >> 3] = +(b | 0) * .013888888888888888; + l = B; + return + } + + function Wo(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + while (1) { + d = c[b >> 2] | 0; + if (!d) break; + Xo(d); + Cz(d, 134401) | 0; + b = b + 4 | 0 + } + b = c[c[(c[a + 16 >> 2] | 0) + 140 >> 2] >> 2] | 0; + if (b | 0) D_(b); + Xo(a); + Cz(a, 134401) | 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + e = Ty(a, d) | 0; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + D_(c[(c[b + 16 >> 2] | 0) + 172 >> 2] | 0); + Cz(b, 134378) | 0; + b = Gx(a, b) | 0 + } + Yo(d); + d = e + } + $x(a) | 0; + return + } + + function Xo(a) { + a = a | 0; + D_(c[(c[a + 16 >> 2] | 0) + 140 >> 2] | 0); + return + } + + function Yo(a) { + a = a | 0; + var b = 0; + b = a + 16 | 0; + D_(c[(c[b >> 2] | 0) + 112 >> 2] | 0); + D_(c[(c[b >> 2] | 0) + 132 >> 2] | 0); + Cz(a, 134365) | 0; + return + } + + function Zo(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = a + 16 | 0; + l = c[c[(c[k >> 2] | 0) + 112 >> 2] >> 2] | 0; + m = uH((l * 24 | 0) + 24 | 0) | 0; + i = 0; + j = Jx(b, a) | 0; + while (1) { + if (!j) break; + f = c[j >> 2] & 3; + e = c[((f | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (a | 0)) e = c[((f | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + e = c[(c[e + 16 >> 2] | 0) + 132 >> 2] | 0; + f = c[(c[k >> 2] | 0) + 132 >> 2] | 0; + g = +h[e >> 3] - +h[f >> 3]; + d = +h[e + 8 >> 3] - +h[f + 8 >> 3]; + c[m + (i * 24 | 0) >> 2] = j; + h[m + (i * 24 | 0) + 8 >> 3] = +K(+d, +g); + h[m + (i * 24 | 0) + 16 >> 3] = d * d + g * g; + i = i + 1 | 0; + j = Kx(b, j, a) | 0 + } + if ((i | 0) != (l | 0)) qa(90689, 90666, 642, 90698); + _0(m, l, 24, 67); + a:do if ((l | 0) > 1) { + j = l + -1 | 0; + e = 0; + b:while (1) { + if ((e | 0) >= (j | 0)) break a; + g = +h[m + (e * 24 | 0) + 8 >> 3]; + f = e + 1 | 0; + i = f; + while (1) { + if ((i | 0) >= (l | 0)) break; + if (!(+h[m + (i * 24 | 0) + 8 >> 3] == g)) break; + i = i + 1 | 0 + } + if ((i | 0) == (f | 0)) { + e = f; + continue + } + if ((i | 0) == (l | 0)) d = 3.141592653589793; else d = +h[m + (i * 24 | 0) + 8 >> 3]; + d = (d - g) / +(i - e | 0); + d = d > .03490658503988659 ? .03490658503988659 : d; + g = 0.0; + while (1) { + if ((e | 0) >= (i | 0)) continue b; + k = m + (e * 24 | 0) + 8 | 0; + h[k >> 3] = +h[k >> 3] + g; + g = g + d; + e = e + 1 | 0 + } + } + } while (0); + return m | 0 + } + + function _o(a, d, e, f, g) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = +g; + var i = 0, j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0.0, q = 0; + k = c[d >> 2] | 0; + n = c[k + 16 >> 2] | 0; + m = b[n + 168 >> 1] | 0; + o = m << 16 >> 16; + j = c[k >> 2] & 3; + i = c[((j | 0) == 2 ? k : k + -48 | 0) + 40 >> 2] | 0; + if ((i | 0) == (a | 0)) i = c[((j | 0) == 3 ? k : k + 48 | 0) + 40 >> 2] | 0; + p = +h[d + 8 >> 3]; + g = (g - p) / +(m << 16 >> 16); + g = g > .03490658503988659 ? .03490658503988659 : g; + m = i >>> 0 > a >>> 0; + l = m ? g : -g; + d = m ? 1 : -1; + k = 0; + i = c[n + 172 >> 2] | 0; + j = m ? f : f + -1 + o | 0; + g = m ? p : g * +(o + -1 | 0) + p; + while (1) { + if ((k | 0) >= (o | 0)) break; + n = c[i >> 2] | 0; + c[e + (j << 4) >> 2] = n; + m = c[n >> 2] & 3; + q = (m | 0) == 3 ? n : n + 48 | 0; + c[e + (j << 4) + 4 >> 2] = c[((c[(c[(c[q + 40 >> 2] | 0) + 16 >> 2] | 0) + 164 >> 2] | 0) == (a | 0) ? q : (m | 0) == 2 ? n : n + -48 | 0) + 40 >> 2]; + h[e + (j << 4) + 8 >> 3] = g; + k = k + 1 | 0; + i = i + 4 | 0; + j = j + d | 0; + g = g + l + } + return o + f | 0 + } + + function $o(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a + 8 >> 3]; + d = +h[b + 8 >> 3]; + if (!(c > d)) if (!(c < d)) { + d = +h[a + 16 >> 3]; + c = +h[b + 16 >> 3]; + if (d > c) a = 1; else a = (d < c) << 31 >> 31 + } else a = -1; else a = 1; + return a | 0 + } + + function ap(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + d = nx(a, 0, c, 0) | 0; + do if (d | 0) { + a = yx(a, d) | 0; + d = nx(b, 0, c, 0) | 0; + if (!d) { + nx(b, 0, c, a) | 0; + break + } else { + rx(b, d, a) | 0; + break + } + } while (0); + return + } + + function bp(a, b) { + a = a | 0; + b = b | 0; + var d = 0, f = 0; + b = az(a, b, 1) | 0; + Az(b, 134365, 304, 1) | 0; + f = uH(32) | 0; + d = b + 16 | 0; + c[(c[d >> 2] | 0) + 112 >> 2] = f; + a = vH((e[(c[a + 16 >> 2] | 0) + 176 >> 1] | 0) << 3) | 0; + c[(c[d >> 2] | 0) + 132 >> 2] = a; + return b | 0 + } + + function cp(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 80 | 0; + n = q + 56 | 0; + m = q + 32 | 0; + p = q; + o = q + 64 | 0; + i = c[e + 4 >> 2] | 0; + k = yx(b, i) | 0; + do if (a[k >> 0] | 0) { + if ((c[e >> 2] | 0) != (b | 0)) { + e = yx(yA(b) | 0, i) | 0; + if ((e | 0) == (k | 0)) break; + if (!(b$(k, e) | 0)) break + } + a[o >> 0] = 0; + e = p + 8 | 0; + i = p + 16 | 0; + j = p + 24 | 0; + c[m >> 2] = p; + c[m + 4 >> 2] = e; + c[m + 8 >> 2] = i; + c[m + 12 >> 2] = j; + c[m + 16 >> 2] = o; + if ((N1(k, 90851, m) | 0) <= 3) { + c[n >> 2] = ry(b) | 0; + c[n + 4 >> 2] = k; + Pw(0, 90869, n) | 0; + break + } + g = +h[22908]; + if (g > 0.0) { + h[p >> 3] = +h[p >> 3] / g; + h[e >> 3] = +h[e >> 3] / g; + h[i >> 3] = +h[i >> 3] / g; + h[j >> 3] = +h[j >> 3] / g + } + e = a[o >> 0] | 0; + if (e << 24 >> 24 == 33) a[(c[d + 16 >> 2] | 0) + 119 >> 0] = 3; else a[(c[d + 16 >> 2] | 0) + 119 >> 0] = e << 24 >> 24 == 63 ? 2 : 1; + c[f >> 2] = c[p >> 2]; + c[f + 4 >> 2] = c[p + 4 >> 2]; + c[f + 8 >> 2] = c[p + 8 >> 2]; + c[f + 12 >> 2] = c[p + 12 >> 2]; + c[f + 16 >> 2] = c[p + 16 >> 2]; + c[f + 20 >> 2] = c[p + 20 >> 2]; + c[f + 24 >> 2] = c[p + 24 >> 2]; + c[f + 28 >> 2] = c[p + 28 >> 2] + } while (0); + l = q; + return + } + + function dp(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = a + 16 | 0; + f = c[g >> 2] | 0; + a = b[f + 168 >> 1] | 0; + f = c[f + 172 >> 2] | 0; + if (!f) { + a = a << 16 >> 16; + e = a; + a = vH((a << 2) + 4 | 0) | 0 + } else { + a = a << 16 >> 16; + e = a; + a = xH(f, (a << 2) + 4 | 0) | 0 + } + c[a + (e << 2) >> 2] = d; + d = c[g >> 2] | 0; + c[d + 172 >> 2] = a; + d = d + 168 | 0; + b[d >> 1] = (b[d >> 1] | 0) + 1 << 16 >> 16; + return + } + + function ep(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = l; + l = l + 48 | 0; + h = i + 24 | 0; + g = i; + e = c[b >> 2] | 0; + d = c[e >> 2] & 3; + f = c[((d | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0; + d = c[((d | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0; + b = W_(ry(a) | 0) | 0; + j = W_(ry(f) | 0) | 0; + j = (b + 8 + j + (W_(ry(d) | 0) | 0) | 0) > 999; + b = ry(a) | 0; + if (j) { + d = ry(d) | 0; + j = ry(f) | 0; + h = (c[e >> 2] | 0) >>> 4; + c[g >> 2] = b; + c[g + 4 >> 2] = d; + c[g + 8 >> 2] = j; + j = g + 16 | 0; + c[j >> 2] = h; + c[j + 4 >> 2] = 0; + Y0(190692, 90809, g) | 0 + } else { + d = c[(c[d + 16 >> 2] | 0) + 120 >> 2] | 0; + j = c[(c[f + 16 >> 2] | 0) + 120 >> 2] | 0; + g = (c[e >> 2] | 0) >>> 4; + c[h >> 2] = b; + c[h + 4 >> 2] = d; + c[h + 8 >> 2] = j; + j = h + 16 | 0; + c[j >> 2] = g; + c[j + 4 >> 2] = 0; + Y0(190692, 90828, h) | 0 + } + l = i; + return + } + + function fp(a) { + a = a | 0; + var d = 0, e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0; + j = 4; + i = C_(40) | 0; + c[i >> 2] = 0; + g = +h[22908]; + o = 0; + f = +Z(1, a | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) != 1) { + h[22908] = f; + o = 0; + ia(100, a | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) != 1) { + i = D3(184132, 1, i | 0, j | 0) | 0; + j = z; + o = 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + d = E3(c[e >> 2] | 0, i | 0, j | 0) | 0; + if (!d) bb(e | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) != 1) d = 0; else d = z + } else d = z + } else d = z; + while (1) { + if (d | 0) break; + o = 0; + ia(101, a | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + continue + } + o = 0; + $(22, a | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + continue + } + if (b[(c[a + 16 >> 2] | 0) + 136 >> 1] & 14) { + o = 0; + ia(102, a | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + continue + } + } + o = 0; + ja(22, a | 0, 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, i | 0, j | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) d = z; else { + k = 12; + break + } + } + if ((k | 0) == 12) h[22908] = g; + D_(i | 0); + return + } + + function gp(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + e = a + 16 | 0; + f = b[(c[e >> 2] | 0) + 136 >> 1] & 14; + d = f & 65535; + if ((f & 65535) > 8) { + if (f << 16 >> 16 == 12) { + if (Wm(a, 22, 10) | 0) { + c[46363] = 2; + h = 5 + } + } else h = 5; + do if ((h | 0) == 5) if (!(b[(c[e >> 2] | 0) + 136 >> 1] & 1)) { + Ym(a, d) | 0; + break + } else { + Pw(0, 90912, g) | 0; + d = 2; + break + } while (0); + c[46363] = 0 + } + if ((c[46367] | 0) < 1) Ym(a, d) | 0; + l = i; + return + } + + function hp(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0; + e = l; + l = l + 16 | 0; + c[45704] = 1; + c[45705] = 1; + c[45707] = -1; + c[45709] = 50; + h[22860] = 0.0; + h[22855] = 0.0; + h[22856] = 1.0; + c[45708] = KL(a, nx(a, 0, 90975, 0) | 0, 600, 0) | 0; + d = +LL(a, nx(a, 0, 90983, 0) | 0, .3, 0.0); + h[22857] = d; + h[1371] = d; + if (-1.0 == -1.0) b = +LL(a, nx(a, 0, 90985, 0) | 0, -1.0, 0.0); else b = -1.0; + h[22858] = b; + c[45706] = 1; + a = om(a, 2, 182824) | 0; + c[45718] = a; + if (!a) { + Pw(0, 90988, e) | 0; + c[45706] = 2 + } + c[45734] = (O(c[45708] | 0, c[45709] | 0) | 0) / 100 | 0; + d = +h[22857]; + h[22862] = d * d; + if (c[45704] | 0) { + b = +h[22860]; + if (b <= 0.0) { + b = d * 3.0; + h[22860] = b + } + h[22861] = b * b + } + l = e; + return + } + + function ip(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + d = j; + g = c[c[(c[a + 16 >> 2] | 0) + 140 >> 2] >> 2] | 0; + i = jp(a, b) | 0; + kp(d, a, g); + e = +h[d >> 3]; + f = +h[d + 8 >> 3]; + a:do if (!(c[45704] | 0)) { + b = 0; + while (1) { + if ((b | 0) >= (c[45735] | 0)) break a; + np(a, +lp(b), g); + b = b + 1 | 0 + } + } else { + d = Ku(ay(a) | 0) | 0; + Pu(d, ay(a) | 0); + b = 0; + while (1) { + if ((b | 0) >= (c[45735] | 0)) break; + mp(a, +lp(b), g, d); + b = b + 1 | 0 + } + Ru(d) + } while (0); + b:do if (e != 0.0 | f != 0.0) { + b = Sy(a) | 0; + while (1) { + if (!b) break b; + g = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + h[g >> 3] = +h[g >> 3] + e; + g = g + 8 | 0; + h[g >> 3] = +h[g >> 3] + f; + b = Ty(a, b) | 0 + } + } while (0); + if (i | 0) op(); + l = j; + return + } + + function jp(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0, j = 0; + if (+h[22858] == -1.0) { + i = ay(a) | 0; + d = +h[22857]; + h[22858] = +h[22856] * .2 * d * +C(+(+(i | 0))); + i = 1 + } else { + i = 0; + d = +h[22857] + } + g = c[45734] | 0; + h[b + 8 >> 3] = +lp(g); + h[b + 16 >> 3] = d; + h[b + 24 >> 3] = +h[22855]; + e = c[45708] | 0; + a = e - g | 0; + c[b >> 2] = a; + f = c[45707] | 0; + do if ((f | 0) > -1) { + if ((f | 0) <= (g | 0)) { + c[45735] = f; + a = 0; + j = 10; + break + } + if ((f | 0) <= (e | 0)) { + c[45735] = g; + a = f - g | 0; + j = 10 + } + } else { + c[45735] = g; + j = 10 + } while (0); + if ((j | 0) == 10) c[b + 32 >> 2] = a; + return i | 0 + } + + function kp(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0.0, k = 0, l = 0.0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0, + s = 0.0, t = 0.0, u = 0, v = 0, w = 0.0, x = 0, y = 0, z = 0; + v = ay(d) | 0; + x = c[(c[(c[d + 16 >> 2] | 0) + 140 >> 2] | 0) + 4 >> 2] | 0; + u = Sy(d) | 0; + q = 0; + r = 0; + g = 0; + k = 0; + n = 0; + while (1) { + if (!u) break; + f = c[u + 16 >> 2] | 0; + if (!(a[f + 119 >> 0] | 0)) f = r; else { + f = c[f + 132 >> 2] | 0; + i = +h[f >> 3]; + if (!q) { + k = ~~i; + g = ~~+h[f + 8 >> 3]; + n = g; + f = k + } else { + p = +(r | 0); + s = +h[f + 8 >> 3]; + t = +(g | 0); + w = +(k | 0); + o = +(n | 0); + n = ~~(s > o ? s : o); + f = ~~(i < p ? i : p); + g = ~~(s < t ? s : t); + k = ~~(i > w ? i : w) + } + q = q + 1 | 0 + } + u = Ty(d, u) | 0; + r = f + } + i = +h[22857] * (+C(+(+(v - x | 0))) + 1.0); + s = i * .6; + h[22864] = s; + h[22863] = s; + if ((q | 0) != 1) if ((q | 0) > 1) { + t = +(k + r | 0) * .5; + w = +(n + g | 0) * .5; + o = +(k - r | 0); + p = o * 1.2; + l = +(n - g | 0); + m = l * 1.2; + i = i * 2.4 * s; + j = m * p / i; + do if (!(j >= 1.0)) { + if (j > 0.0) { + i = +C(+j) * 2.0; + j = p / i; + h[22863] = j; + i = m / i; + z = 20; + break + } + if (p > 0.0) { + j = o * .6; + h[22863] = j; + i = i / p * .5; + z = 20; + break + } + if (m > 0.0) { + j = i / m * .5; + h[22863] = j; + i = l * .6; + z = 20 + } else { + i = s; + j = s + } + } else { + j = o * .6; + h[22863] = j; + i = l * .6; + z = 20 + } while (0); + if ((z | 0) == 20) h[22864] = i; + s = +K(+i, +j); + j = j / +E(+s); + h[22863] = j; + i = i / +F(+s); + h[22864] = i + } else { + t = 0.0; + w = 0.0; + j = s; + i = s + } else { + t = +(r | 0); + w = +(g | 0); + j = s; + i = s + } + h[22865] = j * j; + h[22866] = i * i; + if ((c[45718] | 0) == 2) f = c[45706] | 0; else { + f = H1() | 0; + f = (db(0) | 0) ^ f + } + i2(f); + a:do if (!e) { + e = Sy(d) | 0; + if (!q) while (1) { + if (!e) break a; + s = +h[22863]; + s = (+k2() * 2.0 + -1.0) * s; + z = e + 16 | 0; + h[c[(c[z >> 2] | 0) + 132 >> 2] >> 3] = s; + s = +h[22864]; + s = (+k2() * 2.0 + -1.0) * s; + h[(c[(c[z >> 2] | 0) + 132 >> 2] | 0) + 8 >> 3] = s; + e = Ty(d, e) | 0 + } + while (1) { + if (!e) break a; + f = e + 16 | 0; + g = c[f >> 2] | 0; + if (!(a[g + 119 >> 0] | 0)) { + s = +h[22863]; + s = (+k2() * 2.0 + -1.0) * s; + h[c[(c[f >> 2] | 0) + 132 >> 2] >> 3] = s; + s = +h[22864]; + s = (+k2() * 2.0 + -1.0) * s; + h[(c[(c[f >> 2] | 0) + 132 >> 2] | 0) + 8 >> 3] = s + } else { + z = c[g + 132 >> 2] | 0; + h[z >> 3] = +h[z >> 3] - t; + z = z + 8 | 0; + h[z >> 3] = +h[z >> 3] - w + } + e = Ty(d, e) | 0 + } + } else { + while (1) { + if (!(c[e >> 2] | 0)) break; + u = e + 8 | 0; + s = +E(+(+h[u >> 3])) * +h[22863] + t; + x = c[(c[e + 4 >> 2] | 0) + 16 >> 2] | 0; + v = c[x + 132 >> 2] | 0; + h[v >> 3] = s; + h[v + 8 >> 3] = +F(+(+h[u >> 3])) * +h[22864] + w; + a[x + 119 >> 0] = 1; + e = e + 16 | 0 + } + l = t * .1; + m = w * .1; + r = Sy(d) | 0; + while (1) { + if (!r) break a; + q = r + 16 | 0; + e = c[q >> 2] | 0; + if (!((c[(c[e + 112 >> 2] | 0) + 8 >> 2] | 0) == 0 ? !(c[e + 212 >> 2] | 0) : 0)) z = 32; + do if ((z | 0) == 32) { + z = 0; + if (a[e + 119 >> 0] | 0) { + x = c[e + 132 >> 2] | 0; + h[x >> 3] = +h[x >> 3] - t; + x = x + 8 | 0; + h[x >> 3] = +h[x >> 3] - w; + break + } + n = Jx(d, r) | 0; + e = 0; + j = 0.0; + i = 0.0; + while (1) { + if (!n) break; + k = c[n >> 2] & 3; + f = (k | 0) == 2 ? n : n + -48 | 0; + g = c[f + 40 >> 2] | 0; + k = (k | 0) == 3 ? n : n + 48 | 0; + do if ((g | 0) != (c[k + 40 >> 2] | 0) ? (y = c[(c[((g | 0) == (r | 0) ? k : f) + 40 >> 2] | 0) + 16 >> 2] | 0, (a[y + 119 >> 0] | 0) != 0) : 0) if (!e) { + x = c[y + 132 >> 2] | 0; + e = 1; + j = +h[x >> 3]; + i = +h[x + 8 >> 3]; + break + } else { + p = +(e | 0); + x = c[y + 132 >> 2] | 0; + e = e + 1 | 0; + s = +(e | 0); + j = (+h[x >> 3] + j * p) / s; + i = (+h[x + 8 >> 3] + i * p) / s; + break + } while (0); + n = Kx(d, n, r) | 0 + } + do if ((e | 0) <= 1) if ((e | 0) == 1) { + f = c[q >> 2] | 0; + e = c[f + 132 >> 2] | 0; + h[e >> 3] = j * .98 + l; + i = i * .9 + m; + break + } else { + i = +k2() * 6.283185307179586; + s = +k2() * .9; + p = s * +h[22863] * +E(+i); + f = c[q >> 2] | 0; + e = c[f + 132 >> 2] | 0; + h[e >> 3] = p; + i = +h[22864] * s * +F(+i); + break + } else { + f = c[q >> 2] | 0; + e = c[f + 132 >> 2] | 0; + h[e >> 3] = j + } while (0); + h[e + 8 >> 3] = i; + a[f + 119 >> 0] = 1 + } while (0); + r = Ty(d, r) | 0 + } + } while (0); + h[b >> 3] = t; + h[b + 8 >> 3] = w; + return + } + + function lp(a) { + a = a | 0; + var b = 0; + b = c[45708] | 0; + return +(+h[22858] * +(b - a | 0) / +(b | 0)) + } + + function mp(a, b, d, e) { + a = a | 0; + b = +b; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0.0; + if (!(b <= 0.0)) { + Qu(e); + f = Sy(a) | 0; + while (1) { + if (!f) break; + i = c[f + 16 >> 2] | 0; + g = (c[i + 112 >> 2] | 0) + 16 | 0; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + c[g + 8 >> 2] = 0; + c[g + 12 >> 2] = 0; + i = c[i + 132 >> 2] | 0; + j = +h[22860]; + g = ~~+A(+(+h[i >> 3] / j)); + Tu(e, g, ~~+A(+(+h[i + 8 >> 3] / j)), f); + f = Ty(a, f) | 0 + } + g = Sy(a) | 0; + while (1) { + if (!g) break; + f = Ex(a, g) | 0; + while (1) { + if (!f) break; + i = c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + if ((g | 0) != (i | 0)) qp(g, i, f); + f = Gx(a, f) | 0 + } + g = Ty(a, g) | 0 + } + Vu(e, 23); + rp(a, b, d) + } + return + } + + function np(a, b, d) { + a = a | 0; + b = +b; + d = d | 0; + var e = 0, f = 0, g = 0; + if (!(b <= 0.0)) { + e = Sy(a) | 0; + while (1) { + if (!e) break; + g = (c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 | 0; + c[g >> 2] = 0; + c[g + 4 >> 2] = 0; + c[g + 8 >> 2] = 0; + c[g + 12 >> 2] = 0; + e = Ty(a, e) | 0 + } + g = Sy(a) | 0; + while (1) { + if (!g) break; else e = g; + while (1) { + e = Ty(a, e) | 0; + if (!e) break; + pp(g, e) + } + e = Ex(a, g) | 0; + while (1) { + if (!e) break; + f = c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0; + if ((g | 0) != (f | 0)) qp(g, f, e); + e = Gx(a, e) | 0 + } + g = Ty(a, g) | 0 + } + rp(a, b, d) + } + return + } + + function op() { + h[22858] = -1.0; + return + } + + function pp(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0; + g = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + f = c[(c[a + 16 >> 2] | 0) + 132 >> 2] | 0; + d = +h[g >> 3] - +h[f >> 3]; + e = +h[g + 8 >> 3] - +h[f + 8 >> 3]; + sp(a, b, d, e, e * e + d * d); + return + } + + function qp(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0; + j = b + 16 | 0; + k = c[(c[j >> 2] | 0) + 132 >> 2] | 0; + a = a + 16 | 0; + b = c[(c[a >> 2] | 0) + 132 >> 2] | 0; + e = +h[k >> 3] - +h[b >> 3]; + f = +h[k + 8 >> 3] - +h[b + 8 >> 3]; + g = e; + i = f; + e = e * e; + f = f * f; + while (1) { + e = e + f; + if (!(e == 0.0)) break; + e = +(5 - ((g2() | 0) % 10 | 0) | 0); + f = +(5 - ((g2() | 0) % 10 | 0) | 0); + g = e; + i = f; + e = e * e; + f = f * f + } + f = +C(+e); + b = c[d + 16 >> 2] | 0; + e = +h[b + 128 >> 3]; + if (!(c[45705] | 0)) e = e * f / +h[b + 136 >> 3]; else e = (f - +h[b + 136 >> 3]) * e / f; + g = e * g; + k = c[(c[j >> 2] | 0) + 112 >> 2] | 0; + j = k + 16 | 0; + h[j >> 3] = +h[j >> 3] - g; + i = e * i; + k = k + 24 | 0; + h[k >> 3] = +h[k >> 3] - i; + k = c[(c[a >> 2] | 0) + 112 >> 2] | 0; + j = k + 16 | 0; + h[j >> 3] = +h[j >> 3] + g; + k = k + 24 | 0; + h[k >> 3] = +h[k >> 3] + i; + return + } + + function rp(b, d, e) { + b = b | 0; + d = +d; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0.0; + o = d * d; + n = (e | 0) == 0; + m = Sy(b) | 0; + while (1) { + if (!m) break; + l = c[m + 16 >> 2] | 0; + if (!(a[l + 119 >> 0] & 2)) { + k = c[l + 112 >> 2] | 0; + f = +h[k + 16 >> 3]; + i = +h[k + 24 >> 3]; + g = i * i + f * f; + if (g < o) { + e = c[l + 132 >> 2] | 0; + j = +h[e >> 3] + f; + f = +h[e + 8 >> 3] + i + } else { + g = d / +C(+g); + e = c[l + 132 >> 2] | 0; + j = +h[e >> 3] + g * f; + f = +h[e + 8 >> 3] + g * i + } + do if (!n) { + g = +C(+(f * f / +h[22866] + j * j / +h[22865])); + if ((c[k + 8 >> 2] | 0) == 0 ? (c[l + 212 >> 2] | 0) == 0 : 0) { + h[e >> 3] = j / g; + f = f / g; + break + } + if (!(g >= 1.0)) { + h[e >> 3] = j; + break + } else { + h[e >> 3] = j * .95 / g; + f = f * .95 / g; + break + } + } else h[e >> 3] = j; while (0); + h[e + 8 >> 3] = f + } + m = Ty(b, m) | 0 + } + return + } + + function sp(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + f = +f; + var g = 0.0, i = 0, j = 0; + g = d; + d = f; + while (1) { + if (!(d == 0.0)) break; + d = +(5 - ((g2() | 0) % 10 | 0) | 0); + e = +(5 - ((g2() | 0) % 10 | 0) | 0); + g = d; + d = e * e + d * d + } + if (!(c[45705] | 0)) d = +h[22862] / d; else { + f = +C(+d); + d = +h[22862] / (f * d) + } + j = c[a + 16 >> 2] | 0; + a = c[j + 112 >> 2] | 0; + if (((c[a + 8 >> 2] | 0) == 0 ? (c[j + 212 >> 2] | 0) == 0 : 0) ? (i = c[b + 16 >> 2] | 0, (c[(c[i + 112 >> 2] | 0) + 8 >> 2] | 0) == 0) : 0) d = (c[i + 212 >> 2] | 0) == 0 ? d * 10.0 : d; + f = d * g; + j = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + b = j + 16 | 0; + h[b >> 3] = +h[b >> 3] + f; + g = d * e; + j = j + 24 | 0; + h[j >> 3] = +h[j >> 3] + g; + j = a + 16 | 0; + h[j >> 3] = +h[j >> 3] - f; + j = a + 24 | 0; + h[j >> 3] = +h[j >> 3] - g; + return + } + + function tp(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + f = c[b + 8 >> 2] | 0; + g = c[b >> 2] | 0; + e = c[b + 4 >> 2] | 0; + b = f; + while (1) { + if (!b) break; + a = f; + while (1) { + if (!a) break; + if ((b | 0) != (a | 0)) pp(c[b >> 2] | 0, c[a >> 2] | 0); + a = c[a + 4 >> 2] | 0 + } + b = c[b + 4 >> 2] | 0 + } + h = g + -1 | 0; + a = e + -1 | 0; + up(d, h, a, f); + up(d, h, e, f); + b = e + 1 | 0; + up(d, h, b, f); + up(d, g, a, f); + up(d, g, b, f); + g = g + 1 | 0; + up(d, g, a, f); + up(d, g, e, f); + up(d, g, b, f); + return 0 + } + + function up(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, l = 0, m = 0; + a = Wu(a, b, d) | 0; + if ((e | 0) != 0 & (a | 0) != 0) { + k = a + 8 | 0; + do { + d = c[e >> 2] | 0; + j = d + 16 | 0; + a = k; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + b = c[a >> 2] | 0; + m = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + l = c[(c[j >> 2] | 0) + 132 >> 2] | 0; + f = +h[m >> 3] - +h[l >> 3]; + g = +h[m + 8 >> 3] - +h[l + 8 >> 3]; + i = g * g + f * f; + if (i < +h[22861]) sp(d, b, f, g, i); + a = a + 4 | 0 + } + e = c[e + 4 >> 2] | 0 + } while ((e | 0) != 0) + } + return + } + + function vp(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 16 | 0; + g = h; + e = xx(b, 91095) | 0; + if (0) E1(91032, 8, 1, c[15686] | 0) | 0; + if (!((e | 0) != 0 ? (a[e >> 0] | 0) != 0 : 0)) e = 91041; + f = A$(e, 58) | 0; + do if (!f) f = 0; else { + if ((f | 0) != (e | 0) ? ((a[e >> 0] | 0) + -48 | 0) >>> 0 >= 10 : 0) { + f = 0; + break + } + i = a2(e) | 0; + e = f + 1 | 0; + f = (i | 0) > 0 ? i : 0 + } while (0); + if (0) { + i = c[15686] | 0; + c[g >> 2] = f; + c[g + 4 >> 2] = e; + g1(i, 91049, g) | 0 + } + if (!((f | 0) != 0 ? !(wp(b, d, f) | 0) : 0)) sq(b, e) | 0; + l = h; + return + } + + function wp(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0; + t = l; + l = l + 64 | 0; + r = t; + j = t + 40 | 0; + s = ay(b) | 0; + k = by(b) | 0; + qq(j, b); + c[46072] = c[j >> 2]; + c[46073] = c[j + 4 >> 2]; + c[46074] = c[j + 8 >> 2]; + if (a[184296] | 0) { + g[46072] = +g[46072] * .013888888888888888; + g[46073] = +g[46073] * .013888888888888888 + } + f = xp(b) | 0; + a:do if (!f) f = 0; else { + j = r; + i = j + 40 | 0; + do { + c[j >> 2] = c[d >> 2]; + j = j + 4 | 0; + d = d + 4 | 0 + } while ((j | 0) < (i | 0)); + j = r + 16 | 0; + q = +h[j >> 3]; + o = +(k | 0) * 2.0; + p = 1.0 / +(O(s + -1 | 0, s) | 0); + i = 0; + n = q; + while (1) { + if (!((f | 0) != 0 & (i | 0) < (e | 0))) break a; + yp(s, r); + m = +h[22868] * +h[170]; + h[22869] = m; + h[22870] = o * m * p; + d = 0; + while (1) { + if ((d | 0) >= (c[45742] | 0)) break; + m = +zp(d); + if (m <= 0.0) break; + f = Ap(b, m) | 0; + if (!f) { + f = 0; + break + } else d = d + 1 | 0 + } + m = n + q; + h[j >> 3] = m; + i = i + 1 | 0; + n = m + } + } while (0); + l = t; + return f | 0 + } + + function xp(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0; + b = 0; + e = Sy(a) | 0; + while (1) { + if (!e) break; else d = e; + while (1) { + c = Ty(a, d) | 0; + if (!c) break; + d = c; + b = (Dp(e, c) | 0) + b | 0 + } + e = Ty(a, e) | 0 + } + return b | 0 + } + + function yp(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0.0; + e = +h[b + 16 >> 3]; + h[171] = e; + c[344] = c[b >> 2]; + f = +h[b + 8 >> 3]; + h[22872] = f; + c[45742] = c[b + 32 >> 2]; + d = +h[b + 24 >> 3]; + if (d > 0.0) h[170] = d; + h[22868] = e * e; + if (f == 0.0) h[22872] = +C(+(+(a | 0))) * .2 * e; + return + } + + function zp(a) { + a = a | 0; + var b = 0; + b = c[344] | 0; + return +(+h[22872] * +(b - a | 0) / +(b | 0)) + } + + function Ap(b, d) { + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0, i = 0.0, j = 0, k = 0.0, l = 0.0, m = 0.0; + e = Sy(b) | 0; + while (1) { + if (!e) break; + j = (c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0) + 16 | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = 0; + c[j + 8 >> 2] = 0; + c[j + 12 >> 2] = 0; + e = Ty(b, e) | 0 + } + e = 0; + j = Sy(b) | 0; + while (1) { + if (!j) break; else g = j; + while (1) { + f = Ty(b, g) | 0; + if (!f) break; + g = f; + e = (Bp(j, f) | 0) + e | 0 + } + f = Ex(b, j) | 0; + while (1) { + if (!f) break; + Cp(j, c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0); + f = Gx(b, f) | 0 + } + j = Ty(b, j) | 0 + } + a:do if (!e) e = 0; else { + m = d * d; + g = Sy(b) | 0; + while (1) { + if (!g) break a; + f = c[g + 16 >> 2] | 0; + if ((a[f + 119 >> 0] | 0) != 3) { + j = c[f + 112 >> 2] | 0; + k = +h[j + 16 >> 3]; + i = +h[j + 24 >> 3]; + l = i * i + k * k; + if (l < m) { + f = c[f + 132 >> 2] | 0; + h[f >> 3] = +h[f >> 3] + k + } else { + l = +C(+l); + f = c[f + 132 >> 2] | 0; + h[f >> 3] = +h[f >> 3] + k * d / l; + i = i * d / l + } + j = f + 8 | 0; + h[j >> 3] = +h[j >> 3] + i + } + g = Ty(b, g) | 0 + } + } while (0); + return e | 0 + } + + function Bp(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0; + g = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + f = c[(c[a + 16 >> 2] | 0) + 132 >> 2] | 0; + d = +h[g >> 3] - +h[f >> 3]; + e = +h[g + 8 >> 3] - +h[f + 8 >> 3]; + return Fp(a, b, d, e, e * e + d * d) | 0 + } + + function Cp(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0.0, k = 0.0, l = 0, m = 0; + if (!(Dp(a, b) | 0)) { + i = c[b + 16 >> 2] | 0; + m = c[i + 132 >> 2] | 0; + f = c[a + 16 >> 2] | 0; + l = c[f + 132 >> 2] | 0; + e = +h[m >> 3] - +h[l >> 3]; + d = +h[m + 8 >> 3] - +h[l + 8 >> 3]; + g = +C(+(d * d + e * e)); + j = +Ep(a); + j = +Ep(b) + j; + k = g - j; + g = k * k / ((+h[171] + j) * g); + e = g * e; + b = c[i + 112 >> 2] | 0; + a = b + 16 | 0; + h[a >> 3] = +h[a >> 3] - e; + d = g * d; + b = b + 24 | 0; + h[b >> 3] = +h[b >> 3] - d; + b = c[f + 112 >> 2] | 0; + a = b + 16 | 0; + h[a >> 3] = +h[a >> 3] + e; + b = b + 24 | 0; + h[b >> 3] = +h[b >> 3] + d + } + return + } + + function Dp(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, i = 0.0, j = 0.0, k = 0, l = 0; + k = c[d + 16 >> 2] | 0; + l = c[k + 132 >> 2] | 0; + d = c[b + 16 >> 2] | 0; + b = c[d + 132 >> 2] | 0; + i = +h[l >> 3] - +h[b >> 3]; + j = +h[l + 8 >> 3] - +h[b + 8 >> 3]; + j = j < 0.0 ? -j : j; + b = (a[184296] | 0) == 0; + e = +h[d + 32 >> 3]; + if (b) { + f = +g[46072]; + e = e * .5 * f; + f = +h[k + 32 >> 3] * .5 * f + } else { + f = +g[46072]; + e = e * .5 + f; + f = +h[k + 32 >> 3] * .5 + f + } + if (!((i < 0.0 ? -i : i) <= f + e)) d = 0; else { + e = +h[d + 40 >> 3]; + if (b) { + i = +g[46073]; + f = e * .5 * i; + e = +h[k + 40 >> 3] * .5 * i + } else { + i = +g[46073]; + f = e * .5 + i; + e = +h[k + 40 >> 3] * .5 + i + } + d = j <= e + f & 1 + } + return d | 0 + } + + function Ep(b) { + b = b | 0; + var d = 0.0, e = 0.0; + b = c[b + 16 >> 2] | 0; + d = +h[b + 32 >> 3]; + if (!(a[184296] | 0)) { + e = d * .5 * +g[46072]; + d = +h[b + 40 >> 3] * .5 * +g[46073] + } else { + e = d * .5 + +g[46072]; + d = +h[b + 40 >> 3] * .5 + +g[46073] + } + return +(+C(+(d * d + e * e))) + } + + function Fp(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + f = +f; + var g = 0, i = 0; + while (1) { + if (!(f == 0.0)) break; + f = +(5 - ((g2() | 0) % 10 | 0) | 0); + e = +(5 - ((g2() | 0) % 10 | 0) | 0); + d = f; + f = e * e + f * f + } + g = Dp(a, b) | 0; + f = ((g | 0) == 0 ? +h[22870] : +h[22869]) / f; + d = f * d; + b = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + i = b + 16 | 0; + h[i >> 3] = +h[i >> 3] + d; + f = f * e; + b = b + 24 | 0; + h[b >> 3] = +h[b >> 3] + f; + b = c[(c[a + 16 >> 2] | 0) + 112 >> 2] | 0; + a = b + 16 | 0; + h[a >> 3] = +h[a >> 3] - d; + b = b + 24 | 0; + h[b >> 3] = +h[b >> 3] - f; + return g | 0 + } + + function Gp(a) { + a = a | 0; + $M(a, 2); + b[(c[a + 16 >> 2] | 0) + 176 >> 1] = 2; + c[46366] = 2; + Hp(a); + return + } + + function Hp(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + e = uH((ay(a) | 0) << 2) | 0; + b = uH(((ay(a) | 0) << 2) + 4 | 0) | 0; + f = a + 16 | 0; + c[(c[f >> 2] | 0) + 152 >> 2] = b; + b = Sy(a) | 0; + d = 0; + while (1) { + if (!b) break; + $l(b); + c[(c[b + 16 >> 2] | 0) + 112 >> 2] = e + (d << 2); + c[(c[(c[f >> 2] | 0) + 152 >> 2] | 0) + (d << 2) >> 2] = b; + b = Ty(a, b) | 0; + d = d + 1 | 0 + } + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + Ip(b); + b = Gx(a, b) | 0 + } + d = Ty(a, d) | 0 + } + return + } + + function Ip(a) { + a = a | 0; + var b = 0.0; + Az(a, 134378, 176, 1) | 0; + eM(a) | 0; + b = +LL(a, c[46404] | 0, 1.0, 0.0); + h[(c[a + 16 >> 2] | 0) + 128 >> 3] = b; + return + } + + function Jp(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + m = n + 4 | 0; + k = n; + a[m >> 0] = a[18492] | 0; + a[m + 1 >> 0] = a[18493] | 0; + a[m + 2 >> 0] = a[18494] | 0; + a[m + 3 >> 0] = a[18495] | 0; + m = Xx(91072, m, 0) | 0; + Az(m, 91080, 280, 1) | 0; + c[(c[b + 16 >> 2] | 0) + 140 >> 2] = m; + e = Sy(b) | 0; + while (1) { + if (!e) break; + f = e + 16 | 0; + if (!(c[c[(c[f >> 2] | 0) + 112 >> 2] >> 2] | 0)) { + j = Kp(m, ry(e) | 0, e) | 0; + c[c[(c[f >> 2] | 0) + 112 >> 2] >> 2] = j + } + e = Ty(b, e) | 0 + } + f = Sy(b) | 0; + while (1) { + if (!f) break; + e = Ex(b, f) | 0; + while (1) { + if (!e) break; + h = c[e >> 2] & 3; + g = c[c[(c[(c[((h | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0; + h = c[c[(c[(c[((h | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0; + if ((g | 0) != (h | 0)) Az(Rx(m, g, h, 0, 1) | 0, 134378, 176, 1) | 0; + e = Gx(b, e) | 0 + } + f = Ty(b, f) | 0 + } + j = oD(m, k, 0) | 0; + f = 0; + while (1) { + if ((f | 0) >= (c[k >> 2] | 0)) break; + h = c[j + (f << 2) >> 2] | 0; + e = Sy(h) | 0; + while (1) { + if (!e) break; + g = Ex(b, c[c[(c[e + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0) | 0; + while (1) { + if (!g) break; + i = c[c[(c[(c[((c[g >> 2] & 3 | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0; + if ((e | 0) != (i | 0)) { + i = Rx(m, e, i, 0, 1) | 0; + Az(i, 134378, 176, 1) | 0; + Vx(h, i, 1) | 0 + } + g = Gx(b, g) | 0 + } + e = Ty(h, e) | 0 + } + f = f + 1 | 0 + } + e = Sy(m) | 0; + while (1) { + if (!e) break; + f = Ex(m, e) | 0; + while (1) { + if (!f) break; + b = uH(8) | 0; + c[(c[f + 16 >> 2] | 0) + 120 >> 2] = b; + f = Gx(m, f) | 0 + } + e = Ty(m, e) | 0 + } + c[d >> 2] = c[k >> 2]; + l = n; + return j | 0 + } + + function Kp(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + b = az(a, b, 1) | 0; + Az(b, 134365, 304, 1) | 0; + e = uH(40) | 0; + a = b + 16 | 0; + c[(c[a >> 2] | 0) + 112 >> 2] = e; + e = uH(c[46366] << 3) | 0; + a = c[a >> 2] | 0; + c[a + 132 >> 2] = e; + e = c[d + 16 >> 2] | 0; + h[a + 88 >> 3] = +h[e + 88 >> 3]; + h[a + 96 >> 3] = +h[e + 96 >> 3]; + h[a + 80 >> 3] = +h[e + 80 >> 3]; + c[c[a + 112 >> 2] >> 2] = d; + return b | 0 + } + + function Lp(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 48 | 0; + b = h + 32 | 0; + e = h; + if (ay(a) | 0) { + g = Jp(a, b) | 0; + f = c[b >> 2] | 0; + b = c[g >> 2] | 0; + if ((f | 0) == 1) { + Xu(b, a); + Mp(c[g >> 2] | 0); + tq(a) | 0 + } else { + d = c[b + 60 >> 2] | 0; + XD(a, 2, 8, e) | 0; + b = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + i = c[g + (b << 2) >> 2] | 0; + Xu(i, a); + tq(i) | 0; + b = b + 1 | 0 + } + WD(f, g, d, e) | 0; + b = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + Mp(c[g + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + } + D_(g) + } + l = h; + return + } + + function Mp(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + d = c[b + 16 >> 2] | 0; + e = c[d + 132 >> 2] | 0; + d = c[(c[(c[c[d + 112 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + h[d >> 3] = +h[e >> 3]; + h[d + 8 >> 3] = +h[e + 8 >> 3]; + b = Ty(a, b) | 0 + } + return + } + + function Np(a) { + a = a | 0; + if (ay(a) | 0) { + Gp(a); + Lp(a); + D_(c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 112 >> 2] | 0); + hn(a); + eJ(a) + } + return + } + + function Op(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = Sy(a) | 0; + if (b | 0) { + e = a + 16 | 0; + Pp(c[(c[e >> 2] | 0) + 140 >> 2] | 0); + while (1) { + if (!b) break; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + JM(d); + d = Gx(a, d) | 0 + } + HM(b); + b = Ty(a, b) | 0 + } + D_(c[(c[e >> 2] | 0) + 152 >> 2] | 0); + if ((fz(a) | 0) != (a | 0)) Gz(a, 0, 134401) + } + return + } + + function Pp(a) { + a = a | 0; + var b = 0, d = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + D_(c[(c[b + 16 >> 2] | 0) + 120 >> 2] | 0); + b = Gx(a, b) | 0 + } + b = d + 16 | 0; + D_(c[(c[b >> 2] | 0) + 112 >> 2] | 0); + D_(c[(c[b >> 2] | 0) + 132 >> 2] | 0); + d = Ty(a, d) | 0 + } + $x(a) | 0; + return + } + + function Qp(a) { + a = a | 0; + var b = 0, d = 0, e = 0.0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0; + m = l; + l = l + 16 | 0; + k = m; + a:do if (Rp(a, k) | 0) { + b = c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + g = +h[b >> 3]; + e = +h[b + 8 >> 3]; + b = Sy(a) | 0; + while (1) { + if (!b) break; + f = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + h[f >> 3] = +h[f >> 3] - g; + f = f + 8 | 0; + h[f >> 3] = +h[f >> 3] - e; + b = Ty(a, b) | 0 + } + b = (g != 0.0 | e != 0.0) & 1; + d = Sy(a) | 0; + while (1) { + if (!d) break a; + f = Ex(a, d) | 0; + if (f | 0) break; + d = Ty(a, d) | 0 + } + n = c[f >> 2] & 3; + d = c[(c[(c[((n | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + f = c[(c[(c[((n | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + i = +h[f + 8 >> 3]; + j = +h[f >> 3]; + e = +K(+(+h[d + 8 >> 3] - i), +(+h[d >> 3] - j)); + e = +h[k >> 3] - e; + h[k >> 3] = e; + if (e != 0.0) { + g = +E(+e); + e = +F(+e); + b = Sy(a) | 0; + while (1) { + if (!b) { + b = 1; + break a + } + k = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + p = +h[k >> 3] - j; + n = k + 8 | 0; + o = +h[n >> 3] - i; + h[k >> 3] = p * g + j - o * e; + h[n >> 3] = p * e + i + o * g; + b = Ty(a, b) | 0 + } + } + } else b = 0; while (0); + l = m; + return b | 0 + } + + function Rp(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + b = xx(b, 91085) | 0; + do if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) { + e = +c2(b, f); + if ((c[f >> 2] | 0) == (b | 0)) if (!((QL(b) | 0) << 24 >> 24)) { + b = 0; + break + } else e = 0.0; + while (1) { + if (!(e > 180.0)) break; + e = e + -360.0 + } + while (1) { + if (!(e <= -180.0)) break; + e = e + 360.0 + } + h[d >> 3] = e * .017453292519943295; + b = 1 + } else b = 0; while (0); + l = g; + return b | 0 + } + + function Sp(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + d = xx(a, 91095) | 0; + return Tp(a, (d | 0) == 0 ? (c | 0 ? c : 191979) : d, b) | 0 + } + + function Tp(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0; + n = l; + l = l + 32 | 0; + m = n + 16 | 0; + j = n + 8 | 0; + i = n; + if ((d | 0) != 0 ? (a[d >> 0] | 0) != 0 : 0) { + f = 17792; + while (1) { + g = c[f + 4 >> 2] | 0; + if (!g) break; + if (!(V$(d, g, c[f + 8 >> 2] | 0) | 0)) { + k = 6; + break + } + f = f + 16 | 0 + } + if ((k | 0) == 6) { + if (!(c[f + 12 >> 2] | 0)) { + c[i >> 2] = g; + Pw(0, 91103, i) | 0; + f = 17792 + } + i = c[f >> 2] | 0; + c[e >> 2] = i; + c[e + 4 >> 2] = c[f + 12 >> 2]; + if ((i | 0) == 18) Up(b, d + (c[f + 8 >> 2] | 0) | 0, e) + } + if (!(c[f + 4 >> 2] | 0)) { + f = RL(d, 63) | 0; + if (f << 24 >> 24 == 63) { + c[j >> 2] = d; + Pw(0, 91145, j) | 0; + f = 0 + } else f = f & 255; + f = (f | 0) == 0; + c[e >> 2] = f & 1; + f = f ? 91192 : 132627; + k = 15 + } + } else { + c[e >> 2] = 0; + f = 132627; + k = 15 + } + if ((k | 0) == 15) c[e + 4 >> 2] = f; + if (0) { + k = c[15686] | 0; + j = c[e + 8 >> 2] | 0; + o = +h[e + 16 >> 3]; + c[m >> 2] = c[e + 4 >> 2]; + c[m + 4 >> 2] = j; + h[m + 8 >> 3] = o; + g1(k, 91200, m) | 0 + } + l = n; + return e | 0 + } + + function Up(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = l; + l = l + 16 | 0; + f = e; + g = e + 4 | 0; + c[f >> 2] = g; + f = (N1(b, 134313, f) | 0) > 0; + b = c[g >> 2] | 0; + c[d + 8 >> 2] = f & (b | 0) > -1 ? b : 1e3; + h[d + 16 >> 3] = +LL(a, nx(a, 0, 91236, 0) | 0, -4.0, -1.0e10); + l = e; + return + } + + function Vp(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + h = l; + l = l + 16 | 0; + g = h + 8 | 0; + f = h; + do if ((ay(a) | 0) >= 2) { + d = Qp(a) | 0; + d = (Wp(a) | 0) + d | 0; + e = c[b >> 2] | 0; + if (e) { + if (0) { + e = c[15686] | 0; + j = ry(a) | 0; + i = c[b + 4 >> 2] | 0; + c[f >> 2] = j; + c[f + 4 >> 2] = i; + g1(e, 91565, f) | 0; + e = c[b >> 2] | 0 + } + if (e >>> 0 > 2) { + switch (e | 0) { + case 3: { + e = Xq(a, 1) | 0; + break + } + case 4: { + e = Xq(a, 0) | 0; + break + } + case 6: + case 5: { + e = 0; + break + } + case 10: + case 9: + case 7: + case 8: + case 14: + case 13: + case 11: + case 12: { + Hq(a, e) | 0; + e = 0; + break + } + case 15: { + e = Xq(a, -1) | 0; + break + } + default: { + c[g >> 2] = c[b + 4 >> 2]; + Pw(0, 91588, g) | 0; + e = 0 + } + } + d = e + d | 0; + break + } + if (Xp(a) | 0) { + Yp(); + D_(c[46075] | 0); + c[46075] = 0; + break + } + Zp(a); + if ((c[b >> 2] | 0) == 2) e = _p() | 0; else e = $p() | 0; + if (e | 0) aq(); + Yp(); + D_(c[46075] | 0); + c[46075] = 0; + d = e + d | 0 + } + } else d = 0; while (0); + l = h; + return d | 0 + } + + function Wp(a) { + a = a | 0; + var b = 0, d = 0.0, e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 48 | 0; + i = m + 24 | 0; + f = m + 16 | 0; + j = m; + b = xx(a, 137660) | 0; + a:do if (((b | 0) != 0 ? (k = j + 8 | 0, c[f >> 2] = j, c[f + 4 >> 2] = k, e = N1(b, 102477, f) | 0, (e | 0) != 0) : 0) ? (g = +h[j >> 3], !(+B(+g) < 1.0e-09)) : 0) { + if ((e | 0) != 1) { + d = +h[k >> 3]; + if (+B(+d) < 1.0e-09) { + b = 0; + break + } + } else { + h[k >> 3] = g; + d = g + } + if (!(d == 1.0 & g == 1.0)) { + if (0) { + f = c[15686] | 0; + h[i >> 3] = g; + h[i + 8 >> 3] = d; + g1(f, 91748, i) | 0 + } + b = Sy(a) | 0; + while (1) { + if (!b) { + b = 1; + break a + } + i = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + h[i >> 3] = +h[i >> 3] * +h[j >> 3]; + i = i + 8 | 0; + h[i >> 3] = +h[i >> 3] * +h[k >> 3]; + b = Ty(a, b) | 0 + } + } else b = 0 + } else b = 0; while (0); + l = m; + return b | 0 + } + + function Xp(b) { + b = b | 0; + var d = 0, e = 0, f = 0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 16 | 0; + k = n; + c[46084] = ay(b) | 0; + ur(); + c[46099] = vH((c[46084] | 0) * 96 | 0) | 0; + f = Sy(b) | 0; + d = c[46099] | 0; + qq(k, b); + i = +g[k >> 2]; + j = +g[k + 4 >> 2]; + k = (a[k + 8 >> 0] | 0) == 0; + j = k ? j : j * .013888888888888888; + i = k ? i : i * .013888888888888888; + k = k ? 2 : 1; + e = 0; + while (1) { + if ((e | 0) >= (c[46084] | 0)) { + d = 0; + break + } + o = c[(c[f + 16 >> 2] | 0) + 132 >> 2] | 0; + h[d + 8 >> 3] = +h[o >> 3]; + h[d + 16 >> 3] = +h[o + 8 >> 3]; + if (mb[k & 3](d + 40 | 0, f, i, j) | 0) { + m = 4; + break + } + c[d + 24 >> 2] = e; + c[d + 28 >> 2] = 1; + c[d >> 2] = f; + c[d + 88 >> 2] = 0; + d = d + 96 | 0; + e = e + 1 | 0; + f = Ty(b, f) | 0 + } + if ((m | 0) == 4) { + D_(c[46099] | 0); + c[46099] = 0; + d = 1 + } + l = n; + return d | 0 + } + + function Yp() { + var a = 0, b = 0; + a = c[46099] | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[46084] | 0)) break; + pt(a + 40 | 0); + a = a + 96 | 0; + b = b + 1 | 0 + } + ot(); + Wr(); + D_(c[46099] | 0); + return + } + + function Zp(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0.0, + r = 0.0, s = 0.0, t = 0.0; + o = l; + l = l + 32 | 0; + m = o + 16 | 0; + n = o; + p = c[46099] | 0; + i = +h[p + 8 >> 3]; + k = +h[p + 16 >> 3]; + f = c[46084] | 0; + d = p; + e = 1; + g = +h[p + 40 >> 3] + i; + i = +h[p + 56 >> 3] + i; + j = +h[p + 48 >> 3] + k; + k = +h[p + 64 >> 3] + k; + while (1) { + if ((e | 0) >= (f | 0)) break; + s = +h[d + 104 >> 3]; + q = +h[d + 112 >> 3]; + t = +h[d + 136 >> 3] + s; + r = +h[d + 144 >> 3] + q; + s = +h[d + 152 >> 3] + s; + q = +h[d + 160 >> 3] + q; + d = d + 96 | 0; + e = e + 1 | 0; + g = t < g ? t : g; + i = s > i ? s : i; + j = r < j ? r : j; + k = q > k ? q : k + } + d = xx(b, 91688) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) h[173] = +b2(d); + s = +h[173]; + t = s * (k - j); + s = s * (i - g); + h[m >> 3] = g - s; + h[m + 8 >> 3] = j - t; + h[n >> 3] = s + i; + h[n + 8 >> 3] = t + k; + iq(m, n); + l = o; + return + } + + function _p() { + var a = 0, b = 0, d = 0, e = 0; + d = l; + l = l + 16 | 0; + b = d; + if (bq(0) | 0) { + cq(); + a = 0; + do { + pq(); + a = a + 1 | 0 + } while ((bq(a) | 0) != 0); + if (!0) a = 1; else { + e = c[15686] | 0; + c[b >> 2] = a; + g1(e, 91616, b) | 0; + a = 1 + } + } else a = 0; + l = d; + return a | 0 + } + + function $p() { + var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i + 8 | 0; + g = i; + b = bq(0) | 0; + if (!b) a = 0; else { + cq(); + dq(0); + Yt(0, 1); + a = 0; + e = 0; + d = 0; + while (1) { + fq(); + d = d + 1 | 0; + f = bq(d) | 0; + if (!f) break; + b = (f | 0) < (b | 0) ? 0 : e + 1 | 0; + c[46076] = 1; + if (b) { + gq(); + a = a + 1 | 0 + } + dq(1); + Yt(0, 1); + e = b; + b = f + } + if (0) { + f = c[15686] | 0; + c[g >> 2] = d; + g1(f, 91616, g) | 0; + c[h >> 2] = a; + g1(f, 91643, h) | 0 + } + hq(); + a = 1 + } + l = i; + return a | 0 + } + + function aq() { + var a = 0, b = 0, d = 0, e = 0; + d = c[46084] | 0; + a = c[46099] | 0; + b = 0; + while (1) { + if ((b | 0) >= (d | 0)) break; + e = c[(c[(c[a >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + h[e >> 3] = +h[a + 8 >> 3]; + h[e + 8 >> 3] = +h[a + 16 >> 3]; + a = a + 96 | 0; + b = b + 1 | 0 + } + return + } + + function bq(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 48 | 0; + o = q + 24 | 0; + n = q + 8 | 0; + p = q; + d = c[46099] | 0; + e = c[46084] | 0; + b = 0; + while (1) { + if ((b | 0) >= (e | 0)) { + f = 0; + b = 0; + break + } + c[d + (b * 96 | 0) + 32 >> 2] = 0; + b = b + 1 | 0 + } + a:while (1) { + if ((b | 0) >= (e + -1 | 0)) break; + m = d + 96 | 0; + b = b + 1 | 0; + j = d + 8 | 0; + k = d + 40 | 0; + i = d + 32 | 0; + g = m; + h = b; + while (1) { + if ((h | 0) >= (e | 0)) { + d = m; + continue a + } + e = g + 8 | 0; + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 12 >> 2]; + 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]; + if (!(yt(n, k, o, g + 40 | 0) | 0)) d = f; else { + c[i >> 2] = 1; + c[g + 32 >> 2] = 1; + d = f + 1 | 0 + } + g = g + 96 | 0; + h = h + 1 | 0; + f = d; + e = c[46084] | 0 + } + } + if (0 > 1) { + o = c[15686] | 0; + c[p >> 2] = a; + c[p + 4 >> 2] = f; + g1(o, 91669, p) | 0 + } + l = q; + return f | 0 + } + + function cq() { + var a = 0, b = 0, d = 0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + nq(); + k = c[46078] | 0; + l = c[46099] | 0; + a = c[46075] | 0; + a:while (1) { + i = a; + if (a >>> 0 >= k >>> 0) break; + b = a + 4 | 0; + if (b >>> 0 >= k >>> 0) { + a = b; + continue + } + f = c[b >> 2] | 0; + d = c[a >> 2] | 0; + g = +h[d >> 3]; + if (+h[f >> 3] != g) { + a = b; + continue + } + e = +h[d + 8 >> 3]; + if (+h[f + 8 >> 3] != e) { + a = b; + continue + } + j = a + 8 | 0; + f = 2; + while (1) { + if (j >>> 0 >= k >>> 0) break; + d = c[j >> 2] | 0; + if (!(+h[d >> 3] == g)) { + m = 11; + break + } + if (!(+h[d + 8 >> 3] == e)) { + m = 11; + break + } + j = j + 4 | 0; + f = f + 1 | 0 + } + if ((m | 0) == 11) { + m = 0; + d = c[j >> 2] | 0; + if (+h[d + 8 >> 3] == e) { + e = (+h[d >> 3] - g) / +(f | 0); + d = (((j >>> 0 > b >>> 0 ? j : b) + -1 + (0 - i) | 0) >>> 2) + 1 | 0; + a = 1; + while (1) { + if ((a | 0) == (d | 0)) { + a = j; + continue a + } + i = c[b >> 2] | 0; + h[i >> 3] = +h[i >> 3] + e * +(a | 0); + a = a + 1 | 0; + b = b + 4 | 0 + } + } + } + while (1) { + if (b >>> 0 >= j >>> 0) { + a = j; + continue a + } + f = c[a >> 2] | 0; + n = c[f + 16 >> 2] | 0; + i = c[b >> 2] | 0; + d = c[i + 16 >> 2] | 0; + h[i >> 3] = (+h[l + (n * 96 | 0) + 56 >> 3] - +h[l + (n * 96 | 0) + 40 >> 3] + +h[l + (d * 96 | 0) + 56 >> 3] - +h[l + (d * 96 | 0) + 40 >> 3]) * .5 + +h[f >> 3]; + b = b + 4 | 0; + a = a + 4 | 0 + } + } + return + } + + function dq(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0; + if (a | 0) nq(); + i = c[46075] | 0; + j = c[i >> 2] | 0; + d = +h[j >> 3]; + h[22887] = d; + k = c[46084] | 0; + f = 1; + g = +h[j >> 3]; + while (1) { + if ((f | 0) >= (k | 0)) break; + a = c[i + (f << 2) >> 2] | 0; + b = +h[a >> 3]; + if (b < d) { + h[22887] = b; + e = +h[a >> 3] + } else { + e = b; + b = d + } + f = f + 1 | 0; + d = b; + g = e > g ? e : g + } + e = +h[j + 8 >> 3]; + h[22888] = e; + h[22890] = +h[(c[i + (k + -1 << 2) >> 2] | 0) + 8 >> 3] - e; + h[22889] = g - d; + return + } + + function eq() { + var a = 0; + a = c[46077] | 0; + if (a >>> 0 < (c[46078] | 0) >>> 0) { + c[46077] = a + 4; + a = c[a >> 2] | 0 + } else a = 0; + return a | 0 + } + + function fq() { + var a = 0, b = 0, d = 0; + a = c[46099] | 0; + jq(); + d = (c[46076] | 0) == 0; + b = 0; + while (1) { + if ((b | 0) >= (c[46084] | 0)) break; + if (!(d ? !(c[a + 32 >> 2] | 0) : 0)) kq(a); + a = a + 96 | 0; + b = b + 1 | 0 + } + return + } + + function gq() { + var a = 0, b = 0, c = 0, d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0; + a = l; + l = l + 32 | 0; + c = a + 16 | 0; + b = a; + j = +h[22883]; + i = +h[22881]; + g = +h[22884]; + e = +h[22882]; + d = (i - e) * .05; + f = (j - g) * .05; + h[b >> 3] = f + j; + h[b + 8 >> 3] = i + d; + h[c >> 3] = g - f; + h[c + 8 >> 3] = e - d; + iq(c, b); + l = a; + return + } + + function hq() { + Hr(); + Jr(); + Kt(); + nr(); + return + } + + function iq(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0, e = 0.0, f = 0.0; + f = +h[a >> 3]; + h[22884] = f; + e = +h[b >> 3]; + h[22883] = e; + c = +h[a + 8 >> 3]; + h[22882] = c; + d = +h[b + 8 >> 3]; + h[22881] = d; + h[22873] = f; + h[22875] = f; + h[22877] = e; + h[22879] = e; + h[22880] = d; + h[22876] = d; + h[22878] = c; + h[22874] = c; + return + } + + function jq() { + var a = 0, b = 0.0, d = 0.0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, + p = 0, q = 0, r = 0.0, s = 0.0, t = 0.0, u = 0.0; + m = c[46099] | 0; + g = m + 8 | 0; + f = +vr(g, 182984); + e = +vr(g, 183e3); + d = +vr(g, 183016); + a = 1; + b = +vr(g, 183032); + g = m; + i = m; + j = m; + k = m; + while (1) { + l = m + 96 | 0; + if ((a | 0) >= (c[46084] | 0)) break; + q = m + 104 | 0; + r = +vr(q, 182984); + n = r < f; + t = +vr(q, 183016); + p = t < d; + s = +vr(q, 183e3); + o = s < e; + u = +vr(q, 183032); + q = u < b; + a = a + 1 | 0; + b = q ? u : b; + d = p ? t : d; + e = o ? s : e; + f = n ? r : f; + g = q ? l : g; + i = p ? l : i; + j = o ? l : j; + k = n ? l : k; + m = l + } + Xr(k + 8 | 0, +h[22873], +h[22874]); + Xr(i + 8 | 0, +h[22877], +h[22878]); + Xr(j + 8 | 0, +h[22875], +h[22876]); + Xr(g + 8 | 0, +h[22879], +h[22880]); + return + } + + function kq(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, + r = 0, s = 0; + p = l; + l = l + 64 | 0; + j = p + 48 | 0; + i = p + 32 | 0; + g = p + 16 | 0; + m = p + 8 | 0; + n = p; + k = c[a + 88 >> 2] | 0; + o = k + 8 | 0; + b = 0.0; + d = 0.0; + e = 0.0; + k = c[k >> 2] | 0; + while (1) { + f = c[k >> 2] | 0; + if (!f) break; + s = k + 8 | 0; + r = f + 8 | 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]; + c[i >> 2] = c[s >> 2]; + c[i + 4 >> 2] = c[s + 4 >> 2]; + c[i + 8 >> 2] = c[s + 8 >> 2]; + c[i + 12 >> 2] = c[s + 12 >> 2]; + c[j >> 2] = c[r >> 2]; + c[j + 4 >> 2] = c[r + 4 >> 2]; + c[j + 8 >> 2] = c[r + 8 >> 2]; + c[j + 12 >> 2] = c[r + 12 >> 2]; + q = +lq(g, i, j); + 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]; + c[i >> 2] = c[s >> 2]; + c[i + 4 >> 2] = c[s + 4 >> 2]; + c[i + 8 >> 2] = c[s + 8 >> 2]; + c[i + 12 >> 2] = c[s + 12 >> 2]; + c[j >> 2] = c[r >> 2]; + c[j + 4 >> 2] = c[r + 4 >> 2]; + c[j + 8 >> 2] = c[r + 8 >> 2]; + c[j + 12 >> 2] = c[r + 12 >> 2]; + mq(g, i, j, m, n); + b = +h[n >> 3] * q + b; + d = +h[m >> 3] * q + d; + e = q + e; + k = f + } + h[a + 8 >> 3] = d / e; + h[a + 16 >> 3] = b / e; + l = p; + return + } + + function lq(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0; + d = +h[b + 8 >> 3]; + f = +h[c + 8 >> 3]; + e = +h[a + 8 >> 3]; + return +(+B(+((f - e) * +h[b >> 3] + (d - f) * +h[a >> 3] + +h[c >> 3] * (e - d))) * .5) + } + + function mq(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + h[d >> 3] = (+h[b >> 3] + +h[a >> 3] + +h[c >> 3]) * .3333333333333333; + h[e >> 3] = (+h[b + 8 >> 3] + +h[a + 8 >> 3] + +h[c + 8 >> 3]) * .3333333333333333; + return + } + + function nq() { + var a = 0, b = 0, d = 0, e = 0; + a = c[46075] | 0; + if (!a) { + a = vH(c[46084] << 2) | 0; + c[46075] = a; + c[46078] = a + (c[46084] << 2) + } + d = c[46099] | 0; + Wr(); + e = c[46084] | 0; + b = 0; + while (1) { + if ((b | 0) >= (e | 0)) break; + c[a >> 2] = d + 8; + c[d + 88 >> 2] = 0; + c[d + 28 >> 2] = 1; + d = d + 96 | 0; + a = a + 4 | 0; + b = b + 1 | 0 + } + _0(c[46075] | 0, e, 4, 68); + c[46077] = c[46075]; + return + } + + function oq(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0; + a = c[a >> 2] | 0; + b = c[b >> 2] | 0; + d = +h[a + 8 >> 3]; + e = +h[b + 8 >> 3]; + if (!(d < e)) if (!(d > e)) { + e = +h[a >> 3]; + d = +h[b >> 3]; + if (e < d) a = -1; else a = e > d & 1 + } else a = 1; else a = -1; + return a | 0 + } + + function pq() { + var a = 0, b = 0, d = 0, e = 0; + d = c[46084] | 0; + a = 0; + b = c[46099] | 0; + while (1) { + if ((a | 0) >= (d | 0)) break; + e = b + 8 | 0; + h[e >> 3] = +h[e >> 3] * 1.05; + e = b + 16 | 0; + h[e >> 3] = +h[e >> 3] * 1.05; + a = a + 1 | 0; + b = b + 96 | 0 + } + return + } + + function qq(b, e) { + b = b | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0; + m = l; + l = l + 48 | 0; + k = m; + j = m + 24 | 0; + f = xx(e, 91700) | 0; + if (!((f | 0) != 0 ? (rq(f, j, 1.0, 0.0) | 0) != 0 : 0)) i = 3; + do if ((i | 0) == 3) { + e = xx(e, 91704) | 0; + if (e | 0 ? rq(e, j, .800000011920929, 4.0) | 0 : 0) break; + g[j + 4 >> 2] = 4.0; + g[j >> 2] = 4.0; + a[j + 8 >> 0] = 1 + } while (0); + if (0) { + i = c[15686] | 0; + o = +g[j >> 2]; + n = +g[j + 4 >> 2]; + c[k >> 2] = d[j + 8 >> 0]; + h[k + 8 >> 3] = o; + h[k + 16 >> 3] = n; + g1(i, 91709, k) | 0 + } + ;c[b >> 2] = c[j >> 2]; + c[b + 4 >> 2] = c[j + 4 >> 2]; + c[b + 8 >> 2] = c[j + 8 >> 2]; + l = m; + return + } + + function rq(b, d, e, f) { + b = b | 0; + d = d | 0; + e = +e; + f = +f; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0; + o = l; + l = l + 16 | 0; + m = o; + j = o + 12 | 0; + k = o + 8 | 0; + while (1) { + h = a[b >> 0] | 0; + i = b + 1 | 0; + if (!(B$(h << 24 >> 24) | 0)) break; else b = i + } + p = h << 24 >> 24 == 43; + h = d + 8 | 0; + a[h >> 0] = p & 1; + c[m >> 2] = j; + c[m + 4 >> 2] = k; + switch (N1(p ? i : b, 91742, m) | 0) { + case 0: { + b = 0; + break + } + case 1: { + c[k >> 2] = c[j >> 2]; + n = 5; + break + } + default: + n = 5 + } + if ((n | 0) == 5) { + do if (a[h >> 0] | 0) { + if (e > 1.0) { + q = +g[j >> 2] / e; + g[d >> 2] = q > f ? f : q; + e = +g[k >> 2] / e; + e = e > f ? f : e; + break + } + if (e < 1.0) { + q = +g[j >> 2] / e; + g[d >> 2] = q < f ? f : q; + e = +g[k >> 2] / e; + e = e < f ? f : e; + break + } else { + c[d >> 2] = c[j >> 2]; + e = +g[k >> 2]; + break + } + } else { + g[d >> 2] = +g[j >> 2] / e + 1.0; + e = +g[k >> 2] / e + 1.0 + } while (0); + g[d + 4 >> 2] = e; + b = 1 + } + l = o; + return b | 0 + } + + function sq(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + d = l; + l = l + 32 | 0; + c = d; + if ((ay(a) | 0) < 2) a = 0; else { + Tp(a, b, c) | 0; + a = Vp(a, c) | 0 + } + l = d; + return a | 0 + } + + function tq(a) { + a = a | 0; + return sq(a, xx(a, 91095) | 0) | 0 + } + + function uq(b, e) { + b = b | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0; + m = l; + l = l + 48 | 0; + k = m; + j = m + 24 | 0; + f = xx(e, 91704) | 0; + if (!((f | 0) != 0 ? (rq(f, j, 1.0, 0.0) | 0) != 0 : 0)) i = 3; + do if ((i | 0) == 3) { + e = xx(e, 91700) | 0; + if (e | 0 ? rq(e, j, 1.25, 3.200000047683716) | 0 : 0) break; + g[j + 4 >> 2] = 3.200000047683716; + g[j >> 2] = 3.200000047683716; + a[j + 8 >> 0] = 1 + } while (0); + if (0) { + i = c[15686] | 0; + o = +g[j >> 2]; + n = +g[j + 4 >> 2]; + c[k >> 2] = d[j + 8 >> 0]; + h[k + 8 >> 3] = o; + h[k + 16 >> 3] = n; + g1(i, 91771, k) | 0 + } + ;c[b >> 2] = c[j >> 2]; + c[b + 4 >> 2] = c[j + 4 >> 2]; + c[b + 8 >> 2] = c[j + 8 >> 2]; + l = m; + return + } + + function vq(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + o = p; + h = 0; + while (1) { + if ((h | 0) >= (d | 0)) break; + c[e + (h << 2) >> 2] = -1; + h = h + 1 | 0 + } + c[e + (a << 2) >> 2] = 0; + wq(f, a); + a:do if (!(c[b + 8 >> 2] | 0)) { + h = 2147483647; + b:while (1) { + if (!((xq(f, o) | 0) << 24 >> 24)) break a; + j = c[o >> 2] | 0; + h = c[e + (j << 2) >> 2] | 0; + i = b + (j * 20 | 0) | 0; + j = b + (j * 20 | 0) + 4 | 0; + k = h + 1 | 0; + a = 1; + while (1) { + if ((a | 0) >= (c[i >> 2] | 0)) continue b; + m = c[(c[j >> 2] | 0) + (a << 2) >> 2] | 0; + n = e + (m << 2) | 0; + if ((c[n >> 2] | 0) < 0) { + c[n >> 2] = k; + yq(f, m) | 0 + } + a = a + 1 | 0 + } + } + } else { + h = 2147483647; + c:while (1) { + if (!((xq(f, o) | 0) << 24 >> 24)) break a; + k = c[o >> 2] | 0; + h = c[e + (k << 2) >> 2] | 0; + i = b + (k * 20 | 0) | 0; + j = b + (k * 20 | 0) + 4 | 0; + k = b + (k * 20 | 0) + 8 | 0; + a = 1; + while (1) { + if ((a | 0) >= (c[i >> 2] | 0)) continue c; + m = c[(c[j >> 2] | 0) + (a << 2) >> 2] | 0; + n = e + (m << 2) | 0; + if ((c[n >> 2] | 0) < 0) { + c[n >> 2] = h + ~~+g[(c[k >> 2] | 0) + (a << 2) >> 2]; + yq(f, m) | 0 + } + a = a + 1 | 0 + } + } + } while (0); + a = h + 10 | 0; + h = 0; + while (1) { + if ((h | 0) >= (d | 0)) break; + i = e + (h << 2) | 0; + if ((c[i >> 2] | 0) < 0) c[i >> 2] = a; + h = h + 1 | 0 + } + l = p; + return + } + + function wq(a, b) { + a = a | 0; + b = b | 0; + c[c[a >> 2] >> 2] = b; + c[a + 12 >> 2] = 0; + c[a + 8 >> 2] = 1; + return + } + + function xq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 12 | 0; + e = c[d >> 2] | 0; + if ((e | 0) < (c[a + 8 >> 2] | 0)) { + a = c[a >> 2] | 0; + c[d >> 2] = e + 1; + c[b >> 2] = c[a + (e << 2) >> 2]; + a = 1 + } else a = 0; + return a | 0 + } + + function yq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 8 | 0; + e = c[d >> 2] | 0; + if ((e | 0) < (c[a + 4 >> 2] | 0)) { + a = c[a >> 2] | 0; + c[d >> 2] = e + 1; + c[a + (e << 2) >> 2] = b; + a = 1 + } else a = 0; + return a | 0 + } + + function zq(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = vH(b << 2) | 0; + c[a + 4 >> 2] = b; + c[a + 8 >> 2] = 0; + c[a + 12 >> 2] = 0; + return + } + + function Aq(a) { + a = a | 0; + D_(c[a >> 2] | 0); + return + } + + function Bq(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0; + if (!0) g = 0; else { + E1(91804, 25, 1, c[15686] | 0) | 0; + g = 0 + } + while (1) { + if ((g | 0) >= (a | 0)) break; + i = b + (g << 2) | 0; + f = 0; + e = 0.0; + while (1) { + if ((f | 0) == (a | 0)) break; + if ((g | 0) != (f | 0)) e = +h[(c[i >> 2] | 0) + (f << 3) >> 3] + e; + f = f + 1 | 0 + } + h[(c[i >> 2] | 0) + (g << 3) >> 3] = -e; + g = g + 1 | 0 + } + return xs(b, d, a + -1 | 0) | 0 + } + + function Cq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0.0; + j = wn(b, b, 0.0) | 0; + k = wn(b, b, 0.0) | 0; + e = Sy(a) | 0; + while (1) { + if (!e) break; + d = Jx(a, e) | 0; + while (1) { + if (!d) break; + g = c[d >> 2] & 3; + f = (c[c[((g | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + g = (c[c[((g | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + if ((f | 0) != (g | 0)) { + l = -1.0 / +h[(c[d + 16 >> 2] | 0) + 136 >> 3]; + h[(c[j + (g << 2) >> 2] | 0) + (f << 3) >> 3] = l; + h[(c[j + (f << 2) >> 2] | 0) + (g << 3) >> 3] = l + } + d = Kx(a, d, e) | 0 + } + e = Ty(a, e) | 0 + } + i = Bq(b, j, k) | 0; + a:do if (i | 0) { + f = a + 16 | 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break a; + g = k + (e << 2) | 0; + d = 0; + while (1) { + if ((d | 0) == (b | 0)) break; + a = c[g >> 2] | 0; + h[(c[(c[(c[f >> 2] | 0) + 160 >> 2] | 0) + (e << 2) >> 2] | 0) + (d << 3) >> 3] = +h[(c[k + (d << 2) >> 2] | 0) + (d << 3) >> 3] + +h[a + (e << 3) >> 3] + +h[a + (d << 3) >> 3] * -2.0; + d = d + 1 | 0 + } + e = e + 1 | 0 + } + } while (0); + xn(j); + xn(k); + return i | 0 + } + + function Dq(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = +e; + f = f | 0; + var g = 0.0, h = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 16 | 0; + j = s; + n = d << 3; + o = vH(n) | 0; + p = vH(n) | 0; + q = vH(n) | 0; + k = vH(n) | 0; + m = vH(n) | 0; + n = vH(n) | 0; + Ps(d, c, n); + Is(d, n); + Is(d, b); + Ks(a, d, b, k); + Ms(d, n, k, o); + Ps(d, o, p); + i = f + -1 | 0; + c = 0; + g = +Qs(d, o, o); + while (1) { + if ((c | 0) >= (f | 0)) { + c = 0; + break + } + if (!(+Rs(d, o) > e)) { + c = 0; + break + } + Ks(a, d, p, q); + h = +Qs(d, p, q); + if (h == 0.0) { + c = 0; + break + } + h = g / h; + Os(d, p, h, m); + Ns(d, b, m, b); + if ((c | 0) < (i | 0)) { + Os(d, q, h, q); + Ms(d, o, q, o); + h = +Qs(d, o, o); + if (g == 0.0) { + r = 7; + break + } + Os(d, p, h / g, p); + Ns(d, o, p, p); + g = h + } + c = c + 1 | 0 + } + if ((r | 0) == 7) { + Pw(1, 91830, j) | 0; + c = 1 + } + D_(o); + D_(p); + D_(q); + D_(k); + D_(m); + D_(n); + l = s; + return c | 0 + } + + function Eq(a, b, c, d, e, f, g) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = +e; + f = f | 0; + g = g | 0; + var h = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 16 | 0; + j = s; + o = d << 3; + p = vH(o) | 0; + q = vH(o) | 0; + k = vH(o) | 0; + m = vH(o) | 0; + n = vH(o) | 0; + o = vH(o) | 0; + Ps(d, c, o); + if (g << 24 >> 24) { + Is(d, o); + Is(d, b) + } + Ls(a, d, b, m); + Ms(d, o, m, p); + Ps(d, p, q); + g = f + -1 | 0; + c = 0; + h = +Qs(d, p, p); + while (1) { + if ((c | 0) >= (f | 0)) { + c = 0; + break + } + if (!(+Rs(d, p) > e)) { + c = 0; + break + } + Ls(a, d, q, k); + i = +Qs(d, q, k); + if (i == 0.0) { + c = 0; + break + } + i = h / i; + Os(d, q, i, n); + Ns(d, b, n, b); + if ((c | 0) < (g | 0)) { + Os(d, k, i, k); + Ms(d, p, k, p); + i = +Qs(d, p, p); + if (h == 0.0) { + r = 9; + break + } + Os(d, q, i / h, q); + Ns(d, p, q, q); + h = i + } + c = c + 1 | 0 + } + if ((r | 0) == 9) { + Pw(1, 91830, j) | 0; + c = 1 + } + D_(p); + D_(q); + D_(k); + D_(m); + D_(n); + D_(o); + l = s; + return c | 0 + } + + function Fq(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = +e; + f = f | 0; + var g = 0.0, h = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + j = q; + k = d << 2; + m = uH(k) | 0; + n = uH(k) | 0; + o = uH(k) | 0; + k = uH(k) | 0; + Ts(d, b); + Ts(d, c); + Us(a, d, b, k); + Ts(d, k); + Vs(d, c, k, m); + Zs(d, m, n); + i = f + -1 | 0; + c = 0; + g = +_s(d, m, m); + while (1) { + if ((c | 0) >= (f | 0)) { + c = 0; + break + } + if (!(+bt(d, m) > e)) { + c = 0; + break + } + Ts(d, n); + Ts(d, b); + Ts(d, m); + Us(a, d, n, o); + Ts(d, o); + h = +_s(d, n, o); + if (h == 0.0) { + c = 0; + break + } + h = g / h; + Xs(d, b, h, n); + if ((c | 0) < (i | 0)) { + Xs(d, m, -h, o); + h = +_s(d, m, m); + if (g == 0.0) { + p = 7; + break + } + Ys(d, n, h / g, n); + Ws(d, m, n, n); + g = h + } + c = c + 1 | 0 + } + if ((p | 0) == 7) { + Pw(1, 91830, j) | 0; + c = 1 + } + D_(m); + D_(n); + D_(o); + D_(k); + l = q; + return c | 0 + } + + function Gq(a, b, d, e, f, i, j, k, m, n) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + j = j | 0; + k = k | 0; + m = m | 0; + n = +n; + var o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0, A = 0.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 = l; + l = l + 48 | 0; + F = M + 24 | 0; + E = M + 16 | 0; + D = M + 8 | 0; + C = M; + J = M + 40 | 0; + K = M + 36 | 0; + H = M + 32 | 0; + s = j & 4; + c[J >> 2] = 0; + c[K >> 2] = 0; + a:do if (c[a + 16 >> 2] | 0) { + p = 0; + o = 0; + while (1) { + if ((p | 0) >= (b | 0)) break; + t = c[a + (p * 20 | 0) >> 2] | 0; + u = a + (p * 20 | 0) + 16 | 0; + r = 1; + while (1) { + if ((r | 0) >= (t | 0)) break; + if (!(o << 24 >> 24)) o = +g[(c[u >> 2] | 0) + (r << 2) >> 2] != 0.0; else o = 1; + r = r + 1 | 0; + o = o & 1 + } + p = p + 1 | 0 + } + if (o << 24 >> 24) { + z = (s | 0) != 0; + if (z) { + r = e + 4 | 0; + b:do if ((i | 0) > 2) { + o = i + -1 | 0; + if ((qn(a, b, d, r, f, o, j, k, 15) | 0) < 0) { + o = -1; + break a + } + p = e + (o << 2) | 0; + o = 0; + while (1) { + if ((o | 0) >= (b | 0)) break b; + h[(c[p >> 2] | 0) + (o << 3) >> 3] = +h[(c[r >> 2] | 0) + (o << 3) >> 3]; + o = o + 1 | 0 + } + } while (0); + y = c[e >> 2] | 0; + w = c[r >> 2] | 0; + if ((kt(a, b, w, b) | 0) == 0 ? (kv(a, b, .01, .1, w, J, K, H) | 0) == 0 : 0) { + x = c[H >> 2] | 0; + if ((x | 0) < 1) { + o = qn(a, b, d, e, f, i, j, k, m) | 0; + break + } + c:do if (n > 0.0) { + s = c[J >> 2] | 0; + t = c[K >> 2] | 0; + u = x + -1 | 0; + q = 0.0; + r = 0; + while (1) { + if ((r | 0) >= (x | 0)) break c; + o = c[t + (r << 2) >> 2] | 0; + A = n - q - +h[w + (c[s + (o << 2) >> 2] << 3) >> 3] + +h[w + (c[s + (o + -1 << 2) >> 2] << 3) >> 3]; + q = (A < 0.0 ? 0.0 : A) + q; + if ((r | 0) < (u | 0)) p = c[t + (r + 1 << 2) >> 2] | 0; else p = b; + while (1) { + if ((o | 0) >= (p | 0)) break; + I = w + (c[s + (o << 2) >> 2] << 3) | 0; + h[I >> 3] = +h[I >> 3] + q; + o = o + 1 | 0 + } + r = r + 1 | 0 + } + } while (0); + if ((i | 0) == 2 ? (Qt(a, b, w, y, +h[22909]) | 0) != 0 : 0) { + p = 0; + o = -1 + } else L = 33 + } else { + p = 0; + o = -1 + } + } else { + kn(a, b, i, e, f) | 0; + if (!(kv(a, b, .01, .1, 0, J, K, H) | 0)) L = 33; else { + p = 0; + o = -1 + } + } + d:do if ((L | 0) == 33) { + if ((b | 0) == 1) { + o = 0; + break a + } + I = vH(c[H >> 2] << 2) | 0; + if (!m) { + o = 0; + break a + } + if (0) EL(); + switch (k | 0) { + case 2: { + if (0) E1(91878, 24, 1, c[15686] | 0) | 0; + o = pn(a, b) | 0; + L = 46; + break + } + case 1: { + o = ln(a, b) | 0; + if (!o) { + Pw(0, 91903, C) | 0; + Pw(3, 91952, D) | 0; + L = 47 + } else G = o; + break + } + case 3: { + if (0) E1(92005, 21, 1, c[15686] | 0) | 0; + o = mn(a, b) | 0; + L = 46; + break + } + default: + L = 47 + } + if ((L | 0) == 46) if (!o) L = 47; else G = o; + if ((L | 0) == 47) { + if (0) E1(92027, 26, 1, c[15686] | 0) | 0; + G = on(a, b) | 0 + } + if (0) { + a = c[15686] | 0; + h[E >> 3] = +FL(); + g1(a, 92054, E) | 0; + E1(92066, 25, 1, a) | 0; + EL() + } + a = b + -1 | 0; + y = (O(a, b) | 0) / 2 | 0; + E = y + b | 0; + e:do if (!z) { + q = 1.0; + p = 0; + while (1) { + if ((p | 0) >= (i | 0)) break; + r = e + (p << 2) | 0; + o = 0; + while (1) { + if ((o | 0) >= (b | 0)) break; + A = +B(+(+h[(c[r >> 2] | 0) + (o << 3) >> 3])); + q = A > q ? A : q; + o = o + 1 | 0 + } + p = p + 1 | 0 + } + q = 1.0 / q; + p = 0; + while (1) { + if ((p | 0) >= (i | 0)) break e; + r = e + (p << 2) | 0; + o = 0; + while (1) { + if ((o | 0) >= (b | 0)) break; + D = (c[r >> 2] | 0) + (o << 3) | 0; + h[D >> 3] = +h[D >> 3] * (10.0 * q); + o = o + 1 | 0 + } + p = p + 1 | 0 + } + } while (0); + f:do if (n > 0.0) { + v = +(y | 0); + o = 0; + q = 0.0; + s = 0; + g:while (1) { + if ((s | 0) >= (a | 0)) break; + t = s + 1 | 0; + r = o; + p = t; + while (1) { + o = r + 1 | 0; + if ((p | 0) >= (b | 0)) { + s = t; + continue g + } + A = +gs(e, i, s, p); + r = o; + q = A / +g[G + (o << 2) >> 2] + q; + p = p + 1 | 0 + } + } + q = q / v; + o = 0; + while (1) { + if ((o | 0) >= (E | 0)) { + o = 0; + break f + } + D = G + (o << 2) | 0; + g[D >> 2] = +g[D >> 2] * q; + o = o + 1 | 0 + } + } else o = 0; while (0); + while (1) { + if ((o | 0) >= (i | 0)) break; + Is(b, c[e + (o << 2) >> 2] | 0); + o = o + 1 | 0 + } + p = c[e + 4 >> 2] | 0; + q = +h[p >> 3]; + o = 0; + while (1) { + if ((o | 0) >= (b | 0)) break; + D = p + (o << 3) | 0; + h[D >> 3] = +h[D >> 3] - q; + o = o + 1 | 0 + } + u = i << 2; + D = vH(u) | 0; + x = b << 2; + w = O(x, i) | 0; + r = vH(w) | 0; + o = 0; + while (1) { + if ((o | 0) >= (i | 0)) break; + s = r + ((O(o, b) | 0) << 2) | 0; + c[D + (o << 2) >> 2] = s; + t = e + (o << 2) | 0; + p = 0; + while (1) { + if ((p | 0) >= (b | 0)) break; + g[s + (p << 2) >> 2] = +h[(c[t >> 2] | 0) + (p << 3) >> 3]; + p = p + 1 | 0 + } + o = o + 1 | 0 + } + v = +(y | 0); + if (0) { + C = c[15686] | 0; + h[F >> 3] = +FL(); + g1(C, 92092, F) | 0 + } + ct(E, G); + dt(E, G); + C = vH(b << 3) | 0; + $s(b, 0.0, C); + o = 0; + r = 0; + while (1) { + if ((r | 0) >= (a | 0)) { + o = b; + p = 0; + r = 0; + break + } + s = b - r | 0; + q = 0.0; + p = 1; + while (1) { + o = o + 1 | 0; + if ((p | 0) >= (s | 0)) break; + A = +g[G + (o << 2) >> 2]; + F = C + (p + r << 3) | 0; + h[F >> 3] = +h[F >> 3] - A; + q = q + A; + p = p + 1 | 0 + } + F = C + (r << 3) | 0; + h[F >> 3] = +h[F >> 3] - q; + r = r + 1 | 0 + } + while (1) { + if ((p | 0) >= (b | 0)) break; + g[G + (r << 2) >> 2] = +h[C + (p << 3) >> 3]; + F = o + r | 0; + o = o + -1 | 0; + p = p + 1 | 0; + r = F + } + k = vH(u) | 0; + c[k >> 2] = vH(w) | 0; + o = 1; + while (1) { + if ((o | 0) >= (i | 0)) break; + c[k + (o << 2) >> 2] = (c[k >> 2] | 0) + ((O(o, b) | 0) << 2); + o = o + 1 | 0 + } + z = vH(x) | 0; + f = vH(x) | 0; + j = vH(E << 2) | 0; + p = Et(G, b) | 0; + d = Jt(G, b, c[J >> 2] | 0, c[K >> 2] | 0, c[H >> 2] | 0) | 0; + y = k + 4 | 0; + r = 0; + A = 1797693134862315708145274.0e284; + o = 0; + while (1) { + if (!(r << 24 >> 24 == 0 & (o | 0) < (m | 0))) break; + $s(b, 0.0, C); + et(E, G, j); + w = 0; + t = 0; + while (1) { + if ((w | 0) >= (a | 0)) { + r = 0; + s = b; + t = 0; + break + } + x = b - w + -1 | 0; + at(b, 0.0, f); + r = 0; + while (1) { + if ((r | 0) >= (i | 0)) break; + H = D + (r << 2) | 0; + at(x, +g[(c[H >> 2] | 0) + (w << 2) >> 2], z); + Xs(x, z, -1.0, (c[H >> 2] | 0) + (w << 2) + 4 | 0); + ct(x, z); + Ws(x, z, f, f); + r = r + 1 | 0 + } + ft(x, f); + r = 0; + while (1) { + if ((r | 0) >= (x | 0)) break; + s = f + (r << 2) | 0; + q = +g[s >> 2]; + if (q >= 3402823466385288598117041.0e14 | q < 0.0) g[s >> 2] = 0.0; + r = r + 1 | 0 + } + u = w + 1 | 0; + q = 0.0; + r = t; + s = 0; + while (1) { + r = r + 1 | 0; + if ((s | 0) >= (x | 0)) break; + H = j + (r << 2) | 0; + N = +g[H >> 2] * +g[f + (s << 2) >> 2]; + g[H >> 2] = N; + H = C + (u + s << 3) | 0; + h[H >> 3] = +h[H >> 3] - N; + q = q + N; + s = s + 1 | 0 + } + t = C + (w << 3) | 0; + h[t >> 3] = +h[t >> 3] - q; + w = u; + t = r + } + while (1) { + if ((r | 0) >= (b | 0)) { + r = 0; + break + } + g[j + (t << 2) >> 2] = +h[C + (r << 3) >> 3]; + H = s + t | 0; + r = r + 1 | 0; + s = s + -1 | 0; + t = H + } + while (1) { + if ((r | 0) >= (i | 0)) { + q = 0.0; + r = 0; + break + } + Us(j, b, c[D + (r << 2) >> 2] | 0, c[k + (r << 2) >> 2] | 0); + r = r + 1 | 0 + } + while (1) { + if ((r | 0) >= (i | 0)) break; + q = +_s(b, c[D + (r << 2) >> 2] | 0, c[k + (r << 2) >> 2] | 0) + q; + r = r + 1 | 0 + } + q = q * 2.0 + v; + r = 0; + while (1) { + if ((r | 0) >= (i | 0)) break; + H = D + (r << 2) | 0; + Us(G, b, c[H >> 2] | 0, z); + q = q - +_s(b, c[H >> 2] | 0, z); + r = r + 1 | 0 + } + N = +B(+(q - A)) / +B(+(A + 1.0e-10)); + r = ((o | 0) > 1 & q > A | N < +h[22909]) & 1; + s = 0; + while (1) { + if ((s | 0) >= (i | 0)) break; + if ((s | 0) != 1) { + if (Fq(G, c[D + (s << 2) >> 2] | 0, c[k + (s << 2) >> 2] | 0, b, .001, b) | 0) { + o = -1; + break d + } + } else Ft(d, c[y >> 2] | 0, D, i, 1, 15, I, n) | 0; + s = s + 1 | 0 + } + A = q; + o = o + 1 | 0 + } + D_(I); + It(d); + if (D | 0) { + r = 0; + while (1) { + if ((r | 0) >= (i | 0)) break; + t = D + (r << 2) | 0; + u = e + (r << 2) | 0; + s = 0; + while (1) { + if ((s | 0) >= (b | 0)) break; + h[(c[u >> 2] | 0) + (s << 3) >> 3] = +g[(c[t >> 2] | 0) + (s << 2) >> 2]; + s = s + 1 | 0 + } + r = r + 1 | 0 + } + D_(c[D >> 2] | 0); + D_(D) + } + if (k | 0) { + D_(c[k >> 2] | 0); + D_(k) + } + D_(z); + D_(f); + D_(C); + D_(G); + D_(j) + } while (0); + D_(c[J >> 2] | 0); + D_(c[K >> 2] | 0); + if (p) { + D_(c[p >> 2] | 0); + D_(p) + } + } else L = 10 + } else L = 10; while (0); + if ((L | 0) == 10) o = qn(a, b, d, e, f, i, j, k, m) | 0; + l = M; + return o | 0 + } + + function Hq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 48 | 0; + f = m + 24 | 0; + g = m + 12 | 0; + d = m; + i = ay(a) | 0; + k = vH(i * 48 | 0) | 0; + qq(d, a); + c[g >> 2] = c[d >> 2]; + c[g + 4 >> 2] = c[d + 4 >> 2]; + c[g + 8 >> 2] = c[d + 8 >> 2]; + d = Sy(a) | 0; + e = k; + while (1) { + if (!d) break; + c[f >> 2] = c[g >> 2]; + c[f + 4 >> 2] = c[g + 4 >> 2]; + c[f + 8 >> 2] = c[g + 8 >> 2]; + Iq(d, e, f); + d = Ty(a, d) | 0; + e = e + 48 | 0 + } + a:do if (!(Jq(k, i) | 0)) d = 0; else { + switch (b | 0) { + case 9: { + Lq(a, k, i, 69, 1); + Nq(a, k, i, 70, 1); + d = 0; + e = k; + break + } + case 10: { + Nq(a, k, i, 70, 1); + Lq(a, k, i, 69, 1); + d = 0; + e = k; + break + } + case 7: { + Lq(a, k, i, 71, 1); + Nq(a, k, i, 70, 1); + j = 9; + break + } + case 8: { + j = 9; + break + } + case 13: { + j = 10; + break + } + case 14: { + Nq(a, k, i, 70, 0); + Lq(a, k, i, 69, 0); + d = 0; + e = k; + break + } + case 12: { + Nq(a, k, i, 72, 0); + Lq(a, k, i, 69, 0); + d = 0; + e = k; + break + } + default: { + Lq(a, k, i, 71, 0); + Nq(a, k, i, 70, 0); + d = 0; + e = k + } + } + if ((j | 0) == 9) { + Nq(a, k, i, 72, 1); + Lq(a, k, i, 69, 1); + j = 10 + } + if ((j | 0) == 10) { + Lq(a, k, i, 69, 0); + Nq(a, k, i, 70, 0); + d = 0; + e = k + } + while (1) { + if ((d | 0) >= (i | 0)) { + d = 1; + break a + } + g = c[e + 16 >> 2] | 0; + j = c[(c[(c[e + 20 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + h[j >> 3] = +(c[e + 12 >> 2] | 0) * 1.3888888888888887e-03; + h[j + 8 >> 3] = +(g | 0) * 1.3888888888888887e-03; + d = d + 1 | 0; + e = e + 48 | 0 + } + } while (0); + D_(k); + l = m; + return d | 0 + } + + function Iq(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0.0; + f = c[b + 16 >> 2] | 0; + k = c[f + 132 >> 2] | 0; + l = +h[k >> 3] * 720.0; + j = ~~(l + (l >= 0.0 ? .5 : -.5)); + l = +h[k + 8 >> 3] * 720.0; + k = ~~(l + (l >= 0.0 ? .5 : -.5)); + if (!(a[e + 8 >> 0] | 0)) { + m = +h[f + 32 >> 3] * 72.0 * (+g[e >> 2] * 5.0); + l = +h[f + 40 >> 3] * 72.0 * (+g[e + 4 >> 2] * 5.0); + i = ~~(m + (m >= 0.0 ? .5 : -.5)); + f = ~~(l + (l >= 0.0 ? .5 : -.5)) + } else { + l = +h[f + 32 >> 3] * 36.0; + m = +h[f + 40 >> 3] * 36.0; + i = ~~((+g[e >> 2] + +(~~(l + (l >= 0.0 ? .5 : -.5)) | 0)) * 10.0); + f = ~~((+g[e + 4 >> 2] + +(~~(m + (m >= 0.0 ? .5 : -.5)) | 0)) * 10.0) + } + c[d + 12 >> 2] = j; + c[d + 16 >> 2] = k; + c[d + 20 >> 2] = b; + c[d + 32 >> 2] = j - i; + c[d + 36 >> 2] = k - f; + c[d + 40 >> 2] = i + j; + c[d + 44 >> 2] = f + k; + return + } + + function Jq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = b + -1 | 0; + d = 0; + a:while (1) { + if ((d | 0) >= (k | 0)) { + a = 0; + break + } + j = a + 48 | 0; + d = d + 1 | 0; + g = a + 32 | 0; + h = a + 40 | 0; + i = a + 36 | 0; + f = a + 44 | 0; + a = j; + e = d; + while (1) { + if ((e | 0) >= (b | 0)) { + a = j; + continue a + } + if ((((c[g >> 2] | 0) <= (c[a + 40 >> 2] | 0) ? (c[a + 32 >> 2] | 0) <= (c[h >> 2] | 0) : 0) ? (c[i >> 2] | 0) <= (c[a + 44 >> 2] | 0) : 0) ? (c[a + 36 >> 2] | 0) <= (c[f >> 2] | 0) : 0) { + a = 1; + break a + } + a = a + 48 | 0; + e = e + 1 | 0 + } + } + return a | 0 + } + + function Kq(a, b) { + a = a | 0; + b = b | 0; + if ((c[a + 36 >> 2] | 0) > (c[b + 44 >> 2] | 0)) a = 0; else a = (c[b + 36 >> 2] | 0) <= (c[a + 44 >> 2] | 0) & 1; + return a | 0 + } + + function Lq(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; + i = Cw(18064, c[4558] | 0) | 0; + g = b; + h = 0; + while (1) { + if ((h | 0) >= (d | 0)) break; + c[g + 8 >> 2] = c[g + 12 >> 2]; + nb[c[i >> 2] & 63](i, g, 1) | 0; + g = g + 48 | 0; + h = h + 1 | 0 + } + if (!f) h = Tq(a, i, e, 73) | 0; else h = Sq(i, e, 73) | 0; + fI(h, 2, 2147483647) | 0; + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + f = b + 12 | 0; + a = c[(c[(c[b + 24 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + e = a - (c[f >> 2] | 0) | 0; + c[f >> 2] = a; + f = b + 32 | 0; + c[f >> 2] = (c[f >> 2] | 0) + e; + f = b + 40 | 0; + c[f >> 2] = (c[f >> 2] | 0) + e; + b = b + 48 | 0; + g = g + 1 | 0 + } + Uq(h); + yw(i) | 0; + return + } + + function Mq(a, b) { + a = a | 0; + b = b | 0; + if ((c[a + 32 >> 2] | 0) > (c[b + 40 >> 2] | 0)) a = 0; else a = (c[b + 32 >> 2] | 0) <= (c[a + 40 >> 2] | 0) & 1; + return a | 0 + } + + function Nq(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; + i = Cw(18064, c[4558] | 0) | 0; + g = b; + h = 0; + while (1) { + if ((h | 0) >= (d | 0)) break; + c[g + 8 >> 2] = c[g + 16 >> 2]; + nb[c[i >> 2] & 63](i, g, 1) | 0; + g = g + 48 | 0; + h = h + 1 | 0 + } + if (!f) h = Tq(a, i, e, 74) | 0; else h = Sq(i, e, 74) | 0; + fI(h, 2, 2147483647) | 0; + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + f = b + 16 | 0; + a = c[(c[(c[b + 24 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + e = a - (c[f >> 2] | 0) | 0; + c[f >> 2] = a; + f = b + 36 | 0; + c[f >> 2] = (c[f >> 2] | 0) + e; + f = b + 44 | 0; + c[f >> 2] = (c[f >> 2] | 0) + e; + b = b + 48 | 0; + g = g + 1 | 0 + } + Uq(h); + yw(i) | 0; + return + } + + function Oq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = a + 32 | 0; + e = b + 32 | 0; + if ((c[a + 36 >> 2] | 0) <= (c[b + 44 >> 2] | 0) ? (c[b + 36 >> 2] | 0) <= (c[a + 44 >> 2] | 0) : 0) if ((c[a + 40 >> 2] | 0) < (c[e >> 2] | 0)) a = 1; else { + g = Rq(d, e) | 0; + g = g - (c[b + 12 >> 2] | 0) + (c[a + 12 >> 2] | 0) | 0; + b = c[b + 16 >> 2] | 0; + a = c[a + 16 >> 2] | 0; + f = (b | 0) < (a | 0); + e = Qq(d, e) | 0; + a = (g | 0) <= (e - (f ? a : b) + (f ? b : a) | 0) & 1 + } else a = 0; + return a | 0 + } + + function Pq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = a + 32 | 0; + e = b + 32 | 0; + if ((c[d >> 2] | 0) <= (c[b + 40 >> 2] | 0) ? (c[e >> 2] | 0) <= (c[a + 40 >> 2] | 0) : 0) if ((c[a + 44 >> 2] | 0) < (c[b + 36 >> 2] | 0)) a = 1; else { + g = Qq(d, e) | 0; + g = g - (c[b + 16 >> 2] | 0) + (c[a + 16 >> 2] | 0) | 0; + b = c[b + 12 >> 2] | 0; + a = c[a + 12 >> 2] | 0; + f = (b | 0) < (a | 0); + e = Rq(d, e) | 0; + a = (g | 0) <= (e - (f ? a : b) + (f ? b : a) | 0) & 1 + } else a = 0; + return a | 0 + } + + function Qq(a, b) { + a = a | 0; + b = b | 0; + return ((c[a + 12 >> 2] | 0) - (c[a + 4 >> 2] | 0) + (c[b + 12 >> 2] | 0) - (c[b + 4 >> 2] | 0) | 0) / 2 | 0 | 0 + } + + function Rq(a, b) { + a = a | 0; + b = b | 0; + return ((c[a + 8 >> 2] | 0) - (c[a >> 2] | 0) + (c[b + 8 >> 2] | 0) - (c[b >> 2] | 0) | 0) / 2 | 0 | 0 + } + + function Sq(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0; + x = l; + l = l + 16 | 0; + v = x; + a[v >> 0] = a[18484] | 0; + a[v + 1 >> 0] = a[18485] | 0; + a[v + 2 >> 0] = a[18486] | 0; + a[v + 3 >> 0] = a[18487] | 0; + w = Xx(92103, v, 0) | 0; + Az(w, 134401, 280, 1) | 0; + g = Aw(d) | 0; + h = -2147483647; + u = 0; + while (1) { + if (!g) break; + s = c[g + 8 >> 2] | 0; + t = u + ((h | 0) != (s | 0) & 1) | 0; + g = c[g >> 2] | 0; + h = s; + u = t + } + s = w + 16 | 0; + t = (u << 3) + -4 | 0; + n = 0; + j = 0; + g = 0; + h = 0; + m = 0; + r = Aw(d) | 0; + i = -2147483647; + while (1) { + if (!r) break; + q = c[r + 8 >> 2] | 0; + if ((i | 0) != (q | 0)) { + p = az(w, ry(c[r + 20 >> 2] | 0) | 0, 1) | 0; + Az(p, 134365, 304, 1) | 0; + o = p + 16 | 0; + g = c[o >> 2] | 0; + c[g + 112 >> 2] = r; + if (!h) { + c[(c[s >> 2] | 0) + 192 >> 2] = p; + n = p + } else { + c[(c[n + 16 >> 2] | 0) + 164 >> 2] = p; + n = h + } + c[g + 176 >> 2] = 0; + k = j + 1 | 0; + i = uH(k << 2) | 0; + c[(c[o >> 2] | 0) + 172 >> 2] = i; + if (!m) { + j = k; + k = p; + m = p; + g = p; + h = n; + i = q + } else { + i = m + 16 | 0; + c[(c[i >> 2] | 0) + 184 >> 2] = 0; + j = uH((m | 0) == (n | 0) ? t : u - j << 2) | 0; + c[(c[i >> 2] | 0) + 180 >> 2] = j; + j = Rx(w, m, p, 0, 1) | 0; + Az(j, 134378, 176, 1) | 0; + g = c[j + 16 >> 2] | 0; + b[g + 170 >> 1] = 10; + c[g + 156 >> 2] = 1; + g = c[i >> 2] | 0; + h = c[g + 180 >> 2] | 0; + if (!h) g = vH((c[g + 184 >> 2] << 2) + 8 | 0) | 0; else g = xH(h, (c[g + 184 >> 2] << 2) + 8 | 0) | 0; + m = c[i >> 2] | 0; + c[m + 180 >> 2] = g; + m = m + 184 | 0; + h = c[m >> 2] | 0; + c[m >> 2] = h + 1; + c[g + (h << 2) >> 2] = j; + g = c[i >> 2] | 0; + c[(c[g + 180 >> 2] | 0) + (c[g + 184 >> 2] << 2) >> 2] = 0; + g = c[o >> 2] | 0; + h = c[g + 172 >> 2] | 0; + if (!h) g = vH((c[g + 176 >> 2] << 2) + 8 | 0) | 0; else g = xH(h, (c[g + 176 >> 2] << 2) + 8 | 0) | 0; + h = c[o >> 2] | 0; + c[h + 172 >> 2] = g; + h = h + 176 | 0; + m = c[h >> 2] | 0; + c[h >> 2] = m + 1; + c[g + (m << 2) >> 2] = j; + j = c[o >> 2] | 0; + c[(c[j + 172 >> 2] | 0) + (c[j + 176 >> 2] << 2) >> 2] = 0; + j = k; + k = p; + m = p; + g = p; + h = n; + i = q + } + } else { + k = g; + g = n + } + c[r + 24 >> 2] = k; + n = g; + g = k; + r = c[r >> 2] | 0 + } + m = m + 16 | 0; + c[(c[m >> 2] | 0) + 184 >> 2] = 0; + g = uH(4) | 0; + c[(c[m >> 2] | 0) + 180 >> 2] = g; + a[v >> 0] = a[18484] | 0; + a[v + 1 >> 0] = a[18485] | 0; + a[v + 2 >> 0] = a[18486] | 0; + a[v + 3 >> 0] = a[18487] | 0; + m = Xx(92150, v, 0) | 0; + g = Aw(d) | 0; + while (1) { + if (!g) break; + v = az(m, ry(c[g + 20 >> 2] | 0) | 0, 1) | 0; + Az(v, 134365, 304, 1) | 0; + c[g + 28 >> 2] = v; + c[(c[v + 16 >> 2] | 0) + 112 >> 2] = g; + g = c[g >> 2] | 0 + } + g = 0; + k = Aw(d) | 0; + h = -2147483647; + a:while (1) { + if (!k) break; + j = c[k + 8 >> 2] | 0; + b:do if ((h | 0) == (j | 0)) j = h; else { + g = k; + while (1) { + g = c[g >> 2] | 0; + if (!g) break a; + if ((c[g + 8 >> 2] | 0) != (j | 0)) break b + } + } while (0); + i = k + 28 | 0; + h = g; + while (1) { + if (!h) break; + if (lb[e & 127](k, h) | 0) Rx(m, c[i >> 2] | 0, c[h + 28 >> 2] | 0, 0, 1) | 0; + h = c[h >> 2] | 0 + } + k = c[k >> 2] | 0; + h = j + } + Vq(m, w, f); + $x(m) | 0; + l = x; + return w | 0 + } + + function Tq(d, e, f, g) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + s = l; + l = l + 16 | 0; + r = s; + a[r >> 0] = a[18484] | 0; + a[r + 1 >> 0] = a[18485] | 0; + a[r + 2 >> 0] = a[18486] | 0; + a[r + 3 >> 0] = a[18487] | 0; + r = Xx(92103, r, 0) | 0; + Az(r, 134401, 280, 1) | 0; + k = r + 16 | 0; + h = Aw(e) | 0; + i = 0; + while (1) { + if (!h) break; + j = az(r, ry(c[h + 20 >> 2] | 0) | 0, 1) | 0; + Az(j, 134365, 304, 1) | 0; + p = j + 16 | 0; + n = c[p >> 2] | 0; + c[n + 112 >> 2] = h; + c[h + 24 >> 2] = j; + c[n + 176 >> 2] = 0; + n = uH(4) | 0; + o = c[p >> 2] | 0; + c[o + 172 >> 2] = n; + c[o + 184 >> 2] = 0; + o = uH(4) | 0; + c[(c[p >> 2] | 0) + 180 >> 2] = o; + if (!i) c[(c[k >> 2] | 0) + 192 >> 2] = j; else c[(c[i + 16 >> 2] | 0) + 164 >> 2] = j; + h = c[h >> 2] | 0; + i = j + } + m = Aw(e) | 0; + a:while (1) { + if (!m) break; + n = m + 32 | 0; + o = m + 24 | 0; + p = m + 20 | 0; + h = m; + while (1) { + h = c[h >> 2] | 0; + if (!h) break; + if (lb[f & 127](m, h) | 0) { + i = lb[g & 127](n, h + 32 | 0) | 0; + j = Rx(r, c[o >> 2] | 0, c[h + 24 >> 2] | 0, 0, 1) | 0; + Az(j, 134378, 176, 1) | 0; + if ((i | 0) >= 65536) { + q = 13; + break a + } + k = j + 16 | 0; + t = c[k >> 2] | 0; + b[t + 170 >> 1] = i; + c[t + 156 >> 2] = 1; + if (j | 0 ? Rx(d, c[p >> 2] | 0, c[h + 20 >> 2] | 0, 0, 0) | 0 : 0) c[(c[k >> 2] | 0) + 156 >> 2] = 100 + } + } + m = c[m >> 2] | 0 + } + if ((q | 0) == 13) qa(92106, 92122, 254, 92135); + m = Aw(e) | 0; + while (1) { + if (!m) break; + k = c[m + 24 >> 2] | 0; + n = k + 16 | 0; + k = Ex(r, k) | 0; + while (1) { + if (!k) break; + h = c[n >> 2] | 0; + i = c[h + 180 >> 2] | 0; + if (!i) h = vH((c[h + 184 >> 2] << 2) + 8 | 0) | 0; else h = xH(i, (c[h + 184 >> 2] << 2) + 8 | 0) | 0; + i = c[n >> 2] | 0; + c[i + 180 >> 2] = h; + i = i + 184 | 0; + j = c[i >> 2] | 0; + c[i >> 2] = j + 1; + c[h + (j << 2) >> 2] = k; + j = c[n >> 2] | 0; + c[(c[j + 180 >> 2] | 0) + (c[j + 184 >> 2] << 2) >> 2] = 0; + j = k + -48 | 0; + h = c[(c[((c[k >> 2] & 3 | 0) == 2 ? k : j) + 40 >> 2] | 0) + 16 >> 2] | 0; + i = c[h + 172 >> 2] | 0; + if (!i) h = vH((c[h + 176 >> 2] << 2) + 8 | 0) | 0; else h = xH(i, (c[h + 176 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[k >> 2] & 3 | 0) == 2 ? k : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 >> 2] = h; + g = c[(c[((c[k >> 2] & 3 | 0) == 2 ? k : j) + 40 >> 2] | 0) + 16 >> 2] | 0; + q = c[g + 172 >> 2] | 0; + g = g + 176 | 0; + t = c[g >> 2] | 0; + c[g >> 2] = t + 1; + c[q + (t << 2) >> 2] = k; + t = c[(c[((c[k >> 2] & 3 | 0) == 2 ? k : j) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[t + 172 >> 2] | 0) + (c[t + 176 >> 2] << 2) >> 2] = 0; + k = Gx(r, k) | 0 + } + m = c[m >> 2] | 0 + } + l = s; + return r | 0 + } + + function Uq(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = Sy(a) | 0; + while (1) { + if (!f) break; + d = f + 16 | 0; + b = c[d >> 2] | 0; + e = c[b + 172 >> 2] | 0; + if (e) { + D_(e); + b = c[d >> 2] | 0 + } + b = c[b + 180 >> 2] | 0; + if (b | 0) D_(b); + f = Ty(a, f) | 0 + } + $x(a) | 0; + return + } + + function Vq(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + k = Sy(a) | 0; + while (1) { + if (!k) break; + n = c[(c[k + 16 >> 2] | 0) + 112 >> 2] | 0; + m = c[n + 24 >> 2] | 0; + n = n + 32 | 0; + o = m + 16 | 0; + l = Ex(a, k) | 0; + while (1) { + if (!l) break; + h = c[(c[(c[((c[l >> 2] & 3 | 0) == 2 ? l : l + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0; + p = lb[e & 127](n, h + 32 | 0) | 0; + h = c[h + 24 >> 2] | 0; + i = Rx(d, m, h, 0, 1) | 0; + Az(i, 134378, 176, 1) | 0; + j = i + 16 | 0; + f = c[j >> 2] | 0; + c[f + 156 >> 2] = 1; + g = b[f + 170 >> 1] | 0; + if ((p | 0) > (g & 65535 | 0)) { + if (!(g << 16 >> 16)) { + f = c[o >> 2] | 0; + g = c[f + 180 >> 2] | 0; + if (!g) f = vH((c[f + 184 >> 2] << 2) + 8 | 0) | 0; else f = xH(g, (c[f + 184 >> 2] << 2) + 8 | 0) | 0; + q = c[o >> 2] | 0; + c[q + 180 >> 2] = f; + q = q + 184 | 0; + g = c[q >> 2] | 0; + c[q >> 2] = g + 1; + c[f + (g << 2) >> 2] = i; + f = c[o >> 2] | 0; + c[(c[f + 180 >> 2] | 0) + (c[f + 184 >> 2] << 2) >> 2] = 0; + h = h + 16 | 0; + f = c[h >> 2] | 0; + g = c[f + 172 >> 2] | 0; + if (!g) f = vH((c[f + 176 >> 2] << 2) + 8 | 0) | 0; else f = xH(g, (c[f + 176 >> 2] << 2) + 8 | 0) | 0; + g = c[h >> 2] | 0; + c[g + 172 >> 2] = f; + g = g + 176 | 0; + q = c[g >> 2] | 0; + c[g >> 2] = q + 1; + c[f + (q << 2) >> 2] = i; + f = c[h >> 2] | 0; + c[(c[f + 172 >> 2] | 0) + (c[f + 176 >> 2] << 2) >> 2] = 0; + f = c[j >> 2] | 0 + } + b[f + 170 >> 1] = p + } + l = Gx(a, l) | 0 + } + k = Ty(a, k) | 0 + } + return + } + + function Wq(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + return (c[b >> 2] | 0) - (c[d >> 2] | 0) | 0 + } + + function Xq(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0; + y = l; + l = l + 64 | 0; + u = y + 24 | 0; + s = y + 16 | 0; + r = y + 52 | 0; + q = y + 40 | 0; + t = y; + w = ay(b) | 0; + x = vH(w * 72 | 0) | 0; + qq(q, b); + k = +g[q >> 2]; + m = +g[q + 4 >> 2]; + q = (a[q + 8 >> 0] | 0) != 0; + k = q ? k * .013888888888888888 : k; + m = q ? m * .013888888888888888 : m; + n = k * .5; + o = m * .5; + e = x; + f = Sy(b) | 0; + while (1) { + if (!f) break; + p = c[f + 16 >> 2] | 0; + i = +h[p + 32 >> 3]; + if (q) { + j = +h[p + 40 >> 3] * .5 + m; + i = i * .5 + k + } else { + j = o * +h[p + 40 >> 3]; + i = n * i + } + p = c[p + 132 >> 2] | 0; + A = +h[p >> 3]; + h[e >> 3] = A; + z = +h[p + 8 >> 3]; + h[e + 8 >> 3] = z; + h[e + 16 >> 3] = A - i; + h[e + 24 >> 3] = z - j; + h[e + 32 >> 3] = A + i; + h[e + 40 >> 3] = z + j; + h[e + 48 >> 3] = i; + h[e + 56 >> 3] = j; + c[e + 64 >> 2] = f; + e = e + 72 | 0; + f = Ty(b, f) | 0 + } + do if ((d | 0) < 0) { + i = +Yq(x, w); + if (i == 0.0) { + D_(x); + e = 0; + break + } + if (!0) { + k = i; + j = i; + v = 19 + } else { + v = c[15686] | 0; + h[s >> 3] = i; + g1(v, 92153, s) | 0; + k = i; + j = i; + v = 19 + } + } else { + f = Zq(x, w, r) | 0; + e = c[r >> 2] | 0; + if (!e) { + D_(f); + D_(x); + e = 0; + break + } + if (!d) { + $q(t, f, e); + i = +h[t >> 3]; + j = +h[t + 8 >> 3] + } else { + j = +_q(f, e); + i = j + } + D_(f); + if (!0) { + k = i; + v = 19 + } else { + v = c[15686] | 0; + h[u >> 3] = i; + h[u + 8 >> 3] = j; + g1(v, 92167, u) | 0; + k = i; + v = 19 + } + } while (0); + if ((v | 0) == 19) { + e = 0; + f = x; + while (1) { + if ((e | 0) >= (w | 0)) break; + v = c[(c[(c[f + 64 >> 2] | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + h[v >> 3] = +h[f >> 3] * k; + h[v + 8 >> 3] = +h[f + 8 >> 3] * j; + e = e + 1 | 0; + f = f + 72 | 0 + } + D_(x); + e = 1 + } + l = y; + return e | 0 + } + + function Yq(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, + q = 0, r = 0; + c = 0.0; + d = 0; + a:while (1) { + if ((d | 0) >= (b | 0)) break; + r = a + 72 | 0; + d = d + 1 | 0; + m = a + 16 | 0; + n = a + 8 | 0; + o = a + 56 | 0; + p = a + 48 | 0; + q = a + 32 | 0; + k = a + 24 | 0; + l = a + 40 | 0; + i = d; + j = r; + while (1) { + if ((i | 0) >= (b | 0)) { + a = r; + continue a + } + if (((+h[m >> 3] <= +h[j + 32 >> 3] ? +h[j + 16 >> 3] <= +h[q >> 3] : 0) ? +h[k >> 3] <= +h[j + 40 >> 3] : 0) ? +h[j + 24 >> 3] <= +h[l >> 3] : 0) { + c = 0.0; + break a + } + e = +h[a >> 3]; + f = +h[j >> 3]; + if (e == f) g = t; else { + g = +B(+(e - f)); + g = (+h[j + 48 >> 3] + +h[p >> 3]) / g + } + e = +h[n >> 3]; + f = +h[j + 8 >> 3]; + if (e == f) e = t; else { + e = +B(+(e - f)); + e = (+h[j + 56 >> 3] + +h[o >> 3]) / e + } + g = e < g ? e : g; + i = i + 1 | 0; + j = j + 72 | 0; + c = g > c ? g : c + } + } + return +c + } + + function Zq(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + k = vH((b << 4) + 16 | 0) | 0; + m = 0; + e = 0; + n = k; + o = b; + i = k; + a:while (1) { + if ((e | 0) >= (b | 0)) break; + z = a + 72 | 0; + e = e + 1 | 0; + y = a + 16 | 0; + r = a + 32 | 0; + s = a + 24 | 0; + u = a + 40 | 0; + v = a + 8 | 0; + w = a + 56 | 0; + x = a + 48 | 0; + p = e; + q = z; + l = i; + while (1) { + if ((p | 0) == (b | 0)) { + a = z; + i = l; + continue a + } + if (((+h[y >> 3] <= +h[q + 32 >> 3] ? +h[q + 16 >> 3] <= +h[r >> 3] : 0) ? +h[s >> 3] <= +h[q + 40 >> 3] : 0) ? +h[q + 24 >> 3] <= +h[u >> 3] : 0) { + i = o + b | 0; + if ((m | 0) == (o | 0)) { + k = xH(k, (i << 4) + 16 | 0) | 0; + n = k; + l = k + } else i = o; + f = +h[a >> 3]; + g = +h[q >> 3]; + if (!(f == g)) { + f = (+h[q + 48 >> 3] + +h[x >> 3]) / +B(+(f - g)); + if (f < 1.0) { + f = 1.0; + A = 13 + } + } else { + f = t; + A = 13 + } + if ((A | 0) == 13) A = 0; + g = +h[v >> 3]; + j = +h[q + 8 >> 3]; + if (!(g == j)) { + g = (+h[q + 56 >> 3] + +h[w >> 3]) / +B(+(g - j)); + if (g < 1.0) { + g = 1.0; + A = 16 + } + } else { + g = t; + A = 16 + } + if ((A | 0) == 16) A = 0; + m = m + 1 | 0; + h[n + (m << 4) >> 3] = f; + h[n + (m << 4) + 8 >> 3] = g + } else i = o; + p = p + 1 | 0; + q = q + 72 | 0; + o = i + } + } + A = xH(i, (m << 4) + 16 | 0) | 0; + c[d >> 2] = m; + return A | 0 + } + + function _q(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0.0, f = 0.0, g = 0.0; + d = 1; + e = 0.0; + while (1) { + c = a + 16 | 0; + if ((d | 0) > (b | 0)) break; + g = +h[c >> 3]; + f = +h[a + 24 >> 3]; + f = g < f ? g : f; + d = d + 1 | 0; + e = f > e ? f : e; + a = c + } + return +e + } + + function $q(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0.0; + h[b >> 3] = 1.0; + h[b + 8 >> 3] = t; + _0(b + 16 | 0, c, 16, 75); + g = vH((c << 4) + 16 | 0) | 0; + h[g + (c << 4) >> 3] = +h[b + (c << 4) >> 3]; + f = c; + d = 1.0; + while (1) { + h[g + (f << 4) + 8 >> 3] = d; + e = f + -1 | 0; + if ((f | 0) <= 0) { + d = t; + e = 0; + f = 0; + break + } + h[g + (e << 4) >> 3] = +h[b + (e << 4) >> 3]; + i = +h[(+h[b + (f << 4) + 8 >> 3] > d ? b : g) + (f << 4) + 8 >> 3]; + f = e; + d = i + } + while (1) { + if ((f | 0) > (c | 0)) break; + i = +h[g + (f << 4) + 8 >> 3] * +h[g + (f << 4) >> 3]; + b = i < d; + d = b ? i : d; + e = b ? f : e; + f = f + 1 | 0 + } + if (d < t) { + i = +h[g + (e << 4) + 8 >> 3]; + h[a >> 3] = +h[g + (e << 4) >> 3]; + h[a + 8 >> 3] = i; + return + } else qa(92184, 92122, 832, 92204) + } + + function ar(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a >> 3]; + d = +h[b >> 3]; + if (!(c < d)) if (!(c > d)) { + d = +h[a + 8 >> 3]; + c = +h[b + 8 >> 3]; + if (d < c) a = -1; else a = d > c & 1 + } else a = 1; else a = -1; + return a | 0 + } + + function br(a) { + a = a | 0; + var b = 0; + if (a | 0) { + b = c[a + 4 >> 2] | 0; + if (b | 0) D_(b); + b = c[a + 8 >> 2] | 0; + if (b | 0) D_(b); + b = c[a + 16 >> 2] | 0; + if (b | 0) D_(b); + D_(a) + } + return + } + + function cr(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o + 8 | 0; + m = o; + k = F_(c[46079] | 0, d << 2) | 0; + c[46079] = k; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + c[e + (f << 2) >> 2] = 2147483647; + f = f + 1 | 0 + } + c[e + (a << 2) >> 2] = 0; + h = b + (a * 20 | 0) | 0; + i = b + (a * 20 | 0) + 8 | 0; + j = b + (a * 20 | 0) + 4 | 0; + f = 1; + while (1) { + if ((f | 0) >= (c[h >> 2] | 0)) break; + c[e + (c[(c[j >> 2] | 0) + (f << 2) >> 2] << 2) >> 2] = ~~+g[(c[i >> 2] | 0) + (f << 2) >> 2]; + f = f + 1 | 0 + } + dr(n, a, k, e, d); + i = -2147483639; + while (1) { + if (!((er(n, m, c[46079] | 0, e) | 0) << 24 >> 24)) { + f = 0; + break + } + f = c[m >> 2] | 0; + a = c[e + (f << 2) >> 2] | 0; + if ((a | 0) == 2147483647) { + f = 0; + break + } + i = b + (f * 20 | 0) | 0; + j = b + (f * 20 | 0) + 4 | 0; + h = b + (f * 20 | 0) + 8 | 0; + f = 1; + while (1) { + if ((f | 0) >= (c[i >> 2] | 0)) break; + fr(n, c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0, a + ~~+g[(c[h >> 2] | 0) + (f << 2) >> 2] | 0, c[46079] | 0, e); + f = f + 1 | 0 + } + i = a + 10 | 0 + } + while (1) { + if ((f | 0) >= (d | 0)) break; + h = e + (f << 2) | 0; + if ((c[h >> 2] | 0) == 2147483647) c[h >> 2] = i; + f = f + 1 | 0 + } + gr(n); + l = o; + return + } + + function dr(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + if ((f | 0) == 1) i = 0; else i = vH((f << 2) + -4 | 0) | 0; + c[a >> 2] = i; + j = f + -1 | 0; + c[a + 4 >> 2] = j; + g = 0; + h = 0; + while (1) { + if ((h | 0) >= (f | 0)) break; + if ((h | 0) != (b | 0)) { + c[i + (g << 2) >> 2] = h; + c[d + (h << 2) >> 2] = g; + g = g + 1 | 0 + } + h = h + 1 | 0 + } + g = (j | 0) / 2 | 0; + while (1) { + if ((g | 0) <= -1) break; + hr(a, g, d, e); + g = g + -1 | 0 + } + return + } + + function er(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = a + 4 | 0; + if (!(c[f >> 2] | 0)) a = 0; else { + g = c[a >> 2] | 0; + c[b >> 2] = c[g >> 2]; + b = c[g + ((c[f >> 2] | 0) + -1 << 2) >> 2] | 0; + c[g >> 2] = b; + c[d + (b << 2) >> 2] = 0; + c[f >> 2] = (c[f >> 2] | 0) + -1; + hr(a, 0, d, e); + a = 1 + } + return a | 0 + } + + function fr(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + g = f + (b << 2) | 0; + if ((c[g >> 2] | 0) > (d | 0)) { + j = e + (b << 2) | 0; + i = c[j >> 2] | 0; + c[g >> 2] = d; + g = c[a >> 2] | 0; + a = i; + while (1) { + if ((a | 0) <= 0) break; + h = a >>> 1; + i = c[g + (h << 2) >> 2] | 0; + if ((c[f + (i << 2) >> 2] | 0) <= (d | 0)) break; + c[g + (a << 2) >> 2] = i; + c[e + (i << 2) >> 2] = a; + a = h + } + c[g + (a << 2) >> 2] = b; + c[j >> 2] = a + } + return + } + + function gr(a) { + a = a | 0; + a = c[a >> 2] | 0; + if (a | 0) D_(a); + 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, i = 0, j = 0; + i = a + 4 | 0; + while (1) { + f = b << 1; + g = f | 1; + h = c[i >> 2] | 0; + if (!((f | 0) < (h | 0) ? (j = c[a >> 2] | 0, (c[e + (c[j + (f << 2) >> 2] << 2) >> 2] | 0) < (c[e + (c[j + (b << 2) >> 2] << 2) >> 2] | 0)) : 0)) f = b; + if ((g | 0) < (h | 0)) { + j = c[a >> 2] | 0; + f = (c[e + (c[j + (g << 2) >> 2] << 2) >> 2] | 0) < (c[e + (c[j + (f << 2) >> 2] << 2) >> 2] | 0) ? g : f + } + if ((f | 0) == (b | 0)) break; + j = c[a >> 2] | 0; + h = j + (f << 2) | 0; + g = c[h >> 2] | 0; + j = j + (b << 2) | 0; + c[h >> 2] = c[j >> 2]; + c[j >> 2] = g; + c[d + (c[h >> 2] << 2) >> 2] = f; + c[d + (c[j >> 2] << 2) >> 2] = b; + b = f + } + return + } + + function ir(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + m = p + 8 | 0; + n = p; + c[n >> 2] = 0; + o = vH(d << 2) | 0; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + g[e + (f << 2) >> 2] = 3402823466385288598117041.0e14; + f = f + 1 | 0 + } + g[e + (a << 2) >> 2] = 0.0; + h = c[b + (a * 20 | 0) >> 2] | 0; + i = b + (a * 20 | 0) + 8 | 0; + j = b + (a * 20 | 0) + 4 | 0; + f = 1; + while (1) { + if ((f | 0) >= (h | 0)) break; + c[e + (c[(c[j >> 2] | 0) + (f << 2) >> 2] << 2) >> 2] = c[(c[i >> 2] | 0) + (f << 2) >> 2]; + f = f + 1 | 0 + } + jr(m, a, o, e, d); + a:while (1) { + if (!((kr(m, n, o, e) | 0) << 24 >> 24)) break; + f = c[n >> 2] | 0; + k = +g[e + (f << 2) >> 2]; + if (k == 3402823466385288598117041.0e14) break; + i = b + (f * 20 | 0) | 0; + j = b + (f * 20 | 0) + 4 | 0; + h = b + (f * 20 | 0) + 8 | 0; + f = 1; + while (1) { + if ((f | 0) >= (c[i >> 2] | 0)) continue a; + lr(m, c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0, +g[(c[h >> 2] | 0) + (f << 2) >> 2] + k, o, e); + f = f + 1 | 0 + } + } + gr(m); + D_(o); + l = p; + return + } + + function jr(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + i = f + -1 | 0; + j = vH(i << 2) | 0; + c[a >> 2] = j; + c[a + 4 >> 2] = i; + g = 0; + h = 0; + while (1) { + if ((h | 0) >= (f | 0)) break; + if ((h | 0) != (b | 0)) { + c[j + (g << 2) >> 2] = h; + c[d + (h << 2) >> 2] = g; + g = g + 1 | 0 + } + h = h + 1 | 0 + } + g = (i | 0) / 2 | 0; + while (1) { + if ((g | 0) <= -1) break; + mr(a, g, d, e); + g = g + -1 | 0 + } + return + } + + function kr(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = a + 4 | 0; + if (!(c[f >> 2] | 0)) a = 0; else { + g = c[a >> 2] | 0; + c[b >> 2] = c[g >> 2]; + b = c[g + ((c[f >> 2] | 0) + -1 << 2) >> 2] | 0; + c[g >> 2] = b; + c[d + (b << 2) >> 2] = 0; + c[f >> 2] = (c[f >> 2] | 0) + -1; + mr(a, 0, d, e); + a = 1 + } + return a | 0 + } + + function lr(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = +d; + e = e | 0; + f = f | 0; + var h = 0, i = 0, j = 0, k = 0; + h = f + (b << 2) | 0; + if (!(+g[h >> 2] <= d)) { + k = e + (b << 2) | 0; + j = c[k >> 2] | 0; + g[h >> 2] = d; + h = c[a >> 2] | 0; + a = j; + while (1) { + if ((a | 0) <= 0) break; + i = a >>> 1; + j = c[h + (i << 2) >> 2] | 0; + if (!(+g[f + (j << 2) >> 2] > d)) break; + c[h + (a << 2) >> 2] = j; + c[e + (j << 2) >> 2] = a; + a = i + } + c[h + (a << 2) >> 2] = b; + c[k >> 2] = a + } + return + } + + function mr(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0, k = 0; + j = a + 4 | 0; + while (1) { + f = b << 1; + h = f | 1; + i = c[j >> 2] | 0; + if (!((f | 0) < (i | 0) ? (k = c[a >> 2] | 0, +g[e + (c[k + (f << 2) >> 2] << 2) >> 2] < +g[e + (c[k + (b << 2) >> 2] << 2) >> 2]) : 0)) f = b; + if ((h | 0) < (i | 0) ? (k = c[a >> 2] | 0, +g[e + (c[k + (h << 2) >> 2] << 2) >> 2] < +g[e + (c[k + (f << 2) >> 2] << 2) >> 2]) : 0) f = h; + if ((f | 0) == (b | 0)) break; + k = c[a >> 2] | 0; + i = k + (f << 2) | 0; + h = c[i >> 2] | 0; + k = k + (b << 2) | 0; + c[i >> 2] = c[k >> 2]; + c[k >> 2] = h; + c[d + (c[i >> 2] << 2) >> 2] = f; + c[d + (c[k >> 2] << 2) >> 2] = b; + b = f + } + return + } + + function nr() { + gt(184320, 48); + c[46083] = 0; + return + } + + function or(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0; + i = it(184320) | 0; + c[i + 32 >> 2] = a; + c[i + 36 >> 2] = b; + Pt(a); + Pt(b); + c[i + 24 >> 2] = 0; + c[i + 28 >> 2] = 0; + f = +h[a >> 3]; + g = +h[b >> 3] - f; + e = +h[a + 8 >> 3]; + d = +h[b + 8 >> 3] - e; + f = d * e + g * f + (d * d + g * g) * .5; + b = i + 16 | 0; + h[b >> 3] = f; + if ((g > 0.0 ? g : -g) > (d > 0.0 ? d : -d)) { + h[i >> 3] = 1.0; + e = d / g; + d = g; + a = i + 8 | 0 + } else { + h[i + 8 >> 3] = 1.0; + e = g / d; + a = i + } + h[a >> 3] = e; + h[b >> 3] = f / d; + b = c[46083] | 0; + c[i + 40 >> 2] = b; + c[46083] = b + 1; + return i | 0 + } + + function pr(a) { + a = a | 0; + var b = 0, d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0; + l = +h[a >> 3]; + a:do if (l == 1.0) { + if (!(+h[a + 8 >> 3] >= 0.0)) { + b = c[a + 28 >> 2] | 0; + d = c[a + 24 >> 2] | 0; + if (!d) m = 9; else m = 5 + } else { + b = c[a + 24 >> 2] | 0; + d = c[a + 28 >> 2] | 0; + if (!d) m = 9; else m = 5 + } + do if ((m | 0) == 5) { + e = +h[d + 8 >> 3]; + if (e > +h[22881]) break a; + f = +h[22882]; + if (!(e >= f)) { + i = f; + e = +h[a + 16 >> 3] - +h[a + 8 >> 3] * f; + break + } else { + i = e; + e = +h[d >> 3]; + break + } + } else if ((m | 0) == 9) { + f = +h[22882]; + i = f; + e = +h[a + 16 >> 3] - +h[a + 8 >> 3] * f + } while (0); + do if (b) { + g = +h[b + 8 >> 3]; + if (g < f) break a; + f = +h[22881]; + if (!(g <= f)) { + g = f; + f = +h[a + 16 >> 3] - +h[a + 8 >> 3] * f; + break + } else { + f = +h[b >> 3]; + break + } + } else { + f = +h[22881]; + g = f; + f = +h[a + 16 >> 3] - +h[a + 8 >> 3] * f + } while (0); + j = +h[22883]; + b = e > j; + d = f > j; + k = +h[22884]; + if (!(b & d | e < k & f < k)) { + if (b) { + i = (+h[a + 16 >> 3] - j) / +h[a + 8 >> 3]; + e = j + } + if (e < k) { + i = (+h[a + 16 >> 3] - k) / +h[a + 8 >> 3]; + e = k + } + if (d) { + g = (+h[a + 16 >> 3] - j) / +h[a + 8 >> 3]; + f = j + } + if (f < k) { + g = (+h[a + 16 >> 3] - k) / +h[a + 8 >> 3]; + f = k; + m = 46 + } else m = 46 + } + } else { + d = c[a + 28 >> 2] | 0; + b = c[a + 24 >> 2] | 0; + do if (b) { + e = +h[b >> 3]; + if (e > +h[22883]) break a; + g = +h[22884]; + if (!(e >= g)) { + i = +h[a + 16 >> 3] - g * l; + e = g; + break + } else { + i = +h[b + 8 >> 3]; + break + } + } else { + g = +h[22884]; + i = +h[a + 16 >> 3] - g * l; + e = g + } while (0); + do if (d) { + f = +h[d >> 3]; + if (f < g) break a; + j = +h[22883]; + if (!(f <= j)) { + g = +h[a + 16 >> 3] - l * j; + f = j; + break + } else { + g = +h[d + 8 >> 3]; + break + } + } else { + f = +h[22883]; + g = +h[a + 16 >> 3] - l * f + } while (0); + j = +h[22881]; + b = i > j; + d = g > j; + k = +h[22882]; + if (!(b & d | i < k & g < k)) { + if (b) { + i = j; + e = (+h[a + 16 >> 3] - j) / l + } + if (i < k) { + i = k; + e = (+h[a + 16 >> 3] - k) / l + } + if (d) { + g = j; + f = (+h[a + 16 >> 3] - j) / l + } + if (g < k) { + g = k; + f = (+h[a + 16 >> 3] - k) / l; + m = 46 + } else m = 46 + } + } while (0); + if ((m | 0) == 46) qr(a, e, i, f, g); + return + } + + function qr(a, b, d, e, f) { + a = a | 0; + b = +b; + d = +d; + e = +e; + f = +f; + var g = 0; + g = a + 32 | 0; + Xr(c[g >> 2] | 0, b, d); + Xr(c[g >> 2] | 0, e, f); + a = a + 36 | 0; + Xr(c[a >> 2] | 0, b, d); + Xr(c[a >> 2] | 0, e, f); + return + } + + function rr(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + c[a + 24 + (b << 2) >> 2] = d; + Pt(d); + if (c[a + 24 + (1 - b << 2) >> 2] | 0) { + pr(a); + Ot(c[a + 32 >> 2] | 0); + Ot(c[a + 36 >> 2] | 0); + jt(a, 184320) + } + return + } + + function sr(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + p = l; + l = l + 16 | 0; + o = p; + m = b << 2; + h = vH(O(m, d) | 0) | 0; + g = c[e >> 2] | 0; + m = vH(m) | 0; + n = c[a + 8 >> 2] | 0; + if (g | 0) { + D_(c[g >> 2] | 0); + D_(g) + } + k = vH(d << 2) | 0; + c[e >> 2] = k; + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + c[k + (g << 2) >> 2] = h + ((O(g, b) | 0) << 2); + g = g + 1 | 0 + } + j = (f | 0) != 0; + if (j) es(a, b); + e = (g2() | 0) % (b | 0) | 0; + zq(o, b); + g = c[k >> 2] | 0; + if (j) { + cr(e, a, b, g); + f = 0; + g = 0 + } else { + vq(e, a, b, g, o); + f = 0; + g = 0 + } + while (1) { + if ((g | 0) >= (b | 0)) { + i = 1; + break + } + h = c[(c[k >> 2] | 0) + (g << 2) >> 2] | 0; + c[m + (g << 2) >> 2] = h; + i = (h | 0) > (f | 0); + f = i ? h : f; + e = i ? g : e; + g = g + 1 | 0 + } + while (1) { + if ((i | 0) >= (d | 0)) break; + h = k + (i << 2) | 0; + g = c[h >> 2] | 0; + if (j) { + cr(e, a, b, g); + g = 0; + f = 0 + } else { + vq(e, a, b, g, o); + g = 0; + f = 0 + } + while (1) { + if ((g | 0) >= (b | 0)) break; + s = m + (g << 2) | 0; + q = c[s >> 2] | 0; + r = c[(c[h >> 2] | 0) + (g << 2) >> 2] | 0; + r = (q | 0) < (r | 0) ? q : r; + c[s >> 2] = r; + s = (r | 0) > (f | 0); + q = s ? g : e; + g = g + 1 | 0; + f = s ? r : f; + e = q + } + i = i + 1 | 0 + } + D_(m); + if (j) fs(a, b, n); + l = p; + return + } + + function tr(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, h = 0, i = 0.0, j = 0, k = 0; + i = 1.0 / +(b | 0); + h = 0; + while (1) { + if ((h | 0) >= (d | 0)) break; + j = a + (h << 2) | 0; + e = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + e = e + +(c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0); + f = f + 1 | 0 + } + g = ~~(e * i); + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + k = (c[j >> 2] | 0) + (f << 2) | 0; + c[k >> 2] = (c[k >> 2] | 0) - g; + f = f + 1 | 0 + } + h = h + 1 | 0 + } + return + } + + function ur() { + c[46085] = ~~+C(+(+((c[46084] | 0) + 4 | 0))); + return + } + + function vr(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a >> 3] - +h[b >> 3]; + d = +h[a + 8 >> 3] - +h[b + 8 >> 3]; + return +(d * d + c * c) + } + + function wr(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + h[a >> 3] = +h[b >> 3] - +h[c >> 3]; + h[a + 8 >> 3] = +h[b + 8 >> 3] - +h[c + 8 >> 3]; + return + } + + function xr(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + return + } + + function yr(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0; + d = +h[b + 8 >> 3]; + e = +h[b >> 3]; + return +((+h[c >> 3] - e) * (+h[a + 8 >> 3] - d) - (+h[a >> 3] - e) * (+h[c + 8 >> 3] - d)) + } + + function zr(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = l; + l = l + 48 | 0; + 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 = +yr(h, g, f) > 0.0 & 1; + l = e; + return d | 0 + } + + function Ar(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0; + o = +h[a >> 3]; + p = +h[d + 8 >> 3]; + q = +h[c + 8 >> 3]; + m = (p - q) * o; + n = +h[b >> 3]; + l = +h[d >> 3]; + k = +h[b + 8 >> 3]; + i = +h[a + 8 >> 3]; + j = k - i; + f = +h[c >> 3]; + g = m + n * (q - p) + j * l + f * (i - k); + if (g == 0.0) d = 0; else { + p = (f * (i - p) + m + (q - i) * l) / g; + q = -(f * j + ((q - k) * o + (i - q) * n)) / g; + h[e >> 3] = p * (n - o) + o; + h[e + 8 >> 3] = j * p + i; + d = q <= 1.0 & (q >= 0.0 & (p >= 0.0 & p <= 1.0)) & 1 + } + return d | 0 + } + + function Br(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0.0, i = 0; + c[a + 20 >> 2] = b; + Pt(b); + i = a + 24 | 0; + h[i >> 3] = +h[b + 8 >> 3] + d; + e = c[46086] | 0; + e = e + ((Cr(a) | 0) * 40 | 0) | 0; + while (1) { + f = e + 32 | 0; + e = c[f >> 2] | 0; + if (!e) break; + d = +h[i >> 3]; + g = +h[e + 24 >> 3]; + if (d > g) continue; + if (!(d == g)) break; + if (!(+h[b >> 3] > +h[c[e + 20 >> 2] >> 3])) break + } + c[a + 32 >> 2] = e; + c[f >> 2] = a; + c[46087] = (c[46087] | 0) + 1; + return + } + + function Cr(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0.0; + d = c[46088] | 0; + e = +(d | 0); + b = (+h[a + 24 >> 3] - +h[22888]) / +h[22890] * e; + do if (!(b < 0.0)) if (!(b >= e)) { + a = ~~b; + break + } else { + a = d + -1 | 0; + break + } else a = 0; while (0); + if ((a | 0) < (c[46089] | 0)) c[46089] = a; + return a | 0 + } + + function Dr(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 20 | 0; + if (c[d >> 2] | 0) { + b = c[46086] | 0; + b = b + ((Cr(a) | 0) * 40 | 0) | 0; + do { + e = b + 32 | 0; + b = c[e >> 2] | 0 + } while ((b | 0) != (a | 0)); + c[e >> 2] = c[a + 32 >> 2]; + c[46087] = (c[46087] | 0) + -1; + Ot(c[d >> 2] | 0); + c[d >> 2] = 0 + } + return + } + + function Er() { + return (c[46087] | 0) == 0 | 0 + } + + function Fr(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0.0; + b = c[46086] | 0; + d = c[46089] | 0; + while (1) { + e = c[b + (d * 40 | 0) + 32 >> 2] | 0; + if (e | 0) break; + e = d + 1 | 0; + c[46089] = e; + d = e + } + f = +h[e + 24 >> 3]; + h[a >> 3] = +h[c[e + 20 >> 2] >> 3]; + h[a + 8 >> 3] = f; + return + } + + function Gr() { + var a = 0, b = 0; + b = (c[46086] | 0) + ((c[46089] | 0) * 40 | 0) + 32 | 0; + a = c[b >> 2] | 0; + c[b >> 2] = c[a + 32 >> 2]; + c[46087] = (c[46087] | 0) + -1; + return a | 0 + } + + function Hr() { + D_(c[46086] | 0); + c[46086] = 0; + return + } + + function Ir() { + var a = 0, b = 0, d = 0; + c[46087] = 0; + c[46089] = 0; + a = c[46085] | 0; + b = a << 2; + c[46088] = b; + d = c[46086] | 0; + if (!d) { + d = vH(a * 160 | 0) | 0; + c[46086] = d; + b = c[46088] | 0 + } + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + c[d + (a * 40 | 0) + 32 >> 2] = 0; + a = a + 1 | 0 + } + return + } + + function Jr() { + gt(184368, 40); + D_(c[46095] | 0); + c[46095] = 0; + return + } + + function Kr() { + var a = 0, b = 0, d = 0; + gt(184368, 40); + a = c[46085] | 0; + b = a << 1; + c[46096] = b; + d = c[46095] | 0; + if (!d) { + d = vH(a << 3) | 0; + c[46095] = d; + b = c[46096] | 0 + } + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + c[d + (a << 2) >> 2] = 0; + a = a + 1 | 0 + } + c[46090] = Lr(0, 0) | 0; + c[46091] = Lr(0, 0) | 0; + c[c[46090] >> 2] = 0; + d = c[46091] | 0; + b = c[46090] | 0; + c[b + 4 >> 2] = d; + c[d >> 2] = b; + c[(c[46091] | 0) + 4 >> 2] = 0; + d = c[46095] | 0; + c[d >> 2] = c[46090]; + c[d + ((c[46096] | 0) + -1 << 2) >> 2] = c[46091]; + return + } + + function Lr(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = it(184368) | 0; + c[e + 8 >> 2] = b; + a[e + 16 >> 0] = d; + c[e + 32 >> 2] = 0; + c[e + 20 >> 2] = 0; + c[e + 12 >> 2] = 0; + return e | 0 + } + + function Mr(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0, l = 0.0, m = 0.0, n = 0.0, o = 0, p = 0.0, q = 0.0; + i = c[b + 8 >> 2] | 0; + k = c[d + 8 >> 2] | 0; + do if ((!((i | 0) == 0 | (k | 0) == 0) ? (o = c[i + 36 >> 2] | 0, e = c[k + 36 >> 2] | 0, (o | 0) != (e | 0)) : 0) ? (j = +h[i >> 3], f = +h[k + 8 >> 3], g = +h[i + 8 >> 3], l = +h[k >> 3], m = f * j - l * g, !(m > -1.0e-10 & m < 1.0e-10)) : 0) { + p = +h[i + 16 >> 3]; + q = +h[k + 16 >> 3]; + n = (p * f - q * g) / m; + j = (q * j - p * l) / m; + f = +h[o + 8 >> 3]; + g = +h[e + 8 >> 3]; + do if (f < g) e = o; else { + if (f == g ? +h[o >> 3] < +h[e >> 3] : 0) { + e = o; + break + } + b = d + } while (0); + b = a[b + 16 >> 0] | 0; + if (!(n >= +h[e >> 3])) { + if (b << 24 >> 24 == 1) { + b = 0; + break + } + } else if (!(b << 24 >> 24)) { + b = 0; + break + } + b = Lt() | 0; + c[b + 20 >> 2] = 0; + h[b >> 3] = n; + h[b + 8 >> 3] = j + } else b = 0; while (0); + return b | 0 + } + + function Nr(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0.0, m = 0, n = 0, o = 0.0, p = 0; + n = c[b + 8 >> 2] | 0; + k = c[n + 36 >> 2] | 0; + l = +h[d >> 3]; + o = +h[k >> 3]; + m = l > o; + p = a[b + 16 >> 0] | 0; + if (m) if (!(p << 24 >> 24)) b = 1; else f = 4; else if (p << 24 >> 24 == 1) b = 0; else f = 4; + if ((f | 0) == 4) { + e = +h[n >> 3]; + a:do if (e == 1.0) { + e = +h[d + 8 >> 3]; + g = e - +h[k + 8 >> 3]; + i = l - o; + j = +h[n + 8 >> 3]; + d = j < 0.0; + do if (m ? j >= 0.0 : d) { + if (g >= j * i) { + b = 1; + break a + } + } else { + b = j * e + l > +h[n + 16 >> 3]; + if (d) if (b) { + b = 0; + break a + } else break; else if (b) break; else { + b = 0; + break a + } + } while (0); + o = o - +h[c[n + 32 >> 2] >> 3]; + b = j * (i * i - g * g) < o * g * (i * 2.0 / o + 1.0 + j * j); + if (d) b = b ^ 1 + } else { + i = +h[n + 16 >> 3] - l * e; + j = +h[d + 8 >> 3] - i; + o = l - o; + l = i - +h[k + 8 >> 3]; + b = j * j > l * l + o * o + } while (0); + b = (b ^ p << 24 >> 24 != 0) & 1 + } + return b | 0 + } + + function Or(a, b) { + a = a | 0; + b = b | 0; + c[b >> 2] = a; + a = a + 4 | 0; + c[b + 4 >> 2] = c[a >> 2]; + c[c[a >> 2] >> 2] = b; + c[a >> 2] = b; + return + } + + function Pr(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = c[46096] | 0; + b = ~~((+h[a >> 3] - +h[22887]) / +h[22889] * +(f | 0)); + b = (b | 0) > 0 ? b : 0; + f = (b | 0) < (f | 0) ? b : f + -1 | 0; + b = Qr(f) | 0; + if (!b) { + d = 1; + while (1) { + b = Qr(f - d | 0) | 0; + if (b | 0) break; + b = Qr(d + f | 0) | 0; + if (b | 0) break; + d = d + 1 | 0 + } + c[46097] = (c[46097] | 0) + d + } + c[46098] = (c[46098] | 0) + 1; + e = c[46090] | 0; + d = c[46091] | 0; + a:do if ((b | 0) == (e | 0)) g = 9; else { + if ((b | 0) != (d | 0) ? (Nr(b, a) | 0) != 0 : 0) { + g = 9; + break + } + while (1) { + b = c[b >> 2] | 0; + if ((b | 0) == (e | 0)) break a; + if (Nr(b, a) | 0) { + e = b; + break + } + } + } while (0); + if ((g | 0) == 9) { + while (1) { + b = c[b + 4 >> 2] | 0; + if ((b | 0) == (d | 0)) break; + if (!(Nr(b, a) | 0)) break; else g = 9 + } + e = c[b >> 2] | 0 + } + if ((f | 0) > 0 ? (f | 0) < ((c[46096] | 0) + -1 | 0) : 0) { + b = (c[46095] | 0) + (f << 2) | 0; + d = c[b >> 2] | 0; + if (d | 0) { + g = d + 12 | 0; + c[g >> 2] = (c[g >> 2] | 0) + -1 + } + c[b >> 2] = e; + g = e + 12 | 0; + c[g >> 2] = (c[g >> 2] | 0) + 1 + } + return e | 0 + } + + function Qr(a) { + a = a | 0; + var b = 0, d = 0; + if ((a | 0) > -1 & (c[46096] | 0) > (a | 0) ? (d = (c[46095] | 0) + (a << 2) | 0, b = c[d >> 2] | 0, (b | 0) != 0) : 0) { + if ((c[b + 8 >> 2] | 0) == (-2 | 0)) { + c[d >> 2] = 0; + a = b + 12 | 0; + d = (c[a >> 2] | 0) + -1 | 0; + c[a >> 2] = d; + if (!d) { + jt(b, 184368); + b = 0 + } else b = 0 + } + } else b = 0; + return b | 0 + } + + function Rr(a) { + a = a | 0; + var b = 0, d = 0; + b = a + 4 | 0; + d = c[a >> 2] | 0; + c[d + 4 >> 2] = c[b >> 2]; + c[c[b >> 2] >> 2] = d; + c[a + 8 >> 2] = -2; + return + } + + function Sr(a) { + a = a | 0; + return c[a + 4 >> 2] | 0 + } + + function Tr(a) { + a = a | 0; + return c[a >> 2] | 0 + } + + function Ur(b) { + b = b | 0; + var d = 0; + d = c[b + 8 >> 2] | 0; + if (!d) b = 184588; else b = (a[b + 16 >> 0] | 0) == 0 ? d + 32 | 0 : d + 36 | 0; + return c[b >> 2] | 0 + } + + function Vr(b) { + b = b | 0; + var d = 0; + d = c[b + 8 >> 2] | 0; + if (!d) b = 184588; else b = (a[b + 16 >> 0] | 0) == 0 ? d + 36 | 0 : d + 32 | 0; + return c[b >> 2] | 0 + } + + function Wr() { + gt(184400, 24); + return + } + + function Xr(a, b, d) { + a = a | 0; + b = +b; + d = +d; + var e = 0, f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + i = j; + g = (c[46099] | 0) + ((c[a + 16 >> 2] | 0) * 96 | 0) + 88 | 0; + f = c[g >> 2] | 0; + h[i + 8 >> 3] = b; + h[i + 16 >> 3] = d; + e = Yr(a, i, f) | 0; + do if (e | 0) { + if ((e | 0) < 0) { + i = it(184400) | 0; + h[i + 8 >> 3] = b; + h[i + 16 >> 3] = d; + c[i >> 2] = f; + c[g >> 2] = i; + break + } + while (1) { + e = c[f >> 2] | 0; + g = Yr(a, i, e) | 0; + if ((g | 0) > 0) f = e; else break + } + if (g | 0) { + i = it(184400) | 0; + h[i + 8 >> 3] = b; + h[i + 16 >> 3] = d; + c[f >> 2] = i; + c[i >> 2] = e + } + } while (0); + l = j; + return + } + + function Yr(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0; + do if (c) { + e = +h[b + 8 >> 3]; + i = +h[c + 8 >> 3]; + d = +h[b + 16 >> 3]; + f = +h[c + 16 >> 3]; + if (!(e == i & d == f)) { + k = +h[a >> 3]; + j = e - k; + e = +h[a + 8 >> 3]; + g = d - e; + i = i - k; + d = f - e; + if (!(j >= 0.0)) { + if (i >= 0.0) { + b = 1; + break + } + e = d / i; + d = g / j; + if (d < e) { + b = -1; + break + } + if (d > e) { + b = 1; + break + } + b = j > i ? -1 : 1; + break + } + if (!(i < 0.0)) { + b = i > 0.0; + if (!(j > 0.0)) { + if (b) { + b = !(g <= 0.0) ? 1 : -1; + break + } + if (g < d) { + b = !(d <= 0.0) ? -1 : 1; + break + } else { + b = !(g <= 0.0) ? 1 : -1; + break + } + } else { + if (!b) { + b = d > 0.0 ? -1 : 1; + break + } + e = d / i; + d = g / j; + if (d < e) { + b = -1; + break + } + if (d > e) { + b = 1; + break + } + b = j < i ? -1 : 1; + break + } + } else b = -1 + } else b = 0 + } else b = -1; while (0); + return b | 0 + } + + function Zr(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = c[a + (d * 20 | 0) >> 2] | 0; + d = a + (d * 20 | 0) + 4 | 0; + b = 1; + a = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + g = a + ((c[e + (c[(c[d >> 2] | 0) + (b << 2) >> 2] << 2) >> 2] | 0) > 0 & 1) | 0; + b = b + 1 | 0; + a = g + } + return a | 0 + } + + function _r(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = a + (b * 20 | 0) | 0; + b = a + (b * 20 | 0) + 4 | 0; + a = 1; + while (1) { + if ((a | 0) >= (c[e >> 2] | 0)) break; + c[d + (c[(c[b >> 2] | 0) + (a << 2) >> 2] << 2) >> 2] = 1; + a = a + 1 | 0 + } + return + } + + function $r(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = a + (b * 20 | 0) | 0; + b = a + (b * 20 | 0) + 4 | 0; + a = 1; + while (1) { + if ((a | 0) >= (c[e >> 2] | 0)) break; + c[d + (c[(c[b >> 2] | 0) + (a << 2) >> 2] << 2) >> 2] = 0; + a = a + 1 | 0 + } + return + } + + function as(a, b) { + a = a | 0; + b = b | 0; + if (!(c[a + 8 >> 2] | 0)) a = cs(a, b) | 0; else a = bs(a, b) | 0; + return a | 0 + } + + function bs(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = b << 2; + e = vH(O(f, b) | 0) | 0; + f = vH(f) | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) { + d = 0; + break + } + c[f + (d << 2) >> 2] = e + ((O(d, b) | 0) << 2); + d = d + 1 | 0 + } + while (1) { + if ((d | 0) >= (b | 0)) break; + cr(d, a, b, c[f + (d << 2) >> 2] | 0); + d = d + 1 | 0 + } + return f | 0 + } + + function cs(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + g = b << 2; + e = vH(O(g, b) | 0) | 0; + g = vH(g) | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + c[g + (d << 2) >> 2] = e + ((O(d, b) | 0) << 2); + d = d + 1 | 0 + } + zq(f, b); + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + vq(d, a, b, c[g + (d << 2) >> 2] | 0, f); + d = d + 1 | 0 + } + Aq(f); + l = h; + return g | 0 + } + + function ds(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = c[a + 8 >> 2] | 0; + es(a, b); + d = bs(a, b) | 0; + fs(a, b, e); + return d | 0 + } + + function es(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + l = vH(b << 2) | 0; + d = 0; + e = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + k = (c[a + (d * 20 | 0) >> 2] | 0) + e | 0; + d = d + 1 | 0; + e = k + } + e = vH(e << 2) | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + c[l + (d << 2) >> 2] = 0; + d = d + 1 | 0 + } + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + c[a + (f * 20 | 0) + 8 >> 2] = e; + _r(a, f, l); + h = a + (f * 20 | 0) | 0; + i = c[h >> 2] | 0; + j = a + (f * 20 | 0) + 4 | 0; + k = i + -2 | 0; + d = 1; + while (1) { + if ((d | 0) >= (i | 0)) break; + m = c[(c[j >> 2] | 0) + (d << 2) >> 2] | 0; + n = c[a + (m * 20 | 0) >> 2] | 0; + g[e + (d << 2) >> 2] = +(k + n - ((Zr(a, 0, m, l) | 0) << 1) | 0); + d = d + 1 | 0 + } + $r(a, f, l); + e = e + (c[h >> 2] << 2) | 0; + f = f + 1 | 0 + } + D_(l); + return + } + + function fs(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = a + 8 | 0; + D_(c[e >> 2] | 0); + c[e >> 2] = 0; + a:do if (d | 0) { + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break a; + c[a + (e * 20 | 0) + 8 >> 2] = d; + f = d + (c[a + (e * 20 | 0) >> 2] << 2) | 0; + e = e + 1 | 0; + d = f + } + } while (0); + return + } + + function gs(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0; + f = 0; + g = 0.0; + while (1) { + if ((f | 0) >= (b | 0)) break; + j = c[a + (f << 2) >> 2] | 0; + i = +h[j + (d << 3) >> 3] - +h[j + (e << 3) >> 3]; + f = f + 1 | 0; + g = i * i + g + } + return +(+C(+g)) + } + + function hs(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + if ((e | 0) > (d | 0)) { + c[46103] = a; + _0(b + (d << 2) | 0, 1 - d + e | 0, 4, 76) + } + return + } + + function is(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0; + f = c[46103] | 0; + e = +g[f + (c[a >> 2] << 2) >> 2]; + d = +g[f + (c[b >> 2] << 2) >> 2]; + return (e < d ? -1 : e > d & 1) | 0 + } + + function js(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + if ((d | 0) < (e | 0)) { + ks(a, b, d, e, f); + g = c[f >> 2] | 0; + f = g + -1 | 0; + js(a, b, d, f); + g = g + 1 | 0; + js(a, b, g, e); + if (!(ls(a, b, d, f) | 0)) js(a, b, d, f); + if (!(ls(a, b, g, e) | 0)) js(a, b, g, e) + } + l = h; + return + } + + function ks(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0, n = 0; + g = g2() | 0; + g = b + (((((g2() | 0) << 16 | g) >>> 0) % ((1 - d + e | 0) >>> 0) | 0) + d << 2) | 0; + j = c[g >> 2] | 0; + k = b + (d << 2) | 0; + c[g >> 2] = c[k >> 2]; + c[k >> 2] = j; + l = +h[a + (j << 3) >> 3]; + g = d + 1 | 0; + d = e; + a:while (1) { + if ((g | 0) >= (d | 0)) break; + while (1) { + if ((g | 0) >= (d | 0)) break; + if (!(+h[a + (c[b + (g << 2) >> 2] << 3) >> 3] <= l)) break; + g = g + 1 | 0 + } + while (1) { + if ((g | 0) >= (d | 0)) continue a; + e = b + (d << 2) | 0; + i = c[e >> 2] | 0; + if (!(+h[a + (i << 3) >> 3] > l)) break; + d = d + -1 | 0 + } + n = b + (g << 2) | 0; + m = c[n >> 2] | 0; + c[n >> 2] = i; + c[e >> 2] = m; + g = g + 1 | 0; + d = d + -1 | 0 + } + n = g + ((+h[a + (c[b + (g << 2) >> 2] << 3) >> 3] > l) << 31 >> 31) | 0; + c[f >> 2] = n; + n = b + (n << 2) | 0; + c[k >> 2] = c[n >> 2]; + c[n >> 2] = j; + return + } + + function ls(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = 1; + while (1) { + f = d + 1 | 0; + if (!((d | 0) < (e | 0) & (g | 0) != 0)) break; + g = +h[a + (c[b + (d << 2) >> 2] << 3) >> 3] > +h[a + (c[b + (f << 2) >> 2] << 3) >> 3] ? 0 : g; + d = f + } + return g | 0 + } + + function ms(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0.0, A = 0.0; + x = l; + l = l + 16 | 0; + v = 4; + w = C_(40) | 0; + c[w >> 2] = 0; + t = x; + o = 0; + u = $(23, b * 40 | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, w | 0, v | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) != 1) { + d = 0; + r = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + s = (c[(c[a + (d << 2) >> 2] | 0) + 4 >> 2] | 0) + r | 0; + d = d + 1 | 0; + r = s + } + o = 0; + s = $(23, r * 24 | 0) | 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, w | 0, v | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) != 1) { + d = 0; + m = 0; + while (1) { + if ((m | 0) >= (b | 0)) break; + n = u + (m * 40 | 0) | 0; + c[n >> 2] = s + (d * 24 | 0); + q = a + (m << 2) | 0; + f = 0; + g = 1797693134862315708145274.0e284; + i = -1797693134862315708145274.0e284; + j = -1797693134862315708145274.0e284; + k = 1797693134862315708145274.0e284; + while (1) { + e = c[q >> 2] | 0; + if ((f | 0) >= (c[e + 4 >> 2] | 0)) break; + e = c[e >> 2] | 0; + A = +h[e + (f << 4) >> 3]; + y = +h[e + (f << 4) + 8 >> 3]; + h[s + (d * 24 | 0) >> 3] = A; + h[s + (d * 24 | 0) + 8 >> 3] = y; + c[s + (d * 24 | 0) + 16 >> 2] = n; + c[s + (d * 24 | 0) + 20 >> 2] = 0; + f = f + 1 | 0; + d = d + 1 | 0; + g = g < A ? g : A; + i = i > A ? i : A; + j = j > y ? j : y; + k = k < y ? k : y + } + c[u + (m * 40 | 0) + 4 >> 2] = s + ((d + -1 | 0) * 24 | 0); + h[u + (m * 40 | 0) + 8 >> 3] = g; + h[u + (m * 40 | 0) + 16 >> 3] = k; + h[u + (m * 40 | 0) + 24 >> 3] = i; + h[u + (m * 40 | 0) + 32 >> 3] = j; + m = m + 1 | 0 + } + c[t >> 2] = r; + c[t + 4 >> 2] = b; + w = D3(184416, 1, w | 0, v | 0) | 0; + v = z; + o = 0; + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, w | 0, v | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + d = z; + q = s; + m = s; + n = u + } else { + d = 0; + q = s; + m = s; + n = u + } + } else { + d = z; + q = 0; + m = s; + n = u + } + } else { + d = z; + q = 0; + m = 0; + n = 0 + } + while (1) { + if (d | 0) { + o = 0; + ia(103, u | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, w | 0, v | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s; + continue + } + o = 0; + ia(103, m | 0); + d = o; + o = 0; + if ((d | 0) != 0 & (p | 0) != 0) { + e = E3(c[d >> 2] | 0, w | 0, v | 0) | 0; + if (!e) bb(d | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s; + continue + } else { + e = 17; + break + } + } + o = 0; + d = aa(77, q | 0, t | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, v | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s; + continue + } + if (!d) { + o = 0; + d = ca(24, a | 0, b | 0, n | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, v | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s; + continue + } + } + o = 0; + ia(103, u | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, v | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s; + continue + } + o = 0; + ia(103, m | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, v | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = n; + r = m; + s = q; + d = z; + n = f; + m = r; + q = s + } else { + e = 24; + break + } + } + if ((e | 0) == 17) d = 0; else if ((e | 0) == 24) d = (d | 0) == 0 & 1; + D_(w | 0); + l = x; + return d | 0 + } + + function ns(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0; + v = l; + l = l + 16 | 0; + q = v; + o = v + 8 | 0; + p = v + 4 | 0; + c[b + 8 >> 2] = 0; + u = vH(c[b >> 2] << 2) | 0; + f = c[b >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) break; + c[u + (e << 2) >> 2] = a + (e * 24 | 0); + e = e + 1 | 0 + } + _0(u, f, 4, 78); + m = 0; + g = 0; + f = 0; + h = 0; + a:while (1) { + if ((m | 0) >= (c[b >> 2] | 0)) { + s = 0; + d = g; + t = h; + break + } + n = u + (m << 2) | 0; + e = c[n >> 2] | 0; + c[o >> 2] = e; + a = c[e + 16 >> 2] | 0; + if ((c[a >> 2] | 0) == (e | 0)) e = c[a + 4 >> 2] | 0; else e = e + -24 | 0; + c[p >> 2] = e; + k = 0; + a = g; + j = h; + while (1) { + if ((k | 0) >= 2) break; + switch (ps(o, p) | 0) { + case -1: { + g = 0; + h = a; + while (1) { + if ((g | 0) >= (j | 0)) break; + i = qs(c[h >> 2] | 0, e) | 0; + if (i | 0) { + s = i; + d = a; + t = j; + break a + } + g = g + 1 | 0; + h = c[h + 4 >> 2] | 0 + } + g = vH(12) | 0; + if (!j) { + f = 0; + a = g + } else c[f + 4 >> 2] = g; + c[g + 8 >> 2] = f; + c[g >> 2] = e; + c[g + 4 >> 2] = 0; + c[e + 20 >> 2] = g; + h = j + 1 | 0; + break + } + case 1: { + e = e + 20 | 0; + g = c[e >> 2] | 0; + if (!g) { + r = 19; + break a + } + do if ((j | 0) != 1) { + if ((g | 0) == (a | 0)) { + a = c[a + 4 >> 2] | 0; + c[a + 8 >> 2] = 0; + break + } + if ((g | 0) == (f | 0)) { + f = c[f + 8 >> 2] | 0; + c[f + 4 >> 2] = 0; + break + } else { + i = g + 4 | 0; + h = c[g + 8 >> 2] | 0; + c[h + 4 >> 2] = c[i >> 2]; + c[(c[i >> 2] | 0) + 8 >> 2] = h; + break + } + } else { + a = 0; + f = 0 + } while (0); + D_(g); + c[e >> 2] = 0; + g = f; + h = j + -1 | 0; + break + } + default: { + g = f; + h = j + } + } + e = c[n >> 2] | 0; + f = c[e + 16 >> 2] | 0; + if ((e | 0) == (c[f + 4 >> 2] | 0)) f = c[f >> 2] | 0; else f = e + 24 | 0; + c[p >> 2] = f; + k = k + 1 | 0; + f = g; + j = h + } + m = m + 1 | 0; + g = a; + h = j + } + if ((r | 0) == 19) { + Pw(1, 92219, q) | 0; + bb(184416, 1) + } + e = 0; + while (1) { + if ((e | 0) >= (t | 0)) break; + r = c[d + 4 >> 2] | 0; + D_(d); + e = e + 1 | 0; + d = r + } + D_(u); + l = v; + return s | 0 + } + + function os(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0.0, + t = 0.0, u = 0, v = 0.0, w = 0.0, x = 0.0, y = 0.0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0.0; + D = l; + l = l + 48 | 0; + o = D + 24 | 0; + n = D + 16 | 0; + u = D; + e = 0; + a:while (1) { + if ((e | 0) >= (b | 0)) { + e = 0; + break + } + z = c[a + (e << 2) >> 2] | 0; + A = c[z >> 2] | 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]; + A = e + 1 | 0; + B = d + (e * 40 | 0) + 8 | 0; + p = d + (e * 40 | 0) + 24 | 0; + q = d + (e * 40 | 0) + 32 | 0; + g = d + (e * 40 | 0) + 16 | 0; + e = A; + while (1) { + if ((e | 0) >= (b | 0)) { + e = A; + continue a + } + i = c[a + (e << 2) >> 2] | 0; + j = +h[B >> 3]; + k = +h[d + (e * 40 | 0) + 24 >> 3]; + m = !(j <= k); + f = +h[d + (e * 40 | 0) + 8 >> 3]; + if ((((!(m | !(j >= f)) ? (r = +h[g >> 3], s = +h[d + (e * 40 | 0) + 32 >> 3], r <= s) : 0) ? (t = +h[d + (e * 40 | 0) + 16 >> 3], r >= t) : 0) ? (E = +h[p >> 3], !(!(E <= k) | !(E >= f))) : 0) ? (E = +h[q >> 3], !(!(E <= s) | !(E >= t))) : 0) { + c[n >> 2] = c[i >> 2]; + c[n + 4 >> 2] = c[i + 4 >> 2]; + 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]; + if (wU(n, o) | 0) { + e = 1; + break a + } + } else C = 11; + if ((((((C | 0) == 11 ? (C = 0, v = +h[p >> 3], !(!(f <= v) | !(f >= j))) : 0) ? (w = +h[d + (e * 40 | 0) + 16 >> 3], x = +h[q >> 3], w <= x) : 0) ? (y = +h[g >> 3], !(!(w >= y) | (!(k <= v) | m))) : 0) ? (E = +h[d + (e * 40 | 0) + 32 >> 3], !(!(E <= x) | !(E >= y))) : 0) ? (m = c[i >> 2] | 0, c[n >> 2] = c[z >> 2], c[n + 4 >> 2] = c[z + 4 >> 2], 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], wU(n, o) | 0) : 0) { + e = 1; + break a + } + e = e + 1 | 0 + } + } + l = D; + return e | 0 + } + + function ps(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0; + e = c[a >> 2] | 0; + a = c[b >> 2] | 0; + d = +h[e >> 3] - +h[a >> 3]; + if (!(d != 0.0)) { + d = +h[e + 8 >> 3] - +h[a + 8 >> 3]; + if (d == 0.0) a = 0; else a = d > 0.0 ? 1 : -1 + } else a = d > 0.0 ? 1 : -1; + return a | 0 + } + + function qs(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 64 | 0; + g = m + 32 | 0; + i = m + 24 | 0; + j = m + 16 | 0; + k = m; + f = m + 48 | 0; + rs(a, b, f); + d = f + 8 | 0; + e = c[d >> 2] | 0; + do if ((e | 0) > 0) d = 0; else { + if ((e | 0) < 0) { + rs(b, a, f); + d = c[d >> 2] | 0; + if ((d | 0) > 0) { + d = 0; + break + } + if ((d | 0) < 0) d = 3; else { + d = c[f >> 2] | 0; + d = ss(b, a, (d | 0) > -1 ? d : 0 - d | 0) | 0 + } + if (!(ts(a, b, i, j, d) | 0)) { + d = 0; + break + } + } else { + d = c[f >> 2] | 0; + if ((d | 0) == (c[f + 4 >> 2] | 0)) { + d = ss(a, b, 0) | 0; + d = (ss(a, b, (d | 0) <= (ss(a, b, 1) | 0) & 1) | 0) << 1 + } else d = ss(a, b, (d | 0) > -1 ? d : 0 - d | 0) | 0; + if (!(ts(a, b, i, j, d) | 0)) { + d = 0; + break + } + } + h[k >> 3] = +h[i >> 3]; + h[k + 8 >> 3] = +h[j >> 3]; + 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]; + d = us(a, b, g) | 0 + } while (0); + l = m; + return d | 0 + } + + function rs(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0; + i = +h[a >> 3]; + j = +h[a + 8 >> 3]; + e = c[a + 16 >> 2] | 0; + if ((c[e + 4 >> 2] | 0) == (a | 0)) { + a = c[e >> 2] | 0; + e = a + } else { + e = a + 24 | 0; + a = a + 24 | 0 + } + g = +h[e >> 3] - i; + f = +h[a + 8 >> 3] - j; + e = c[b + 16 >> 2] | 0; + if ((c[e + 4 >> 2] | 0) == (b | 0)) { + a = c[e >> 2] | 0; + e = a + } else { + e = b + 24 | 0; + a = b + 24 | 0 + } + k = +h[e >> 3] - i; + l = +h[a + 8 >> 3] - j; + j = (+h[b + 8 >> 3] - j) * g - (+h[b >> 3] - i) * f; + b = j == 0.0 ? 0 : j > 0.0 ? 1 : -1; + c[d >> 2] = b; + j = l * g - k * f; + a = j == 0.0 ? 0 : j > 0.0 ? 1 : -1; + c[d + 4 >> 2] = a; + c[d + 8 >> 2] = O(a, b) | 0; + return + } + + function ss(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0; + k = +h[a >> 3]; + l = +h[a + 8 >> 3]; + f = c[a + 16 >> 2] | 0; + if ((c[f + 4 >> 2] | 0) == (a | 0)) a = c[f >> 2] | 0; else a = a + 24 | 0; + j = +h[a >> 3]; + i = +h[a + 8 >> 3]; + do if (d) { + a = c[b + 16 >> 2] | 0; + if ((c[a + 4 >> 2] | 0) == (b | 0)) { + b = c[a >> 2] | 0; + break + } else { + b = b + 24 | 0; + break + } + } while (0); + g = +h[b >> 3]; + e = +h[b + 8 >> 3]; + if (k == j) if (k == g) b = (ws(l, e, i) | 0) != -1 & 1; else b = 0; else b = ws(k, g, j) | 0; + return b | 0 + } + + function ts(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0; + a:do if ((f | 0) < 1) g = 0; else { + n = +h[a >> 3]; + p = +h[a + 8 >> 3]; + g = c[a + 16 >> 2] | 0; + if ((c[g + 4 >> 2] | 0) == (a | 0)) g = c[g >> 2] | 0; else g = a + 24 | 0; + l = +h[g >> 3]; + j = +h[g + 8 >> 3]; + m = +h[b >> 3]; + o = +h[b + 8 >> 3]; + g = c[b + 16 >> 2] | 0; + if ((c[g + 4 >> 2] | 0) == (b | 0)) g = c[g >> 2] | 0; else g = b + 24 | 0; + k = +h[g >> 3]; + i = +h[g + 8 >> 3]; + b:do switch (f | 0) { + case 3: { + if (n == l) { + h[d >> 3] = n; + i = (o - i) / (m - k) * (n - k) + i; + break b + } + if (m == k) { + h[d >> 3] = m; + i = (p - j) / (n - l) * (m - l) + j; + break b + } else { + k = (o - i) / (m - k); + l = (p - j) / (n - l); + o = o - k * m; + p = p - l * n; + i = k - l; + h[d >> 3] = (p - o) / i; + i = (k * p - o * l) / i; + break b + } + } + case 2: { + if ((ss(a, b, 0) | 0) == -1) if ((ss(b, a, 1) | 0) == -1) { + f = (ss(b, a, 0) | 0) == -1; + l = f ? l : n; + k = m; + j = f ? j : p; + i = o + } else { + l = k; + k = m; + j = i; + i = o + } else if ((ss(a, b, 1) | 0) != -1) if ((ss(b, a, 0) | 0) == -1) { + k = n; + i = p + } else { + g = 0; + break a + } else { + l = m; + j = o + } + h[d >> 3] = (k + l) * .5; + i = (i + j) * .5; + break + } + case 1: + if ((o - p) * (n - l) == (m - n) * (p - j)) { + h[d >> 3] = m; + i = o; + break b + } else { + h[d >> 3] = k; + break b + } + default: { + g = 1; + break a + } + } while (0); + h[e >> 3] = i; + g = 1 + } while (0); + return g | 0 + } + + function us(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, + r = 0, s = 0; + s = l; + l = l + 16 | 0; + q = s; + o = +h[a >> 3]; + p = +h[a + 8 >> 3]; + e = c[a + 16 >> 2] | 0; + if ((c[e + 4 >> 2] | 0) == (a | 0)) e = c[e >> 2] | 0; else e = a + 24 | 0; + m = +h[e >> 3]; + j = +h[e + 8 >> 3]; + k = +h[b >> 3]; + n = +h[b + 8 >> 3]; + e = c[b + 16 >> 2] | 0; + if ((c[e + 4 >> 2] | 0) == (b | 0)) e = c[e >> 2] | 0; else e = b + 24 | 0; + i = +h[e >> 3]; + g = +h[e + 8 >> 3]; + a:do if (!(o != m & k != i)) { + do if (o == m) { + f = +h[d >> 3]; + if (o == f ? p == +h[d + 8 >> 3] : 0) break; + if (!(m == f)) { + r = 18; + break a + } + if (!(j == +h[d + 8 >> 3])) { + r = 18; + break a + } + } while (0); + if (k == i) { + f = +h[d >> 3]; + if (k == f ? n == +h[d + 8 >> 3] : 0) { + e = 0; + break + } + if (i == f ? g == +h[d + 8 >> 3] : 0) e = 0; else r = 18 + } else e = 0 + } else r = 18; while (0); + if ((r | 0) == 18) if (0 > 1) { + e = c[15686] | 0; + p = +h[d + 8 >> 3]; + h[q >> 3] = +h[d >> 3]; + h[q + 8 >> 3] = p; + g1(e, 92248, q) | 0; + vs(1, a); + vs(2, b); + e = 1 + } else e = 1; + l = s; + return e | 0 + } + + function vs(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0.0, n = 0.0; + k = l; + l = l + 48 | 0; + j = k; + f = c[15686] | 0; + g = +h[b >> 3]; + i = +h[b + 8 >> 3]; + d = c[b + 16 >> 2] | 0; + if ((c[d + 4 >> 2] | 0) == (b | 0)) { + d = c[d >> 2] | 0; + e = d + } else { + e = b + 24 | 0; + d = b + 24 | 0 + } + n = +h[e >> 3]; + m = +h[d + 8 >> 3]; + c[j >> 2] = a; + h[j + 8 >> 3] = g; + h[j + 16 >> 3] = i; + h[j + 24 >> 3] = n; + h[j + 32 >> 3] = m; + g1(f, 92276, j) | 0; + l = k; + return + } + + function ws(a, b, c) { + a = +a; + b = +b; + c = +c; + return (a == b | b == c ? 0 : (a < b ? b < c : c < b) ? 1 : -1) | 0 + } + + function xs(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0; + a:do if (!(lv(a, d) | 0)) a = 0; else { + f = uH(d << 3) | 0; + a = 0; + while (1) { + if ((a | 0) < (d | 0)) e = 0; else break; + while (1) { + if ((e | 0) == (d | 0)) break; + h[f + (e << 3) >> 3] = 0.0; + e = e + 1 | 0 + } + h[f + (a << 3) >> 3] = 1.0; + mv(c[b + (a << 2) >> 2] | 0, f, d); + a = a + 1 | 0 + } + D_(f); + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) { + a = 1; + break a + } + e = b + (f << 2) | 0; + a = 0; + while (1) { + if ((a | 0) == (f | 0)) break; + j = (c[e >> 2] | 0) + (a << 3) | 0; + i = +h[j >> 3]; + g = (c[b + (a << 2) >> 2] | 0) + (f << 3) | 0; + h[j >> 3] = +h[g >> 3]; + h[g >> 3] = i; + a = a + 1 | 0 + } + f = f + 1 | 0 + } + } while (0); + return a | 0 + } + + function ys(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0.0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + q = b << 3; + p = vH(q) | 0; + q = vH(q) | 0; + r = b * 30 | 0; + n = (d | 0) < (b | 0) ? d : b; + o = b + -1 | 0; + m = (g | 0) == 0; + d = 0; + i = 0; + a:while (1) { + if ((i | 0) >= (n | 0)) break; + k = c[e + (i << 2) >> 2] | 0; + do { + b:do if (m) d = 0; else { + d = 0; + while (1) { + if ((d | 0) == (b | 0)) { + d = 0; + break b + } + h[k + (d << 3) >> 3] = +((g2() | 0) % 100 | 0 | 0); + d = d + 1 | 0 + } + } while (0); + while (1) { + if ((d | 0) == (i | 0)) break; + g = c[e + (d << 2) >> 2] | 0; + As(k, 0, o, -+zs(g, 0, o, k), g); + d = d + 1 | 0 + } + j = +Bs(k, 0, o) + } while (j < 1.0e-10); + Cs(k, 0, o, 1.0 / j, k); + d = 0; + do { + Ds(q, 0, o, k); + Es(a, b, b, k, p); + Ds(k, 0, o, p); + g = 0; + while (1) { + if ((g | 0) == (i | 0)) break; + s = c[e + (g << 2) >> 2] | 0; + As(k, 0, o, -+zs(s, 0, o, k), s); + g = g + 1 | 0 + } + s = d; + d = d + 1 | 0; + j = +Bs(k, 0, o); + if (!((s | 0) < (r | 0) & !(j < 1.0e-10))) break a; + Cs(k, 0, o, 1.0 / j, k); + l = +zs(k, 0, o, q) + } while (+B(+l) < .999); + h[f + (i << 3) >> 3] = l * j; + i = i + 1 | 0 + } + while (1) { + if ((i | 0) >= (n | 0)) break; + k = c[e + (i << 2) >> 2] | 0; + g = 0; + while (1) { + if ((g | 0) >= (b | 0)) { + g = 0; + break + } + h[k + (g << 3) >> 3] = +((g2() | 0) % 100 | 0 | 0); + g = g + 1 | 0 + } + while (1) { + if ((g | 0) >= (i | 0)) break; + s = c[e + (g << 2) >> 2] | 0; + As(k, 0, o, -+zs(s, 0, o, k), s); + g = g + 1 | 0 + } + Cs(k, 0, o, 1.0 / +Bs(k, 0, o), k); + h[f + (i << 3) >> 3] = 0.0; + i = i + 1 | 0 + } + m = n + -1 | 0; + i = 0; + while (1) { + if ((i | 0) >= (m | 0)) break; + a = f + (i << 3) | 0; + b = i + 1 | 0; + j = +h[a >> 3]; + g = i; + k = b; + while (1) { + if ((k | 0) >= (n | 0)) break; + l = +h[f + (k << 3) >> 3]; + s = j < l; + j = s ? l : j; + g = s ? k : g; + k = k + 1 | 0 + } + if ((g | 0) == (i | 0)) { + i = b; + continue + } + k = e + (i << 2) | 0; + Ds(p, 0, o, c[k >> 2] | 0); + s = e + (g << 2) | 0; + Ds(c[k >> 2] | 0, 0, o, c[s >> 2] | 0); + Ds(c[s >> 2] | 0, 0, o, p); + h[f + (g << 3) >> 3] = +h[a >> 3]; + h[a >> 3] = j; + i = b + } + D_(p); + D_(q); + return (d | 0) <= (r | 0) | 0 + } + + function zs(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0.0; + f = 0.0; + e = 1 - b + c | 0; + d = d + (b << 3) | 0; + c = a + (b << 3) | 0; + while (1) { + if (!e) break; + f = +h[d >> 3] * +h[c >> 3] + f; + e = e + -1 | 0; + d = d + 8 | 0; + c = c + 8 | 0 + } + return +f + } + + function As(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = e | 0; + var f = 0; + f = 1 - b + c | 0; + e = e + (b << 3) | 0; + c = a + (b << 3) | 0; + while (1) { + if (!f) break; + h[c >> 3] = +h[c >> 3] + +h[e >> 3] * d; + f = f + -1 | 0; + e = e + 8 | 0; + c = c + 8 | 0 + } + return + } + + function Bs(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return +(+C(+(+zs(a, b, c, a)))) + } + + function Cs(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = e | 0; + var f = 0; + f = 1 - b + c | 0; + e = e + (b << 3) | 0; + c = a + (b << 3) | 0; + while (1) { + if (!f) break; + h[c >> 3] = +h[e >> 3] * d; + f = f + -1 | 0; + e = e + 8 | 0; + c = c + 8 | 0 + } + return + } + + function Ds(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = 1 - b + c | 0; + d = d + (b << 3) | 0; + c = a + (b << 3) | 0; + while (1) { + if (!e) break; + h[c >> 3] = +h[d >> 3]; + e = e + -1 | 0; + d = d + 8 | 0; + c = c + 8 | 0 + } + return + } + + function Es(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0, k = 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + k = a + (j << 2) | 0; + g = 0.0; + i = 0; + while (1) { + if ((i | 0) >= (d | 0)) break; + g = +h[e + (i << 3) >> 3] * +h[(c[k >> 2] | 0) + (i << 3) >> 3] + g; + i = i + 1 | 0 + } + h[f + (j << 3) >> 3] = g; + j = j + 1 | 0 + } + return + } + + function Fs(a, b, d, e, f, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0.0; + k = c[i >> 2] | 0; + if (!k) { + o = d << 2; + j = C_(O(o, f) | 0) | 0; + o = C_(o) | 0 + } else { + o = d << 2; + j = F_(c[k >> 2] | 0, O(o, f) | 0) | 0; + o = F_(k, o) | 0 + } + c[i >> 2] = o; + k = 0; + while (1) { + if ((k | 0) >= (d | 0)) { + i = 0; + break + } + c[o + (k << 2) >> 2] = j; + k = k + 1 | 0; + j = j + (f << 2) | 0 + } + while (1) { + if ((i | 0) >= (d | 0)) break; + m = a + (i << 2) | 0; + n = o + (i << 2) | 0; + k = 0; + while (1) { + if ((k | 0) < (f | 0)) { + j = 0; + l = 0.0 + } else break; + while (1) { + if ((j | 0) >= (e | 0)) break; + p = +h[(c[m >> 2] | 0) + (j << 3) >> 3] * +g[(c[b + (j << 2) >> 2] | 0) + (k << 2) >> 2] + l; + j = j + 1 | 0; + l = p + } + g[(c[n >> 2] | 0) + (k << 2) >> 2] = l; + k = k + 1 | 0 + } + i = i + 1 | 0 + } + return + } + + function Gs(a, b, d, e, f, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0; + k = c[i >> 2] | 0; + if (!k) { + j = C_(O(d << 3, f) | 0) | 0; + o = C_(d << 2) | 0 + } else { + j = F_(c[k >> 2] | 0, O(d << 3, f) | 0) | 0; + o = F_(k, d << 2) | 0 + } + c[i >> 2] = o; + k = 0; + while (1) { + if ((k | 0) >= (d | 0)) { + i = 0; + break + } + c[o + (k << 2) >> 2] = j; + k = k + 1 | 0; + j = j + (f << 3) | 0 + } + while (1) { + if ((i | 0) >= (d | 0)) break; + m = a + (i << 2) | 0; + n = o + (i << 2) | 0; + k = 0; + while (1) { + if ((k | 0) < (f | 0)) { + l = 0.0; + j = 0 + } else break; + while (1) { + if ((j | 0) >= (e | 0)) break; + l = +h[(c[m >> 2] | 0) + (j << 3) >> 3] * +g[(c[b + (j << 2) >> 2] | 0) + (k << 2) >> 2] + l; + j = j + 1 | 0 + } + h[(c[n >> 2] | 0) + (k << 3) >> 3] = l; + k = k + 1 | 0 + } + i = i + 1 | 0 + } + return + } + + function Hs(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var i = 0, j = 0, k = 0.0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + j = c[f >> 2] | 0; + if (!j) { + i = C_(O(d * 20 | 0, e) | 0) | 0; + q = C_(d << 2) | 0 + } else { + i = F_(c[j >> 2] | 0, O(d * 20 | 0, e) | 0) | 0; + q = F_(j, d << 2) | 0 + } + c[f >> 2] = q; + j = 0; + while (1) { + if ((j | 0) >= (d | 0)) { + f = 0; + break + } + c[q + (j << 2) >> 2] = i; + j = j + 1 | 0; + i = i + (e << 2) | 0 + } + while (1) { + if ((f | 0) >= (d | 0)) break; + l = c[a + (f * 20 | 0) + 4 >> 2] | 0; + m = c[a + (f * 20 | 0) + 8 >> 2] | 0; + n = c[a + (f * 20 | 0) >> 2] | 0; + o = q + (f << 2) | 0; + i = 0; + while (1) { + if ((i | 0) >= (e | 0)) break; + p = b + (i << 2) | 0; + k = 0.0; + j = 0; + while (1) { + if ((j | 0) >= (n | 0)) break; + k = +h[(c[p >> 2] | 0) + (c[l + (j << 2) >> 2] << 3) >> 3] * +g[m + (j << 2) >> 2] + k; + j = j + 1 | 0 + } + g[(c[o >> 2] | 0) + (i << 2) >> 2] = k; + i = i + 1 | 0 + } + f = f + 1 | 0 + } + return + } + + function Is(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0, e = 0; + c = 0.0; + d = b; + e = a; + while (1) { + if (!e) break; + c = +h[d >> 3] + c; + d = d + 8 | 0; + e = e + -1 | 0 + } + c = c / +(a | 0); + while (1) { + if (!a) break; + h[b >> 3] = +h[b >> 3] - c; + b = b + 8 | 0; + a = a + -1 | 0 + } + return + } + + function Js(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = 0; + while (1) { + if ((c | 0) >= (a | 0)) break; + h[b + (c << 3) >> 3] = +((g2() | 0) % 500 | 0 | 0); + c = c + 1 | 0 + } + Is(a, b); + return + } + + function Ks(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + k = c[a + (j * 20 | 0) >> 2] | 0; + l = a + (j * 20 | 0) + 8 | 0; + m = a + (j * 20 | 0) + 4 | 0; + f = 0.0; + i = 0; + while (1) { + if ((i | 0) >= (k | 0)) break; + f = +h[d + (c[(c[m >> 2] | 0) + (i << 2) >> 2] << 3) >> 3] * +g[(c[l >> 2] | 0) + (i << 2) >> 2] + f; + i = i + 1 | 0 + } + h[e + (j << 3) >> 3] = f; + j = j + 1 | 0 + } + return + } + + function Ls(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, i = 0, j = 0, k = 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + k = a + (j << 2) | 0; + f = 0.0; + i = 0; + while (1) { + if ((i | 0) == (b | 0)) break; + f = +h[d + (i << 3) >> 3] * +g[(c[k >> 2] | 0) + (i << 2) >> 2] + f; + i = i + 1 | 0 + } + h[e + (j << 3) >> 3] = f; + j = j + 1 | 0 + } + return + } + + function Ms(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + h[d + (e << 3) >> 3] = +h[b + (e << 3) >> 3] - +h[c + (e << 3) >> 3]; + e = e + 1 | 0 + } + return + } + + function Ns(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + h[d + (e << 3) >> 3] = +h[c + (e << 3) >> 3] + +h[b + (e << 3) >> 3]; + e = e + 1 | 0 + } + return + } + + function Os(a, b, c, d) { + a = a | 0; + b = b | 0; + c = +c; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + h[d + (e << 3) >> 3] = +h[b + (e << 3) >> 3] * c; + e = e + 1 | 0 + } + return + } + + function Ps(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + h[c + (d << 3) >> 3] = +h[b + (d << 3) >> 3]; + d = d + 1 | 0 + } + return + } + + function Qs(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0; + d = 0.0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + d = +h[c + (e << 3) >> 3] * +h[b + (e << 3) >> 3] + d; + e = e + 1 | 0 + } + return +d + } + + function Rs(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0.0, e = 0.0; + c = 0; + d = -1.e+50; + while (1) { + if ((c | 0) >= (a | 0)) break; + e = +B(+(+h[b + (c << 3) >> 3])); + c = c + 1 | 0; + d = e > d ? e : d + } + return +d + } + + function Ss(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0.0, i = 0, j = 0; + j = 0; + while (1) { + if ((j | 0) < (b | 0)) { + g = 0.0; + i = 0 + } else break; + while (1) { + if ((i | 0) >= (d | 0)) break; + g = +h[e + (i << 3) >> 3] * +h[(c[a + (i << 2) >> 2] | 0) + (j << 3) >> 3] + g; + i = i + 1 | 0 + } + h[f + (j << 3) >> 3] = g; + j = j + 1 | 0 + } + return + } + + function Ts(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0, e = 0; + c = 0.0; + d = b; + e = a; + while (1) { + if (!e) break; + c = +g[d >> 2] + c; + d = d + 4 | 0; + e = e + -1 | 0 + } + c = c / +(a | 0); + while (1) { + if (!a) break; + g[b >> 2] = +g[b >> 2] - c; + b = b + 4 | 0; + a = a + -1 | 0 + } + return + } + + function Us(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0.0, h = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0, n = 0.0, o = 0, p = 0.0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) { + h = 0; + j = 0; + m = b; + break + } + g[d + (e << 2) >> 2] = 0.0; + e = e + 1 | 0 + } + while (1) { + if ((j | 0) >= (b | 0)) break; + l = +g[c + (j << 2) >> 2]; + k = j + 1 | 0; + f = +g[a + (h << 2) >> 2] * l; + i = k; + e = h; + while (1) { + e = e + 1 | 0; + if ((i | 0) == (b | 0)) break; + p = +g[a + (e << 2) >> 2]; + n = +g[c + (i << 2) >> 2] * p + f; + o = d + (i << 2) | 0; + g[o >> 2] = +g[o >> 2] + p * l; + f = n; + i = i + 1 | 0 + } + o = d + (j << 2) | 0; + g[o >> 2] = +g[o >> 2] + f; + h = h + m | 0; + j = k; + m = m + -1 | 0 + } + return + } + + function Vs(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + g[d + (e << 2) >> 2] = +g[b + (e << 2) >> 2] - +g[c + (e << 2) >> 2]; + e = e + 1 | 0 + } + return + } + + function Ws(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + g[d + (e << 2) >> 2] = +g[c + (e << 2) >> 2] + +g[b + (e << 2) >> 2]; + e = e + 1 | 0 + } + return + } + + function Xs(a, b, c, d) { + a = a | 0; + b = b | 0; + c = +c; + d = d | 0; + var e = 0, f = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + f = b + (e << 2) | 0; + g[f >> 2] = +g[d + (e << 2) >> 2] * c + +g[f >> 2]; + e = e + 1 | 0 + } + return + } + + function Ys(a, b, c, d) { + a = a | 0; + b = b | 0; + c = +c; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + g[d + (e << 2) >> 2] = +g[b + (e << 2) >> 2] * c; + e = e + 1 | 0 + } + return + } + + function Zs(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + c[d + (e << 2) >> 2] = c[b + (e << 2) >> 2]; + e = e + 1 | 0 + } + return + } + + function _s(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0; + d = 0.0; + e = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + d = d + +g[c + (e << 2) >> 2] * +g[b + (e << 2) >> 2]; + e = e + 1 | 0 + } + return +d + } + + function $s(a, b, c) { + a = a | 0; + b = +b; + c = c | 0; + var d = 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + h[c + (d << 3) >> 3] = b; + d = d + 1 | 0 + } + return + } + + function at(a, b, c) { + a = a | 0; + b = +b; + c = c | 0; + var d = 0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + g[c + (d << 2) >> 2] = b; + d = d + 1 | 0 + } + return + } + + function bt(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0, e = 0.0; + c = -1000000015047466219876688.0e6; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + e = +B(+(+g[b + (d << 2) >> 2])); + c = e > c ? e : c; + d = d + 1 | 0 + } + return +c + } + + function ct(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0.0; + c = 0; + while (1) { + if ((c | 0) >= (a | 0)) break; + d = b + (c << 2) | 0; + e = +g[d >> 2]; + g[d >> 2] = e * e; + c = c + 1 | 0 + } + return + } + + function dt(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0.0; + c = 0; + while (1) { + if ((c | 0) >= (a | 0)) break; + d = b + (c << 2) | 0; + e = +g[d >> 2]; + if (e != 0.0) g[d >> 2] = 1.0 / e; + c = c + 1 | 0 + } + return + } + + function et(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0.0; + d = 0; + while (1) { + if ((d | 0) >= (a | 0)) break; + e = +g[b + (d << 2) >> 2]; + if (e >= 0.0) g[c + (d << 2) >> 2] = +C(+e); + d = d + 1 | 0 + } + return + } + + function ft(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0.0; + c = 0; + while (1) { + if ((c | 0) >= (a | 0)) break; + d = b + (c << 2) | 0; + e = +g[d >> 2]; + if (e > 0.0) g[d >> 2] = 1.0 / +C(+e); + c = c + 1 | 0 + } + return + } + + function gt(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + c[a >> 2] = 0; + if (b & 3) if (!(4 % (b >>> 0) | 0)) b = 4; else b = O(4 / ((ht(b) | 0) >>> 0) | 0, b) | 0; + c[a + 8 >> 2] = b; + a = a + 4 | 0; + b = c[a >> 2] | 0; + a:do if (b | 0) while (1) { + if (!b) break a; + d = c[b >> 2] | 0; + D_(c[b + 4 >> 2] | 0); + D_(b); + b = d + } while (0); + c[a >> 2] = 0; + return + } + + function ht(a) { + a = a | 0; + var b = 0, c = 0; + c = 4; + a:while (1) { + b = c; + while (1) { + if ((b | 0) == (a | 0)) break a; + if ((b | 0) <= (a | 0)) break; + b = b - a | 0 + } + c = b; + a = a - b | 0 + } + return a | 0 + } + + function it(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = c[a >> 2] | 0; + if (!b) { + d = c[a + 8 >> 2] | 0; + e = vH(8) | 0; + f = vH(O(c[46085] | 0, d) | 0) | 0; + c[e + 4 >> 2] = f; + b = 0; + while (1) { + if ((b | 0) >= (c[46085] | 0)) break; + jt(f + (O(b, d) | 0) | 0, a); + b = b + 1 | 0 + } + b = a + 4 | 0; + c[e >> 2] = c[b >> 2]; + c[b >> 2] = e; + b = c[a >> 2] | 0 + } + c[a >> 2] = c[b >> 2]; + return b | 0 + } + + function jt(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = c[b >> 2]; + c[b >> 2] = a; + return + } + + function kt(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + m = uH(b << 3) | 0; + l = a + 8 | 0; + f = c[l >> 2] | 0; + lt(a, b, m); + Js(b, d); + h = 0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + h = (c[a + (i * 20 | 0) >> 2] | 0) + h | 0; + i = i + 1 | 0 + } + h = vH(h << 2) | 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + c[a + (j * 20 | 0) + 8 >> 2] = h; + k = c[a + (j * 20 | 0) >> 2] | 0; + g[h >> 2] = +(1 - k | 0); + i = 1; + while (1) { + if ((i | 0) >= (k | 0)) break; + g[h + (i << 2) >> 2] = 1.0; + i = i + 1 | 0 + } + h = h + (k << 2) | 0; + j = j + 1 | 0 + } + i = Dq(a, d, m, b, .001, e) | 0; + D_(c[l >> 2] | 0); + h = 0; + while (1) { + if ((h | 0) >= (b | 0)) break; + c[a + (h * 20 | 0) + 8 >> 2] = f; + f = f + (c[a + (h * 20 | 0) >> 2] << 2) | 0; + h = h + 1 | 0 + } + D_(m); + return i >>> 31 | 0 + } + + function lt(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = a + 16 | 0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + if (c[k >> 2] | 0) { + l = c[a + (i * 20 | 0) >> 2] | 0; + m = a + (i * 20 | 0) + 8 | 0; + j = a + (i * 20 | 0) + 16 | 0; + e = 0.0; + f = 1; + while (1) { + if ((f | 0) >= (l | 0)) break; + e = e + +g[(c[j >> 2] | 0) + (f << 2) >> 2] * +g[(c[m >> 2] | 0) + (f << 2) >> 2]; + f = f + 1 | 0 + } + h[d + (i << 3) >> 3] = e + } + i = i + 1 | 0 + } + return + } + + function mt(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0; + r = vH(f << 2) | 0; + i = b << 3; + g = 0; + while (1) { + if ((g | 0) >= (f | 0)) break; + c[r + (g << 2) >> 2] = vH(i) | 0; + g = g + 1 | 0 + } + p = vH(f << 3) | 0; + q = vH(b << 2) | 0; + g = vH(O(i, b) | 0) | 0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + c[q + (i << 2) >> 2] = g; + g = g + (b << 3) | 0; + i = i + 1 | 0 + } + k = 0; + o = 1; + while (1) { + if ((k | 0) >= (b | 0)) break; + l = a + (k << 2) | 0; + m = q + (k << 2) | 0; + i = 0; + while (1) { + if ((i | 0) == (o | 0)) break; + n = a + (i << 2) | 0; + g = 0; + j = 0.0; + while (1) { + if ((g | 0) >= (d | 0)) break; + s = j + +(O(c[(c[n >> 2] | 0) + (g << 2) >> 2] | 0, c[(c[l >> 2] | 0) + (g << 2) >> 2] | 0) | 0); + g = g + 1 | 0; + j = s + } + h[(c[q + (i << 2) >> 2] | 0) + (k << 3) >> 3] = j; + h[(c[m >> 2] | 0) + (i << 3) >> 3] = j; + i = i + 1 | 0 + } + k = k + 1 | 0; + o = o + 1 | 0 + } + ys(q, b, f, r, p, 1) | 0; + i = 0; + while (1) { + if ((i | 0) >= (f | 0)) { + g = 0; + break + } + l = r + (i << 2) | 0; + m = e + (i << 2) | 0; + k = 0; + while (1) { + if ((k | 0) < (d | 0)) { + g = 0; + j = 0.0 + } else break; + while (1) { + if ((g | 0) >= (b | 0)) break; + s = +h[(c[l >> 2] | 0) + (g << 3) >> 3] * +(c[(c[a + (g << 2) >> 2] | 0) + (k << 2) >> 2] | 0) + j; + g = g + 1 | 0; + j = s + } + h[(c[m >> 2] | 0) + (k << 3) >> 3] = j; + k = k + 1 | 0 + } + i = i + 1 | 0 + } + while (1) { + if ((g | 0) >= (f | 0)) break; + D_(c[r + (g << 2) >> 2] | 0); + g = g + 1 | 0 + } + D_(r); + D_(p); + D_(c[q >> 2] | 0); + D_(q); + return + } + + function nt(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + f = l; + l = l + 32 | 0; + g = f + 16 | 0; + j = f + 20 | 0; + i = f + 12 | 0; + h = f + 8 | 0; + c[g >> 2] = e; + c[i >> 2] = 0; + c[h >> 2] = 0; + $u(c[a >> 2] | 0, d, d << 2, j); + Hs(c[j >> 2] | 0, a, d, b, i); + Gs(a, c[i >> 2] | 0, b, d, b, h); + D_(c[c[i >> 2] >> 2] | 0); + D_(c[i >> 2] | 0); + e = (ys(c[h >> 2] | 0, b, 1, g, f, 1) | 0) & 255; + l = f; + return e | 0 + } + + function ot() { + c[46143] = 0; + D_(c[46144] | 0); + D_(c[46145] | 0); + D_(c[46146] | 0); + c[46144] = 0; + c[46145] = 0; + c[46146] = 0; + return + } + + function pt(a) { + a = a | 0; + D_(c[a + 36 >> 2] | 0); + return + } + + function qt(b, d, e, f) { + b = b | 0; + d = d | 0; + e = +e; + f = +f; + var g = 0, i = 0, j = 0, k = 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 = l; + l = l + 80 | 0; + o = r + 64 | 0; + q = r + 68 | 0; + i = r + 48 | 0; + j = r + 32 | 0; + k = r + 16 | 0; + m = r; + n = d + 16 | 0; + g = c[n >> 2] | 0; + a:do if (!(c[g + 212 >> 2] | 0)) switch (HJ(d) | 0) { + case 1: { + g = c[n >> 2] | 0; + j = c[g + 12 >> 2] | 0; + k = c[j + 8 >> 2] | 0; + c[q >> 2] = k; + g = c[c[g + 8 >> 2] >> 2] | 0; + switch (a[g >> 0] | 0) { + case 98: { + if (!(b$(g, 105210) | 0)) p = 11; else p = 8; + break + } + case 112: { + if ((b$(g, 102695) | 0) == 0 ? (rt(c[j + 44 >> 2] | 0, k) | 0) != 0 : 0) p = 11; else p = 8; + break + } + default: + p = 8 + } + do if ((p | 0) == 8) if ((k | 0) < 3) { + c[b + 40 >> 2] = (c[j >> 2] | 0) == 0 ? 0 : 2; + p = 17; + break + } else { + g = b + 40 | 0; + c[g >> 2] = 0; + break + } else if ((p | 0) == 11) { + g = b + 40 | 0; + c[g >> 2] = 1; + if ((k | 0) <= 2) p = 17 + } while (0); + if ((p | 0) == 17) { + i = st(d, q, e, f) | 0; + p = 21; + break a + } + i = vH(k << 4) | 0; + j = j + 44 | 0; + if ((c[g >> 2] | 0) == 1) { + p = c[j >> 2] | 0; + s = e; + h[i >> 3] = +h[p >> 3] * .013888888888888888 + s; + e = f; + h[i + 8 >> 3] = +h[p + 8 >> 3] * .013888888888888888 + e; + h[i + 16 >> 3] = +h[p + 16 >> 3] * .013888888888888888 - s; + h[i + 24 >> 3] = +h[p + 24 >> 3] * .013888888888888888 + e; + h[i + 32 >> 3] = +h[p + 32 >> 3] * .013888888888888888 - s; + h[i + 40 >> 3] = +h[p + 40 >> 3] * .013888888888888888 - e; + h[i + 48 >> 3] = +h[p + 48 >> 3] * .013888888888888888 + s; + h[i + 56 >> 3] = +h[p + 56 >> 3] * .013888888888888888 - e; + p = 21; + break a + } + g = 0; + while (1) { + if ((g | 0) >= (k | 0)) { + p = 21; + break a + } + p = c[j >> 2] | 0; + u = +h[p + (g << 4) >> 3]; + s = +h[p + (g << 4) + 8 >> 3]; + t = +C(+(s * s + u * u)); + h[i + (g << 4) >> 3] = (e / t + 1.0) * u * .013888888888888888; + h[i + (g << 4) + 8 >> 3] = (f / t + 1.0) * s * .013888888888888888; + g = g + 1 | 0 + } + } + case 2: { + c[q >> 2] = 4; + p = vH(64) | 0; + d = c[(c[n >> 2] | 0) + 12 >> 2] | 0; + v = +h[d + 32 >> 3]; + t = +h[d + 40 >> 3]; + o = ~~+h[d + 16 >> 3]; + d = ~~+h[d + 24 >> 3]; + u = -e; + s = -f; + tt(i, o, d, u, s); + c[p >> 2] = c[i >> 2]; + c[p + 4 >> 2] = c[i + 4 >> 2]; + c[p + 8 >> 2] = c[i + 8 >> 2]; + c[p + 12 >> 2] = c[i + 12 >> 2]; + i = p + 16 | 0; + n = ~~v; + tt(j, n, d, e, s); + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + i = p + 32 | 0; + d = ~~t; + tt(k, n, d, e, f); + c[i >> 2] = c[k >> 2]; + c[i + 4 >> 2] = c[k + 4 >> 2]; + c[i + 8 >> 2] = c[k + 8 >> 2]; + c[i + 12 >> 2] = c[k + 12 >> 2]; + i = p + 48 | 0; + tt(m, o, d, u, f); + c[i >> 2] = c[m >> 2]; + c[i + 4 >> 2] = c[m + 4 >> 2]; + c[i + 8 >> 2] = c[m + 8 >> 2]; + c[i + 12 >> 2] = c[m + 12 >> 2]; + c[b + 40 >> 2] = 1; + i = p; + p = 21; + break a + } + case 3: { + c[b + 40 >> 2] = 2; + i = st(d, q, e, f) | 0; + p = 21; + break a + } + default: { + c[o >> 2] = c[c[(c[n >> 2] | 0) + 8 >> 2] >> 2]; + Pw(1, 92312, o) | 0; + g = 1; + break a + } + } else { + c[q >> 2] = 4; + u = +h[g + 32 >> 3] * .5 + e; + v = +h[g + 40 >> 3] * .5 + f; + c[b + 40 >> 2] = 1; + i = vH(64) | 0; + h[i >> 3] = u; + h[i + 8 >> 3] = v; + t = -u; + h[i + 16 >> 3] = t; + h[i + 24 >> 3] = v; + h[i + 32 >> 3] = t; + v = -v; + h[i + 40 >> 3] = v; + h[i + 48 >> 3] = u; + h[i + 56 >> 3] = v; + p = 21 + } while (0); + if ((p | 0) == 21) { + c[b + 36 >> 2] = i; + g = c[q >> 2] | 0; + c[b + 32 >> 2] = g; + ut(i, g, b, b + 16 | 0); + if ((g | 0) > (c[46143] | 0)) { + c[46143] = g; + g = 0 + } else g = 0 + } + l = r; + return g | 0 + } + + function rt(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + do if ((b | 0) == 4) { + c = +h[a + 8 >> 3]; + b = a + 16 | 0; + d = +h[a + 24 >> 3]; + if (c == d) { + if (!(+h[a + 40 >> 3] == +h[a + 56 >> 3])) { + b = 0; + break + } + if (!(+h[a >> 3] == +h[a + 48 >> 3])) { + b = 0; + break + } + b = +h[b >> 3] == +h[a + 32 >> 3]; + break + } + if ((+h[a >> 3] == +h[b >> 3] ? +h[a + 32 >> 3] == +h[a + 48 >> 3] : 0) ? c == +h[a + 56 >> 3] : 0) b = d == +h[a + 40 >> 3]; else b = 0 + } else b = 0; while (0); + return b & 1 | 0 + } + + function st(a, b, d, e) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + var f = 0, g = 0.0, i = 0, j = 0, k = 0.0, l = 0; + f = xx(a, 99679) | 0; + if (!f) f = 0; else f = a2(f) | 0; + i = (f | 0) < 3 ? 20 : f; + j = vH(i << 4) | 0; + a = a + 16 | 0; + g = 1.0 / +(i | 0); + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) break; + l = c[a >> 2] | 0; + k = g * +(f | 0) * 6.283185307179586; + h[j + (f << 4) >> 3] = (+h[l + 32 >> 3] * .5 + d) * +E(+k); + h[j + (f << 4) + 8 >> 3] = (+h[l + 40 >> 3] * .5 + e) * +F(+k); + f = f + 1 | 0 + } + c[b >> 2] = i; + return j | 0 + } + + function tt(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = +e; + h[a >> 3] = +(b | 0) * .013888888888888888 + d; + h[a + 8 >> 3] = +(c | 0) * .013888888888888888 + e; + return + } + + function ut(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0.0, m = 0.0; + j = +h[a >> 3]; + i = +h[a + 8 >> 3]; + e = 1; + f = i; + g = j; + while (1) { + if ((e | 0) >= (b | 0)) break; + k = a + 16 | 0; + l = +h[k >> 3]; + m = +h[a + 24 >> 3]; + e = e + 1 | 0; + f = m > f ? m : f; + g = l > g ? l : g; + i = m < i ? m : i; + j = l < j ? l : j; + a = k + } + h[c >> 3] = j; + h[c + 8 >> 3] = i; + h[d >> 3] = g; + h[d + 8 >> 3] = f; + return + } + + function vt(b, d, e, f) { + b = b | 0; + d = d | 0; + e = +e; + f = +f; + var g = 0, i = 0, j = 0, k = 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 = l; + l = l + 80 | 0; + n = r + 64 | 0; + p = r + 68 | 0; + i = r + 48 | 0; + j = r + 32 | 0; + k = r + 16 | 0; + m = r; + o = d + 16 | 0; + g = c[o >> 2] | 0; + a:do if (!(c[g + 212 >> 2] | 0)) switch (HJ(d) | 0) { + case 1: { + m = c[(c[o >> 2] | 0) + 12 >> 2] | 0; + n = m + 8 | 0; + k = c[n >> 2] | 0; + c[p >> 2] = k; + b:do if ((k | 0) > 2) { + i = vH(k << 4) | 0; + j = m + 44 | 0; + g = 0; + while (1) { + if ((g | 0) >= (k | 0)) break b; + d = c[j >> 2] | 0; + h[i + (g << 4) >> 3] = +h[d + (g << 4) >> 3] * .013888888888888888; + h[i + (g << 4) + 8 >> 3] = +h[d + (g << 4) + 8 >> 3] * .013888888888888888; + g = g + 1 | 0 + } + } else i = st(d, p, 0.0, 0.0) | 0; while (0); + g = c[c[(c[o >> 2] | 0) + 8 >> 2] >> 2] | 0; + switch (a[g >> 0] | 0) { + case 98: { + if (!(b$(g, 105210) | 0)) g = 1; else q = 13; + break + } + case 112: { + if ((b$(g, 102695) | 0) == 0 ? (rt(i, c[p >> 2] | 0) | 0) != 0 : 0) g = 1; else q = 13; + break + } + default: + q = 13 + } + do if ((q | 0) == 13) { + if ((c[n >> 2] | 0) < 3 ? c[m >> 2] | 0 : 0) { + g = 2; + break + } + g = 0 + } while (0); + c[b + 40 >> 2] = g; + q = 20; + break a + } + case 2: { + c[p >> 2] = 4; + q = vH(64) | 0; + o = c[(c[o >> 2] | 0) + 12 >> 2] | 0; + t = +h[o + 16 >> 3]; + v = +h[o + 24 >> 3]; + u = +h[o + 32 >> 3]; + s = +h[o + 40 >> 3]; + wt(i, t, v); + c[q >> 2] = c[i >> 2]; + c[q + 4 >> 2] = c[i + 4 >> 2]; + c[q + 8 >> 2] = c[i + 8 >> 2]; + c[q + 12 >> 2] = c[i + 12 >> 2]; + i = q + 16 | 0; + wt(j, u, v); + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + i = q + 32 | 0; + wt(k, u, s); + c[i >> 2] = c[k >> 2]; + c[i + 4 >> 2] = c[k + 4 >> 2]; + c[i + 8 >> 2] = c[k + 8 >> 2]; + c[i + 12 >> 2] = c[k + 12 >> 2]; + i = q + 48 | 0; + wt(m, t, s); + c[i >> 2] = c[m >> 2]; + c[i + 4 >> 2] = c[m + 4 >> 2]; + c[i + 8 >> 2] = c[m + 8 >> 2]; + c[i + 12 >> 2] = c[m + 12 >> 2]; + c[b + 40 >> 2] = 1; + i = q; + q = 20; + break a + } + case 3: { + c[b + 40 >> 2] = 2; + i = st(d, p, 0.0, 0.0) | 0; + q = 20; + break a + } + default: { + c[n >> 2] = c[c[(c[o >> 2] | 0) + 8 >> 2] >> 2]; + Pw(1, 92348, n) | 0; + g = 1; + break a + } + } else { + c[p >> 2] = 4; + u = +h[g + 32 >> 3] * .5; + v = +h[g + 40 >> 3] * .5; + c[b + 40 >> 2] = 1; + i = vH(64) | 0; + h[i >> 3] = u; + h[i + 8 >> 3] = v; + t = -u; + h[i + 16 >> 3] = t; + h[i + 24 >> 3] = v; + h[i + 32 >> 3] = t; + v = -v; + h[i + 40 >> 3] = v; + h[i + 48 >> 3] = u; + h[i + 56 >> 3] = v; + q = 20 + } while (0); + if ((q | 0) == 20) { + g = c[p >> 2] | 0; + if (e != 1.0 | f != 1.0) xt(i, g, e, f); + c[b + 36 >> 2] = i; + c[b + 32 >> 2] = g; + ut(i, g, b, b + 16 | 0); + if ((g | 0) > (c[46143] | 0)) { + c[46143] = g; + g = 0 + } else g = 0 + } + l = r; + return g | 0 + } + + function wt(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b * .013888888888888888; + h[a + 8 >> 3] = c * .013888888888888888; + return + } + + function xt(a, b, c, d) { + a = a | 0; + b = b | 0; + c = +c; + d = +d; + var e = 0, f = 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + h[a >> 3] = +h[a >> 3] * c; + f = a + 8 | 0; + h[f >> 3] = +h[f >> 3] * d; + a = a + 16 | 0; + e = e + 1 | 0 + } + return + } + + function yt(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0.0, + u = 0.0, v = 0; + r = l; + l = l + 128 | 0; + o = r + 112 | 0; + n = r + 96 | 0; + m = r + 80 | 0; + f = r + 64 | 0; + p = r + 48 | 0; + q = r + 32 | 0; + j = r + 16 | 0; + k = r; + 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[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]; + xr(p, n, o); + g = b + 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[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]; + xr(q, n, o); + 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[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]; + xr(j, n, o); + i = e + 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[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]; + xr(k, n, o); + c[f >> 2] = c[p >> 2]; + c[f + 4 >> 2] = c[p + 4 >> 2]; + c[f + 8 >> 2] = c[p + 8 >> 2]; + c[f + 12 >> 2] = c[p + 12 >> 2]; + c[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[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 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]; + do if (zt(f, m, n, o) | 0) { + f = c[b + 40 >> 2] | 0; + if (f & 1 | 0 ? c[e + 40 >> 2] & 1 | 0 : 0) { + f = 1; + break + } + if (f & 2 | 0 ? c[e + 40 >> 2] & 2 | 0 : 0) { + s = +h[g >> 3] - +h[b >> 3] + +h[i >> 3] - +h[e >> 3]; + t = +h[a >> 3] - +h[d >> 3]; + u = +h[a + 8 >> 3] - +h[d + 8 >> 3]; + f = !(u * u + t * t > s * s * .25); + break + } + f = c[46144] | 0; + if (!f) { + c[46144] = vH(c[46143] << 4) | 0; + i = vH(c[46143] << 4) | 0; + c[46145] = i; + f = c[46144] | 0 + } else i = c[46145] | 0; + v = c[b + 36 >> 2] | 0; + b = b + 32 | 0; + g = c[b >> 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]; + At(v, g, o, f); + a = c[e + 36 >> 2] | 0; + g = e + 32 | 0; + e = c[g >> 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]; + At(a, e, o, i); + if (!(Bt(f, i, c[b >> 2] | 0, c[g >> 2] | 0) | 0)) { + f = c[46144] | 0; + c[m >> 2] = c[f >> 2]; + c[m + 4 >> 2] = c[f + 4 >> 2]; + c[m + 8 >> 2] = c[f + 8 >> 2]; + c[m + 12 >> 2] = c[f + 12 >> 2]; + c[n >> 2] = c[j >> 2]; + c[n + 4 >> 2] = c[j + 4 >> 2]; + c[n + 8 >> 2] = c[j + 8 >> 2]; + c[n + 12 >> 2] = c[j + 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]; + if (Ct(m, n, o) | 0 ? (k = c[46145] | 0, v = c[g >> 2] | 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], Dt(k, v, o) | 0) : 0) { + f = 1; + break + } + f = c[46145] | 0; + c[m >> 2] = c[f >> 2]; + c[m + 4 >> 2] = c[f + 4 >> 2]; + c[m + 8 >> 2] = c[f + 8 >> 2]; + c[m + 12 >> 2] = c[f + 12 >> 2]; + c[n >> 2] = c[p >> 2]; + c[n + 4 >> 2] = c[p + 4 >> 2]; + c[n + 8 >> 2] = c[p + 8 >> 2]; + c[n + 12 >> 2] = c[p + 12 >> 2]; + 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]; + if (!(Ct(m, n, o) | 0)) f = 0; else { + q = c[46144] | 0; + v = c[b >> 2] | 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]; + f = (Dt(q, v, o) | 0) != 0 + } + } else f = 1 + } else f = 0; while (0); + l = r; + return f & 1 | 0 + } + + function zt(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) a = +h[c + 8 >> 3] <= +h[b + 8 >> 3] & 1; else a = 0; + return a | 0 + } + + function At(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + f = c + 8 | 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + h[d >> 3] = +h[c >> 3] + +h[a >> 3]; + h[d + 8 >> 3] = +h[f >> 3] + +h[a + 8 >> 3]; + e = e + 1 | 0; + a = a + 16 | 0; + d = d + 16 | 0 + } + return + } + + function Bt(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, 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 = l; + l = l + 112 | 0; + s = A + 96 | 0; + r = A + 80 | 0; + q = A + 64 | 0; + p = A + 48 | 0; + u = A + 32 | 0; + v = A + 16 | 0; + w = A; + x = d + -1 | 0; + y = e + -1 | 0; + z = d << 1; + t = e << 1; + f = 0; + g = 0; + h = 0; + i = 0; + while (1) { + B = a + (f << 4) | 0; + C = a + (((x + f | 0) % (d | 0) | 0) << 4) | 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]; + c[s >> 2] = c[C >> 2]; + c[s + 4 >> 2] = c[C + 4 >> 2]; + c[s + 8 >> 2] = c[C + 8 >> 2]; + c[s + 12 >> 2] = c[C + 12 >> 2]; + wr(u, r, s); + o = b + (g << 4) | 0; + n = b + (((y + g | 0) % (e | 0) | 0) << 4) | 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]; + wr(v, r, s); + c[q >> 2] = c[45770]; + c[q + 4 >> 2] = c[45771]; + c[q + 8 >> 2] = c[45772]; + c[q + 12 >> 2] = c[45773]; + c[r >> 2] = c[u >> 2]; + c[r + 4 >> 2] = c[u + 4 >> 2]; + c[r + 8 >> 2] = c[u + 8 >> 2]; + c[r + 12 >> 2] = c[u + 12 >> 2]; + c[s >> 2] = c[v >> 2]; + c[s + 4 >> 2] = c[v + 4 >> 2]; + c[s + 8 >> 2] = c[v + 8 >> 2]; + c[s + 12 >> 2] = c[v + 12 >> 2]; + j = +yr(q, r, s); + c[q >> 2] = c[C >> 2]; + c[q + 4 >> 2] = c[C + 4 >> 2]; + c[q + 8 >> 2] = c[C + 8 >> 2]; + c[q + 12 >> 2] = c[C + 12 >> 2]; + c[r >> 2] = c[B >> 2]; + c[r + 4 >> 2] = c[B + 4 >> 2]; + c[r + 8 >> 2] = c[B + 8 >> 2]; + c[r + 12 >> 2] = c[B + 12 >> 2]; + c[s >> 2] = c[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]; + k = zr(q, r, s) | 0; + c[q >> 2] = c[n >> 2]; + c[q + 4 >> 2] = c[n + 4 >> 2]; + c[q + 8 >> 2] = c[n + 8 >> 2]; + c[q + 12 >> 2] = c[n + 12 >> 2]; + c[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[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]; + m = zr(q, r, s) | 0; + c[p >> 2] = c[C >> 2]; + c[p + 4 >> 2] = c[C + 4 >> 2]; + c[p + 8 >> 2] = c[C + 8 >> 2]; + c[p + 12 >> 2] = c[C + 12 >> 2]; + 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[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]; + if (Ar(p, q, r, s, w) | 0) { + f = 1; + break + } + n = (k | 0) == 0; + o = (m | 0) == 0; + do if (j != 0.0 | (m | k | 0) != 0) if (!(j >= 0.0)) if (o) { + f = (f + 1 | 0) % (d | 0) | 0; + h = h + 1 | 0; + break + } else { + g = (g + 1 | 0) % (e | 0) | 0; + i = i + 1 | 0; + break + } else if (n) { + g = (g + 1 | 0) % (e | 0) | 0; + i = i + 1 | 0; + break + } else { + f = (f + 1 | 0) % (d | 0) | 0; + h = h + 1 | 0; + break + } else { + f = (f + 1 | 0) % (d | 0) | 0; + h = h + 1 | 0 + } while (0); + if (!((i | 0) < (t | 0) & ((h | 0) < (z | 0) & ((i | 0) < (e | 0) | (h | 0) < (d | 0))))) { + f = 0; + break + } + } + l = A; + return f | 0 + } + + function Ct(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0; + e = +h[a >> 3]; + if ((e <= +h[c >> 3] ? e >= +h[b >> 3] : 0) ? (d = +h[a + 8 >> 3], d <= +h[c + 8 >> 3]) : 0) a = d >= +h[b + 8 >> 3] & 1; else a = 0; + return a | 0 + } + + function Dt(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0.0, k = 0.0, l = 0; + e = c[46146] | 0; + if (!e) { + e = vH(c[46143] << 4) | 0; + c[46146] = e + } + i = d + 8 | 0; + g = 0; + while (1) { + if ((g | 0) >= (b | 0)) break; + h[e + (g << 4) >> 3] = +h[a + (g << 4) >> 3] - +h[d >> 3]; + h[e + (g << 4) + 8 >> 3] = +h[a + (g << 4) + 8 >> 3] - +h[i >> 3]; + g = g + 1 | 0 + } + d = b + -1 | 0; + f = 0.0; + a = 0; + a:while (1) { + if ((a | 0) >= (b | 0)) { + l = 19; + break + } + g = (d + a | 0) % (b | 0) | 0; + j = +h[e + (a << 4) + 8 >> 3]; + i = j == 0.0; + if (i ? +h[e + (g << 4) + 8 >> 3] == 0.0 : 0) { + if (+h[e + (g << 4) >> 3] * +h[e + (a << 4) >> 3] < 0.0) { + e = 1; + break + } + } else l = 11; + do if ((l | 0) == 11) { + l = 0; + k = +h[e + (g << 4) + 8 >> 3]; + if (!(j >= 0.0) | !(k <= 0.0) ? !(k >= 0.0) | !(j <= 0.0) : 0) break; + j = (k * +h[e + (a << 4) >> 3] - j * +h[e + (g << 4) >> 3]) / (k - j); + if (j == 0.0) { + e = 1; + break a + } + if (j > 0.0) if (k == 0.0 | i) { + f = f + .5; + break + } else { + f = f + 1.0; + break + } + } while (0); + a = a + 1 | 0 + } + if ((l | 0) == 19) e = ((~~f | 0) % 2 | 0 | 0) == 1 & 1; + return e | 0 + } + + function Et(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = vH(b << 2) | 0; + i = O(b, b) | 0; + d = vH(i << 2) | 0; + c[j >> 2] = d; + at(i, 0.0, d); + d = 1; + while (1) { + if ((d | 0) >= (b | 0)) { + d = 0; + g = 0; + i = b; + break + } + c[j + (d << 2) >> 2] = (c[j >> 2] | 0) + ((O(d, b) | 0) << 2); + d = d + 1 | 0 + } + while (1) { + if ((g | 0) >= (b | 0)) break; + h = j + (g << 2) | 0; + e = g; + f = d; + while (1) { + if ((e | 0) == (b | 0)) break; + k = c[a + (f << 2) >> 2] | 0; + c[(c[h >> 2] | 0) + (e << 2) >> 2] = k; + c[(c[j + (e << 2) >> 2] | 0) + (g << 2) >> 2] = k; + e = e + 1 | 0; + f = f + 1 | 0 + } + d = d + i | 0; + g = g + 1 | 0; + i = i + -1 | 0 + } + return j | 0 + } + + function Ft(a, b, d, e, f, h, i, j) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + h = h | 0; + i = i | 0; + j = +j; + var k = 0.0, l = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0.0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0.0, z = 0, A = 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 = c[d + (f << 2) >> 2] | 0; + C = c[a + 4 >> 2] | 0; + D = c[a >> 2] | 0; + E = c[a + 48 >> 2] | 0; + F = c[a + 52 >> 2] | 0; + G = c[a + 56 >> 2] | 0; + a:do if ((h | 0) < 1) d = 0; else { + Ht(M, C, E, F, G, j); + H = c[a + 28 >> 2] | 0; + I = c[a + 32 >> 2] | 0; + J = c[a + 36 >> 2] | 0; + K = c[a + 12 >> 2] | 0; + L = c[a + 16 >> 2] | 0; + f = 0; + e = 0; + d = -1; + while (1) { + if ((f | 0) >= (C | 0)) break; + if ((f | 0) >= (e | 0)) { + d = d + 1 | 0; + if ((d | 0) == (G | 0)) { + e = C; + d = G + } else e = c[F + (d << 2) >> 2] | 0 + } + c[L + (c[E + (f << 2) >> 2] << 2) >> 2] = d; + f = f + 1 | 0 + } + z = c[a + 40 >> 2] | 0; + A = I + (C + -1 << 2) | 0; + d = 0; + e = 0; + while (1) { + if (e << 24 >> 24 == 0 & (d | 0) < (h | 0)) { + k = -1.0e9; + f = 0; + e = 1 + } else break a; + b:while (1) { + x = f; + while (1) { + if ((x | 0) >= (C | 0)) break b; + f = c[E + (x << 2) >> 2] | 0; + y = +g[M + (f << 2) >> 2]; + l = y; + w = x; + m = 0.0; + while (1) { + g[z + (f << 2) >> 2] = m; + f = w + 1 | 0; + if ((f | 0) >= (C | 0)) { + v = 0; + break + } + l = (c[L + (f << 2) >> 2] | 0) > (c[L + (w << 2) >> 2] | 0) ? l + j : l; + a = c[E + (f << 2) >> 2] | 0; + m = +g[M + (a << 2) >> 2]; + if (+B(+(m - l)) > 1.0e-09) { + v = 1; + break + } + w = f; + m = m - y; + f = a + } + n = x; + while (1) { + if ((n | 0) > (w | 0)) { + a = 0; + o = x; + break + } + o = c[E + (n << 2) >> 2] | 0; + p = c[D + (o << 2) >> 2] | 0; + a = 0; + l = -+g[b + (o << 2) >> 2]; + while (1) { + if ((a | 0) >= (C | 0)) break; + if ((a | 0) != (o | 0)) l = +g[M + (a << 2) >> 2] * +g[p + (a << 2) >> 2] + l; + a = a + 1 | 0 + } + g[H + (o << 2) >> 2] = l / -+g[p + (o << 2) >> 2] - +g[z + (o << 2) >> 2]; + n = n + 1 | 0 + } + c:while (1) { + if ((o | 0) > (w | 0)) { + m = 0.0; + q = 0.0; + r = 0; + break + } + n = c[L + (c[E + (o << 2) >> 2] << 2) >> 2] | 0; + if ((n | 0) == (G | 0)) r = f; else { + r = c[F + (n << 2) >> 2] | 0; + r = (f | 0) < (r | 0) ? f : r + } + p = o; + while (1) { + if ((p | 0) >= (r | 0)) { + p = o; + break + } + n = c[E + (p << 2) >> 2] | 0; + if (+g[H + (n << 2) >> 2] < y) { + c[K + (a << 2) >> 2] = n; + a = a + 1 | 0 + } + p = p + 1 | 0 + } + while (1) { + if ((p | 0) >= (r | 0)) break; + n = c[E + (p << 2) >> 2] | 0; + if (+g[H + (n << 2) >> 2] == y) { + c[K + (a << 2) >> 2] = n; + a = a + 1 | 0 + } + p = p + 1 | 0 + } + while (1) { + if ((o | 0) >= (r | 0)) { + o = r; + continue c + } + n = c[E + (o << 2) >> 2] | 0; + if (+g[H + (n << 2) >> 2] > y) { + c[K + (a << 2) >> 2] = n; + a = a + 1 | 0 + } + o = o + 1 | 0 + } + } + while (1) { + if ((r | 0) >= (a | 0)) break; + o = c[K + (r << 2) >> 2] | 0; + p = c[D + (o << 2) >> 2] | 0; + l = 0.0; + n = 0; + while (1) { + if ((n | 0) == (r | 0)) break; + l = l - +g[p + (c[K + (n << 2) >> 2] << 2) >> 2]; + n = n + 1 | 0 + } + N = l * 2.0; + u = p + (o << 2) | 0; + s = +g[u >> 2]; + l = N + m; + s = (N * y + m * q - +g[H + (o << 2) >> 2] * s) / (l - s); + g[I + (r << 2) >> 2] = s; + m = l - +g[u >> 2]; + q = s; + r = r + 1 | 0 + } + p = (a | 0) == (C | 0); + if (p) g[A >> 2] = y; + u = a + -1 | 0; + m = 0.0; + q = 0.0; + o = u; + while (1) { + if ((o | 0) <= -1) break; + r = c[K + (o << 2) >> 2] | 0; + t = c[D + (r << 2) >> 2] | 0; + l = 0.0; + n = o; + while (1) { + n = n + 1 | 0; + if ((n | 0) >= (a | 0)) break; + l = l - +g[t + (c[K + (n << 2) >> 2] << 2) >> 2] + } + l = l * 2.0; + t = t + (r << 2) | 0; + N = +g[t >> 2]; + s = l + m; + N = (l * y + m * q - +g[H + (r << 2) >> 2] * N) / (s - N); + g[J + (o << 2) >> 2] = N; + m = s - +g[t >> 2]; + q = N; + o = o + -1 | 0 + } + if (p) { + g[J >> 2] = y; + s = 0.0; + n = -1; + p = 0 + } else { + s = 0.0; + n = -1; + p = 0 + } + while (1) { + if ((a | 0) <= (p | 0)) break; + q = +g[J + (p << 2) >> 2]; + if ((p | 0) > 0) l = +g[I + (p + -1 << 2) >> 2]; else l = q; + do if (q < l) { + o = l > y; + if (q < y) { + l = o ? y : l; + m = l; + break + } + if (o) { + m = q; + l = q + } else m = q + } else m = q; while (0); + N = +B(+(m - y)) * +(a - p | 0) + +B(+(l - y)) * +(p | 0); + t = N > s; + s = t ? N : s; + n = t ? p : n; + p = p + 1 | 0 + } + if ((n | 0) > -1) break; + if (v ? (c[L + (c[E + (f << 2) >> 2] << 2) >> 2] | 0) > (c[L + (c[E + (w << 2) >> 2] << 2) >> 2] | 0) : 0) { + k = +g[M + (c[K + (u << 2) >> 2] << 2) >> 2] + j; + x = f; + continue + } + k = +g[M + (c[K + (u << 2) >> 2] << 2) >> 2]; + x = f + } + m = +g[J + (n << 2) >> 2]; + if (!n) q = m; else q = +g[I + (n + -1 << 2) >> 2]; + if (v) { + t = c[E + (f << 2) >> 2] | 0; + l = +g[M + (t << 2) >> 2]; + l = ((c[L + (t << 2) >> 2] | 0) > (c[L + (c[E + (w << 2) >> 2] << 2) >> 2] | 0) ? l - j : l) - +g[z + (c[K + (u << 2) >> 2] << 2) >> 2] + } else l = 1.0e9; + l = m < l ? m : l; + k = q > k ? q : k; + do if (l < k) { + o = k > y; + if (l < y) { + l = o ? y : k; + m = l; + break + } + if (o) m = l; else { + m = l; + l = k + } + } else { + m = l; + l = k + } while (0); + o = 0; + while (1) { + if ((o | 0) >= (n | 0)) break; + t = c[K + (o << 2) >> 2] | 0; + g[M + (t << 2) >> 2] = +g[z + (t << 2) >> 2] + l; + o = o + 1 | 0 + } + while (1) { + if ((n | 0) >= (a | 0)) break; + t = c[K + (n << 2) >> 2] | 0; + g[M + (t << 2) >> 2] = +g[z + (t << 2) >> 2] + m; + n = n + 1 | 0 + } + if (v ? (c[L + (c[E + (f << 2) >> 2] << 2) >> 2] | 0) > (c[L + (c[E + (w << 2) >> 2] << 2) >> 2] | 0) : 0) k = +g[M + (c[K + (u << 2) >> 2] << 2) >> 2] + j; else k = +g[M + (c[K + (u << 2) >> 2] << 2) >> 2]; + a = x; + while (1) { + if ((a | 0) > (w | 0)) break; + c[E + (a << 2) >> 2] = c[K + (a - x << 2) >> 2]; + a = a + 1 | 0 + } + if (e << 24 >> 24 != 0 ? +B(+(l - y)) < .01 : 0) e = +B(+(m - y)) < .01; else e = 0; + e = e & 1 + } + Ts(C, M); + Gt(M, E, F, G, i); + d = d + 1 | 0 + } + } while (0); + return d | 0 + } + + function Gt(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + g = 0; + while (1) { + if ((g | 0) >= (e | 0)) break; + c[f + (g << 2) >> 2] = c[a + (c[b + ((c[d + (g << 2) >> 2] | 0) + -1 << 2) >> 2] << 2) >> 2]; + g = g + 1 | 0 + } + return + } + + function Ht(a, b, d, e, f, h) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + h = +h; + var i = 0.0, j = 0, k = 0, l = 0, m = 0; + i = -1.0e9; + k = 0; + j = -1; + m = 0; + while (1) { + if ((m | 0) >= (b | 0)) break; + if ((m | 0) < (k | 0)) l = k; else { + j = j + 1 | 0; + if ((j | 0) == (f | 0)) k = b; else k = c[e + (j << 2) >> 2] | 0; + if ((m | 0) > 0) i = +g[a + (c[d + (m + -1 << 2) >> 2] << 2) >> 2] + h; else i = -1.0e9; + hs(a, d, m, k + -1 | 0); + l = k + } + k = a + (c[d + (m << 2) >> 2] << 2) | 0; + if (+g[k >> 2] < i) g[k >> 2] = i; + k = l; + m = m + 1 | 0 + } + return + } + + function It(a) { + a = a | 0; + D_(c[c[a >> 2] >> 2] | 0); + D_(c[a >> 2] | 0); + D_(c[a + 8 >> 2] | 0); + D_(c[a + 28 >> 2] | 0); + D_(c[a + 32 >> 2] | 0); + D_(c[a + 36 >> 2] | 0); + D_(c[a + 40 >> 2] | 0); + D_(c[a + 12 >> 2] | 0); + D_(c[a + 16 >> 2] | 0); + D_(c[a + 20 >> 2] | 0); + D_(c[a + 24 >> 2] | 0); + D_(a); + return + } + + function Jt(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; + k = vH(60) | 0; + c[k >> 2] = 0; + l = k + 4 | 0; + c[l >> 2] = b; + c[k + 48 >> 2] = d; + c[k + 52 >> 2] = e; + c[k + 56 >> 2] = f; + c[k >> 2] = Et(a, b) | 0; + i = b << 2; + j = vH(i) | 0; + c[k + 8 >> 2] = j; + h = 0; + b = 0; + a = -1; + while (1) { + if ((h | 0) >= (c[l >> 2] | 0)) break; + g = a + 1 | 0; + if ((h | 0) >= (b | 0)) { + b = c[((g | 0) == (f | 0) ? l : e + (g << 2) | 0) >> 2] | 0; + a = g + } + c[j + (c[d + (h << 2) >> 2] << 2) >> 2] = a; + h = h + 1 | 0 + } + c[k + 28 >> 2] = vH(i) | 0; + c[k + 32 >> 2] = vH(i) | 0; + c[k + 36 >> 2] = vH(i) | 0; + c[k + 40 >> 2] = vH(i) | 0; + c[k + 12 >> 2] = vH(i) | 0; + c[k + 16 >> 2] = vH(i) | 0; + c[k + 20 >> 2] = vH(i) | 0; + c[k + 24 >> 2] = vH(i) | 0; + return k | 0 + } + + function Kt() { + gt(184592, 24); + c[46151] = 0; + return + } + + function Lt() { + return it(184592) | 0 + } + + function Mt(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a >> 3] - +h[b >> 3]; + d = +h[a + 8 >> 3] - +h[b + 8 >> 3]; + return +(+C(+(d * d + c * c))) + } + + function Nt(a) { + a = a | 0; + var b = 0; + b = c[46151] | 0; + c[a + 16 >> 2] = b; + c[46151] = b + 1; + return + } + + function Ot(a) { + a = a | 0; + var b = 0, d = 0; + d = a + 20 | 0; + b = (c[d >> 2] | 0) + -1 | 0; + c[d >> 2] = b; + if (!b) jt(a, 184592); + return + } + + function Pt(a) { + a = a | 0; + a = a + 20 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + return + } + + function Qt(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + var i = 0.0, j = 0, k = 0, m = 0, n = 0.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; + x = l; + l = l + 16 | 0; + o = x; + c[o >> 2] = e; + q = b << 2; + v = vH(q) | 0; + m = b << 3; + w = vH(m) | 0; + u = as(a, b) | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + k = u + (a << 2) | 0; + j = 0; + while (1) { + if ((j | 0) == (b | 0)) break; + s = (c[k >> 2] | 0) + (j << 2) | 0; + c[s >> 2] = c[s >> 2] << 8; + j = j + 1 | 0 + } + a = a + 1 | 0 + } + if (!d) qa(92381, 92389, 283, 92403); + s = vH(m) | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + h[s + (a << 3) >> 3] = +h[d + (a << 3) >> 3]; + a = a + 1 | 0 + } + Rt(s, b); + i = 0.0; + n = 0.0; + m = 1; + while (1) { + if ((m | 0) >= (b | 0)) break; + j = u + (m << 2) | 0; + k = d + (m << 3) | 0; + a = 0; + while (1) { + if ((a | 0) == (m | 0)) break; + y = c[(c[j >> 2] | 0) + (a << 2) >> 2] | 0; + r = +h[k >> 3] - +h[d + (a << 3) >> 3]; + i = r * r * (1.0 / +(O(y, y) | 0)) + i; + n = +B(+r) * (1.0 / +(y | 0)) + n; + a = a + 1 | 0 + } + m = m + 1 | 0 + } + r = n / i; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + y = d + (a << 3) | 0; + h[y >> 3] = +h[y >> 3] * r; + a = a + 1 | 0 + } + St(b, o, f, d, u); + k = vH(O(q, b) | 0) | 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) { + k = 1; + break + } + m = k + ((O(j, b) | 0) << 2) | 0; + c[v + (j << 2) >> 2] = m; + o = u + (j << 2) | 0; + i = 0.0; + a = 0; + while (1) { + if ((a | 0) == (b | 0)) break; + if ((a | 0) != (j | 0)) { + p = +(c[(c[o >> 2] | 0) + (a << 2) >> 2] | 0); + p = -1.0 / (p * p); + g[m + (a << 2) >> 2] = p; + i = i - p + } + a = a + 1 | 0 + } + g[m + (j << 2) >> 2] = i; + j = j + 1 | 0 + } + while (1) { + if ((k | 0) >= (b | 0)) { + j = 0; + break + } + i = +h[d + (k << 3) >> 3]; + j = u + (k << 2) | 0; + a = 0; + while (1) { + if ((a | 0) == (k | 0)) break; + y = (c[j >> 2] | 0) + (a << 2) | 0; + n = +(c[y >> 2] | 0); + p = i - +h[d + (a << 3) >> 3]; + p = n * n - p * p; + q = ~~+C(+p); + q = p > 0.0 ? q : 0; + c[(c[u + (a << 2) >> 2] | 0) + (k << 2) >> 2] = q; + c[y >> 2] = q; + a = a + 1 | 0 + } + k = k + 1 | 0 + } + while (1) { + if ((j | 0) >= (b | 0)) { + q = 0; + a = 0; + break + } + n = +h[e + (j << 3) >> 3]; + m = w + (j << 3) | 0; + h[m >> 3] = 0.0; + o = u + (j << 2) | 0; + k = v + (j << 2) | 0; + a = 0; + i = 0.0; + while (1) { + if ((a | 0) == (b | 0)) break; + if ((a | 0) != (j | 0)) { + p = +g[(c[k >> 2] | 0) + (a << 2) >> 2] * +(c[(c[o >> 2] | 0) + (a << 2) >> 2] | 0); + i = i + (n >= +h[e + (a << 3) >> 3] ? -p : p); + h[m >> 3] = i + } + a = a + 1 | 0 + } + j = j + 1 | 0 + } + while (1) { + if (!(a << 24 >> 24 == 0 & (q | 0) < 200)) { + t = 42; + break + } + if ((Eq(v, e, w, b, f, b, 1) | 0) < 0) { + a = 1; + break + } else { + a = 1; + o = 0 + } + while (1) { + if ((o | 0) >= (b | 0)) break; + p = +h[e + (o << 3) >> 3]; + k = u + (o << 2) | 0; + m = v + (o << 2) | 0; + i = 0.0; + j = 0; + while (1) { + if ((j | 0) == (b | 0)) break; + do if ((j | 0) != (o | 0)) { + n = +g[(c[m >> 2] | 0) + (j << 2) >> 2] * +(c[(c[k >> 2] | 0) + (j << 2) >> 2] | 0); + if (!(p >= +h[e + (j << 3) >> 3])) { + i = i + n; + break + } else { + i = i + -n; + break + } + } while (0); + j = j + 1 | 0 + } + j = w + (o << 3) | 0; + p = +h[j >> 3]; + if (i != p ? +B(+(1.0 - i / p)) > 1.0e-05 : 0) { + h[j >> 3] = i; + a = 0 + } + o = o + 1 | 0 + } + q = q + 1 | 0 + } + a:do if ((t | 0) == 42) { + i = 1.0 / r; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) { + a = 0; + break a + } + y = d + (a << 3) | 0; + h[y >> 3] = +h[y >> 3] * i; + y = e + (a << 3) | 0; + h[y >> 3] = +h[y >> 3] * i; + a = a + 1 | 0 + } + } while (0); + D_(c[u >> 2] | 0); + D_(u); + D_(c[v >> 2] | 0); + D_(v); + D_(s); + D_(w); + l = x; + return a | 0 + } + + function Rt(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0.0, e = 0.0, f = 0; + c = 0; + d = 0.0; + while (1) { + if ((c | 0) >= (b | 0)) break; + e = +h[a + (c << 3) >> 3] + d; + c = c + 1 | 0; + d = e + } + d = d / +(b | 0); + c = 0; + while (1) { + if ((c | 0) >= (b | 0)) break; + f = a + (c << 3) | 0; + h[f >> 3] = +h[f >> 3] - d; + c = c + 1 | 0 + } + f = b + -1 | 0; + Cs(a, 0, f, 1.0 / +Bs(a, 0, f), a); + return + } + + function St(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = +d; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = Tt(f, a) | 0; + l = vH(8) | 0; + if (!e) { + f = 0; + j = 0 + } else { + g = vH(a << 3) | 0; + f = 0; + while (1) { + if ((f | 0) >= (a | 0)) break; + h[g + (f << 3) >> 3] = +h[e + (f << 3) >> 3]; + f = f + 1 | 0 + } + Rt(g, a); + f = g; + j = g + } + Ut(k, a, b, l, f, d); + e = 0; + while (1) { + if ((e | 0) == 1) break; + g = l + (e << 3) | 0; + i = b + (e << 2) | 0; + f = 0; + while (1) { + if ((f | 0) >= (a | 0)) break; + d = +C(+(+B(+(+h[g >> 3])))); + m = (c[i >> 2] | 0) + (f << 3) | 0; + h[m >> 3] = +h[m >> 3] * d; + f = f + 1 | 0 + } + e = e + 1 | 0 + } + D_(c[k >> 2] | 0); + D_(k); + D_(l); + D_(j); + return + } + + function Tt(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, h = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + o = l; + l = l + 16 | 0; + f = o; + n = b << 2; + e = vH(O(n, b) | 0) | 0; + n = vH(n) | 0; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + c[n + (d << 2) >> 2] = e + ((O(d, b) | 0) << 2); + d = d + 1 | 0 + } + m = Wt(a, b, f) | 0; + h = +g[f >> 2]; + e = 0; + k = 1; + while (1) { + if ((e | 0) >= (b | 0)) break; + f = a + (e << 2) | 0; + i = m + (e << 2) | 0; + j = n + (e << 2) | 0; + d = 0; + while (1) { + if ((d | 0) == (k | 0)) break; + p = +(c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0); + p = +g[m + (d << 2) >> 2] + +g[i >> 2] - p * p - h; + g[(c[j >> 2] | 0) + (d << 2) >> 2] = p; + g[(c[n + (d << 2) >> 2] | 0) + (e << 2) >> 2] = p; + d = d + 1 | 0 + } + e = e + 1 | 0; + k = k + 1 | 0 + } + D_(m); + l = o; + return n | 0 + } + + function Ut(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = +g; + var i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0; + r = b << 3; + q = vH(r) | 0; + r = vH(r) | 0; + n = 1.0 - g; + o = (b | 0) < 1 ? b : 1; + p = b + -1 | 0; + k = (f | 0) == 0; + j = 0; + a:while (1) { + if ((j | 0) >= (o | 0)) break; + l = c[d + (j << 2) >> 2] | 0; + do { + i = 0; + while (1) { + if ((i | 0) == (b | 0)) break; + h[l + (i << 3) >> 3] = +((g2() | 0) % 100 | 0 | 0); + i = i + 1 | 0 + } + if (k) i = 0; else { + As(l, 0, p, -+zs(f, 0, p, l), f); + i = 0 + } + while (1) { + if ((i | 0) == (j | 0)) break; + s = d + (i << 2) | 0; + m = -+zs(c[s >> 2] | 0, 0, p, l); + As(l, 0, p, m, c[s >> 2] | 0); + i = i + 1 | 0 + } + g = +Bs(l, 0, p) + } while (g < 1.0e-10); + Cs(l, 0, p, 1.0 / g, l); + do { + Ds(r, 0, p, l); + Vt(a, b, b, l, q, f); + Ds(l, 0, p, q); + i = 0; + while (1) { + if ((i | 0) == (j | 0)) break; + s = d + (i << 2) | 0; + m = -+zs(c[s >> 2] | 0, 0, p, l); + As(l, 0, p, m, c[s >> 2] | 0); + i = i + 1 | 0 + } + g = +Bs(l, 0, p); + if (g < 1.0e-10) break a; + Cs(l, 0, p, 1.0 / g, l); + m = +zs(l, 0, p, r) + } while (+B(+m) < n); + h[e + (j << 3) >> 3] = m * g; + j = j + 1 | 0 + } + while (1) { + if ((j | 0) >= (o | 0)) break; + k = c[d + (j << 2) >> 2] | 0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) { + i = 0; + break + } + h[k + (i << 3) >> 3] = +((g2() | 0) % 100 | 0 | 0); + i = i + 1 | 0 + } + while (1) { + if ((i | 0) >= (j | 0)) break; + s = d + (i << 2) | 0; + n = -+zs(c[s >> 2] | 0, 0, p, k); + As(k, 0, p, n, c[s >> 2] | 0); + i = i + 1 | 0 + } + Cs(k, 0, p, 1.0 / +Bs(k, 0, p), k); + h[e + (j << 3) >> 3] = 0.0; + j = j + 1 | 0 + } + l = o + -1 | 0; + j = 0; + while (1) { + if ((j | 0) >= (l | 0)) break; + a = e + (j << 3) | 0; + f = j + 1 | 0; + g = +h[a >> 3]; + i = j; + k = f; + while (1) { + if ((k | 0) >= (o | 0)) break; + n = +h[e + (k << 3) >> 3]; + s = g < n; + g = s ? n : g; + i = s ? k : i; + k = k + 1 | 0 + } + if ((i | 0) == (j | 0)) { + j = f; + continue + } + b = d + (j << 2) | 0; + Ds(q, 0, p, c[b >> 2] | 0); + s = d + (i << 2) | 0; + Ds(c[b >> 2] | 0, 0, p, c[s >> 2] | 0); + Ds(c[s >> 2] | 0, 0, p, q); + h[e + (i << 3) >> 3] = +h[a >> 3]; + h[a >> 3] = g; + j = f + } + D_(q); + D_(r); + return + } + + function Vt(a, b, d, e, f, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, k = 0.0, l = 0, m = 0; + j = 0; + while (1) { + if ((j | 0) >= (b | 0)) break; + m = a + (j << 2) | 0; + k = 0.0; + l = 0; + while (1) { + if ((l | 0) >= (d | 0)) break; + k = +h[e + (l << 3) >> 3] * +g[(c[m >> 2] | 0) + (l << 2) >> 2] + k; + l = l + 1 | 0 + } + h[f + (j << 3) >> 3] = k; + j = j + 1 | 0 + } + j = b + -1 | 0; + if (i | 0) As(f, 0, j, -+zs(f, 0, j, i), i); + return + } + + function Wt(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, h = 0, i = 0, j = 0, k = 0.0, l = 0, m = 0.0; + j = vH(b << 2) | 0; + k = 1.0 / +(b | 0); + e = 0.0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) break; + l = a + (i << 2) | 0; + f = 0.0; + h = 0; + while (1) { + if ((h | 0) == (b | 0)) break; + m = +(c[(c[l >> 2] | 0) + (h << 2) >> 2] | 0); + m = m * m; + f = m + f; + h = h + 1 | 0; + e = m + e + } + g[j + (i << 2) >> 2] = k * f; + i = i + 1 | 0 + } + g[d >> 2] = e / +(O(b, b) | 0); + return j | 0 + } + + function Xt(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0.0, u = 0; + q = O(d, d) | 0; + r = vH(q << 3) | 0; + s = vH(d << 3) | 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + h[s + (e << 3) >> 3] = +h[c + (e << 3) >> 3]; + e = e + 1 | 0 + } + e = 0; + while (1) { + if ((e | 0) >= (q | 0)) break; + h[r + (e << 3) >> 3] = +h[a + (e << 3) >> 3]; + e = e + 1 | 0 + } + p = d + -1 | 0; + g = 0; + o = 0; + a:while (1) { + if ((o | 0) < (p | 0)) { + f = 0.0; + e = o + } else { + l = 21; + break + } + while (1) { + if ((e | 0) >= (d | 0)) break; + t = +B(+(+h[a + ((O(e, d) | 0) + o << 3) >> 3])); + m = t < f; + n = m ? g : e; + f = m ? f : t; + e = e + 1 | 0; + g = n + } + if (f < 1.0e-10) { + l = 33; + break + } + i = O(g, d) | 0; + n = O(o, d) | 0; + e = o; + while (1) { + if ((e | 0) >= (d | 0)) break; + l = a + (e + i << 3) | 0; + t = +h[l >> 3]; + m = a + (e + n << 3) | 0; + h[l >> 3] = +h[m >> 3]; + h[m >> 3] = t; + e = e + 1 | 0 + } + m = c + (g << 3) | 0; + t = +h[m >> 3]; + j = c + (o << 3) | 0; + h[m >> 3] = +h[j >> 3]; + h[j >> 3] = t; + m = o + 1 | 0; + k = a + (n + o << 3) | 0; + e = m; + while (1) { + if ((e | 0) >= (d | 0)) { + o = m; + continue a + } + l = O(e, d) | 0; + f = +h[a + (l + o << 3) >> 3] / +h[k >> 3]; + i = c + (e << 3) | 0; + h[i >> 3] = +h[i >> 3] - +h[j >> 3] * f; + i = 0; + while (1) { + if ((i | 0) >= (d | 0)) break; + u = a + (i + l << 3) | 0; + h[u >> 3] = +h[u >> 3] - +h[a + (i + n << 3) >> 3] * f; + i = i + 1 | 0 + } + e = e + 1 | 0 + } + } + if ((l | 0) == 21) { + f = +h[a + (q + -1 << 3) >> 3]; + if (+B(+f) < 1.0e-10) l = 33; else { + h[b + (p << 3) >> 3] = +h[c + (p << 3) >> 3] / f; + e = 0; + while (1) { + if ((e | 0) >= (p | 0)) { + e = 0; + break + } + g = d - e | 0; + i = g + -2 | 0; + f = +h[c + (i << 3) >> 3]; + j = b + (i << 3) | 0; + h[j >> 3] = f; + k = O(i, d) | 0; + g = g + -1 | 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + t = f - +h[b + (g << 3) >> 3] * +h[a + (g + k << 3) >> 3]; + h[j >> 3] = t; + g = g + 1 | 0; + f = t + } + h[j >> 3] = f / +h[a + (k + i << 3) >> 3]; + e = e + 1 | 0 + } + while (1) { + if ((e | 0) >= (d | 0)) { + e = 0; + break + } + h[c + (e << 3) >> 3] = +h[s + (e << 3) >> 3]; + e = e + 1 | 0 + } + while (1) { + if ((e | 0) >= (q | 0)) break; + h[a + (e << 3) >> 3] = +h[r + (e << 3) >> 3]; + e = e + 1 | 0 + } + D_(r); + D_(s) + } + } + if ((l | 0) == 33) { + k3(92418) | 0; + D_(r); + D_(s) + } + return + } + + function Yt(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0; + s = l; + l = l + 16 | 0; + r = s; + nr(); + Kt(); + Ir(); + c[46147] = jb[d & 3]() | 0; + Kr(); + q = r + 8 | 0; + p = jb[d & 3]() | 0; + e = 0.0; + f = 0.0; + a:while (1) { + n = (p | 0) == 0; + o = p + 8 | 0; + while (1) { + if (!(Er() | 0)) { + Fr(r); + e = +h[r >> 3]; + f = +h[q >> 3] + } + if (!n) { + if (Er() | 0) break; + g = +h[o >> 3]; + if (g < f) break; + if (g == f ? +h[p >> 3] < e : 0) break + } + if (Er() | 0) break a; + t = Gr() | 0; + b = Tr(t) | 0; + v = Sr(t) | 0; + i = Sr(v) | 0; + m = Ur(t) | 0; + u = Vr(v) | 0; + j = c[t + 20 >> 2] | 0; + Nt(j); + rr(c[t + 8 >> 2] | 0, a[t + 16 >> 0] | 0, j); + rr(c[v + 8 >> 2] | 0, a[v + 16 >> 0] | 0, j); + Rr(t); + Dr(v); + Rr(v); + v = +h[m + 8 >> 3] > +h[u + 8 >> 3]; + t = v & 1; + k = v ? u : m; + u = or(k, v ? m : u) | 0; + m = Lr(u, t) | 0; + Or(b, m); + rr(u, (t ^ 1) & 255, j); + Ot(j); + j = Mr(b, m) | 0; + if (j | 0) { + Dr(b); + Br(b, j, +Mt(j, k)) + } + b = Mr(m, i) | 0; + if (!b) continue; + Br(m, b, +Mt(b, k)) + } + b = Pr(p) | 0; + k = Sr(b) | 0; + i = or(Vr(b) | 0, p) | 0; + m = Lr(i, 0) | 0; + Or(b, m); + j = Mr(b, m) | 0; + if (j | 0) { + Dr(b); + Br(b, j, +Mt(j, p)) + } + i = Lr(i, 1) | 0; + Or(m, i); + b = Mr(i, k) | 0; + if (b | 0) Br(i, b, +Mt(b, p)); + p = jb[d & 3]() | 0 + } + b = c[46090] | 0; + while (1) { + b = Sr(b) | 0; + if ((b | 0) == (c[46091] | 0)) break; + pr(c[b + 8 >> 2] | 0) + } + l = s; + return + } + + function Zt(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + f = g + 8 | 0; + e = g; + do if ((ay(a) | 0) != 1) { + _t(a); + if (!b) b = $t(a) | 0; + d = au(a, b) | 0; + if (0) { + h = c[15686] | 0; + c[e >> 2] = ry(b) | 0; + c[e + 4 >> 2] = d; + g1(h, 92434, e) | 0 + } + if ((d | 0) < 0) { + Pw(1, 92468, f) | 0; + break + } else { + bu(a); + cu(a, b); + du(a, b); + eu(a, d); + break + } + } else { + h = c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + c[h >> 2] = 0; + c[h + 4 >> 2] = 0; + c[h + 8 >> 2] = 0; + c[h + 12 >> 2] = 0 + } while (0); + l = g; + return b | 0 + } + + function _t(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + d = ay(a) | 0; + d = O(d, d) | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + e = b + 16 | 0; + f = c[(c[e >> 2] | 0) + 112 >> 2] | 0; + g = f + 24 | 0; + c[g >> 2] = d; + c[g + 4 >> 2] = 0; + h[f + 48 >> 3] = 10.0; + f = (mu(a, b) | 0) == 0; + e = c[(c[e >> 2] | 0) + 112 >> 2] | 0; + c[e >> 2] = f ? d : 0; + c[e + 4 >> 2] = f ? 0 : 0; + b = Ty(a, b) | 0 + } + return + } + + function $t(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + e = (ay(a) | 0) < 3; + b = Sy(a) | 0; + a:do if (!e) { + while (1) { + if (!b) break; + e = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + if ((c[e >> 2] | 0) == 0 & (c[e + 4 >> 2] | 0) == 0) lu(a, b, 0); + b = Ty(a, b) | 0 + } + d = 0; + b = 0; + e = Sy(a) | 0; + while (1) { + if (!e) break a; + h = c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0; + g = c[h >> 2] | 0; + h = c[h + 4 >> 2] | 0; + f = ((d | 0) < 0) << 31 >> 31; + f = h >>> 0 > f >>> 0 | (h | 0) == (f | 0) & g >>> 0 > d >>> 0; + d = f ? g : d; + b = f ? e : b; + e = Ty(a, e) | 0 + } + } while (0); + return b | 0 + } + + function au(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + d = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + f = d + 24 | 0; + e = c[f >> 2] | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[d + 32 >> 2] = 0; + iu(a, b); + d = Sy(a) | 0; + e = y3(0, e | 0, 32) | 0; + f = z; + b = 0; + while (1) { + if (!d) break; + h = (c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0) + 24 | 0; + g = c[h >> 2] | 0; + h = c[h + 4 >> 2] | 0; + if ((g | 0) == (e | 0) & (h | 0) == (f | 0)) { + b = -1; + break + } + i = ((b | 0) < 0) << 31 >> 31; + b = h >>> 0 > i >>> 0 | (h | 0) == (i | 0) & g >>> 0 > b >>> 0 ? g : b; + d = Ty(a, d) | 0 + } + return b | 0 + } + + function bu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + e = b + 16 | 0; + a:do if ((c[e >> 2] | 0) == 0 & (c[e + 4 >> 2] | 0) == 0) while (1) { + e = b + 8 | 0; + f = e; + f = s3(c[f >> 2] | 0, c[f + 4 >> 2] | 0, 1, 0) | 0; + c[e >> 2] = f; + c[e + 4 >> 2] = z; + b = c[b + 32 >> 2] | 0; + if (!b) break a; + b = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0 + } while (0); + d = Ty(a, d) | 0 + } + return + } + + function cu(a, b) { + a = a | 0; + b = b | 0; + h[(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 40 >> 3] = 6.283185307179586; + hu(a, b); + return + } + + function du(a, b) { + a = a | 0; + b = b | 0; + h[(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 48 >> 3] = 0.0; + gu(a, b); + return + } + + function eu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0; + i = l; + l = l + 16 | 0; + f = i; + g = fu(a, b) | 0; + if (0) { + e = c[15686] | 0; + D1(92524, e) | 0; + d = 0; + while (1) { + if ((d | 0) > (b | 0)) break; + h[f >> 3] = +h[g + (d << 3) >> 3]; + g1(e, 92543, f) | 0; + d = d + 1 | 0 + } + D1(150517, e) | 0 + } + d = Sy(a) | 0; + while (1) { + if (!d) break; + f = c[d + 16 >> 2] | 0; + e = c[f + 112 >> 2] | 0; + j = +h[g + (c[e + 24 >> 2] << 3) >> 3]; + e = e + 48 | 0; + k = +E(+(+h[e >> 3])) * j; + f = c[f + 132 >> 2] | 0; + h[f >> 3] = k; + h[f + 8 >> 3] = +F(+(+h[e >> 3])) * j; + d = Ty(a, d) | 0 + } + D_(g); + l = i; + return + } + + function fu(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + k = n; + m = uH((d << 3) + 8 | 0) | 0; + b = NL(b, nx(c[b + 60 >> 2] | 0, 0, 98262, 0) | 0, 0) | 0; + a:do if (!b) { + f = 1.0; + e = 0.0; + b = 1 + } else { + i = 0.0; + e = 0.0; + g = 1; + b:while (1) { + if ((g | 0) > (d | 0)) { + f = i; + b = g; + break a + } + f = +c2(b, k); + if (!(f > 0.0)) { + f = i; + b = g; + break a + } + i = f > .02 ? f : .02; + e = i + e; + j = g + 1 | 0; + h[m + (g << 3) >> 3] = e; + b = c[k >> 2] | 0; + while (1) { + g = a[b >> 0] | 0; + if (!(g << 24 >> 24)) { + g = j; + continue b + } + if (!(g << 24 >> 24 == 58 | (B$(g << 24 >> 24) | 0) != 0)) { + g = j; + continue b + } + b = b + 1 | 0 + } + } + } while (0); + while (1) { + if ((b | 0) > (d | 0)) break; + i = e + f; + h[m + (b << 3) >> 3] = i; + b = b + 1 | 0; + e = i + } + l = n; + return m | 0 + } + + function gu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0, g = 0, i = 0, j = 0.0; + d = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + if (!(c[d + 32 >> 2] | 0)) e = 0.0; else e = +h[d + 48 >> 3] - +h[d + 40 >> 3] * .5; + g = Jx(a, b) | 0; + while (1) { + if (!g) break; + d = c[g >> 2] & 3; + f = c[((d | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + if ((f | 0) == (b | 0)) f = c[((d | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + d = c[(c[f + 16 >> 2] | 0) + 112 >> 2] | 0; + if ((c[d + 32 >> 2] | 0) == (b | 0) ? (i = d + 48 | 0, !(+h[i >> 3] != 10.0)) : 0) { + j = +h[d + 40 >> 3]; + h[i >> 3] = j * .5 + e; + e = j + e; + d = d + 16 | 0; + if (!((c[d >> 2] | 0) == 0 & (c[d + 4 >> 2] | 0) == 0)) gu(a, f) + } + g = Kx(a, g, b) | 0 + } + return + } + + function hu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0, j = 0; + e = c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0; + f = e + 8 | 0; + g = +h[e + 40 >> 3] / (+((c[f >> 2] | 0) >>> 0) + 4294967296.0 * +((c[f + 4 >> 2] | 0) >>> 0)); + f = Jx(a, b) | 0; + while (1) { + if (!f) break; + e = c[f >> 2] & 3; + d = c[((e | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0; + if ((d | 0) == (b | 0)) d = c[((e | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + e = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + if (((c[e + 32 >> 2] | 0) == (b | 0) ? (i = e + 40 | 0, !(+h[i >> 3] != 0.0)) : 0) ? (j = e + 8 | 0, h[i >> 3] = g * (+((c[j >> 2] | 0) >>> 0) + 4294967296.0 * +((c[j + 4 >> 2] | 0) >>> 0)), e = e + 16 | 0, !((c[e >> 2] | 0) == 0 & (c[e + 4 >> 2] | 0) == 0)) : 0) hu(a, d); + f = Kx(a, f, b) | 0 + } + return + } + + function iu(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + p = l; + l = l + 16 | 0; + n = p; + o = nx(b, 2, 98515, 0) | 0; + c[n + 4 >> 2] = 0; + c[n >> 2] = 0; + ju(n, d); + j = (o | 0) == 0; + a:while (1) { + k = ku(n) | 0; + if (!k) break; + m = k + 16 | 0; + h = c[(c[(c[m >> 2] | 0) + 112 >> 2] | 0) + 24 >> 2] | 0; + g = Jx(b, k) | 0; + h = s3(0, h | 0, 0, 1) | 0; + h = y3(h | 0, z | 0, 32) | 0; + i = z; + while (1) { + if (!g) continue a; + if (!((!j ? (a[(yx(g, o) | 0) >> 0] | 0) == 48 : 0) ? !(b$(yx(g, o) | 0, 135312) | 0) : 0)) { + d = c[g >> 2] & 3; + e = c[((d | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (k | 0)) e = c[((d | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + d = c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0; + f = d + 24 | 0; + q = f; + r = c[q + 4 >> 2] | 0; + if (i >>> 0 < r >>> 0 | ((i | 0) == (r | 0) ? h >>> 0 < (c[q >> 2] | 0) >>> 0 : 0)) { + r = f; + c[r >> 2] = h; + c[r + 4 >> 2] = i; + c[d + 32 >> 2] = k; + r = (c[(c[m >> 2] | 0) + 112 >> 2] | 0) + 16 | 0; + q = r; + q = s3(c[q >> 2] | 0, c[q + 4 >> 2] | 0, 1, 0) | 0; + c[r >> 2] = q; + c[r + 4 >> 2] = z; + ju(n, e) + } + } + g = Kx(b, g, k) | 0 + } + } + l = p; + return + } + + function ju(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = uH(8) | 0; + c[d >> 2] = b; + b = a + 4 | 0; + e = c[b >> 2] | 0; + c[((e | 0) == 0 ? a : e + 4 | 0) >> 2] = d; + c[b >> 2] = d; + return + } + + function ku(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a >> 2] | 0; + if (d) { + b = c[d >> 2] | 0; + c[a >> 2] = c[d + 4 >> 2]; + D_(d); + if (!(c[a >> 2] | 0)) c[a + 4 >> 2] = 0 + } else b = 0; + return b | 0 + } + + function lu(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + h = c[c[(c[b + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0; + g = Jx(a, b) | 0; + h = s3(0, h | 0, 0, 1) | 0; + h = y3(h | 0, z | 0, 32) | 0; + i = z; + while (1) { + if (!g) break; + f = c[g >> 2] & 3; + e = c[((f | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[((f | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) != (d | 0) ? (j = c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0, f = j, k = c[f + 4 >> 2] | 0, i >>> 0 < k >>> 0 | ((i | 0) == (k | 0) ? h >>> 0 < (c[f >> 2] | 0) >>> 0 : 0)) : 0) { + k = j; + c[k >> 2] = h; + c[k + 4 >> 2] = i; + lu(a, e, b) + } + g = Kx(a, g, b) | 0 + } + return + } + + function mu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = 0; + g = Jx(a, b) | 0; + while (1) { + if (!g) { + d = 1; + break + } + e = c[g >> 2] & 3; + d = c[((e | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + if ((d | 0) == (b | 0)) d = c[((e | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + if ((d | 0) != (b | 0)) { + if (f) if ((f | 0) == (d | 0)) d = f; else { + d = 0; + break + } + } else d = f; + f = d; + g = Kx(a, g, b) | 0 + } + return d | 0 + } + + function nu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0.0, g = 0; + b = l; + l = l + 32 | 0; + e = b; + d = nx(a, 1, 92551, 0) | 0; + g = nx(a, 0, 92551, 0) | 0; + a = ou(a, g, d, nx(a, 0, 92556, 0) | 0) | 0; + d = a + 16 | 0; + f = +C(+(+h[a >> 3] + .1)); + zu(e, 0.0, 0.0, f, f); + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = c[e + 4 >> 2]; + c[d + 8 >> 2] = c[e + 8 >> 2]; + c[d + 12 >> 2] = c[e + 12 >> 2]; + c[d + 16 >> 2] = c[e + 16 >> 2]; + c[d + 20 >> 2] = c[e + 20 >> 2]; + c[d + 24 >> 2] = c[e + 24 >> 2]; + c[d + 28 >> 2] = c[e + 28 >> 2]; + pu(a); + qu(a); + ru(a); + l = b; + return + } + + function ou(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = uH(72) | 0; + c[o + 60 >> 2] = 0; + c[o + 56 >> 2] = a; + k = a + 16 | 0; + f = 0.0; + l = 0; + i = 1; + j = 0; + m = 0; + while (1) { + g = c[k >> 2] | 0; + if ((i | 0) > (c[g + 180 >> 2] | 0)) break; + g = ou(c[(c[g + 184 >> 2] | 0) + (i << 2) >> 2] | 0, b, d, e) | 0; + f = +h[g >> 3] + f; + if (j | 0) c[j + 52 >> 2] = g; + l = l + 1 | 0; + i = i + 1 | 0; + j = g; + m = (m | 0) == 0 ? g : m + } + n = Sy(a) | 0; + g = m; + while (1) { + if (!n) break; + i = n + 16 | 0; + if (!(c[c[(c[i >> 2] | 0) + 112 >> 2] >> 2] | 0)) { + k = uu(n, d) | 0; + f = +h[k >> 3] + f; + if (j | 0) c[j + 52 >> 2] = k; + c[c[(c[i >> 2] | 0) + 112 >> 2] >> 2] = a; + i = l + 1 | 0; + j = k; + g = (g | 0) == 0 ? k : g + } else i = l; + n = Ty(a, n) | 0; + l = i + } + c[o + 64 >> 2] = l; + if (!l) f = +wu(a, b); else { + h[o + 8 >> 3] = f; + f = +vu(o, e) + } + h[o >> 3] = f; + c[o + 48 >> 2] = g; + return o | 0 + } + + function pu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, + r = 0.0, s = 0.0, t = 0.0, u = 0.0; + p = l; + l = l + 176 | 0; + f = p + 144 | 0; + n = p + 64 | 0; + k = p + 32 | 0; + i = p; + o = c[a + 64 >> 2] | 0; + a:do if (o | 0) { + m = uH(o << 2) | 0; + b = a + 48 | 0; + e = 0; + d = b; + while (1) { + d = c[d >> 2] | 0; + if ((e | 0) >= (o | 0)) break; + c[m + (e << 2) >> 2] = d; + e = e + 1 | 0; + d = d + 52 | 0 + } + _0(m, o, 4, 79); + j = uH(o << 3) | 0; + d = 0; + while (1) { + if ((d | 0) >= (o | 0)) break; + h[j + (d << 3) >> 3] = +h[c[m + (d << 2) >> 2] >> 3]; + d = d + 1 | 0 + } + g = +h[a + 8 >> 3]; + if (+h[a >> 3] == g) { + i = a + 16 | 0; + c[f >> 2] = c[i >> 2]; + c[f + 4 >> 2] = c[i + 4 >> 2]; + c[f + 8 >> 2] = c[i + 8 >> 2]; + c[f + 12 >> 2] = c[i + 12 >> 2]; + c[f + 16 >> 2] = c[i + 16 >> 2]; + c[f + 20 >> 2] = c[i + 20 >> 2]; + c[f + 24 >> 2] = c[i + 24 >> 2]; + c[f + 28 >> 2] = c[i + 28 >> 2]; + i = xu(o, j, f) | 0 + } else { + q = +h[a + 40 >> 3]; + r = +h[a + 32 >> 3]; + h[i >> 3] = +h[a + 16 >> 3]; + h[i + 8 >> 3] = +h[a + 24 >> 3]; + s = q - r; + g = (r + q - +C(+(g * 4.0 + s * s))) * .5; + h[i + 16 >> 3] = r - g; + h[i + 24 >> 3] = q - g; + 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[f + 16 >> 2] = c[i + 16 >> 2]; + c[f + 20 >> 2] = c[i + 20 >> 2]; + c[f + 24 >> 2] = c[i + 24 >> 2]; + c[f + 28 >> 2] = c[i + 28 >> 2]; + i = xu(o, j, f) | 0 + } + if (0) { + f = c[15686] | 0; + q = +h[a + 24 >> 3]; + r = +h[a + 32 >> 3]; + s = +h[a + 40 >> 3]; + h[k >> 3] = +h[a + 16 >> 3]; + h[k + 8 >> 3] = q; + h[k + 16 >> 3] = r; + h[k + 24 >> 3] = s; + g1(f, 92603, k) | 0 + } + e = c[15686] | 0; + d = 0; + while (1) { + if ((d | 0) >= (o | 0)) break; + k = (c[m + (d << 2) >> 2] | 0) + 16 | 0; + f = i + (d << 5) | 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[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]; + if (0) { + g = +h[f >> 3]; + r = +h[i + (d << 5) + 16 >> 3]; + u = r * .5; + q = +h[i + (d << 5) + 8 >> 3]; + s = +h[i + (d << 5) + 24 >> 3]; + t = s * .5; + h[n >> 3] = +h[j + (d << 3) >> 3]; + h[n + 8 >> 3] = g - u; + h[n + 16 >> 3] = q - t; + h[n + 24 >> 3] = u + g; + h[n + 32 >> 3] = t + q; + h[n + 40 >> 3] = s * r; + h[n + 48 >> 3] = g; + h[n + 56 >> 3] = q; + h[n + 64 >> 3] = r; + h[n + 72 >> 3] = s; + g1(e, 92620, n) | 0 + } + d = d + 1 | 0 + } + D_(m); + D_(j); + D_(i); + d = 0; + while (1) { + b = c[b >> 2] | 0; + if ((d | 0) >= (o | 0)) break a; + if (!(c[b + 60 >> 2] | 0)) pu(b); + b = b + 52 | 0; + d = d + 1 | 0 + } + } while (0); + l = p; + return + } + + function qu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0.0, m = 0.0; + f = l; + l = l + 48 | 0; + e = f; + if (c[a + 60 >> 2] | 0) { + k = +h[a + 24 >> 3]; + i = +h[a + 32 >> 3]; + g = +h[a + 40 >> 3]; + b = c[a + 56 >> 2] | 0; + d = b + 16 | 0; + j = c[d >> 2] | 0; + h[j + 16 >> 3] = +h[a + 16 >> 3]; + h[j + 24 >> 3] = k; + a = c[d >> 2] | 0; + h[a + 32 >> 3] = i * .013888888888888888; + h[a + 40 >> 3] = g * .013888888888888888; + bN(b, c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1); + su(b); + if (0) { + j = c[15686] | 0; + a = ry(b) | 0; + d = c[d >> 2] | 0; + m = +h[d + 16 >> 3]; + g = +h[d + 24 >> 3]; + i = +h[d + 80 >> 3]; + k = +h[d + 96 >> 3] + +h[d + 88 >> 3]; + c[e >> 2] = a; + h[e + 8 >> 3] = m; + h[e + 16 >> 3] = g; + h[e + 24 >> 3] = i; + h[e + 32 >> 3] = k; + g1(j, 92562, e) | 0 + } + } else { + b = a + 48 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + qu(b); + b = b + 52 | 0 + } + i = +h[a + 32 >> 3]; + m = +h[a + 40 >> 3]; + g = +h[a + 16 >> 3] - i * .5; + k = +h[a + 24 >> 3] - m * .5; + j = c[(c[a + 56 >> 2] | 0) + 16 >> 2] | 0; + h[j + 16 >> 3] = g; + h[j + 24 >> 3] = k; + h[j + 32 >> 3] = g + i; + h[j + 40 >> 3] = k + m + } + l = f; + return + } + + function ru(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = c[a + 64 >> 2] | 0; + b = a + 48 | 0; + d = 0; + while (1) { + b = c[b >> 2] | 0; + if ((d | 0) >= (e | 0)) break; + ru(b); + b = b + 52 | 0; + d = d + 1 | 0 + } + D_(a); + return + } + + function su(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 48 | 0; + f = g; + d = g + 8 | 0; + e = c[46380] | 0; + if (e | 0 ? (a[(yx(b, e) | 0) >> 0] | 0) == 0 : 0) { + h[f >> 3] = +h[(c[b + 16 >> 2] | 0) + 80 >> 3] * .7; + Y0(d, 92597, f) | 0; + rx(b, c[46380] | 0, d) | 0 + } + dM(b); + l = g; + return + } + + function tu(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0; + d = +h[c[a >> 2] >> 3] - +h[c[b >> 2] >> 3]; + return (d < 0.0 ? 1 : (d > 0.0) << 31 >> 31) | 0 + } + + function uu(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = uH(72) | 0; + h[d >> 3] = +wu(a, b); + c[d + 60 >> 2] = 1; + c[d + 56 >> 2] = a; + return d | 0 + } + + function vu(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0; + d = +LL(c[a + 56 >> 2] | 0, b, 0.0, 0.0); + if (d == 0.0) d = +h[a + 8 >> 3]; else { + d = +C(+(+h[a + 8 >> 3])) + d * 2.0; + d = d * d + } + return +d + } + + function wu(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0; + c = +LL(a, b, 1.0, 0.0); + return +(c == 0.0 ? 1.0e3 : c * 1.0e3) + } + + function xu(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0.0; + i = l; + l = l + 32 | 0; + g = i; + e = 0; + f = 0.0; + while (1) { + if ((e | 0) >= (a | 0)) break; + j = +h[b + (e << 3) >> 3] + f; + e = e + 1 | 0; + f = j + } + if (f > +h[d + 24 >> 3] * +h[d + 16 >> 3] + .001) e = 0; else { + e = uH(a << 5) | 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]; + yu(a, b, e, 0, 0.0, 1.0, 0.0, 1.0, g) + } + l = i; + return e | 0 + } + + function yu(a, b, d, e, f, g, i, j, k) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + g = +g; + i = +i; + j = +j; + k = k | 0; + var m = 0, n = 0.0, o = 0.0, p = 0, q = 0.0, r = 0.0, s = 0.0, t = 0.0, u = 0, v = 0.0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0.0; + z = l; + l = l + 112 | 0; + y = z + 72 | 0; + u = z + 40 | 0; + p = z + 32 | 0; + m = z; + w = k + 16 | 0; + q = +h[w >> 3]; + x = k + 24 | 0; + r = +h[x >> 3]; + v = +h[k + 16 + ((!(q < r) & 1) << 3) >> 3]; + do if ((a | 0) >= 1) { + if (0) { + A = c[15686] | 0; + B = +h[k + 8 >> 3]; + h[m >> 3] = +h[k >> 3]; + h[m + 8 >> 3] = q; + h[m + 16 >> 3] = B; + h[m + 24 >> 3] = r; + g1(A, 92657, m) | 0; + c[p >> 2] = e; + g1(A, 92703, p) | 0 + } + if (!e) { + i = +h[b >> 3]; + B = v * v; + v = i / B; + B = B / i; + 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]; + yu(a, b, d, 1, i, i, i, v > B ? v : B, y); + break + } + if ((a | 0) > (e | 0) ? (t = +h[b + (e << 3) >> 3], n = t < f ? f : t, s = t > g ? g : t, t = t + i, o = t / v, o = o * o, B = o / s, o = n / o, o = B > o ? B : o, o <= j) : 0) { + 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]; + yu(a, b, d, e + 1 | 0, n, s, t, o, y); + break + } + q = i / v; + if (0) { + A = c[15686] | 0; + c[u >> 2] = e; + h[u + 8 >> 3] = i; + h[u + 16 >> 3] = v; + h[u + 24 >> 3] = q; + g1(A, 92728, u) | 0 + } + n = +h[w >> 3]; + if (v == n) { + o = 1.0 / q; + p = k + 8 | 0; + n = +h[k >> 3] - n * .5; + m = 0; + while (1) { + if ((m | 0) >= (e | 0)) break; + h[d + (m << 5) + 24 >> 3] = q; + B = +h[b + (m << 3) >> 3] * o; + h[d + (m << 5) + 16 >> 3] = B; + h[d + (m << 5) + 8 >> 3] = (+h[x >> 3] - q) * .5 + +h[p >> 3]; + h[d + (m << 5) >> 3] = B * .5 + n; + n = B + n; + m = m + 1 | 0 + } + h[p >> 3] = +h[p >> 3] - q * .5; + m = 1 + } else { + o = 1.0 / q; + n = +h[x >> 3] * .5 + +h[k + 8 >> 3]; + m = 0; + while (1) { + if ((m | 0) >= (e | 0)) break; + h[d + (m << 5) + 16 >> 3] = q; + B = +h[b + (m << 3) >> 3] * o; + h[d + (m << 5) + 24 >> 3] = B; + h[d + (m << 5) >> 3] = (q - +h[w >> 3]) * .5 + +h[k >> 3]; + h[d + (m << 5) + 8 >> 3] = n - B * .5; + n = n - B; + m = m + 1 | 0 + } + h[k >> 3] = +h[k >> 3] + q * .5; + m = 0 + } + A = k + 16 + (m << 3) | 0; + h[A >> 3] = +h[A >> 3] - q; + 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]; + yu(a - e | 0, b + (e << 3) | 0, d + (e << 5) | 0, 0, 0.0, 0.0, 0.0, 1.0, y) + } while (0); + l = z; + return + } + + function zu(a, b, c, d, e) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + h[a + 16 >> 3] = d; + h[a + 24 >> 3] = e; + return + } + + function Au(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + D = l; + l = l + 96 | 0; + C = D + 48 | 0; + B = D + 24 | 0; + A = D + 16 | 0; + z = D + 8 | 0; + u = D + 80 | 0; + v = D; + w = a + 16 | 0; + x = d + 4 | 0; + y = u + 4 | 0; + s = Sy(a) | 0; + e = 0; + f = 0; + i = 0; + j = 0; + while (1) { + if (!s) break; + t = Ex(a, s) | 0; + q = e; + r = j; + while (1) { + if (!t) break; + e = (b[(c[t + 16 >> 2] | 0) + 168 >> 1] | 0) == 0; + do if ((s | 0) == (c[((c[t >> 2] & 3 | 0) == 2 ? t : t + -48 | 0) + 40 >> 2] | 0)) if (e) { + j = q; + e = r + } else { + if (!f) { + e = uH(96) | 0; + c[e + 84 >> 2] = uH(((ay(a) | 0) << 5) + 11520 | 0) | 0; + f = e + } else e = r; + Mm(f, t, c[(c[w >> 2] | 0) + 248 >> 2] | 0); + j = q + } else if (!e) { + i = Bu(t, d) | 0; + j = i + 8 | 0; + if (ms(c[j >> 2] | 0, c[i >> 2] | 0) | 0) { + k = sU(c[j >> 2] | 0, c[i >> 2] | 0) | 0; + if (!k) { + Pw(0, 92781, z) | 0; + j = 1; + e = r; + break + } else e = t; + while (1) { + if (!e) break; + E = e + 16 | 0; + F = (c[E >> 2] | 0) + 144 | 0; + Sm(v, e, k, 0, c[j >> 2] | 0, c[i >> 2] | 0); + H = v; + G = c[H + 4 >> 2] | 0; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = G; + Um(a, e, c[j >> 2] | 0, c[i >> 2] | 0, 0); + e = c[(c[E >> 2] | 0) + 172 >> 2] | 0 + } + Cu(i); + j = q; + e = r; + break + } + if (!q) { + qq(u, a); + e = YD(a, 8, 8) | 0; + Pw(0, 92865, A) | 0; + n = +(e | 0); + o = +g[d >> 2]; + p = +g[x >> 2]; + if (!(o >= n) & !(p >= n)) { + m = +g[u >> 2]; + n = +g[y >> 2]; + if (!(!(m <= o) & !(n <= p))) { + h[C >> 3] = m; + h[C + 8 >> 3] = n; + h[C + 16 >> 3] = o; + h[C + 24 >> 3] = p; + Pw(3, 92981, C) | 0 + } + } else { + c[B >> 2] = e; + h[B + 8 >> 3] = o; + h[B + 16 >> 3] = p; + Pw(3, 92931, B) | 0 + } + j = 1; + e = r + } else { + j = q; + e = r + } + } else { + j = q; + e = r + } while (0); + t = Gx(a, t) | 0; + q = j; + r = e + } + s = Ty(a, s) | 0; + e = q; + j = r + } + Du(i); + if (f | 0) { + D_(c[f + 84 >> 2] | 0); + D_(j) + } + l = D; + return e | 0 + } + + function Bu(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 16 | 0; + m = p + 4 | 0; + n = p; + e = c[b >> 2] & 3; + f = c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + e = c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + q = f + 16 | 0; + h = c[(c[q >> 2] | 0) + 212 >> 2] | 0; + c[m >> 2] = h; + i = e + 16 | 0; + g = c[(c[i >> 2] | 0) + 212 >> 2] | 0; + c[n >> 2] = g; + k = uH(12) | 0; + b = h; + j = g; + if (a[(c[q >> 2] | 0) + 118 >> 0] | 0) { + b = c[(c[(c[b + 16 >> 2] | 0) + 140 >> 2] | 0) + 48 >> 2] | 0; + c[m >> 2] = b; + f = h; + h = b + } + if (!(a[(c[i >> 2] | 0) + 118 >> 0] | 0)) i = j; else { + i = c[(c[(c[j + 16 >> 2] | 0) + 140 >> 2] | 0) + 48 >> 2] | 0; + c[n >> 2] = i; + e = g; + g = i + } + h = c[(c[(c[h + 16 >> 2] | 0) + 140 >> 2] | 0) + 44 >> 2] | 0; + g = c[(c[(c[g + 16 >> 2] | 0) + 140 >> 2] | 0) + 44 >> 2] | 0; + if ((h | 0) <= (g | 0)) if ((g | 0) > (h | 0)) { + Eu(k, g, e, h, n, d); + b = c[n >> 2] | 0; + g = b; + e = n; + o = 11 + } else h = i; else { + Eu(k, h, f, g, m, d); + b = c[m >> 2] | 0; + f = b; + g = e; + e = m; + o = 11 + } + while (1) { + if ((o | 0) == 11) { + c[e >> 2] = c[(c[(c[b + 16 >> 2] | 0) + 140 >> 2] | 0) + 48 >> 2]; + e = g; + b = c[m >> 2] | 0; + h = c[n >> 2] | 0 + } + if ((b | 0) == (h | 0)) break; + Fu(k, b, 0, f, d); + Fu(k, h, e, 0, d); + c[m >> 2] = c[(c[(c[b + 16 >> 2] | 0) + 140 >> 2] | 0) + 48 >> 2]; + f = b; + g = h; + e = n; + b = h; + o = 11 + } + Fu(k, h, e, f, d); + l = p; + return k | 0 + } + + function Cu(a) { + a = a | 0; + c[a >> 2] = 0; + return + } + + function Du(a) { + a = a | 0; + if (a | 0) { + D_(c[a + 8 >> 2] | 0); + D_(a) + } + return + } + + function Eu(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; + i = f; + while (1) { + h = c[i >> 2] | 0; + if ((b | 0) <= (e | 0)) break; + Fu(a, h, d, 0, g); + b = b + -1 | 0; + i = (c[(c[h + 16 >> 2] | 0) + 140 >> 2] | 0) + 48 | 0; + d = h + } + c[f >> 2] = d; + return + } + + function Fu(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + h = Sy(d) | 0; + while (1) { + if (!h) break; + i = c[h + 16 >> 2] | 0; + if (!((h | 0) == (f | 0) | ((h | 0) == (e | 0) ? 1 : (c[i + 212 >> 2] | 0) != (d | 0))) ? (a[i + 118 >> 0] | 0) == 0 : 0) Gu(b, Pm(h, g, 0) | 0); + h = Ty(d, h) | 0 + } + i = d + 16 | 0; + d = 1; + while (1) { + h = c[i >> 2] | 0; + if ((d | 0) > (c[h + 180 >> 2] | 0)) break; + h = c[(c[h + 184 >> 2] | 0) + (d << 2) >> 2] | 0; + if (!((h | 0) == (e | 0) | (h | 0) == (f | 0))) Gu(b, Hu(h, g) | 0); + d = d + 1 | 0 + } + return + } + + function Gu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = a + 4 | 0; + f = c[e >> 2] | 0; + g = a + 8 | 0; + d = c[g >> 2] | 0; + do if ((f | 0) == (c[a >> 2] | 0)) if (!d) { + d = vH(400) | 0; + c[g >> 2] = d; + c[e >> 2] = 100; + break + } else { + c[e >> 2] = f << 1; + d = xH(d, f << 3) | 0; + c[g >> 2] = d; + break + } while (0); + g = c[a >> 2] | 0; + c[a >> 2] = g + 1; + c[d + (g << 2) >> 2] = b; + return + } + + function Hu(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0, n = 0.0, o = 0.0, p = 0.0; + m = uH(8) | 0; + b = c[b + 16 >> 2] | 0; + e = +h[b + 16 >> 3]; + l = +h[b + 24 >> 3]; + f = +h[b + 32 >> 3]; + k = +h[b + 40 >> 3]; + c[m + 4 >> 2] = 4; + b = uH(64) | 0; + c[m >> 2] = b; + if (!(a[d + 8 >> 0] | 0)) { + p = +g[d >> 2]; + o = +g[d + 4 >> 2]; + i = (f + e) * .5 * (p + -1.0); + n = (k + l) * .5 * (o + -1.0); + j = e * p - i; + i = f * p - i; + f = k * o - n; + e = l * o - n + } else { + i = +g[d >> 2]; + p = +g[d + 4 >> 2]; + j = e - i; + i = f + i; + f = k + p; + e = l - p + } + h[b >> 3] = j; + h[b + 8 >> 3] = e; + h[b + 16 >> 3] = j; + h[b + 24 >> 3] = f; + h[b + 32 >> 3] = i; + h[b + 40 >> 3] = f; + h[b + 48 >> 3] = i; + h[b + 56 >> 3] = e; + return m | 0 + } + + function Iu(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + o = l; + l = l + 160 | 0; + n = o + 16 | 0; + j = o + 8 | 0; + g = o; + k = o + 24 | 0; + m = uH(ay(b) | 0) | 0; + h = b + 16 | 0; + f = c[c[(c[h >> 2] | 0) + 140 >> 2] >> 2] | 0; + a:do if (!f) { + g = 0; + f = 0 + } else { + p = ry(b) | 0; + i = c[46152] | 0; + c[g >> 2] = p; + c[g + 4 >> 2] = i; + Y0(k, 93041, g) | 0; + i = vA(b, k, 1) | 0; + Az(i, 134401, 280, 1) | 0; + g = uH(56) | 0; + c[(c[i + 16 >> 2] | 0) + 140 >> 2] = g; + c[g >> 2] = f; + c[g + 4 >> 2] = c[(c[(c[h >> 2] | 0) + 140 >> 2] | 0) + 4 >> 2]; + while (1) { + g = c[f + 4 >> 2] | 0; + if (!g) { + g = i; + f = 1; + break a + } + if (!(a[m + (c[(c[g + 16 >> 2] | 0) + 120 >> 2] | 0) >> 0] | 0)) Ju(b, g, i, m); + f = f + 16 | 0 + } + } while (0); + h = 0; + i = Sy(b) | 0; + while (1) { + if (!i) break; + p = c[i + 16 >> 2] | 0; + if ((a[m + (c[p + 120 >> 2] | 0) >> 0] | 0) == 0 ? (a[p + 119 >> 0] | 0) == 3 : 0) { + if (!g) { + p = ry(b) | 0; + g = (c[46152] | 0) + f | 0; + c[j >> 2] = p; + c[j + 4 >> 2] = g; + Y0(k, 93041, j) | 0; + g = vA(b, k, 1) | 0; + Az(g, 134401, 280, 1) | 0; + p = uH(56) | 0; + c[(c[g + 16 >> 2] | 0) + 140 >> 2] = p; + f = f + 1 | 0 + } + Ju(b, i, g, m); + h = 1 + } + i = Ty(b, i) | 0 + } + if (g | 0) vD(g) | 0; + g = Sy(b) | 0; + while (1) { + if (!g) break; + if (!(a[m + (c[(c[g + 16 >> 2] | 0) + 120 >> 2] | 0) >> 0] | 0)) { + j = ry(b) | 0; + p = (c[46152] | 0) + f | 0; + c[n >> 2] = j; + c[n + 4 >> 2] = p; + Y0(k, 93049, n) | 0; + p = vA(b, k, 1) | 0; + Az(p, 134401, 280, 1) | 0; + j = uH(56) | 0; + c[(c[p + 16 >> 2] | 0) + 140 >> 2] = j; + Ju(b, g, p, m); + vD(p) | 0; + f = f + 1 | 0 + } + g = Ty(b, g) | 0 + } + D_(m); + c[46152] = (c[46152] | 0) + f; + if (d | 0) c[d >> 2] = f; + if (e | 0) c[e >> 2] = h; + i = uH((f << 2) + 4 | 0) | 0; + h = i; + g = wA(b) | 0; + while (1) { + if (!g) break; + c[h >> 2] = g; + h = h + 4 | 0; + g = xA(g) | 0; + f = f + -1 | 0 + } + if (!f) { + c[h >> 2] = 0; + l = o; + return i | 0 + } else qa(93057, 93068, 134, 93075); + return 0 + } + + function Ju(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0; + a[f + (c[(c[d + 16 >> 2] | 0) + 120 >> 2] | 0) >> 0] = 1; + Xy(e, d, 1) | 0; + i = Jx(b, d) | 0; + while (1) { + if (!i) break; + h = c[i >> 2] & 3; + g = c[((h | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0; + if ((g | 0) == (d | 0)) g = c[((h | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0; + if (!(a[f + (c[(c[g + 16 >> 2] | 0) + 120 >> 2] | 0) >> 0] | 0)) Ju(b, g, e, f); + i = Kx(b, i, d) | 0 + } + return + } + + function Ku(a) { + a = a | 0; + var b = 0; + b = vH(24) | 0; + c[46153] = b; + c[b >> 2] = Cw(18100, c[4555] | 0) | 0; + c[b + 16 >> 2] = 0; + c[b + 12 >> 2] = 0; + c[b + 4 >> 2] = Lu(a) | 0; + return b | 0 + } + + function Lu(a) { + a = a | 0; + var b = 0, d = 0; + b = vH(16) | 0; + c[b + 12 >> 2] = 0; + d = vH(a * 20 | 0) | 0; + c[b >> 2] = d; + c[b + 8 >> 2] = d + (a * 20 | 0); + c[b + 4 >> 2] = d; + return b | 0 + } + + function Mu(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = Ou(c[46153] | 0) | 0; + c[d >> 2] = c[b >> 2]; + c[d + 4 >> 2] = c[b + 4 >> 2]; + c[d + 8 >> 2] = 0; + return d | 0 + } + + function Nu(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = (c[b >> 2] | 0) - (c[d >> 2] | 0) | 0; + if (!a) a = (c[b + 4 >> 2] | 0) - (c[d + 4 >> 2] | 0) | 0; + return a | 0 + } + + function Ou(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = a + 8 | 0; + a = c[f >> 2] | 0; + b = c[a + 4 >> 2] | 0; + if ((b | 0) == (c[a + 8 >> 2] | 0)) { + d = a + 12 | 0; + e = c[d >> 2] | 0; + if (!e) { + a = Lu(((b - (c[a >> 2] | 0) | 0) / 20 | 0) << 1) | 0; + c[d >> 2] = a + } else a = e; + c[f >> 2] = a; + b = c[a >> 2] | 0; + c[a + 4 >> 2] = b + } + c[a + 4 >> 2] = b + 20; + return b | 0 + } + + function Pu(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 12 | 0; + d = c[f >> 2] | 0; + if ((d | 0) < (b | 0)) { + e = d << 1; + e = (e | 0) < (b | 0) ? b : e; + b = a + 16 | 0; + d = c[b >> 2] | 0; + if (d | 0) D_(d); + c[b >> 2] = vH(e << 3) | 0; + c[f >> 2] = e + } + return + } + + function Qu(a) { + a = a | 0; + var b = 0; + b = c[a >> 2] | 0; + nb[c[b >> 2] & 63](b, 0, 64) | 0; + c[a + 20 >> 2] = c[a + 16 >> 2]; + b = c[a + 4 >> 2] | 0; + c[a + 8 >> 2] = b; + c[b + 4 >> 2] = c[b >> 2]; + return + } + + function Ru(a) { + a = a | 0; + yw(c[a >> 2] | 0) | 0; + Su(c[a + 4 >> 2] | 0); + D_(c[a + 16 >> 2] | 0); + D_(a); + return + } + + function Su(a) { + a = a | 0; + var b = 0; + while (1) { + if (!a) break; + b = c[a + 12 >> 2] | 0; + D_(c[a >> 2] | 0); + D_(a); + a = b + } + return + } + + function Tu(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 32 | 0; + f = g; + h = g + 12 | 0; + c[h >> 2] = b; + c[h + 4 >> 2] = d; + i = c[a >> 2] | 0; + h = (nb[c[i >> 2] & 63](i, h, 1) | 0) + 8 | 0; + c[h >> 2] = Uu(a, e, c[h >> 2] | 0) | 0; + if (0 > 2) { + i = c[15686] | 0; + h = ry(e) | 0; + c[f >> 2] = b; + c[f + 4 >> 2] = d; + c[f + 8 >> 2] = h; + g1(i, 93085, f) | 0 + } + l = g; + return + } + + function Uu(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = a + 20 | 0; + a = c[e >> 2] | 0; + c[e >> 2] = a + 8; + c[a >> 2] = b; + c[a + 4 >> 2] = d; + return a | 0 + } + + function Vu(a, b) { + a = a | 0; + b = b | 0; + Jw(c[a >> 2] | 0, b, a) | 0; + return + } + + function Wu(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 32 | 0; + f = e; + c[f >> 2] = b; + c[f + 4 >> 2] = d; + d = c[a >> 2] | 0; + d = nb[c[d >> 2] & 63](d, f, 4) | 0; + l = e; + return d | 0 + } + + function Xu(a, b) { + a = a | 0; + b = b | 0; + if ((ay(a) | 0) == 1) { + a = c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + c[a + 12 >> 2] = 0 + } else { + Yu(a); + if (!((QL(xx(b, 93102) | 0) | 0) << 24 >> 24)) b = tv(a, 183128) | 0; else b = Zu(a) | 0; + Cv(a, b, 183128); + _u(b) + } + return + } + + function Yu(a) { + a = a | 0; + var b = 0; + b = ez(c[c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0) | 0; + a = c[46154] | 0; + if ((b | 0) != (a | 0)) { + c[45785] = 0; + c[46154] = b; + c[46155] = nx(b, 0, 93111, 0) | 0; + c[46156] = nx(c[46154] | 0, 1, 93119, 0) | 0; + c[46157] = nx(c[46154] | 0, 1, 93136, 0) | 0; + a = c[46154] | 0 + } + c[46158] = xx(a, 93136) | 0; + nv(183128); + c[45784] = 1; + h[22895] = +LL(c[46154] | 0, c[46155] | 0, 1.0, 0.0); + c[45786] = c[46156]; + c[45787] = c[46157]; + c[45788] = c[46158]; + return + } + + function Zu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = l; + l = l + 144 | 0; + e = f; + d = f + 8 | 0; + b = c[45785] | 0; + c[45785] = b + 1; + c[e >> 2] = b; + Y0(d, 93152, e) | 0; + d = ov(vA(a, d, 1) | 0) | 0; + e = d + 8 | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + Xy(c[e >> 2] | 0, b, 1) | 0; + c[(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] = d; + b = Ty(a, b) | 0 + } + l = f; + return d | 0 + } + + function _u(a) { + a = a | 0; + Bv(a); + return + } + + function $u(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + av(f, c); + bv(a, b, c, f); + cv(b, f, d); + dv(f); + l = e; + return + } + + function av(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = vH(b << 4) | 0; + c[a + 4 >> 2] = b; + c[a + 8 >> 2] = 0; + return + } + + function bv(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + D = l; + l = l + 64 | 0; + r = D + 32 | 0; + u = D + 48 | 0; + v = D + 16 | 0; + w = D; + t = b << 2; + A = vH(t) | 0; + C = vH(t) | 0; + c[v >> 2] = 0; + c[v + 4 >> 2] = 0; + c[v + 8 >> 2] = 0; + c[v + 12 >> 2] = 0; + s = vH(t) | 0; + t = vH(t) | 0; + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + c[s + (f << 2) >> 2] = f; + f = f + 1 | 0 + } + q = b + -1 | 0; + js(a, s, 0, q); + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + c[t + (c[s + (f << 2) >> 2] << 2) >> 2] = f; + f = f + 1 | 0 + } + fv(u, a, s, b); + f = 1; + while (1) { + if ((f | 0) >= (b | 0)) { + f = 0; + break + } + c[A + (c[s + (f << 2) >> 2] << 2) >> 2] = c[s + (f + -1 << 2) >> 2]; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) >= (q | 0)) break; + p = f + 1 | 0; + c[C + (c[s + (f << 2) >> 2] << 2) >> 2] = c[s + (p << 2) >> 2]; + f = p + } + k = e + 8 | 0; + m = e + 4 | 0; + n = v + 4 | 0; + o = w + 4 | 0; + p = w + 8 | 0; + j = 0; + while (1) { + if ((j | 0) >= (d | 0)) break; + if (!((gv(u, v) | 0) << 24 >> 24)) break; + f = c[k >> 2] | 0; + b = c[m >> 2] | 0; + if ((f | 0) < (b | 0)) b = c[e >> 2] | 0; else { + c[m >> 2] = b << 1; + b = F_(c[e >> 2] | 0, b << 5) | 0; + c[e >> 2] = b; + f = c[k >> 2] | 0 + } + c[k >> 2] = f + 1; + f = b + (f << 4) | 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]; + f = c[v >> 2] | 0; + b = c[t + (f << 2) >> 2] | 0; + g = c[n >> 2] | 0; + i = c[t + (g << 2) >> 2] | 0; + if ((b | 0) > 0 ? (x = c[s + (b + -1 << 2) >> 2] | 0, y = C + (x << 2) | 0, (c[t + (c[y >> 2] << 2) >> 2] | 0) < (i | 0)) : 0) { + c[w >> 2] = x; + c[o >> 2] = g; + h[p >> 3] = +h[a + (g << 3) >> 3] - +h[a + (x << 3) >> 3]; + c[r >> 2] = c[w >> 2]; + c[r + 4 >> 2] = c[w + 4 >> 2]; + c[r + 8 >> 2] = c[w + 8 >> 2]; + c[r + 12 >> 2] = c[w + 12 >> 2]; + hv(u, r); + c[y >> 2] = g; + c[A + (g << 2) >> 2] = x + } + if ((i | 0) < (q | 0) ? (z = c[s + (i + 1 << 2) >> 2] | 0, B = A + (z << 2) | 0, (c[t + (c[B >> 2] << 2) >> 2] | 0) > (b | 0)) : 0) { + c[w >> 2] = f; + c[o >> 2] = z; + h[p >> 3] = +h[a + (z << 3) >> 3] - +h[a + (f << 3) >> 3]; + c[r >> 2] = c[w >> 2]; + c[r + 4 >> 2] = c[w + 4 >> 2]; + c[r + 8 >> 2] = c[w + 8 >> 2]; + c[r + 12 >> 2] = c[w + 12 >> 2]; + hv(u, r); + c[B >> 2] = f; + c[C + (f << 2) >> 2] = z + } + j = j + 1 | 0 + } + D_(A); + D_(C); + D_(s); + D_(t); + iv(u); + l = D; + return + } + + function cv(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + k = vH(a << 2) | 0; + l = b + 8 | 0; + i = c[l >> 2] | 0; + j = (i << 1) + a | 0; + h = j << 2; + e = vH(h) | 0; + h = vH(h) | 0; + f = 0; + while (1) { + if ((f | 0) >= (a | 0)) break; + c[k + (f << 2) >> 2] = 1; + f = f + 1 | 0 + } + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) { + f = 0; + break + } + n = c[b >> 2] | 0; + m = c[n + (f << 4) + 4 >> 2] | 0; + n = k + (c[n + (f << 4) >> 2] << 2) | 0; + c[n >> 2] = (c[n >> 2] | 0) + 1; + m = k + (m << 2) | 0; + c[m >> 2] = (c[m >> 2] | 0) + 1; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) >= (j | 0)) break; + g[h + (f << 2) >> 2] = 1.0; + f = f + 1 | 0 + } + i = vH(a * 20 | 0) | 0; + c[d >> 2] = i; + f = 0; + while (1) { + if ((f | 0) >= (a | 0)) break; + c[i + (f * 20 | 0) >> 2] = 1; + c[i + (f * 20 | 0) + 8 >> 2] = h; + c[i + (f * 20 | 0) + 4 >> 2] = e; + c[e >> 2] = f; + g[h >> 2] = 0.0; + n = c[k + (f << 2) >> 2] | 0; + h = h + (n << 2) | 0; + e = e + (n << 2) | 0; + f = f + 1 | 0 + } + D_(k); + while (1) { + e = c[l >> 2] | 0; + if (!e) break; + n = e + -1 | 0; + c[l >> 2] = n; + m = c[b >> 2] | 0; + ev(i, c[m + (n << 4) >> 2] | 0, c[m + (n << 4) + 4 >> 2] | 0) + } + return + } + + function dv(a) { + a = a | 0; + D_(c[a >> 2] | 0); + return + } + + function ev(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, h = 0, i = 0, j = 0; + f = a + (b * 20 | 0) | 0; + h = c[f >> 2] | 0; + i = c[a + (b * 20 | 0) + 4 >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (h | 0)) { + j = 4; + break + } + if ((c[i + (e << 2) >> 2] | 0) == (d | 0)) break; else e = e + 1 | 0 + } + if ((j | 0) == 4 ? (c[f >> 2] = h + 1, c[i + (h << 2) >> 2] = d, i = c[a + (d * 20 | 0) + 4 >> 2] | 0, h = a + (d * 20 | 0) | 0, j = c[h >> 2] | 0, c[h >> 2] = j + 1, c[i + (j << 2) >> 2] = b, c[a + 8 >> 2] | 0) : 0) { + j = c[a + (b * 20 | 0) + 8 >> 2] | 0; + g[j >> 2] = +g[j >> 2] + -1.0; + j = c[a + (d * 20 | 0) + 8 >> 2] | 0; + g[j >> 2] = +g[j >> 2] + -1.0 + } + return + } + + function fv(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0.0, k = 0, l = 0; + f = e + -1 | 0; + c[a + 4 >> 2] = f; + c[a + 8 >> 2] = f; + c[a >> 2] = vH(f << 4) | 0; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) break; + l = c[d + (e << 2) >> 2] | 0; + g = e + 1 | 0; + k = c[d + (g << 2) >> 2] | 0; + j = +h[b + (k << 3) >> 3] - +h[b + (l << 3) >> 3]; + i = c[a >> 2] | 0; + c[i + (e << 4) >> 2] = l; + c[i + (e << 4) + 4 >> 2] = k; + h[i + (e << 4) + 8 >> 3] = j; + e = g + } + e = (f | 0) / 2 | 0; + while (1) { + if ((e | 0) <= -1) break; + jv(a, e); + e = e + -1 | 0 + } + return + } + + function gv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 4 | 0; + if (!(c[d >> 2] | 0)) a = 0; else { + e = c[a >> 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]; + b = c[a >> 2] | 0; + e = b + ((c[d >> 2] | 0) + -1 << 4) | 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[d >> 2] = (c[d >> 2] | 0) + -1; + jv(a, 0); + a = 1 + } + return a | 0 + } + + function hv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + m = n; + j = a + 4 | 0; + g = c[j >> 2] | 0; + d = a + 8 | 0; + if ((g | 0) == (c[d >> 2] | 0)) { + c[d >> 2] = g << 1; + d = F_(c[a >> 2] | 0, g << 5) | 0; + c[a >> 2] = d; + k = a; + i = c[j >> 2] | 0 + } else { + k = a; + i = g; + d = c[a >> 2] | 0 + } + c[j >> 2] = i + 1; + j = d + (g << 4) | 0; + c[j >> 2] = c[b >> 2]; + c[j + 4 >> 2] = c[b + 4 >> 2]; + c[j + 8 >> 2] = c[b + 8 >> 2]; + c[j + 12 >> 2] = c[b + 12 >> 2]; + while (1) { + if ((g | 0) <= 0) break; + d = c[k >> 2] | 0; + e = +h[d + (g << 4) + 8 >> 3]; + a = g >>> 1; + f = +h[d + (a << 4) + 8 >> 3]; + if (!(e < f)) { + if (!(e == f)) break; + if (!((g2() | 0) & 1)) break; + d = c[k >> 2] | 0 + } + j = d + (g << 4) | 0; + c[m >> 2] = c[j >> 2]; + c[m + 4 >> 2] = c[j + 4 >> 2]; + c[m + 8 >> 2] = c[j + 8 >> 2]; + c[m + 12 >> 2] = c[j + 12 >> 2]; + b = d + (a << 4) | 0; + c[j >> 2] = c[b >> 2]; + c[j + 4 >> 2] = c[b + 4 >> 2]; + c[j + 8 >> 2] = c[b + 8 >> 2]; + c[j + 12 >> 2] = c[b + 12 >> 2]; + j = (c[k >> 2] | 0) + (a << 4) | 0; + c[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + g = a + } + l = n; + return + } + + function iv(a) { + a = a | 0; + D_(c[a >> 2] | 0); + return + } + + function jv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 16 | 0; + i = m; + j = a + 4 | 0; + while (1) { + d = b << 1; + g = d | 1; + if ((d | 0) < (c[j >> 2] | 0)) { + n = c[a >> 2] | 0; + e = +h[n + (d << 4) + 8 >> 3]; + f = +h[n + (b << 4) + 8 >> 3]; + if (!(e < f)) if (!(e == f ? ((g2() | 0) & 1 | 0) != 0 : 0)) k = 6 + } else k = 6; + if ((k | 0) == 6) { + k = 0; + d = b + } + do if ((g | 0) < (c[j >> 2] | 0)) { + n = c[a >> 2] | 0; + e = +h[n + (g << 4) + 8 >> 3]; + f = +h[n + (d << 4) + 8 >> 3]; + if (!(e < f)) { + if (!(e == f)) break; + if (!((g2() | 0) & 1)) break + } + d = g + } while (0); + if ((d | 0) == (b | 0)) break; + g = c[a >> 2] | 0; + n = g + (d << 4) | 0; + c[i >> 2] = c[n >> 2]; + c[i + 4 >> 2] = c[n + 4 >> 2]; + c[i + 8 >> 2] = c[n + 8 >> 2]; + c[i + 12 >> 2] = c[n + 12 >> 2]; + g = g + (b << 4) | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + n = (c[a >> 2] | 0) + (b << 4) | 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]; + b = d + } + l = m; + return + } + + function kv(a, b, d, e, f, g, i, j) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0.0; + l = (f | 0) != 0; + if (!l) { + f = vH(b << 3) | 0; + if (!(kt(a, b, f, b) | 0)) m = 3; else { + a = 1; + m = 17 + } + } else m = 3; + if ((m | 0) == 3) { + k = uH(b << 2) | 0; + c[g >> 2] = k; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break; + c[k + (a << 2) >> 2] = a; + a = a + 1 | 0 + } + a = b + -1 | 0; + js(f, k, 0, a); + n = +h[f + (c[k >> 2] << 3) >> 3]; + e = (+h[f + (c[k + (a << 2) >> 2] << 3) >> 3] - n) * e / +(a | 0); + e = e < d ? d : e; + a = 0; + g = 1; + d = n; + while (1) { + if ((g | 0) >= (b | 0)) break; + n = +h[f + (c[k + (g << 2) >> 2] << 3) >> 3]; + a = a + (n - d > e & 1) | 0; + g = g + 1 | 0; + d = n + } + c[j >> 2] = a; + a:do if (!a) { + k = vH(4) | 0; + c[i >> 2] = k; + c[k >> 2] = b + } else { + j = vH(a << 2) | 0; + c[i >> 2] = j; + a = 0; + g = 1; + while (1) { + if ((g | 0) >= (b | 0)) break a; + if (+h[f + (c[k + (g << 2) >> 2] << 3) >> 3] - +h[f + (c[k + (g + -1 << 2) >> 2] << 3) >> 3] > e) { + c[j + (a << 2) >> 2] = g; + a = a + 1 | 0 + } + g = g + 1 | 0 + } + } while (0); + if (l) a = 0; else { + a = 0; + m = 17 + } + } + if ((m | 0) == 17) D_(f); + return a | 0 + } + + function lv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + d = c[46159] | 0; + if (d | 0) xn(d); + c[46159] = wn(b, b, 0.0) | 0; + d = c[46160] | 0; + if (d | 0) D_(d); + c[46160] = uH(b << 2) | 0; + d = c[46161] | 0; + if (d | 0) D_(d); + n = uH(b << 3) | 0; + c[46161] = n; + o = c[46159] | 0; + p = c[46160] | 0; + i = 0; + while (1) { + if ((i | 0) >= (b | 0)) { + e = 10; + break + } + e = a + (i << 2) | 0; + g = o + (i << 2) | 0; + f = 0.0; + d = 0; + while (1) { + if ((d | 0) == (b | 0)) break; + j = +h[(c[e >> 2] | 0) + (d << 3) >> 3]; + h[(c[g >> 2] | 0) + (d << 3) >> 3] = j; + j = +B(+j); + f = f < j ? j : f; + d = d + 1 | 0 + } + if (!(f != 0.0)) { + e = 15; + break + } + h[n + (i << 3) >> 3] = 1.0 / f; + c[p + (i << 2) >> 2] = i; + i = i + 1 | 0 + } + a:do if ((e | 0) == 10) { + m = b + -1 | 0; + d = 0; + l = 0; + b:while (1) { + if ((l | 0) < (m | 0)) { + e = l; + k = d; + f = 0.0 + } else break; + while (1) { + if ((e | 0) >= (b | 0)) break; + a = c[p + (e << 2) >> 2] | 0; + j = +B(+(+h[(c[o + (a << 2) >> 2] | 0) + (l << 3) >> 3])); + j = +h[n + (a << 3) >> 3] * j; + a = f < j; + i = a ? e : k; + e = e + 1 | 0; + k = i; + f = a ? j : f + } + if (f == 0.0) { + d = 0; + break a + } + d = p + (l << 2) | 0; + if ((k | 0) != (l | 0)) { + i = c[d >> 2] | 0; + a = p + (k << 2) | 0; + c[d >> 2] = c[a >> 2]; + c[a >> 2] = i + } + g = c[o + (c[d >> 2] << 2) >> 2] | 0; + a = l + 1 | 0; + f = 1.0 / +h[g + (l << 3) >> 3]; + e = a; + while (1) { + if ((e | 0) >= (b | 0)) { + d = k; + l = a; + continue b + } + i = c[o + (c[p + (e << 2) >> 2] << 2) >> 2] | 0; + d = i + (l << 3) | 0; + j = +h[d >> 3] * f; + h[d >> 3] = j; + c:do if (j != 0.0) { + d = a; + while (1) { + if ((d | 0) >= (b | 0)) break c; + q = i + (d << 3) | 0; + h[q >> 3] = +h[q >> 3] - +h[g + (d << 3) >> 3] * j; + d = d + 1 | 0 + } + } while (0); + e = e + 1 | 0 + } + } + d = +h[(c[o + (c[p + (m << 2) >> 2] << 2) >> 2] | 0) + (m << 3) >> 3] != 0.0 & 1 + } else if ((e | 0) == 15) { + h[n + (i << 3) >> 3] = 0.0; + d = 0 + } while (0); + return d | 0 + } + + function mv(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0; + k = c[46159] | 0; + l = c[46160] | 0; + j = 0; + while (1) { + if ((j | 0) >= (d | 0)) { + e = d; + break + } + g = c[l + (j << 2) >> 2] | 0; + i = k + (g << 2) | 0; + f = 0.0; + e = 0; + while (1) { + if ((e | 0) == (j | 0)) break; + f = +h[a + (e << 3) >> 3] * +h[(c[i >> 2] | 0) + (e << 3) >> 3] + f; + e = e + 1 | 0 + } + h[a + (j << 3) >> 3] = +h[b + (g << 3) >> 3] - f; + j = j + 1 | 0 + } + while (1) { + b = e + -1 | 0; + if ((e | 0) <= 0) break; + g = l + (b << 2) | 0; + f = 0.0; + while (1) { + if ((e | 0) >= (d | 0)) break; + f = +h[a + (e << 3) >> 3] * +h[(c[k + (c[g >> 2] << 2) >> 2] | 0) + (e << 3) >> 3] + f; + e = e + 1 | 0 + } + e = a + (b << 3) | 0; + h[e >> 3] = (+h[e >> 3] - f) / +h[(c[k + (c[g >> 2] << 2) >> 2] | 0) + (b << 3) >> 3]; + e = b + } + return + } + + function nv(a) { + a = a | 0; + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + return + } + + function ov(a) { + a = a | 0; + var b = 0; + b = uH(64) | 0; + nv(b + 36 | 0); + c[b + 8 >> 2] = a; + return b | 0 + } + + function pv(a) { + a = a | 0; + if (a | 0) { + Lv(c[a + 32 >> 2] | 0); + D_(a) + } + return + } + + function qv(a) { + a = a | 0; + return ay(c[a + 8 >> 2] | 0) | 0 + } + + function rv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + c[b + 4 >> 2] = 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + c[((e | 0) == 0 ? a : e + 4 | 0) >> 2] = b; + c[d >> 2] = b; + return + } + + function sv(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[a >> 2] | 0; + if (!d) { + c[a >> 2] = b; + a = a + 4 | 0 + } else c[b + 4 >> 2] = d; + c[a >> 2] = b; + return + } + + function tv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + uv(a, b); + j = c[b >> 2] | 0; + h = c[j + 4 >> 2] | 0; + while (1) { + if (!h) break; + k = c[h + 8 >> 2] | 0; + i = Sy(k) | 0; + d = c[(c[i + 16 >> 2] | 0) + 112 >> 2] | 0; + a = c[d + 16 + 4 >> 2] | 0; + d = c[d + 8 >> 2] | 0; + f = i; + i = Ty(k, i) | 0; + while (1) { + if (!i) break; + e = c[(c[i + 16 >> 2] | 0) + 112 >> 2] | 0; + g = c[e + 16 + 4 >> 2] | 0; + if ((g | 0) < (a | 0)) { + f = i; + d = c[e + 8 >> 2] | 0; + a = g + } + i = Ty(k, i) | 0 + } + i = c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0; + k = i + 4 | 0; + c[k >> 2] = c[k >> 2] | 8; + c[h >> 2] = f; + k = c[h + 4 >> 2] | 0; + rv((c[i + 12 >> 2] | 0) + 36 | 0, h); + h = k + } + nv(b); + return j | 0 + } + + function uv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + g = i + 8 | 0; + e = c[b + 24 >> 2] | 0; + if (!((e | 0) != 0 ? (d = az(a, e, 0) | 0, (d | 0) != 0) : 0)) f = 3; + a:do if ((f | 0) == 3) { + e = b + 20 | 0; + b:do if (c[e >> 2] | 0) { + d = Sy(a) | 0; + while (1) { + if (!d) break b; + if ((PL(c[c[(c[d + 16 >> 2] | 0) + 112 >> 2] >> 2] | 0, c[e >> 2] | 0, 0) | 0) << 24 >> 24) break a; + d = Ty(a, d) | 0 + } + } while (0); + d = Sy(a) | 0 + } while (0); + if (0) { + f = c[15686] | 0; + c[h >> 2] = ry(d) | 0; + g1(f, 93141, h) | 0 + } + c[g + 4 >> 2] = 0; + c[g >> 2] = 0; + vv(a, d, b, 1, g); + l = i; + return + } + + function vv(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; + l = d + 8 | 0; + k = c[l >> 2] | 0; + c[l >> 2] = k + 1; + l = b + 16 | 0; + c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 16 + 4 >> 2] = k; + c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 24 >> 2] = k; + k = (e | 0) == 0; + j = Jx(a, b) | 0; + while (1) { + if (!j) break; + e = c[j >> 2] & 3; + g = c[((e | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + if ((g | 0) == (b | 0)) { + e = c[((e | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + g = c[(c[j + 16 >> 2] | 0) + 120 >> 2] | 0; + if (!(c[g >> 2] | 0)) c[g >> 2] = -1 + } else { + e = c[(c[j + 16 >> 2] | 0) + 120 >> 2] | 0; + if (!(c[e >> 2] | 0)) { + c[e >> 2] = 1; + e = g + } else e = g + } + g = e + 16 | 0; + h = c[(c[g >> 2] | 0) + 112 >> 2] | 0; + i = c[h + 16 + 4 >> 2] | 0; + do if (!i) { + c[h + 8 >> 2] = b; + wv(f, j); + vv(a, e, d, 0, f); + i = (c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 24 | 0; + c[i >> 2] = c[(c[(c[((c[i >> 2] | 0) < (c[(c[(c[g >> 2] | 0) + 112 >> 2] | 0) + 24 >> 2] | 0) ? b : e) + 16 >> 2] | 0) + 112 >> 2] | 0) + 24 >> 2]; + if ((c[(c[(c[g >> 2] | 0) + 112 >> 2] | 0) + 24 >> 2] | 0) >= (c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 16 + 4 >> 2] | 0)) { + e = 0; + do { + h = xv(f) | 0; + g = (c[c[(c[h + 16 >> 2] | 0) + 120 >> 2] >> 2] | 0) == 1; + g = c[((c[h >> 2] & 3 | 0) == ((g ? 2 : 3) | 0) ? h : h + ((g ? -1 : 1) * 48 | 0) | 0) + 40 >> 2] | 0; + if (!(c[(c[(c[g + 16 >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] | 0)) { + if (!e) e = yv(a, d) | 0; + zv(e, g) + } + } while ((h | 0) != (j | 0)); + if (e | 0) { + if ((c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] | 0) == 0 ? (qv(e) | 0) > 1 : 0) zv(e, b); + if (!k ? (c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] | 0) == (e | 0) : 0) { + sv(d, e); + break + } + rv(d, e) + } + } + } else { + g = c[(c[l >> 2] | 0) + 112 >> 2] | 0; + if ((c[g + 8 >> 2] | 0) != (e | 0)) { + h = g + 24 | 0; + g = c[h >> 2] | 0; + c[h >> 2] = (g | 0) < (i | 0) ? g : i + } + } while (0); + j = Kx(a, j, b) | 0 + } + if (!k ? (c[(c[(c[l >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] | 0) == 0 : 0) { + l = yv(a, d) | 0; + zv(l, b); + sv(d, l) + } + return + } + + function wv(a, b) { + a = a | 0; + b = b | 0; + c[(c[(c[b + 16 >> 2] | 0) + 120 >> 2] | 0) + 4 >> 2] = c[a >> 2]; + c[a >> 2] = b; + b = a + 4 | 0; + c[b >> 2] = (c[b >> 2] | 0) + 1; + return + } + + function xv(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = c[a >> 2] | 0; + if (!b) qa(135312, 93172, 65, 93184); + d = a + 4 | 0; + e = c[d >> 2] | 0; + if ((e | 0) > 0) { + c[a >> 2] = c[(c[(c[b + 16 >> 2] | 0) + 120 >> 2] | 0) + 4 >> 2]; + c[d >> 2] = e + -1; + return b | 0 + } else qa(93162, 93172, 61, 93184); + return 0 + } + + function yv(a, b) { + a = a | 0; + b = b | 0; + return ov(Av(a, b) | 0) | 0 + } + + function zv(a, b) { + a = a | 0; + b = b | 0; + Xy(c[a + 8 >> 2] | 0, b, 1) | 0; + c[(c[(c[b + 16 >> 2] | 0) + 112 >> 2] | 0) + 12 >> 2] = a; + return + } + + function Av(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = l; + l = l + 144 | 0; + f = d; + e = d + 8 | 0; + g = b + 12 | 0; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + c[f >> 2] = b; + Y0(e, 93152, f) | 0; + b = vA(a, e, 1) | 0; + Az(b, 134401, 280, 1) | 0; + l = d; + return b | 0 + } + + function Bv(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 36 >> 2] | 0; + while (1) { + if (!b) break; + d = c[b + 4 >> 2] | 0; + Bv(b); + b = d + } + pv(a); + return + } + + function Cv(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + Dv(a, b, +h[c + 32 >> 3]); + return + } + + function Dv(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0, i = 0; + e = b + 36 | 0; + f = 0; + while (1) { + e = c[e >> 2] | 0; + if (!e) break; + Dv(a, e, d); + e = e + 4 | 0; + f = f + 1 | 0 + } + e = Vv(a, b, d) | 0; + c[b + 32 >> 2] = e; + a = Sv(e) | 0; + if ((f | 0) > 0) d = +Ev(f, a, e, b, d); else d = 3.141592653589793; + if ((((a | 0) == 1 ? (g = c[b >> 2] | 0, g | 0) : 0) ? c[(c[(c[g + 16 >> 2] | 0) + 112 >> 2] | 0) + 8 >> 2] | 0 : 0) ? (i = b + 48 | 0, h[i >> 3] = d, d < 0.0) : 0) h[i >> 3] = d + 6.283185307179586; + return + } + + function Ev(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = +f; + var g = 0.0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0; + v = l; + l = l + 48 | 0; + t = v; + u = uH(a * 56 | 0) | 0; + c[t + 40 >> 2] = c[e + 36 >> 2]; + p = e + 16 | 0; + j = +h[p >> 3]; + q = t + 8 | 0; + h[q >> 3] = j; + h[t >> 3] = j; + c[t + 44 >> 2] = c[e >> 2]; + j = 6.283185307179586 / +(b | 0); + h[t + 16 >> 3] = j; + r = t + 24 | 0; + h[r >> 3] = -1.0; + s = t + 32 | 0; + h[s >> 3] = -1.0; + k = 0; + o = 0; + g = 0.0; + while (1) { + i = c[d >> 2] | 0; + if (!i) break; + d = c[i >> 2] | 0; + if (!(c[(c[(c[d + 16 >> 2] | 0) + 112 >> 2] | 0) + 4 >> 2] & 8)) d = o; else { + n = u + (o * 56 | 0) | 0; + c[n >> 2] = d; + h[u + (o * 56 | 0) + 8 >> 3] = j * +(k | 0); + d = o + 1 | 0; + g = +Fv(n, t, f) + } + k = k + 1 | 0; + o = d; + d = i + 4 | 0 + } + a:do switch (o | 0) { + case 1: { + h[u + 40 >> 3] = 1.0; + d = 0; + break + } + case 2: { + j = +h[u + 64 >> 3] - +h[u + 8 >> 3]; + Gv(u, u + 56 | 0, j > 3.141592653589793 ? 6.283185307179586 - j : j); + d = 0; + break + } + default: { + n = u + 8 | 0; + m = u; + d = 0; + while (1) { + if ((d | 0) >= (o | 0)) { + d = 0; + break a + } + d = d + 1 | 0; + if ((d | 0) == (o | 0)) { + i = u; + j = +h[n >> 3] + 6.283185307179586 - +h[m + 8 >> 3]; + k = m + 56 | 0 + } else { + k = m + 56 | 0; + i = k; + j = +h[m + 64 >> 3] - +h[m + 8 >> 3] + } + Gv(m, i, j); + m = k + } + } + } while (0); + while (1) { + if ((d | 0) >= (o | 0)) break; + Hv(u + (d * 56 | 0) | 0, t, b, f); + d = d + 1 | 0 + } + D_(u); + if ((a | 0) == 1) { + f = g + f * .5; + Iv(e, -f, 0.0, 0.0); + h[p >> 3] = +h[p >> 3] + f; + u = e + 56 | 0; + c[u >> 2] = c[u >> 2] | 1 + } else h[p >> 3] = +h[q >> 3]; + l = v; + return +((+h[s >> 3] + +h[r >> 3]) * .5 + -3.141592653589793) + } + + function Fv(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0.0; + i = 0; + f = 0.0; + g = 0.0; + e = b + 40 | 0; + while (1) { + j = c[e >> 2] | 0; + if (!j) break; + e = c[j >> 2] | 0; + if (!e) e = 0; else e = c[(c[(c[e + 16 >> 2] | 0) + 112 >> 2] | 0) + 8 >> 2] | 0; + if ((e | 0) == (c[a >> 2] | 0)) { + k = +h[j + 16 >> 3]; + e = i + 1 | 0; + f = f + d + k * 2.0; + g = g < k ? k : g + } else e = i; + i = e; + e = j + 4 | 0 + } + h[a + 32 >> 3] = f; + c[a + 48 >> 2] = i; + h[a + 16 >> 3] = g + d + +h[b >> 3]; + h[a + 24 >> 3] = g; + return +g + } + + function Gv(a, b, c) { + a = a | 0; + b = b | 0; + c = +c; + var d = 0.0, e = 0.0; + e = +h[b + 16 >> 3]; + d = +h[a + 16 >> 3]; + c = (d * +h[b + 32 >> 3] + e * +h[a + 32 >> 3]) / (c * 2.0 * e * d); + c = c < 1.0 ? 1.0 : c; + a = a + 40 | 0; + if (c > +h[a >> 3]) h[a >> 3] = c; + a = b + 40 | 0; + if (c > +h[a >> 3]) h[a >> 3] = c; + return + } + + function Hv(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + var f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0, + s = 0, t = 0, u = 0.0, v = 0.0, w = 0, x = 0, y = 0.0, z = 0, A = 0, B = 0, C = 0, D = 0.0, G = 0.0; + z = b + 8 | 0; + y = +h[z >> 3]; + A = b + 24 | 0; + k = +h[A >> 3]; + B = b + 32 | 0; + j = +h[B >> 3]; + f = +h[a + 16 >> 3] * +h[a + 40 >> 3]; + x = (d | 0) == 1; + if (x) { + v = +h[a + 32 >> 3]; + g = v * .15915494309189535; + g = f > g ? f : g; + f = g * 6.283185307179586 - v; + if (f > 0.0) { + e = f / +(c[a + 48 >> 2] | 0) + e; + l = 0.0; + f = g + } else { + l = 0.0; + f = g + } + } else l = +h[a + 8 >> 3] - +h[a + 32 >> 3] / (f * 2.0); + q = +h[a + 24 >> 3] + f; + r = q > y; + s = a + 48 | 0; + t = ((c[s >> 2] | 0) + 1 | 0) / 2 | 0; + u = 1.0 / f; + v = e / f * .5; + w = a + 8 | 0; + n = b + 40 | 0; + o = 0; + p = 0.0; + g = l; + while (1) { + n = c[n >> 2] | 0; + if (!n) break; + i = c[n >> 2] | 0; + if (!i) i = 0; else i = c[(c[(c[i + 16 >> 2] | 0) + 112 >> 2] | 0) + 8 >> 2] | 0; + if ((i | 0) == (c[a >> 2] | 0) ? (Sv(c[n + 32 >> 2] | 0) | 0) >= 1 : 0) { + l = +h[n + 16 >> 3]; + m = l * u; + do if (!x) if ((c[s >> 2] | 0) == 1) { + g = +h[w >> 3]; + break + } else { + g = g + v + m; + break + } else { + if (g != 0.0) g = (c[s >> 2] | 0) == 2 ? 3.141592653589793 : m + g; + j = g; + k = k < 0.0 ? g : k + } while (0); + G = +E(+g) * f; + D = +F(+g) * f; + Iv(n, G, D, +Jv(n, G, D, g)); + g = (x ? (l + e) * u : m + v) + g; + o = o + 1 | 0; + i = o; + l = (o | 0) == (t | 0) ? g : p + } else { + i = o; + l = p + } + n = n + 4 | 0; + o = i; + p = l + } + f = r ? q : y; + if ((d | 0) > 1 ? (C = c[a >> 2] | 0, (C | 0) == (c[b + 44 >> 2] | 0)) : 0) h[(c[(c[C + 16 >> 2] | 0) + 112 >> 2] | 0) + 24 >> 3] = p; + h[z >> 3] = f; + h[A >> 3] = k; + h[B >> 3] = j; + return + } + + function Iv(a, b, d, e) { + a = a | 0; + b = +b; + d = +d; + e = +e; + var f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0.0, p = 0.0; + m = c[a + 8 >> 2] | 0; + n = e != 0.0; + f = Sy(m) | 0; + while (1) { + if (!f) break; + k = c[(c[f + 16 >> 2] | 0) + 132 >> 2] | 0; + i = +h[k >> 3]; + l = k + 8 | 0; + g = +h[l >> 3]; + if (n) { + o = +E(+e); + p = +F(+e); + j = o * i - p * g; + g = p * i + o * g + } else j = i; + h[k >> 3] = j + b; + h[l >> 3] = g + d; + f = Ty(m, f) | 0 + } + f = a + 36 | 0; + while (1) { + f = c[f >> 2] | 0; + if (!f) break; + Iv(f, b, d, e); + f = f + 4 | 0 + } + return + } + + function Jv(a, b, d, e) { + a = a | 0; + b = +b; + d = +d; + e = +e; + var f = 0.0, g = 0, i = 0, j = 0.0, k = 0.0, l = 0, m = 0, n = 0, o = 0; + m = c[a + 8 >> 2] | 0; + f = +h[a + 48 >> 3]; + do if (!(f >= 0.0)) { + if ((Sv(c[a + 32 >> 2] | 0) | 0) == 2) { + f = e + -1.5707963267948966; + break + } + l = c[a >> 2] | 0; + n = l + 16 | 0; + i = c[(c[n >> 2] | 0) + 132 >> 2] | 0; + f = +h[i >> 3] + b; + k = +h[i + 8 >> 3] + d; + f = k * k + f * f; + i = Sy(m) | 0; + g = l; + while (1) { + if (!i) break; + if ((i | 0) != (l | 0) ? (o = c[(c[i + 16 >> 2] | 0) + 132 >> 2] | 0, j = +h[o >> 3] + b, k = +h[o + 8 >> 3] + d, j = k * k + j * j, j < f) : 0) { + f = j; + g = i + } + i = Ty(m, i) | 0 + } + if ((l | 0) != (g | 0)) { + j = +h[a + 24 >> 3]; + k = +h[a + 16 >> 3] - j; + g = c[n >> 2] | 0; + i = c[g + 132 >> 2] | 0; + f = +h[i >> 3]; + if (f > -k ? (c[a + 56 >> 2] & 1 | 0) != 0 : 0) { + d = +C(+(d * d + b * b)); + b = +K(+(+h[i + 8 >> 3]), +(f + k)); + f = +E(+b); + f = e + 1.5707963267948966 - b - +I(+((k - j / f) / d * f)); + break + } else { + f = +K(+(+h[i + 8 >> 3]), +f); + f = e + 3.141592653589793 - f - +h[(c[g + 112 >> 2] | 0) + 24 >> 3]; + f = f > 6.283185307179586 ? f + -6.283185307179586 : f; + break + } + } else f = 0.0 + } else { + f = 3.141592653589793 - f + e; + f = f < 0.0 ? f + 6.283185307179586 : f + } while (0); + return +f + } + + function Kv() { + return uH(12) | 0 + } + + function Lv(a) { + a = a | 0; + var b = 0, d = 0; + if (a | 0) { + b = c[a >> 2] | 0; + while (1) { + if (!b) break; + d = c[b + 4 >> 2] | 0; + D_(b); + b = d + } + D_(a) + } + return + } + + function Mv(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = Nv(d) | 0; + d = a + 8 | 0; + c[d >> 2] = (c[d >> 2] | 0) + 1; + d = a + 4 | 0; + e = c[d >> 2] | 0; + if ((b | 0) == 0 | (e | 0) == (b | 0)) { + c[(e | 0 ? e + 4 | 0 : a) >> 2] = f; + c[f + 8 >> 2] = e; + e = 0 + } else { + e = b + 4 | 0; + d = c[e >> 2] | 0; + c[e >> 2] = f; + c[f + 8 >> 2] = b; + e = d; + d = d + 8 | 0 + } + c[d >> 2] = f; + c[f + 4 >> 2] = e; + return + } + + function Nv(a) { + a = a | 0; + var b = 0; + b = uH(12) | 0; + c[b >> 2] = a; + return b | 0 + } + + function Ov(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = c[a >> 2] | 0; + d = b; + while (1) { + if (!b) break; + g = b + 4 | 0; + e = c[g >> 2] | 0; + f = b + 8 | 0; + c[g >> 2] = c[f >> 2]; + c[f >> 2] = e; + b = e + } + f = a + 4 | 0; + g = c[f >> 2] | 0; + c[f >> 2] = d; + c[a >> 2] = g; + return a | 0 + } + + function Pv(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[a >> 2] | 0; + if ((d | 0) != (b | 0)) { + f = b + 8 | 0; + e = c[f >> 2] | 0; + c[a >> 2] = b; + c[f >> 2] = 0; + b = a + 4 | 0; + a = c[b >> 2] | 0; + c[a + 4 >> 2] = d; + c[d + 8 >> 2] = a; + c[b >> 2] = e; + c[e + 4 >> 2] = 0 + } + return + } + + function Qv(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = Kv() | 0; + e = d + 4 | 0; + b = 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + Mv(d, b, c[a >> 2] | 0); + b = c[e >> 2] | 0; + a = a + 4 | 0 + } + return d | 0 + } + + function Bb(a) { + a = a | 0; + var b = 0; + b = l; + l = l + a | 0; + l = l + 15 & -16; + return b | 0 + } + + function Cb() { + return l | 0 + } + + function Db(a) { + a = a | 0; + l = a + } + + function Eb(a, b) { + a = a | 0; + b = b | 0; + l = a; + m = b + } + + function Fb(a, b) { + a = a | 0; + b = b | 0; + if (!o) { + o = a; + p = b + } + } + + function Gb(a) { + a = a | 0; + z = a + } + + function Hb() { + return z | 0 + } + + function Ib(a) { + a = a | 0; + c[45884] = a; + return 0 + } + + function Jb() { + return c[45884] | 0 + } + + function Kb(a, b) { + a = a | 0; + b = b | 0; + Oa(0, a | 0, b | 0) | 0; + return + } + + function Lb(a) { + a = a | 0; + c[46369] = a; + return + } + + function Mb(a) { + a = a | 0; + if (a | 0) c[46363] = a; + return + } + + function Nb(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + f = i + 4 | 0; + g = i; + c[f >> 2] = 0; + h = ZC() | 0; + cD(h, 10976); + cD(h, 17220); + cD(h, 17440); + Ow(1) | 0; + Nw(18) | 0; + Tz(1); + while (1) { + a = Gy(a) | 0; + e = c[f >> 2] | 0; + if (!a) break; + if (!e) { + _C(h, a, d) | 0; + bD(h, a, b, f, g) | 0; + WB(h, a) | 0 + } + $x(a) | 0; + a = 191979 + } + l = i; + return e | 0 + } + + function Ob(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + d = g + 4 | 0; + e = g; + f = c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0; + a = a + 64 | 0; + switch (c[a >> 2] | 0) { + case 0: { + uI(f); + break + } + case 1: { + if (b[(c[f + 16 >> 2] | 0) + 136 >> 1] & 1) FM(f); + break + } + case 4: + case 5: + case 6: { + rI(f, e, d); + Rb(f, c[e >> 2] | 0, c[d >> 2] | 0, c[a >> 2] | 0); + break + } + default: { + } + } + l = g; + return + } + + function Pb(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + d = c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0; + if (!(c[45885] | 0)) { + c[45885] = c[4652]; + c[45886] = 57; + c[45887] = 19 + } + e = d + 64 | 0; + f = (c[e >> 2] | 0) + 8 | 0; + b = c[f >> 2] | 0; + c[f >> 2] = 183540; + switch (c[a + 64 >> 2] | 0) { + case 2: { + hI(a, d, a, 0); + break + } + case 3: { + hI(a, d, a, 1); + break + } + case 1: + case 0: { + if (!(c[a + 152 >> 2] & 134217728)) NA(d, a) | 0; + break + } + case 6: + case 5: + case 4: { + Qb(d); + if (!(c[a + 152 >> 2] & 134217728)) NA(d, a) | 0; + break + } + default: { + } + } + c[(c[e >> 2] | 0) + 8 >> 2] = b; + return + } + + function Qb(b) { + b = b | 0; + var d = 0, e = 0; + d = c[45889] | 0; + if ((d | 0) != (c[45888] | 0)) { + e = c[c[45920] >> 2] | 0; + if (!e) { + e = LM(b, 0, 96782, 191979) | 0; + c[c[45920] >> 2] = e; + d = c[45889] | 0 + } + if (d >>> 0 >= (c[45890] | 0) >>> 0) { + Uw(183552, 1) | 0; + d = c[45889] | 0 + } + a[d >> 0] = 0; + d = c[45888] | 0; + c[45889] = d; + rx(b, e, d) | 0 + } + if (c[(c[b + 16 >> 2] | 0) + 12 >> 2] | 0) { + e = c[(c[45920] | 0) + 4 >> 2] | 0; + d = c[45905] | 0; + if (d >>> 0 >= (c[45906] | 0) >>> 0) { + Uw(183616, 1) | 0; + d = c[45905] | 0 + } + a[d >> 0] = 0; + d = c[45904] | 0; + c[45905] = d; + rx(b, e, d) | 0 + } + Ax(b, 66649, c[(c[45920] | 0) + 8236 >> 2] | 0, 191979) | 0; + d = 0; + while (1) { + if ((d | 0) == 8) break; + Xw(183552 + (d << 4) | 0); + d = d + 1 | 0 + } + D_(c[45920] | 0); + h[1] = 1.0; + h[5] = 1.0; + c[45921] = 0; + c[45925] = 0; + return + } + + function Rb(d, e, f, g) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + i = C_(8240) | 0; + c[45920] = i; + a:do switch (g | 0) { + case 6: { + b[i + 8232 >> 1] = 14; + g = 66665; + break + } + case 5: { + b[i + 8232 >> 1] = 12; + g = 66669; + break + } + default: { + g = xx(d, 66649) | 0; + if ((g | 0 ? a[g >> 0] | 0 : 0) ? (h = Sb(g) | 0, (h & 65535) > 10) : 0) { + i = c[45920] | 0; + b[i + 8232 >> 1] = h; + break a + } + g = Sb(66661) | 0; + i = c[45920] | 0; + b[i + 8232 >> 1] = g; + g = 66661 + } + } while (0); + c[i + 8236 >> 2] = g; + j = d + 16 | 0; + g = c[j >> 2] | 0; + if (!(c[g + 180 >> 2] | 0)) h = 0; else { + h = LM(d, 0, 96782, 191979) | 0; + i = c[45920] | 0; + g = c[j >> 2] | 0 + } + c[i >> 2] = h; + if (!(a[g + 113 >> 0] & 8)) g = 0; else g = LM(d, 0, 66673, 191979) | 0; + c[(c[45920] | 0) + 4 >> 2] = g; + i = LM(d, 1, 96782, 191979) | 0; + c[(c[45920] | 0) + 8 >> 2] = i; + i = LM(d, 1, 66673, 191979) | 0; + c[(c[45920] | 0) + 12 >> 2] = i; + i = LM(d, 2, 96782, 191979) | 0; + g = c[45920] | 0; + c[g + 16 >> 2] = i; + if (!f) h = 0; else { + h = LM(d, 2, 66681, 191979) | 0; + g = c[45920] | 0 + } + c[g + 20 >> 2] = h; + if (!e) h = 0; else { + h = LM(d, 2, 66689, 191979) | 0; + g = c[45920] | 0 + } + c[g + 24 >> 2] = h; + h = a[(c[j >> 2] | 0) + 113 >> 0] | 0; + if (!(h & 33)) i = 0; else { + i = LM(d, 2, 66673, 191979) | 0; + g = c[45920] | 0; + h = a[(c[j >> 2] | 0) + 113 >> 0] | 0 + } + c[g + 28 >> 2] = i; + if (!(h & 2)) i = 0; else { + i = LM(d, 2, 66697, 191979) | 0; + g = c[45920] | 0; + h = a[(c[j >> 2] | 0) + 113 >> 0] | 0 + } + c[g + 32 >> 2] = i; + if (!(h & 4)) h = 0; else { + h = LM(d, 2, 66706, 191979) | 0; + g = c[45920] | 0 + } + c[g + 36 >> 2] = h; + g = 0; + while (1) { + if ((g | 0) == 8) break; + Tw(183552 + (g << 4) | 0, 1024, (c[45920] | 0) + 40 + (g << 10) | 0); + g = g + 1 | 0 + } + return + } + + function Sb(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 1040 | 0; + h = j; + g = j + 8 | 0; + f = 0; + d = b; + a:while (1) { + do { + e = d; + d = d + 1 | 0; + e = a[e >> 0] | 0; + if (!(e << 24 >> 24)) break a + } while (((e << 24 >> 24) + -48 | 0) >>> 0 >= 10); + if ((f | 0) >= 1023) { + i = 7; + break + } + a[g + f >> 0] = e; + f = f + 1 | 0 + } + if ((i | 0) == 7) { + c[h >> 2] = b; + Pw(0, 66715, h) | 0 + } + a[g + f >> 0] = 0; + i = (a2(g) | 0) & 65535; + l = j; + return i | 0 + } + + function Tb(b) { + b = b | 0; + var d = 0, e = 0; + e = c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0; + d = c[c[45920] >> 2] | 0; + b = c[45893] | 0; + if (b >>> 0 >= (c[45894] | 0) >>> 0) { + Uw(183568, 1) | 0; + b = c[45893] | 0 + } + a[b >> 0] = 0; + b = c[45892] | 0; + c[45893] = b; + rx(e, d, b) | 0; + if (c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0) { + d = c[(c[45920] | 0) + 4 >> 2] | 0; + b = c[45909] | 0; + if (b >>> 0 >= (c[45910] | 0) >>> 0) { + Uw(183632, 1) | 0; + b = c[45909] | 0 + } + a[b >> 0] = 0; + b = c[45908] | 0; + c[45909] = b; + rx(e, d, b) | 0 + } + h[2] = 1.0; + h[6] = 1.0; + c[45922] = 0; + c[45926] = 0; + return + } + + function Ub(b) { + b = b | 0; + var d = 0, e = 0; + e = c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0; + b = c[45893] | 0; + if ((c[45892] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 8 >> 2] | 0; + if (b >>> 0 >= (c[45894] | 0) >>> 0) { + Uw(183568, 1) | 0; + b = c[45893] | 0 + } + a[b >> 0] = 0; + b = c[45892] | 0; + c[45893] = b; + rx(e, d, b) | 0 + } + b = c[45909] | 0; + if ((c[45908] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 12 >> 2] | 0; + if (b >>> 0 >= (c[45910] | 0) >>> 0) { + Uw(183632, 1) | 0; + b = c[45909] | 0 + } + a[b >> 0] = 0; + b = c[45908] | 0; + c[45909] = b; + rx(e, d, b) | 0 + } + h[9] = 1.0; + h[11] = 1.0; + c[45929] = 0; + c[45931] = 0; + return + } + + function Vb(b) { + b = b | 0; + var d = 0, e = 0; + e = c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0; + b = c[45893] | 0; + if ((c[45892] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 16 >> 2] | 0; + if (b >>> 0 >= (c[45894] | 0) >>> 0) { + Uw(183568, 1) | 0; + b = c[45893] | 0 + } + a[b >> 0] = 0; + b = c[45892] | 0; + c[45893] = b; + rx(e, d, b) | 0 + } + b = c[45897] | 0; + if ((c[45896] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 24 >> 2] | 0; + if (b >>> 0 >= (c[45898] | 0) >>> 0) { + Uw(183584, 1) | 0; + b = c[45897] | 0 + } + a[b >> 0] = 0; + b = c[45896] | 0; + c[45897] = b; + rx(e, d, b) | 0 + } + b = c[45901] | 0; + if ((c[45900] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 20 >> 2] | 0; + if (b >>> 0 >= (c[45902] | 0) >>> 0) { + Uw(183600, 1) | 0; + b = c[45901] | 0 + } + a[b >> 0] = 0; + b = c[45900] | 0; + c[45901] = b; + rx(e, d, b) | 0 + } + b = c[45909] | 0; + if ((c[45908] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 28 >> 2] | 0; + if (b >>> 0 >= (c[45910] | 0) >>> 0) { + Uw(183632, 1) | 0; + b = c[45909] | 0 + } + a[b >> 0] = 0; + b = c[45908] | 0; + c[45909] = b; + rx(e, d, b) | 0 + } + b = c[45913] | 0; + if ((c[45912] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 36 >> 2] | 0; + if (b >>> 0 >= (c[45914] | 0) >>> 0) { + Uw(183648, 1) | 0; + b = c[45913] | 0 + } + a[b >> 0] = 0; + b = c[45912] | 0; + c[45913] = b; + rx(e, d, b) | 0 + } + b = c[45917] | 0; + if ((c[45916] | 0) != (b | 0)) { + d = c[(c[45920] | 0) + 32 >> 2] | 0; + if (b >>> 0 >= (c[45918] | 0) >>> 0) { + Uw(183664, 1) | 0; + b = c[45917] | 0 + } + a[b >> 0] = 0; + b = c[45916] | 0; + c[45917] = b; + rx(e, d, b) | 0 + } + h[10] = 1.0; + h[12] = 1.0; + h[3] = 1.0; + h[4] = 1.0; + h[7] = 1.0; + h[8] = 1.0; + c[45930] = 0; + c[45932] = 0; + c[45923] = 0; + c[45924] = 0; + c[45927] = 0; + c[45928] = 0; + return + } + + function Wb(d, e, f) { + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 1056 | 0; + j = t + 16 | 0; + s = t + 8 | 0; + r = t; + k = t + 32 | 0; + o = c[(c[d + 16 >> 2] | 0) + 12 >> 2] | 0; + p = c[11416 + (o << 2) >> 2] | 0; + Ww(p, 66812) | 0; + g = f + 4 | 0; + dc(k, +h[(c[g >> 2] | 0) + 16 >> 3]); + Ww(p, k) | 0; + gc(d, 191979, c[c[g >> 2] >> 2] | 0); + ac(d); + q = a[f + 48 >> 0] | 0; + q = q << 24 >> 24 == 108 ? -1 : q << 24 >> 24 == 114 & 1; + g = c[g >> 2] | 0; + if (!g) g = 0; else g = c[g + 24 >> 2] & 127; + i = b[(c[45920] | 0) + 8232 >> 1] | 0; + if ((i & 65535) > 14 ? (m = c[11464 + ((i & 65535) + -15 << 2) >> 2] & g, n = 183684 + (o << 2) | 0, (c[n >> 2] | 0) != (m | 0)) : 0) { + c[r >> 2] = m; + Y0(k, 66815, r) | 0; + Ww(p, k) | 0; + c[n >> 2] = m + } + r = e + 8 | 0; + h[r >> 3] = +h[r >> 3] + +h[f + 24 >> 3]; + Ww(p, 66821) | 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]; + cc(p, j); + c[s >> 2] = q; + Y0(k, 99194, s) | 0; + Ww(p, k) | 0; + dc(k, +h[f + 32 >> 3]); + Ww(p, k) | 0; + gc(d, 191979, c[f >> 2] | 0); + l = t; + return + } + + function Xb(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0; + i = l; + l = l + 1040 | 0; + f = i; + g = i + 16 | 0; + e = c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0; + $b(a); + ac(a); + if (!d) { + a = c[11416 + (e << 2) >> 2] | 0; + Ww(a, 66809) | 0 + } else { + if ((d | 1 | 0) == 3) ic(a, d, b, 2); else jc(a); + a = c[11416 + (e << 2) >> 2] | 0; + Ww(a, 66806) | 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]; + cc(a, f); + dc(g, +h[b + 16 >> 3] - +h[b >> 3]); + Ww(a, g) | 0; + dc(g, +h[b + 24 >> 3] - +h[b + 8 >> 3]); + Ww(a, g) | 0; + l = i; + return + } + + function Yb(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + $b(a); + ac(a); + if (!d) bc(a, 112, b, c); else { + if ((d | 1 | 0) == 3) ic(a, d, b, c); else jc(a); + bc(a, 80, b, c) + } + return + } + + function Zb(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + $b(a); + ac(a); + if (!f) bc(a, 66, b, c); else { + if ((f | 1 | 0) == 3) ic(a, f, b, c); else jc(a); + bc(a, 98, b, c) + } + return + } + + function _b(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + $b(a); + ac(a); + bc(a, 76, b, c); + return + } + + function $b(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 1184 | 0; + i = n; + f = n + 24 | 0; + m = n + 8 | 0; + Tw(m, 1024, n + 152 | 0); + j = b + 16 | 0; + d = c[j >> 2] | 0; + g = +h[d + 152 >> 3]; + e = 8 + (c[d + 12 >> 2] << 3) | 0; + if (g != +h[e >> 3]) { + h[e >> 3] = g; + Ww(m, 66778) | 0; + h[i >> 3] = +h[(c[j >> 2] | 0) + 152 >> 3]; + Y0(f, 66792, i) | 0; + ec(f, 0); + Ww(m, f) | 0; + f = m + 4 | 0; + d = c[f >> 2] | 0; + e = m + 8 | 0; + if (d >>> 0 >= (c[e >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + d = c[f >> 2] | 0 + } + c[f >> 2] = d + 1; + a[d >> 0] = 41; + d = c[f >> 2] | 0; + if (d >>> 0 >= (c[e >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + d = c[f >> 2] | 0 + } + a[d >> 0] = 0; + d = c[m >> 2] | 0; + c[f >> 2] = d; + gc(b, 66797, d); + d = c[j >> 2] | 0 + } + d = c[d + 160 >> 2] | 0; + if (d | 0) { + j = m + 4 | 0; + k = m + 8 | 0; + a:while (1) { + i = d + 4 | 0; + d = c[d >> 2] | 0; + if (!d) break; + switch (a[d >> 0] | 0) { + case 102: { + if (!(b$(d, 108075) | 0)) { + d = i; + continue a + } + break + } + case 98: { + if (!(b$(d, 108057) | 0)) { + d = i; + continue a + } + break + } + case 115: { + if (!(b$(d, 108062) | 0)) { + d = i; + continue a + } + break + } + default: { + } + } + Ww(m, d) | 0; + do { + f = d; + d = d + 1 | 0 + } while ((a[f >> 0] | 0) != 0); + if (a[d >> 0] | 0) { + e = c[j >> 2] | 0; + if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + e = c[j >> 2] | 0 + } + c[j >> 2] = e + 1; + a[e >> 0] = 40; + f = 0; + while (1) { + if (!(a[d >> 0] | 0)) break; + if (f | 0) { + e = c[j >> 2] | 0; + if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + e = c[j >> 2] | 0 + } + c[j >> 2] = e + 1; + a[e >> 0] = 44 + } + Ww(m, d) | 0; + do { + e = d; + d = d + 1 | 0 + } while ((a[e >> 0] | 0) != 0); + f = f + 1 | 0 + } + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + d = c[j >> 2] | 0 + } + c[j >> 2] = d + 1; + a[d >> 0] = 41 + } + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(m, 1) | 0; + d = c[j >> 2] | 0 + } + a[d >> 0] = 0; + d = c[m >> 2] | 0; + c[j >> 2] = d; + gc(b, 66797, d); + d = i + } + Xw(m) + } + l = n; + return + } + + function ac(a) { + a = a | 0; + fc((c[a + 16 >> 2] | 0) + 16 | 0); + gc(a, 75730, 190678); + return + } + + function bc(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 1040 | 0; + j = k; + i = k + 16 | 0; + h = c[11416 + (c[(c[b + 16 >> 2] | 0) + 12 >> 2] << 2) >> 2] | 0; + g = h + 4 | 0; + b = c[g >> 2] | 0; + if (b >>> 0 >= (c[h + 8 >> 2] | 0) >>> 0) { + Uw(h, 1) | 0; + b = c[g >> 2] | 0 + } + c[g >> 2] = b + 1; + a[b >> 0] = d; + c[j >> 2] = f; + Y0(i, 66742, j) | 0; + Ww(h, i) | 0; + b = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + i = e + (b << 4) | 0; + c[j >> 2] = c[i >> 2]; + c[j + 4 >> 2] = c[i + 4 >> 2]; + c[j + 8 >> 2] = c[i + 8 >> 2]; + c[j + 12 >> 2] = c[i + 12 >> 2]; + cc(h, j); + b = b + 1 | 0 + } + l = k; + return + } + + function cc(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = l; + l = l + 1024 | 0; + d = c; + dc(d, +h[b >> 3]); + Ww(a, d) | 0; + dc(d, +gI(+h[b + 8 >> 3])); + Ww(a, d) | 0; + l = c; + return + } + + function dc(a, b) { + a = a | 0; + b = +b; + var c = 0, d = 0; + c = l; + l = l + 16 | 0; + d = c; + h[d >> 3] = b > -1.0e-08 & b < 1.0e-08 ? 0.0 : b; + Y0(a, 66747, d) | 0; + ec(a, 1); + l = c; + return + } + + function ec(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = A$(b, 46) | 0; + if (!d) { + if (c | 0) { + d = b + (W_(b) | 0) | 0; + e = 10 + } + } else { + while (1) { + b = d + 1 | 0; + if (!(a[b >> 0] | 0)) break; else d = b + } + a:while (1) { + switch (a[d >> 0] | 0) { + case 46: { + e = 5; + break a + } + case 48: + break; + default: { + e = 6; + break a + } + } + a[d >> 0] = 0; + d = d + -1 | 0 + } + if ((e | 0) == 5) a[d >> 0] = 0; else if ((e | 0) == 6) d = d + 1 | 0; + if (c | 0) e = 10 + } + if ((e | 0) == 10) { + a[d >> 0] = 32; + a[d + 1 >> 0] = 0 + } + return + } + + function fc(b) { + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + i = j + 16 | 0; + h = j; + e = a[b + 3 >> 0] | 0; + f = d[b >> 0] | 0; + g = d[b + 1 >> 0] | 0; + b = d[b + 2 >> 0] | 0; + if (e << 24 >> 24 == -1) { + c[h >> 2] = f; + c[h + 4 >> 2] = g; + c[h + 8 >> 2] = b; + Y0(190678, 75610, h) | 0 + } else { + c[i >> 2] = f; + c[i + 4 >> 2] = g; + c[i + 8 >> 2] = b; + c[i + 12 >> 2] = e & 255; + Y0(190678, 66760, i) | 0 + } + l = j; + return + } + + function gc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + hc(c[11416 + (c[(c[a + 16 >> 2] | 0) + 12 >> 2] << 2) >> 2] | 0, b, d); + return + } + + function hc(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + f = l; + l = l + 1040 | 0; + h = f; + g = f + 8 | 0; + i = W_(e) | 0; + c[h >> 2] = d; + c[h + 4 >> 2] = i; + Y0(g, 66753, h) | 0; + Ww(b, g) | 0; + Ww(b, e) | 0; + e = b + 4 | 0; + d = c[e >> 2] | 0; + if (d >>> 0 >= (c[b + 8 >> 2] | 0) >>> 0) { + Uw(b, 1) | 0; + d = c[e >> 2] | 0 + } + c[e >> 2] = d + 1; + a[d >> 0] = 32; + l = f; + return + } + + function ic(b, d, f, i) { + b = b | 0; + d = d | 0; + f = f | 0; + i = i | 0; + var j = 0.0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0.0; + x = l; + l = l + 1120 | 0; + t = x + 64 | 0; + w = x + 80 | 0; + k = x + 32 | 0; + r = x + 16 | 0; + s = x; + u = c[b + 16 >> 2] | 0; + j = +(c[u + 136 >> 2] | 0) * .017453292519943295; + if ((e[(c[45920] | 0) + 8232 >> 1] | 0) < 14) jc(b); else { + Tw(w, 1024, x + 96 | 0); + v = (d | 0) == 2; + if (v) { + aN(f, k, i, j, 2); + f = w + 4 | 0; + d = c[f >> 2] | 0; + if (d >>> 0 >= (c[w + 8 >> 2] | 0) >>> 0) { + Uw(w, 1) | 0; + d = c[f >> 2] | 0 + } + c[f >> 2] = d + 1; + a[d >> 0] = 91; + c[t >> 2] = c[k >> 2]; + c[t + 4 >> 2] = c[k + 4 >> 2]; + c[t + 8 >> 2] = c[k + 8 >> 2]; + c[t + 12 >> 2] = c[k + 12 >> 2]; + cc(w, t); + s = k + 16 | 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]; + cc(w, t) + } else { + aN(f, k, i, 0.0, 3); + q = +h[k + 24 >> 3]; + o = +h[k >> 3]; + if (j == 0.0) { + n = +h[k + 8 >> 3]; + p = q * .25; + j = n; + m = o + } else { + p = q * .25; + y = p; + m = +E(+j) * y + o; + n = +h[k + 8 >> 3]; + j = +F(+j) * y + n + } + h[r >> 3] = m; + h[r + 8 >> 3] = j; + h[s >> 3] = o; + h[s + 8 >> 3] = n; + f = w + 4 | 0; + d = c[f >> 2] | 0; + if (d >>> 0 >= (c[w + 8 >> 2] | 0) >>> 0) { + Uw(w, 1) | 0; + d = c[f >> 2] | 0 + } + c[f >> 2] = d + 1; + a[d >> 0] = 40; + 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]; + cc(w, t); + kc(w, p); + 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]; + cc(w, t); + kc(w, q) + } + Ww(w, 66803) | 0; + d = u + 140 | 0; + j = +g[d >> 2]; + f = u + 56 | 0; + if (j > 0.0) { + lc(w, j, f); + lc(w, +g[d >> 2], u + 96 | 0) + } else { + lc(w, 0.0, f); + lc(w, 1.0, u + 96 | 0) + } + Yw(w) | 0; + k = w + 4 | 0; + d = c[k >> 2] | 0; + i = w + 8 | 0; + f = d >>> 0 >= (c[i >> 2] | 0) >>> 0; + if (v) { + if (f) { + Uw(w, 1) | 0; + d = c[k >> 2] | 0 + } + c[k >> 2] = d + 1; + a[d >> 0] = 93 + } else { + if (f) { + Uw(w, 1) | 0; + d = c[k >> 2] | 0 + } + c[k >> 2] = d + 1; + a[d >> 0] = 41 + } + d = c[k >> 2] | 0; + if (d >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(w, 1) | 0; + d = c[k >> 2] | 0 + } + a[d >> 0] = 0; + v = c[w >> 2] | 0; + c[k >> 2] = v; + gc(b, 66800, v); + Xw(w) + } + l = x; + return + } + + function jc(a) { + a = a | 0; + fc((c[a + 16 >> 2] | 0) + 56 | 0); + gc(a, 66800, 190678); + return + } + + function kc(a, b) { + a = a | 0; + b = +b; + var c = 0, d = 0; + c = l; + l = l + 1024 | 0; + d = c; + dc(d, b); + Ww(a, d) | 0; + l = c; + return + } + + function lc(a, b, c) { + a = a | 0; + b = +b; + c = c | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 1040 | 0; + f = d; + e = d + 8 | 0; + h[f >> 3] = b; + Y0(e, 92597, f) | 0; + ec(e, 1); + fc(c); + hc(a, e, 190678); + l = d; + return + } + + function mc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0; + e = l; + l = l + 1040 | 0; + i = e; + f = e + 16 | 0; + g = c[11416 + (c[(c[a + 16 >> 2] | 0) + 12 >> 2] << 2) >> 2] | 0; + Ww(g, 66909) | 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]; + cc(g, i); + dc(f, +h[d + 16 >> 3] - +h[d >> 3]); + Ww(g, f) | 0; + dc(f, +h[d + 24 >> 3] - +h[d + 8 >> 3]); + Ww(g, f) | 0; + gc(a, 191979, c[b + 8 >> 2] | 0); + l = e; + return + } + + function nc(a) { + a = a | 0; + var b = 0; + switch (c[a + 64 >> 2] | 0) { + case 0: { + b = lC(c[a >> 2] | 0) | 0; + $C(b, c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0, 67693, 0) | 0; + mC(b); + break + } + case 1: { + uI(c[(c[a >> 2] | 0) + 168 >> 2] | 0); + break + } + default: { + } + } + return + } + + function oc(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + d = f; + e = c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0; + if (!(c[45933] | 0)) { + c[45933] = c[4652]; + c[45934] = 57; + c[45935] = 19 + } + c[(c[e + 64 >> 2] | 0) + 8 >> 2] = 183732; + pc(e, 1); + c[d >> 2] = 0; + a[d + 4 >> 0] = (a[(c[e + 16 >> 2] | 0) + 115 >> 0] | 0) == 1 & 1; + g = c[b + 64 >> 2] | 0; + a[d + 5 >> 0] = ((g | 0) == 0 | (g | 0) == 3) & 1; + a[d + 6 >> 0] = 0; + qc(e, b, 1, d); + l = f; + return + } + + function pc(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + c[a >> 2] = c[a >> 2] & -9; + d = wA(a) | 0; + while (1) { + if (!d) break; + pc(d, 0); + d = xA(d) | 0 + } + a:do if (b | 0) { + b = Sy(a) | 0; + while (1) { + if (!b) break a; + c[b >> 2] = c[b >> 2] & -9; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + c[d >> 2] = c[d >> 2] & -9; + d = Gx(a, d) | 0 + } + b = Ty(a, b) | 0 + } + } while (0); + return + } + + function qc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + p = q + 8 | 0; + o = q; + n = (d | 0) != 0; + if (n) { + m = Cw(11836, c[4555] | 0) | 0; + Fz(a, 1, 137978, 12, 0); + Fz(a, 2, 137978, 12, 0); + Fz(a, 0, 137978, -12, 0); + f = rc(a, 0, m) | 0; + j = Sy(a) | 0; + i = 0; + g = 0; + while (1) { + if (!j) break; + if (!(z$(ry(j) | 0, 104980, 7) | 0)) { + k = g; + g = sc(m, ry(j) | 0) | 0 + } else { + k = g + 1 | 0; + g = g + f | 0 + } + c[(yz(j, 137978, 0) | 0) + 8 >> 2] = g; + h = Ex(a, j) | 0; + g = i; + while (1) { + if (!h) break; + c[(yz(h, 137978, 0) | 0) + 8 >> 2] = g; + h = Gx(a, h) | 0; + g = g + 1 | 0 + } + j = Ty(a, j) | 0; + i = g; + g = k + } + yw(m) | 0 + } else f = 0; + m = c[e >> 2] | 0; + c[e >> 2] = m + 1; + tc(b, m); + $B(b, 94292) | 0; + uc(a, b, d, e); + vc(a, b, e); + $B(b, 94263) | 0; + tc(b, c[e >> 2] | 0); + if (n) { + c[o >> 2] = f; + fC(b, 66912, o) + } else { + c[p >> 2] = c[(yz(a, 137978, 0) | 0) + 8 >> 2]; + fC(b, 66932, p) + } + xc(a, b, d, wc(a, b, d, e) | 0, e); + yc(a, b, d, e); + $B(b, 150517) | 0; + p = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = p; + tc(b, p); + if (n) $B(b, 107982) | 0; else $B(b, 75253) | 0; + l = q; + return + } + + function rc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + if ((fz(a) | 0) != (a | 0)) { + e = b + 1 | 0; + c[(yz(a, 137978, 0) | 0) + 8 >> 2] = b; + if (!(z$(ry(a) | 0, 104980, 7) | 0)) { + b = ry(a) | 0; + Kc(d, b, c[(yz(a, 137978, 0) | 0) + 8 >> 2] | 0); + b = e + } else b = e + } + e = wA(a) | 0; + while (1) { + if (!e) break; + a = rc(e, b, d) | 0; + e = xA(e) | 0; + b = a + } + return b | 0 + } + + function sc(a, b) { + a = a | 0; + b = b | 0; + a = nb[c[a >> 2] & 63](a, b, 512) | 0; + if (!a) a = -1; else a = c[a + 12 >> 2] | 0; + return a | 0 + } + + function tc(a, b) { + a = a | 0; + b = b | 0; + while (1) { + if ((b | 0) <= 0) break; + $B(a, 90480) | 0; + b = b + -1 | 0 + } + return + } + + function uc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + h = l; + l = l + 32 | 0; + g = h + 16 | 0; + f = h + 8 | 0; + i = h; + j = ry(a) | 0; + tc(b, c[e >> 2] | 0); + c[i >> 2] = Bc(j, e) | 0; + fC(b, 67020, i); + if (d | 0) { + $B(b, 94263) | 0; + tc(b, c[e >> 2] | 0); + j = (ey(a) | 0) != 0; + c[f >> 2] = j ? 104626 : 134226; + fC(b, 67634, f); + tc(b, c[e >> 2] | 0); + j = (gy(a) | 0) != 0; + c[g >> 2] = j ? 104626 : 134226; + fC(b, 67651, g) + } + l = h; + return + } + + function vc(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o + 8 | 0; + m = o; + i = fz(b) | 0; + j = c[b >> 2] & 3; + f = sx(i, j, 0) | 0; + a:do if (f | 0) { + k = e + 5 | 0; + while (1) { + if (!f) break a; + g = yx(b, f) | 0; + do if (g | 0) { + h = f + 8 | 0; + if (!(a[g >> 0] | 0)) { + g = c[h >> 2] | 0; + if ((a[g >> 0] | 0) != 108) break; + if (b$(g, 105198) | 0) break + } + $B(d, 94263) | 0; + tc(d, c[e >> 2] | 0); + c[m >> 2] = Bc(c[h >> 2] | 0, e) | 0; + fC(d, 67070, m); + if (a[k >> 0] | 0 ? Dc(c[h >> 2] | 0) | 0 : 0) { + Ec(yx(b, f) | 0, d, e); + break + } + c[n >> 2] = Bc(yx(b, f) | 0, e) | 0; + fC(d, 67077, n) + } while (0); + f = sx(i, j, f) | 0 + } + } while (0); + l = o; + return + } + + function wc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + f = wA(a) | 0; + if (f) { + $B(b, 94263) | 0; + g = c[e >> 2] | 0; + c[e >> 2] = g + 1; + tc(b, g); + g = (d | 0) != 0; + if (g) { + $B(b, 66994) | 0; + a = 0; + d = f + } else { + $B(b, 67054) | 0; + tc(b, c[e >> 2] | 0); + a = 0; + d = f + } + while (1) { + if (!d) break; + if (!a) a = 1; else $B(b, 94263) | 0; + if (g) Cc(d, b, e); else { + c[h >> 2] = c[(yz(d, 137978, 0) | 0) + 8 >> 2]; + fC(b, 134313, h) + } + d = xA(d) | 0 + } + if (g) a = 1; else { + c[e >> 2] = (c[e >> 2] | 0) + -1; + $B(b, 150517) | 0; + tc(b, c[e >> 2] | 0); + $B(b, 94258) | 0; + a = 1 + } + } else a = 0; + l = i; + return a | 0 + } + + function xc(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = Sy(a) | 0; + if (!g) { + if ((d | 0) != 0 & (e | 0) != 0) { + c[f >> 2] = (c[f >> 2] | 0) + -1; + $B(b, 150517) | 0; + tc(b, c[f >> 2] | 0); + $B(b, 94258) | 0 + } + } else { + $B(b, 94263) | 0; + h = (d | 0) != 0; + if (h) if (!e) { + e = c[f >> 2] | 0; + c[f >> 2] = e + 1; + tc(b, e); + $B(b, 66994) | 0; + e = 0 + } else e = 0; else { + e = c[f >> 2] | 0; + c[f >> 2] = e + 1; + tc(b, e); + $B(b, 67008) | 0; + tc(b, c[f >> 2] | 0); + e = 0 + } + while (1) { + if (!g) break; + if (z$(ry(g) | 0, 104980, 7) | 0) { + do if (e) if (h) { + $B(b, 94263) | 0; + break + } else { + $B(b, 97973) | 0; + break + } else e = 1; while (0); + Ac(g, b, d, f) + } + g = Ty(a, g) | 0 + } + c[f >> 2] = (c[f >> 2] | 0) + -1; + $B(b, 150517) | 0; + tc(b, c[f >> 2] | 0); + $B(b, 94258) | 0 + } + return + } + + 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, i = 0; + f = Sy(a) | 0; + a:do if (f | 0) { + while (1) { + if (!f) break a; + if (Ex(a, f) | 0) break; + f = Ty(a, f) | 0 + } + $B(b, 94263) | 0; + i = c[e >> 2] | 0; + c[e >> 2] = i + 1; + tc(b, i); + $B(b, 66944) | 0; + i = (d | 0) != 0; + if (i) g = 0; else { + tc(b, c[e >> 2] | 0); + g = 0 + } + while (1) { + if (!f) break; + h = Ex(a, f) | 0; + while (1) { + if (!h) break; + do if (g) if (i) { + $B(b, 94263) | 0; + break + } else { + $B(b, 97973) | 0; + break + } else g = 1; while (0); + zc(h, b, d, e); + h = Gx(a, h) | 0 + } + f = Ty(a, f) | 0 + } + c[e >> 2] = (c[e >> 2] | 0) + -1; + $B(b, 150517) | 0; + tc(b, c[e >> 2] | 0); + $B(b, 94258) | 0 + } while (0); + return + } + + 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, i = 0, j = 0; + j = l; + l = l + 32 | 0; + i = j + 24 | 0; + h = j + 16 | 0; + g = j + 8 | 0; + f = j; + if (!d) { + c[i >> 2] = c[(yz(a, 137978, 0) | 0) + 8 >> 2]; + fC(b, 134313, i) + } else { + i = c[e >> 2] | 0; + c[e >> 2] = i + 1; + tc(b, i); + $B(b, 94292) | 0; + tc(b, c[e >> 2] | 0); + c[f >> 2] = c[(yz(a, 137978, 0) | 0) + 8 >> 2]; + fC(b, 66956, f); + tc(b, c[e >> 2] | 0); + c[g >> 2] = c[(yz(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0, 137978, 0) | 0) + 8 >> 2]; + fC(b, 66970, g); + tc(b, c[e >> 2] | 0); + c[h >> 2] = c[(yz(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0, 137978, 0) | 0) + 8 >> 2]; + fC(b, 66983, h); + vc(a, b, e); + $B(b, 150517) | 0; + i = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = i; + tc(b, i); + $B(b, 75253) | 0 + } + l = j; + return + } + + function Ac(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 32 | 0; + h = i + 16 | 0; + g = i + 8 | 0; + f = i; + if (!d) { + c[h >> 2] = c[(yz(a, 137978, 0) | 0) + 8 >> 2]; + fC(b, 134313, h) + } else { + h = c[e >> 2] | 0; + c[e >> 2] = h + 1; + tc(b, h); + $B(b, 94292) | 0; + tc(b, c[e >> 2] | 0); + c[f >> 2] = c[(yz(a, 137978, 0) | 0) + 8 >> 2]; + fC(b, 66956, f); + tc(b, c[e >> 2] | 0); + c[g >> 2] = Bc(ry(a) | 0, e) | 0; + fC(b, 67020, g); + vc(a, b, e); + $B(b, 150517) | 0; + h = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = h; + tc(b, h); + $B(b, 75253) | 0 + } + l = i; + return + } + + function Bc(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = d + 4 | 0; + if (a[g >> 0] | 0) b = RM(b) | 0; + if (!(c[45936] | 0)) { + Tw(183744, 1024, 0); + e = b + } else e = b; + a:while (1) { + f = a[e >> 0] | 0; + switch (f << 24 >> 24) { + case 0: + break a; + case 34: { + Ww(183744, 67033) | 0; + break + } + case 92: { + Ww(183744, 93534) | 0; + break + } + case 47: { + Ww(183744, 67036) | 0; + break + } + case 8: { + Ww(183744, 67039) | 0; + break + } + case 12: { + Ww(183744, 67042) | 0; + break + } + case 10: { + Ww(183744, 67045) | 0; + break + } + case 13: { + Ww(183744, 67048) | 0; + break + } + case 9: { + Ww(183744, 67051) | 0; + break + } + default: { + d = c[45937] | 0; + if (d >>> 0 >= (c[45938] | 0) >>> 0) { + Uw(183744, 1) | 0; + d = c[45937] | 0 + } + c[45937] = d + 1; + a[d >> 0] = f + } + } + e = e + 1 | 0 + } + d = c[45937] | 0; + if (d >>> 0 >= (c[45938] | 0) >>> 0) { + Uw(183744, 1) | 0; + d = c[45937] | 0 + } + a[d >> 0] = 0; + d = c[45936] | 0; + c[45937] = d; + if (a[g >> 0] | 0) D_(b); + return d | 0 + } + + function Cc(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + qc(a, b, 0, c); + a = wA(a) | 0; + while (1) { + if (!a) break; + $B(b, 94263) | 0; + Cc(a, b, c); + a = xA(a) | 0 + } + return + } + + function Dc(b) { + b = b | 0; + var c = 0; + c = b + 1 | 0; + a:do if ((a[b >> 0] | 0) == 95) { + b = (a[c >> 0] | 0) + -100 << 24 >> 24; + switch (((b & 255) >>> 2 | b << 6 & 255) << 24 >> 24) { + case 0: { + if (!(b$(c, 67591) | 0)) { + b = 1; + break a + } + break + } + case 2: { + if (!(b$(c, 67597) | 0)) { + b = 1; + break a + } + break + } + case 1: { + if (!(b$(c, 67604) | 0)) { + b = 1; + break a + } + return (b$(c, 67618) | 0) == 0 | 0 + } + case 4: { + if (!(b$(c, 67611) | 0)) { + b = 1; + break a + } + b = (b$(c, 67626) | 0) == 0 & 1; + break a + } + default: { + b = 0; + break a + } + } + b = 0 + } else b = 0; while (0); + return b | 0 + } + + function Ec(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + f = i; + do if (b | 0 ? a[b >> 0] | 0 : 0) { + h = oE(b) | 0; + if (!h) { + c[f >> 2] = b; + Pw(0, 67082, f) | 0; + break + } + $B(d, 150517) | 0; + g = c[e >> 2] | 0; + c[e >> 2] = g + 1; + tc(d, g); + $B(d, 67109) | 0; + g = h + 8 | 0; + b = 0; + f = 0; + while (1) { + if ((f | 0) >= (c[h >> 2] | 0)) break; + if (!b) b = 1; else $B(d, 94263) | 0; + Fc((c[g >> 2] | 0) + (f * 80 | 0) | 0, d, e); + f = f + 1 | 0 + } + c[e >> 2] = (c[e >> 2] | 0) + -1; + $B(d, 150517) | 0; + tc(d, c[e >> 2] | 0); + $B(d, 94258) | 0; + pE(h) + } while (0); + l = i; + return + } + + function Fc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0.0, C = 0.0, D = 0.0; + A = l; + l = l + 240 | 0; + y = A + 224 | 0; + x = A + 216 | 0; + w = A + 208 | 0; + v = A + 200 | 0; + u = A + 192 | 0; + t = A + 184 | 0; + s = A + 176 | 0; + r = A + 152 | 0; + q = A + 136 | 0; + p = A + 128 | 0; + o = A + 112 | 0; + n = A + 104 | 0; + m = A + 96 | 0; + k = A + 88 | 0; + j = A + 72 | 0; + i = A + 48 | 0; + z = A + 40 | 0; + g = A + 8 | 0; + f = A; + e = c[d >> 2] | 0; + c[d >> 2] = e + 1; + tc(b, e); + $B(b, 94292) | 0; + tc(b, c[d >> 2] | 0); + e = c[a >> 2] | 0; + a:do switch (e | 0) { + case 1: + case 0: { + c[f >> 2] = (e | 0) == 0 ? 69 : 101; + fC(b, 67112, f); + tc(b, c[d >> 2] | 0); + D = +h[a + 16 >> 3]; + C = +h[a + 24 >> 3]; + B = +h[a + 32 >> 3]; + h[g >> 3] = +h[a + 8 >> 3]; + h[g + 8 >> 3] = D; + h[g + 16 >> 3] = C; + h[g + 24 >> 3] = B; + fC(b, 67125, g); + break + } + case 3: + case 2: { + c[z >> 2] = (e | 0) == 2 ? 80 : 112; + fC(b, 67112, z); + tc(b, c[d >> 2] | 0); + Gc(b, a + 8 | 0); + break + } + case 5: + case 4: { + c[i >> 2] = (e | 0) == 4 ? 66 : 98; + fC(b, 67112, i); + tc(b, c[d >> 2] | 0); + Gc(b, a + 8 | 0); + break + } + case 6: { + fC(b, 67160, A + 56 | 0); + tc(b, c[d >> 2] | 0); + Gc(b, a + 8 | 0); + break + } + case 7: { + fC(b, 67172, A + 64 | 0); + tc(b, c[d >> 2] | 0); + D = +h[a + 16 >> 3]; + h[j >> 3] = +h[a + 8 >> 3]; + h[j + 8 >> 3] = D; + fC(b, 67184, j); + tc(b, c[d >> 2] | 0); + z = c[a + 24 >> 2] | 0; + c[k >> 2] = (z | 0) == 0 ? 108 : (z | 0) == 1 ? 99 : 114; + fC(b, 67206, k); + tc(b, c[d >> 2] | 0); + h[m >> 3] = +h[a + 32 >> 3]; + fC(b, 67222, m); + tc(b, c[d >> 2] | 0); + c[n >> 2] = Bc(c[a + 40 >> 2] | 0, d) | 0; + fC(b, 67239, n); + break + } + case 9: + case 8: { + c[o >> 2] = (e | 0) == 8 ? 67 : 99; + fC(b, 67112, o); + tc(b, c[d >> 2] | 0); + fC(b, 67253, A + 120 | 0); + tc(b, c[d >> 2] | 0); + c[p >> 2] = Bc(c[a + 8 >> 2] | 0, d) | 0; + fC(b, 67270, p); + break + } + case 13: + case 14: { + c[q >> 2] = (e | 0) == 13 ? 67 : 99; + fC(b, 67112, q); + tc(b, c[d >> 2] | 0); + switch (c[a + 8 >> 2] | 0) { + case 0: { + fC(b, 67253, A + 144 | 0); + tc(b, c[d >> 2] | 0); + c[r >> 2] = Bc(c[a + 16 >> 2] | 0, d) | 0; + fC(b, 67270, r); + break a + } + case 1: { + fC(b, 67285, A + 160 | 0); + tc(b, c[d >> 2] | 0); + Hc(b, a + 16 | 0, d); + break a + } + default: { + fC(b, 67304, A + 168 | 0); + tc(b, c[d >> 2] | 0); + Ic(b, a + 16 | 0, d); + break a + } + } + } + case 10: { + fC(b, 67323, s); + tc(b, c[d >> 2] | 0); + h[t >> 3] = +h[a + 8 >> 3]; + fC(b, 67335, t); + tc(b, c[d >> 2] | 0); + c[u >> 2] = Bc(c[a + 16 >> 2] | 0, d) | 0; + fC(b, 67351, u); + break + } + case 11: { + fC(b, 67365, v); + tc(b, c[d >> 2] | 0); + c[w >> 2] = Bc(c[a + 8 >> 2] | 0, d) | 0; + fC(b, 67377, w); + break + } + case 15: { + fC(b, 67392, x); + tc(b, c[d >> 2] | 0); + c[y >> 2] = c[a + 8 >> 2]; + fC(b, 67404, y); + break + } + default: { + } + } while (0); + z = (c[d >> 2] | 0) + -1 | 0; + c[d >> 2] = z; + tc(b, z); + $B(b, 75253) | 0; + l = A; + return + } + + function Gc(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0.0; + j = l; + l = l + 48 | 0; + i = j + 32 | 0; + g = j + 16 | 0; + f = j + 8 | 0; + e = c[b >> 2] | 0; + d = c[b + 4 >> 2] | 0; + fC(a, 67565, j); + b = 0; + while (1) { + if ((b | 0) >= (e | 0)) break; + if ((b | 0) > 0) fC(a, 97973, f); + k = +h[d + (b * 24 | 0) + 8 >> 3]; + h[g >> 3] = +h[d + (b * 24 | 0) >> 3]; + h[g + 8 >> 3] = k; + fC(a, 67577, g); + b = b + 1 | 0 + } + fC(a, 67518, i); + l = j; + return + } + + function Hc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0; + e = l; + l = l + 32 | 0; + f = e + 16 | 0; + i = e; + tc(a, c[d >> 2] | 0); + g = +h[b + 8 >> 3]; + h[i >> 3] = +h[b >> 3]; + h[i + 8 >> 3] = g; + fC(a, 67521, i); + tc(a, c[d >> 2] | 0); + g = +h[b + 24 >> 3]; + h[f >> 3] = +h[b + 16 >> 3]; + h[f + 8 >> 3] = g; + fC(a, 67543, f); + tc(a, c[d >> 2] | 0); + Jc(a, c[b + 32 >> 2] | 0, c[b + 36 >> 2] | 0, d); + l = e; + return + } + + function Ic(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0; + e = l; + l = l + 48 | 0; + f = e + 24 | 0; + j = e; + tc(a, c[d >> 2] | 0); + g = +h[b + 8 >> 3]; + i = +h[b + 16 >> 3]; + h[j >> 3] = +h[b >> 3]; + h[j + 8 >> 3] = g; + h[j + 16 >> 3] = i; + fC(a, 67420, j); + tc(a, c[d >> 2] | 0); + i = +h[b + 32 >> 3]; + g = +h[b + 40 >> 3]; + h[f >> 3] = +h[b + 24 >> 3]; + h[f + 8 >> 3] = i; + h[f + 16 >> 3] = g; + fC(a, 67448, f); + tc(a, c[d >> 2] | 0); + Jc(a, c[b + 48 >> 2] | 0, c[b + 52 >> 2] | 0, d); + l = e; + return + } + + function Jc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0; + m = l; + l = l + 48 | 0; + k = m + 32 | 0; + j = m + 16 | 0; + i = m + 8 | 0; + fC(a, 67476, m); + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + if ((f | 0) > 0) fC(a, 97973, i); + o = +g[d + (f << 3) >> 2]; + n = Bc(c[d + (f << 3) + 4 >> 2] | 0, e) | 0; + h[j >> 3] = o; + c[j + 8 >> 2] = n; + fC(a, 67487, j); + f = f + 1 | 0 + } + fC(a, 67518, k); + l = m; + return + } + + function Kc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + e = nb[c[a >> 2] & 63](a, b, 512) | 0; + if (e) { + if ((c[e + 12 >> 2] | 0) != (d | 0)) { + c[f >> 2] = b; + Pw(0, 67664, f) | 0 + } + } else { + f = E_(1, 16) | 0; + c[f + 8 >> 2] = n1(b) | 0; + c[f + 12 >> 2] = d; + nb[c[a >> 2] & 63](a, f, 1) | 0 + } + l = g; + return + } + + function Lc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + D_(c[b + 8 >> 2] | 0); + D_(b); + return + } + + function Mc(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + b = l; + l = l + 32 | 0; + d = b + 24 | 0; + e = b + 16 | 0; + g = b; + f = c[a + 16 >> 2] | 0; + $B(a, 68519) | 0; + j = c[c[a + 12 >> 2] >> 2] | 0; + i = c[j + 4 >> 2] | 0; + h = c[j + 8 >> 2] | 0; + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = i; + c[g + 8 >> 2] = h; + fC(a, 68529, g); + c[e >> 2] = ry(c[f + 8 >> 2] | 0) | 0; + fC(a, 68564, e); + c[d >> 2] = O(c[a + 168 >> 2] | 0, c[a + 164 >> 2] | 0) | 0; + fC(a, 68577, d); + $B(a, 68590) | 0; + $B(a, 68600) | 0; + $B(a, 68608) | 0; + $B(a, 68616) | 0; + $B(a, 68624) | 0; + $B(a, 68632) | 0; + $B(a, 68640) | 0; + $B(a, 68644) | 0; + $B(a, 68649) | 0; + l = b; + return + } + + function Nc(a) { + a = a | 0; + $B(a, 68500) | 0; + return + } + + function Oc(a) { + a = a | 0; + c[45940] = 2; + return + } + + function Pc(a) { + a = a | 0; + c[45940] = 1; + return + } + + function Qc(a) { + a = a | 0; + c[45940] = 2; + return + } + + function Rc(a) { + a = a | 0; + c[45940] = 0; + return + } + + function Sc(a) { + a = a | 0; + c[45940] = 2; + return + } + + function Tc(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0.0, s = 0; + p = l; + l = l + 80 | 0; + o = p; + m = c[(c[b + 16 >> 2] | 0) + 16 >> 2] | 0; + n = c[45940] | 0; + f = c[e + 4 >> 2] | 0; + g = +h[b + 352 >> 3] * +h[f + 16 >> 3]; + i = c[b + 360 >> 2] | 0 ? 1.5707963267948966 : 0.0; + j = c[e >> 2] | 0; + k = g * .3333333333333333 * +((W_(j) | 0) >>> 0); + f = c[f + 8 >> 2] | 0; + if (!f) f = -1; else f = c[f + 20 >> 2] | 0; + s = a[e + 48 >> 0] | 0; + r = +h[d >> 3]; + q = +h[d + 8 >> 3]; + e = bd(j) | 0; + c[o >> 2] = 4; + c[o + 4 >> 2] = s << 24 >> 24 == 108 ? 0 : s << 24 >> 24 == 114 ? 2 : 1; + c[o + 8 >> 2] = m; + c[o + 12 >> 2] = n; + c[o + 16 >> 2] = 0; + c[o + 20 >> 2] = f; + h[o + 24 >> 3] = g; + h[o + 32 >> 3] = i; + c[o + 40 >> 2] = 6; + h[o + 48 >> 3] = g; + h[o + 56 >> 3] = k; + c[o + 64 >> 2] = ~~(r + (r >= 0.0 ? .5 : -.5)); + c[o + 68 >> 2] = ~~(q + (q + -72.0 >= 0.0 ? -71.5 : -72.5)); + c[o + 72 >> 2] = e; + fC(b, 68445, o); + l = p; + return + } + + function Uc(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 32 | 0; + j = n; + i = n + 20 | 0; + m = e + 32 | 0; + a:do switch (c[m >> 2] | 0) { + case 5: { + f = 0; + while (1) { + g = c[12724 + (f << 2) >> 2] | 0; + if ((f | 0) == 8) break a; + h = c[e >> 2] | 0; + if ((a[g >> 0] | 0) == (a[h >> 0] | 0) ? (b$(g, h) | 0) == 0 : 0) { + k = 10; + break a + } + f = f + 1 | 0 + } + } + case 1: { + g = e + 1 | 0; + h = e + 2 | 0; + f = (ad(i, d[e >> 0] | 0, d[g >> 0] | 0, d[h >> 0] | 0) | 0) + 32 | 0; + if (!(c[i >> 2] | 0)) k = 10; else { + o = d[e >> 0] | 0; + i = d[g >> 0] | 0; + k = d[h >> 0] | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = f; + c[j + 8 >> 2] = o; + c[j + 12 >> 2] = i; + c[j + 16 >> 2] = k; + fC(b, 68388, j); + k = 10 + } + break + } + default: + qa(135312, 67785, 163, 67816) + } while (0); + if ((k | 0) == 10) c[e >> 2] = f; + c[m >> 2] = 6; + l = n; + return + } + + function Vc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0; + e = l; + l = l + 112 | 0; + f = e + 8 | 0; + u = e + 104 | 0; + t = e; + k = c[a + 16 >> 2] | 0; + s = ~~+h[k + 152 >> 3]; + r = c[k + 16 >> 2] | 0; + q = c[k + 56 >> 2] | 0; + p = c[45940] | 0; + _c(k, u, t); + n = +h[b >> 3]; + k = ~~(n + (n >= 0.0 ? .5 : -.5)); + m = +h[b + 8 >> 3]; + j = ~~(m + (m >= 0.0 ? .5 : -.5)); + i = +h[b + 16 >> 3]; + n = i - n; + g = +h[b + 24 >> 3]; + m = g - m; + b = c[u >> 2] | 0; + o = +h[t >> 3]; + c[f >> 2] = 1; + c[f + 4 >> 2] = 1; + c[f + 8 >> 2] = b; + c[f + 12 >> 2] = s; + c[f + 16 >> 2] = r; + c[f + 20 >> 2] = q; + c[f + 24 >> 2] = p; + c[f + 28 >> 2] = 0; + c[f + 32 >> 2] = d | 0 ? 20 : -1; + h[f + 40 >> 3] = o; + c[f + 48 >> 2] = 0; + h[f + 56 >> 3] = 0.0; + c[f + 64 >> 2] = k; + c[f + 68 >> 2] = j; + c[f + 72 >> 2] = ~~(n + (n >= 0.0 ? .5 : -.5)); + c[f + 76 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[f + 80 >> 2] = k; + c[f + 84 >> 2] = j; + c[f + 88 >> 2] = ~~(i + (i >= 0.0 ? .5 : -.5)); + c[f + 92 >> 2] = ~~(g + (g >= 0.0 ? .5 : -.5)); + fC(a, 68323, f); + l = e; + return + } + + function Wc(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + f = l; + l = l + 96 | 0; + g = f + 8 | 0; + o = f + 80 | 0; + p = f; + q = c[a + 16 >> 2] | 0; + n = ~~+h[q + 152 >> 3]; + m = c[q + 16 >> 2] | 0; + k = c[q + 56 >> 2] | 0; + j = c[45940] | 0; + _c(q, o, p); + o = c[o >> 2] | 0; + i = +h[p >> 3]; + c[g >> 2] = 2; + c[g + 4 >> 2] = 3; + c[g + 8 >> 2] = o; + c[g + 12 >> 2] = n; + c[g + 16 >> 2] = m; + c[g + 20 >> 2] = k; + c[g + 24 >> 2] = j; + c[g + 28 >> 2] = 0; + c[g + 32 >> 2] = e | 0 ? 20 : -1; + h[g + 40 >> 3] = i; + c[g + 48 >> 2] = 0; + c[g + 52 >> 2] = 0; + c[g + 56 >> 2] = 0; + c[g + 60 >> 2] = 0; + c[g + 64 >> 2] = 0; + c[g + 68 >> 2] = d + 1; + fC(a, 68227, g); + $c(a, b, d, 1); + l = f; + return + } + + function Xc(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0.0, E = 0.0, F = 0; + C = l; + l = l + 192 | 0; + B = C + 176 | 0; + z = C + 168 | 0; + A = C + 104 | 0; + y = C + 96 | 0; + i = C + 88 | 0; + u = C + 180 | 0; + v = C + 80 | 0; + w = C + 16 | 0; + x = C; + f = a + 16 | 0; + e = c[f >> 2] | 0; + q = ~~+h[e + 152 >> 3]; + r = c[e + 16 >> 2] | 0; + s = c[45940] | 0; + if ((d | 0) <= 3) qa(67778, 67785, 360, 67805); + t = C_((d * 140 | 0) + 140 | 0) | 0; + _c(e, u, v); + if (!g) { + o = 4; + j = 0; + k = -1 + } else { + o = 5; + j = c[(c[f >> 2] | 0) + 56 >> 2] | 0; + k = 20 + } + E = +h[b >> 3]; + n = w + 48 | 0; + h[n >> 3] = E; + D = +h[b + 8 >> 3]; + h[w + 56 >> 3] = D; + c[i >> 2] = ~~(E + (E >= 0.0 ? .5 : -.5)); + c[i + 4 >> 2] = ~~(D + (D >= 0.0 ? .5 : -.5)); + m = x + 8 | 0; + e = t + (Y0(t, 80995, i) | 0) | 0; + p = 1; + g = 0; + while (1) { + i = g + 3 | 0; + if ((i | 0) >= (d | 0)) break; + 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]; + f = 1; + while (1) { + if ((f | 0) == 4) { + f = 1; + break + } + F = f + g | 0; + h[w + (f << 4) >> 3] = +h[b + (F << 4) >> 3]; + h[w + (f << 4) + 8 >> 3] = +h[b + (F << 4) + 8 >> 3]; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) == 7) break; + XL(x, w, 3, +(f | 0) * .16666666666666666, 0, 0); + D = +h[x >> 3]; + E = +h[m >> 3]; + c[y >> 2] = ~~(D + (D >= 0.0 ? .5 : -.5)); + c[y + 4 >> 2] = ~~(E + (E >= 0.0 ? .5 : -.5)); + f = f + 1 | 0; + e = e + (Y0(e, 80995, y) | 0) | 0 + } + p = p + 6 | 0; + g = i + } + f = c[u >> 2] | 0; + E = +h[v >> 3]; + c[A >> 2] = 3; + c[A + 4 >> 2] = o; + c[A + 8 >> 2] = f; + c[A + 12 >> 2] = q; + c[A + 16 >> 2] = r; + c[A + 20 >> 2] = j; + c[A + 24 >> 2] = s; + c[A + 28 >> 2] = 0; + c[A + 32 >> 2] = k; + h[A + 40 >> 3] = E; + c[A + 48 >> 2] = 0; + c[A + 52 >> 2] = 0; + c[A + 56 >> 2] = 0; + c[A + 60 >> 2] = p; + fC(a, 68278, A); + c[z >> 2] = t; + fC(a, 81002, z); + D_(t); + f = p + -1 | 0; + e = 0; + while (1) { + if ((e | 0) >= (p | 0)) break; + c[B >> 2] = ((e | 0) % (f | 0) | 0 | 0) != 0 & 1; + fC(a, 81007, B); + e = e + 1 | 0 + } + $B(a, 150517) | 0; + l = C; + return + } + + function Yc(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + e = l; + l = l + 96 | 0; + f = e + 8 | 0; + m = e + 80 | 0; + n = e; + o = c[a + 16 >> 2] | 0; + k = ~~+h[o + 152 >> 3]; + j = c[o + 16 >> 2] | 0; + i = c[45940] | 0; + _c(o, m, n); + m = c[m >> 2] | 0; + g = +h[n >> 3]; + c[f >> 2] = 2; + c[f + 4 >> 2] = 1; + c[f + 8 >> 2] = m; + c[f + 12 >> 2] = k; + c[f + 16 >> 2] = j; + c[f + 20 >> 2] = 0; + c[f + 24 >> 2] = i; + c[f + 28 >> 2] = 0; + c[f + 32 >> 2] = 0; + h[f + 40 >> 3] = g; + c[f + 48 >> 2] = 0; + c[f + 52 >> 2] = 0; + c[f + 56 >> 2] = 0; + c[f + 60 >> 2] = 0; + c[f + 64 >> 2] = 0; + c[f + 68 >> 2] = d; + fC(a, 68227, f); + $c(a, b, d, 0); + l = e; + return + } + + function Zc(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + fC(a, 68221, e); + l = d; + return + } + + function _c(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0; + switch (c[a + 144 >> 2] | 0) { + case 1: { + e = 10.0; + a = 1; + break + } + case 2: { + e = 10.0; + a = 2; + break + } + default: { + e = 0.0; + a = 0 + } + } + c[b >> 2] = a; + h[d >> 3] = e; + return + } + + function $c(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0; + j = l; + l = l + 16 | 0; + i = j + 8 | 0; + g = j; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + m = +h[b + (f << 4) >> 3]; + k = +h[b + (f << 4) + 8 >> 3]; + c[g >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[g + 4 >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + fC(a, 80995, g); + f = f + 1 | 0 + } + if (e | 0) { + k = +h[b >> 3]; + m = +h[b + 8 >> 3]; + c[i >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + c[i + 4 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + fC(a, 80995, i) + } + $B(a, 150517) | 0; + l = j; + return + } + + function ad(a, d, e, f) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + c[a >> 2] = 0; + k = c[45941] | 0; + h = 195075; + g = 0; + i = -1; + while (1) { + if ((g | 0) >= (k | 0)) { + l = 6; + break + } + m = (b[187600 + (g << 1) >> 1] | 0) - d | 0; + n = (b[188112 + (g << 1) >> 1] | 0) - e | 0; + j = (b[188624 + (g << 1) >> 1] | 0) - f | 0; + j = (O(n, n) | 0) + (O(m, m) | 0) + (O(j, j) | 0) | 0; + if ((j | 0) < (h | 0)) if (!j) break; else { + h = j; + i = g + } + g = g + 1 | 0 + } + if ((l | 0) == 6) { + c[45941] = k + 1; + if ((k | 0) == 256) g = i; else { + b[187600 + (g << 1) >> 1] = d; + b[188112 + (g << 1) >> 1] = e; + b[188624 + (g << 1) >> 1] = f; + c[a >> 2] = 1 + } + } + return g | 0 + } + + function bd(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + d = c[45942] | 0; + if (!d) { + c[45943] = 64; + d = C_(64) | 0; + c[45942] = d; + e = 0 + } else e = 0; + while (1) { + g = b + 1 | 0; + f = a[b >> 0] | 0; + if (!(f << 24 >> 24)) break; + b = c[45943] | 0; + if ((e | 0) > (b + -8 | 0)) { + d = b << 1; + c[45943] = d; + d = F_(c[45942] | 0, d) | 0; + c[45942] = d; + d = d + e | 0 + } + if (f << 24 >> 24 <= -1) { + a[d >> 0] = 92; + c[h >> 2] = f & 255; + Y0(d + 1 | 0, 81120, h) | 0; + b = g; + d = d + 4 | 0; + e = e + 4 | 0; + continue + } + if (f << 24 >> 24 == 92) { + a[d >> 0] = 92; + e = e + 1 | 0; + d = d + 1 | 0 + } + a[d >> 0] = f; + b = g; + d = d + 1 | 0; + e = e + 1 | 0 + } + a[d >> 0] = 0; + l = i; + return c[45942] | 0 + } + + function cd(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + e = c[b + 16 >> 2] | 0; + switch (c[b + 64 >> 2] | 0) { + case 0: { + $B(b, 68116) | 0; + d = e + 208 | 0; + e = c[d >> 2] | 0; + if (e | 0 ? a[e >> 0] | 0 : 0) { + $B(b, 68130) | 0; + $B(b, qH(c[d >> 2] | 0) | 0) | 0; + $B(b, 150517) | 0 + } + break + } + case 1: { + d = e + 208 | 0; + f = c[d >> 2] | 0; + if (f | 0 ? a[f >> 0] | 0 : 0) { + $B(b, 68130) | 0; + $B(b, qH(c[d >> 2] | 0) | 0) | 0; + $B(b, 99578) | 0; + $B(b, qH(ry(c[e + 8 >> 2] | 0) | 0) | 0) | 0; + $B(b, 150517) | 0 + } + break + } + case 3: { + f = qH(ry(c[e + 8 >> 2] | 0) | 0) | 0; + $B(b, 68139) | 0; + $B(b, f) | 0; + $B(b, 68149) | 0; + $B(b, f) | 0; + $B(b, 68104) | 0; + break + } + default: { + } + } + return + } + + function dd(a) { + a = a | 0; + var b = 0; + b = c[a + 16 >> 2] | 0; + switch (c[a + 64 >> 2] | 0) { + case 2: { + fd(a, c[b + 264 >> 2] | 0, c[b + 272 >> 2] | 0, c[b + 268 >> 2] | 0, c[b + 208 >> 2] | 0, c[b + 228 >> 2] | 0, c[b + 244 >> 2] | 0, c[b + 212 >> 2] | 0); + break + } + case 3: { + fd(a, c[b + 264 >> 2] | 0, c[b + 272 >> 2] | 0, c[b + 268 >> 2] | 0, c[b + 208 >> 2] | 0, c[b + 228 >> 2] | 0, c[b + 244 >> 2] | 0, c[b + 212 >> 2] | 0); + $B(a, 68108) | 0; + break + } + default: { + } + } + return + } + + function ed(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + g = c[a + 16 >> 2] | 0; + fd(a, c[g + 264 >> 2] | 0, c[g + 272 >> 2] | 0, c[g + 268 >> 2] | 0, b, d, e, f); + return + } + + function fd(b, d, e, f, g, i, j, k) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0.0; + y = l; + l = l + 128 | 0; + x = y + 120 | 0; + u = y + 112 | 0; + t = y + 96 | 0; + s = y + 80 | 0; + r = y + 56 | 0; + w = y + 48 | 0; + q = y + 40 | 0; + v = y + 24 | 0; + p = y; + a:do if ((e | 0) != 0 & (f | 0) != 0) { + m = f + 10 | 0; + if ((c[45944] | 0) < (f | 0)) { + c[45944] = m; + o = F_(c[45945] | 0, m << 3) | 0; + c[45945] = o + } else o = c[45945] | 0; + m = 0; + while (1) { + if ((m | 0) >= (f | 0)) break; + z = +h[e + (m << 4) >> 3]; + c[o + (m << 3) >> 2] = ~~(z + (z >= 0.0 ? .5 : -.5)); + z = +h[e + (m << 4) + 8 >> 3]; + c[o + (m << 3) + 4 >> 2] = ~~(z + (z >= 0.0 ? .5 : -.5)); + m = m + 1 | 0 + } + n = b + 64 | 0; + m = c[n >> 2] | 0; + e = (g | 0) != 0; + if (e & (m | 0) == 0) { + if (!(a[g >> 0] | 0)) break; + switch (d | 0) { + case 0: { + v = c[o >> 2] | 0; + w = c[o + 12 >> 2] | 0; + x = c[o + 8 >> 2] | 0; + f = c[o + 4 >> 2] | 0; + c[p >> 2] = g; + c[p + 4 >> 2] = v; + c[p + 8 >> 2] = w; + c[p + 12 >> 2] = x; + c[p + 16 >> 2] = f; + fC(b, 67850, p); + break a + } + case 1: { + w = c[o >> 2] | 0; + x = c[o + 4 >> 2] | 0; + f = (c[o + 8 >> 2] | 0) - w | 0; + c[v >> 2] = g; + c[v + 4 >> 2] = w; + c[v + 8 >> 2] = x; + c[v + 12 >> 2] = f; + fC(b, 67871, v); + break a + } + case 2: { + c[q >> 2] = g; + fC(b, 67891, q); + m = 0; + while (1) { + if ((m | 0) >= (f | 0)) break; + v = c[45945] | 0; + x = c[v + (m << 3) + 4 >> 2] | 0; + c[w >> 2] = c[v + (m << 3) >> 2]; + c[w + 4 >> 2] = x; + fC(b, 67899, w); + m = m + 1 | 0 + } + $B(b, 150517) | 0; + break a + } + default: + qa(135312, 67906, 63, 67926) + } + } + if (e & (m | 0) == 1) { + if (!(a[g >> 0] | 0)) break; + if (!d) { + w = c[o + 12 >> 2] | 0; + x = c[o + 8 >> 2] | 0; + f = c[o + 4 >> 2] | 0; + c[r >> 2] = c[o >> 2]; + c[r + 4 >> 2] = w; + c[r + 8 >> 2] = x; + c[r + 12 >> 2] = f; + c[r + 16 >> 2] = g; + c[r + 20 >> 2] = i; + fC(b, 67943, r); + break + } else qa(135312, 67906, 75, 67926) + } + if ((m & -2 | 0) == 2) { + switch (d | 0) { + case 1: { + $B(b, 67976) | 0; + break + } + case 0: { + $B(b, 67997) | 0; + break + } + case 2: { + $B(b, 68016) | 0; + break + } + default: + qa(135312, 67906, 91, 67926) + } + if (k | 0 ? a[k >> 0] | 0 : 0) { + $B(b, 73496) | 0; + $B(b, tH(k) | 0) | 0; + $B(b, 95669) | 0 + } + if (e ? a[g >> 0] | 0 : 0) { + $B(b, 68035) | 0; + $B(b, tH(g) | 0) | 0; + $B(b, 95669) | 0 + } + if (j | 0 ? a[j >> 0] | 0 : 0) { + $B(b, 74455) | 0; + $B(b, qH(j) | 0) | 0; + $B(b, 95669) | 0 + } + if (i | 0 ? a[i >> 0] | 0 : 0) { + $B(b, 68043) | 0; + $B(b, qH(i) | 0) | 0; + $B(b, 95669) | 0 + } + $B(b, 68052) | 0; + $B(b, 68060) | 0; + b:do switch (d | 0) { + case 1: { + f = c[45945] | 0; + w = c[f >> 2] | 0; + x = c[f + 4 >> 2] | 0; + f = (c[f + 8 >> 2] | 0) - w | 0; + c[s >> 2] = w; + c[s + 4 >> 2] = x; + c[s + 8 >> 2] = f; + fC(b, 68070, s); + break + } + case 0: { + v = c[45945] | 0; + w = c[v + 12 >> 2] | 0; + x = c[v + 8 >> 2] | 0; + f = c[v + 4 >> 2] | 0; + c[t >> 2] = c[v >> 2]; + c[t + 4 >> 2] = w; + c[t + 8 >> 2] = x; + c[t + 12 >> 2] = f; + fC(b, 68079, t); + break + } + case 2: { + w = c[45945] | 0; + m = c[w + 4 >> 2] | 0; + c[u >> 2] = c[w >> 2]; + c[u + 4 >> 2] = m; + fC(b, 68091, u); + m = 1; + while (1) { + if ((m | 0) >= (f | 0)) break b; + v = c[45945] | 0; + w = c[v + (m << 3) + 4 >> 2] | 0; + c[x >> 2] = c[v + (m << 3) >> 2]; + c[x + 4 >> 2] = w; + fC(b, 68097, x); + m = m + 1 | 0 + } + } + default: { + } + } while (0); + if ((c[n >> 2] | 0) == 3) { + $B(b, 73320) | 0; + break + } else { + $B(b, 68104) | 0; + break + } + } + } while (0); + l = y; + return + } + + function gd(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + b = l; + l = l + 32 | 0; + d = b + 24 | 0; + e = b + 16 | 0; + g = b; + f = c[a + 16 >> 2] | 0; + $B(a, 68519) | 0; + j = c[c[a + 12 >> 2] >> 2] | 0; + i = c[j + 4 >> 2] | 0; + h = c[j + 8 >> 2] | 0; + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = i; + c[g + 8 >> 2] = h; + fC(a, 68529, g); + c[e >> 2] = ry(c[f + 8 >> 2] | 0) | 0; + fC(a, 68564, e); + c[d >> 2] = O(c[a + 168 >> 2] | 0, c[a + 164 >> 2] | 0) | 0; + fC(a, 68577, d); + $B(a, 68590) | 0; + $B(a, 68600) | 0; + $B(a, 68608) | 0; + $B(a, 68616) | 0; + $B(a, 68624) | 0; + $B(a, 68632) | 0; + $B(a, 68640) | 0; + $B(a, 68644) | 0; + $B(a, 68649) | 0; + l = b; + return + } + + function hd(a) { + a = a | 0; + $B(a, 68500) | 0; + return + } + + function id(a) { + a = a | 0; + c[45946] = 2; + return + } + + function jd(a) { + a = a | 0; + c[45946] = 1; + return + } + + function kd(a) { + a = a | 0; + c[45946] = 2; + return + } + + function ld(a) { + a = a | 0; + c[45946] = 0; + return + } + + function md(a) { + a = a | 0; + c[45946] = 2; + return + } + + function nd(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0; + n = l; + l = l + 80 | 0; + m = n; + j = c[(c[b + 16 >> 2] | 0) + 16 >> 2] | 0; + k = c[45946] | 0; + f = c[e + 4 >> 2] | 0; + g = +h[b + 352 >> 3] * +h[f + 16 >> 3]; + i = c[b + 360 >> 2] | 0 ? 1.5707963267948966 : 0.0; + f = c[f + 8 >> 2] | 0; + if (!f) f = -1; else f = c[f + 20 >> 2] | 0; + q = a[e + 48 >> 0] | 0; + p = +h[d >> 3]; + o = +h[d + 8 >> 3]; + e = xd(c[e >> 2] | 0) | 0; + c[m >> 2] = 4; + c[m + 4 >> 2] = q << 24 >> 24 == 108 ? 0 : q << 24 >> 24 == 114 ? 2 : 1; + c[m + 8 >> 2] = j; + c[m + 12 >> 2] = k; + c[m + 16 >> 2] = 0; + c[m + 20 >> 2] = f; + h[m + 24 >> 3] = g; + h[m + 32 >> 3] = i; + c[m + 40 >> 2] = 4; + h[m + 48 >> 3] = 0.0; + h[m + 56 >> 3] = 0.0; + c[m + 64 >> 2] = ~~(p + (p >= 0.0 ? .5 : -.5)); + c[m + 68 >> 2] = ~~(o + (o >= 0.0 ? .5 : -.5)); + c[m + 72 >> 2] = e; + fC(b, 68445, m); + l = n; + return + } + + function od(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + n = l; + l = l + 32 | 0; + j = n; + i = n + 20 | 0; + m = e + 32 | 0; + a:do switch (c[m >> 2] | 0) { + case 5: { + f = 0; + while (1) { + g = c[12724 + (f << 2) >> 2] | 0; + if ((f | 0) == 8) break a; + h = c[e >> 2] | 0; + if ((a[g >> 0] | 0) == (a[h >> 0] | 0) ? (b$(g, h) | 0) == 0 : 0) { + k = 10; + break a + } + f = f + 1 | 0 + } + } + case 1: { + g = e + 1 | 0; + h = e + 2 | 0; + f = (wd(i, d[e >> 0] | 0, d[g >> 0] | 0, d[h >> 0] | 0) | 0) + 32 | 0; + if (!(c[i >> 2] | 0)) k = 10; else { + o = d[e >> 0] | 0; + i = d[g >> 0] | 0; + k = d[h >> 0] | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = f; + c[j + 8 >> 2] = o; + c[j + 12 >> 2] = i; + c[j + 16 >> 2] = k; + fC(b, 68388, j); + k = 10 + } + break + } + case 0: { + f = 0; + k = 10; + break + } + default: + qa(135312, 68409, 168, 68428) + } while (0); + if ((k | 0) == 10) c[e >> 2] = f; + c[m >> 2] = 6; + l = n; + return + } + + function pd(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0; + e = l; + l = l + 112 | 0; + f = e + 8 | 0; + u = e + 104 | 0; + t = e; + k = c[a + 16 >> 2] | 0; + s = ~~+h[k + 152 >> 3]; + r = c[k + 16 >> 2] | 0; + q = c[k + 56 >> 2] | 0; + p = c[45946] | 0; + ud(k, u, t); + n = +h[b >> 3]; + k = ~~(n + (n >= 0.0 ? .5 : -.5)); + m = +h[b + 8 >> 3]; + j = ~~(m + (m >= 0.0 ? .5 : -.5)); + i = +h[b + 16 >> 3]; + n = i - n; + g = +h[b + 24 >> 3]; + m = g - m; + b = c[u >> 2] | 0; + o = +h[t >> 3]; + c[f >> 2] = 1; + c[f + 4 >> 2] = 1; + c[f + 8 >> 2] = b; + c[f + 12 >> 2] = s; + c[f + 16 >> 2] = r; + c[f + 20 >> 2] = q; + c[f + 24 >> 2] = p; + c[f + 28 >> 2] = 0; + c[f + 32 >> 2] = d | 0 ? 20 : -1; + h[f + 40 >> 3] = o; + c[f + 48 >> 2] = 0; + h[f + 56 >> 3] = 0.0; + c[f + 64 >> 2] = k; + c[f + 68 >> 2] = j; + c[f + 72 >> 2] = ~~(n + (n >= 0.0 ? .5 : -.5)); + c[f + 76 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[f + 80 >> 2] = k; + c[f + 84 >> 2] = j; + c[f + 88 >> 2] = ~~(i + (i >= 0.0 ? .5 : -.5)); + c[f + 92 >> 2] = ~~(g + (g >= 0.0 ? .5 : -.5)); + fC(a, 68323, f); + l = e; + return + } + + function qd(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + f = l; + l = l + 96 | 0; + g = f + 8 | 0; + o = f + 80 | 0; + p = f; + q = c[a + 16 >> 2] | 0; + n = ~~+h[q + 152 >> 3]; + m = c[q + 16 >> 2] | 0; + k = c[q + 56 >> 2] | 0; + j = c[45946] | 0; + ud(q, o, p); + o = c[o >> 2] | 0; + i = +h[p >> 3]; + c[g >> 2] = 2; + c[g + 4 >> 2] = 3; + c[g + 8 >> 2] = o; + c[g + 12 >> 2] = n; + c[g + 16 >> 2] = m; + c[g + 20 >> 2] = k; + c[g + 24 >> 2] = j; + c[g + 28 >> 2] = 0; + c[g + 32 >> 2] = e | 0 ? 20 : -1; + h[g + 40 >> 3] = i; + c[g + 48 >> 2] = 0; + c[g + 52 >> 2] = 0; + c[g + 56 >> 2] = 0; + c[g + 60 >> 2] = 0; + c[g + 64 >> 2] = 0; + c[g + 68 >> 2] = d + 1; + fC(a, 68227, g); + vd(a, b, d, 1); + l = f; + return + } + + function rd(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0.0, E = 0.0, F = 0; + C = l; + l = l + 192 | 0; + B = C + 176 | 0; + z = C + 168 | 0; + A = C + 104 | 0; + y = C + 96 | 0; + f = C + 88 | 0; + u = C + 180 | 0; + v = C + 80 | 0; + w = C + 16 | 0; + x = C; + e = a + 16 | 0; + p = c[e >> 2] | 0; + q = ~~+h[p + 152 >> 3]; + r = c[p + 16 >> 2] | 0; + s = c[45946] | 0; + t = C_((d * 140 | 0) + 140 | 0) | 0; + ud(p, u, v); + if (!g) { + o = 4; + j = 0; + k = -1 + } else { + o = 5; + j = c[(c[e >> 2] | 0) + 56 >> 2] | 0; + k = 20 + } + E = +h[b >> 3]; + n = w + 48 | 0; + h[n >> 3] = E; + D = +h[b + 8 >> 3]; + h[w + 56 >> 3] = D; + c[f >> 2] = ~~(E + (E >= 0.0 ? .5 : -.5)); + c[f + 4 >> 2] = ~~(D + (D >= 0.0 ? .5 : -.5)); + m = x + 8 | 0; + e = t + (Y0(t, 80995, f) | 0) | 0; + p = 1; + g = 0; + while (1) { + i = g + 3 | 0; + if ((i | 0) >= (d | 0)) break; + 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]; + f = 1; + while (1) { + if ((f | 0) == 4) { + f = 1; + break + } + F = f + g | 0; + h[w + (f << 4) >> 3] = +h[b + (F << 4) >> 3]; + h[w + (f << 4) + 8 >> 3] = +h[b + (F << 4) + 8 >> 3]; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) == 7) break; + XL(x, w, 3, +(f | 0) * .16666666666666666, 0, 0); + D = +h[x >> 3]; + E = +h[m >> 3]; + c[y >> 2] = ~~(D + (D >= 0.0 ? .5 : -.5)); + c[y + 4 >> 2] = ~~(E + (E >= 0.0 ? .5 : -.5)); + f = f + 1 | 0; + e = e + (Y0(e, 80995, y) | 0) | 0 + } + p = p + 6 | 0; + g = i + } + f = c[u >> 2] | 0; + E = +h[v >> 3]; + c[A >> 2] = 3; + c[A + 4 >> 2] = o; + c[A + 8 >> 2] = f; + c[A + 12 >> 2] = q; + c[A + 16 >> 2] = r; + c[A + 20 >> 2] = j; + c[A + 24 >> 2] = s; + c[A + 28 >> 2] = 0; + c[A + 32 >> 2] = k; + h[A + 40 >> 3] = E; + c[A + 48 >> 2] = 0; + c[A + 52 >> 2] = 0; + c[A + 56 >> 2] = 0; + c[A + 60 >> 2] = p; + fC(a, 68278, A); + c[z >> 2] = t; + fC(a, 81002, z); + D_(t); + f = p + -1 | 0; + e = 0; + while (1) { + if ((e | 0) >= (p | 0)) break; + c[B >> 2] = ((e | 0) % (f | 0) | 0 | 0) != 0 & 1; + fC(a, 81007, B); + e = e + 1 | 0 + } + $B(a, 150517) | 0; + l = C; + return + } + + function sd(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + e = l; + l = l + 96 | 0; + f = e + 8 | 0; + m = e + 80 | 0; + n = e; + o = c[a + 16 >> 2] | 0; + k = ~~+h[o + 152 >> 3]; + j = c[o + 16 >> 2] | 0; + i = c[45946] | 0; + ud(o, m, n); + m = c[m >> 2] | 0; + g = +h[n >> 3]; + c[f >> 2] = 2; + c[f + 4 >> 2] = 1; + c[f + 8 >> 2] = m; + c[f + 12 >> 2] = k; + c[f + 16 >> 2] = j; + c[f + 20 >> 2] = 0; + c[f + 24 >> 2] = i; + c[f + 28 >> 2] = 0; + c[f + 32 >> 2] = 0; + h[f + 40 >> 3] = g; + c[f + 48 >> 2] = 0; + c[f + 52 >> 2] = 0; + c[f + 56 >> 2] = 0; + c[f + 60 >> 2] = 0; + c[f + 64 >> 2] = 0; + c[f + 68 >> 2] = d; + fC(a, 68227, f); + vd(a, b, d, 0); + l = e; + return + } + + function td(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + fC(a, 68221, e); + l = d; + return + } + + function ud(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0; + switch (c[a + 144 >> 2] | 0) { + case 1: { + e = 10.0; + a = 1; + break + } + case 2: { + e = 10.0; + a = 2; + break + } + default: { + e = 0.0; + a = 0 + } + } + c[b >> 2] = a; + h[d >> 3] = e; + return + } + + function vd(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0; + j = l; + l = l + 16 | 0; + i = j + 8 | 0; + g = j; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + m = +h[b + (f << 4) >> 3]; + k = +h[b + (f << 4) + 8 >> 3]; + c[g >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[g + 4 >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + fC(a, 80995, g); + f = f + 1 | 0 + } + if (e | 0) { + k = +h[b >> 3]; + m = +h[b + 8 >> 3]; + c[i >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + c[i + 4 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + fC(a, 80995, i) + } + $B(a, 150517) | 0; + l = j; + return + } + + function wd(a, d, e, f) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + c[a >> 2] = 0; + k = c[45947] | 0; + h = 195075; + g = 0; + i = -1; + while (1) { + if ((g | 0) >= (k | 0)) { + l = 6; + break + } + m = (b[189136 + (g << 1) >> 1] | 0) - d | 0; + n = (b[189648 + (g << 1) >> 1] | 0) - e | 0; + j = (b[190160 + (g << 1) >> 1] | 0) - f | 0; + j = (O(n, n) | 0) + (O(m, m) | 0) + (O(j, j) | 0) | 0; + if ((j | 0) < (h | 0)) if (!j) break; else { + h = j; + i = g + } + g = g + 1 | 0 + } + if ((l | 0) == 6) { + c[45947] = k + 1; + if ((k | 0) == 256) g = i; else { + b[189136 + (g << 1) >> 1] = d; + b[189648 + (g << 1) >> 1] = e; + b[190160 + (g << 1) >> 1] = f; + c[a >> 2] = 1 + } + } + return g | 0 + } + + function xd(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + d = c[45948] | 0; + if (!d) { + c[45949] = 64; + d = C_(64) | 0; + c[45948] = d; + e = 0 + } else e = 0; + while (1) { + g = b + 1 | 0; + f = a[b >> 0] | 0; + if (!(f << 24 >> 24)) break; + b = c[45949] | 0; + if ((e | 0) > (b + -8 | 0)) { + d = b << 1; + c[45949] = d; + d = F_(c[45948] | 0, d) | 0; + c[45948] = d; + d = d + e | 0 + } + if (f << 24 >> 24 <= -1) { + a[d >> 0] = 92; + c[h >> 2] = f & 255; + Y0(d + 1 | 0, 81120, h) | 0; + b = g; + d = d + 4 | 0; + e = e + 4 | 0; + continue + } + if (f << 24 >> 24 == 92) { + a[d >> 0] = 92; + e = e + 1 | 0; + d = d + 1 | 0 + } + a[d >> 0] = f; + b = g; + d = d + 1 | 0; + e = e + 1 | 0 + } + a[d >> 0] = 0; + l = i; + return c[45948] | 0 + } + + function yd(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + d = l; + l = l + 16 | 0; + b = d; + $B(a, 73228) | 0; + if ((c[a + 64 >> 2] | 0) == 2) $B(a, 73243) | 0; else $B(a, 150517) | 0; + g = c[c[a + 12 >> 2] >> 2] | 0; + f = c[g + 4 >> 2] | 0; + e = c[g + 8 >> 2] | 0; + c[b >> 2] = c[g >> 2]; + c[b + 4 >> 2] = f; + c[b + 8 >> 2] = e; + fC(a, 73254, b); + l = d; + return + } + + function zd(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g + 8 | 0; + e = g; + $B(a, 73182) | 0; + d = a + 64 | 0; + b = a + 12 | 0; + if ((c[d >> 2] | 0) != 2) { + c[e >> 2] = c[(c[b >> 2] | 0) + 28 >> 2]; + fC(a, 73193, e) + } + if ((c[(c[b >> 2] | 0) + 20 >> 2] | 0) == 0 ? (c[d >> 2] | 0) != 2 : 0) { + b = c[a + 476 >> 2] | 0; + d = c[a + 480 >> 2] | 0; + e = c[a + 484 >> 2] | 0; + c[f >> 2] = c[a + 472 >> 2]; + c[f + 4 >> 2] = b; + c[f + 8 >> 2] = d; + c[f + 12 >> 2] = e; + fC(a, 69562, f) + } + $B(a, 73208) | 0; + $B(a, 73221) | 0; + l = g; + return + } + + function Ad(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + k = l; + l = l + 32 | 0; + j = k + 24 | 0; + f = k + 8 | 0; + i = k; + g = c[b + 16 >> 2] | 0; + a[190688] = 0; + e = b + 12 | 0; + h = g + 8 | 0; + if (!(c[(c[e >> 2] | 0) + 28 >> 2] | 0)) { + c[i >> 2] = ry(c[h >> 2] | 0) | 0; + fC(b, 69493, i); + d = b + 64 | 0; + if ((c[d >> 2] | 0) == 2) $B(b, 69526) | 0; else $B(b, 69508) | 0; + do if (!(c[(c[e >> 2] | 0) + 20 >> 2] | 0)) if ((c[d >> 2] | 0) == 2) { + n = c[b + 460 >> 2] | 0; + m = c[b + 464 >> 2] | 0; + d = c[b + 468 >> 2] | 0; + c[f >> 2] = c[b + 456 >> 2]; + c[f + 4 >> 2] = n; + c[f + 8 >> 2] = m; + c[f + 12 >> 2] = d; + fC(b, 69562, f); + break + } else { + $B(b, 69538) | 0; + break + } while (0); + $B(b, 69592) | 0; + jJ(b, c[(c[e >> 2] | 0) + 24 >> 2] | 0, 13e3); + lJ(b); + d = c[(c[e >> 2] | 0) + 20 >> 2] | 0; + if (d | 0) { + c[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = 0; + jJ(b, 0, i) + } + } + c[45950] = (a[(c[(c[h >> 2] | 0) + 16 >> 2] | 0) + 115 >> 0] | 0) == 1 ? 1 : -1; + if (!(a[190688] | 0)) { + $B(b, 69612) | 0; + a[190688] = 1 + } + d = c[g + 208 >> 2] | 0; + if (d | 0) { + c[j >> 2] = mJ(d, c[45950] | 0) | 0; + fC(b, 69625, j) + } + l = k; + return + } + + function Bd(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + b = l; + l = l + 16 | 0; + f = b; + c[f >> 2] = d; + c[f + 4 >> 2] = e; + fC(a, 69477, f); + l = b; + return + } + + function Cd(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0.0, v = 0.0, w = 0.0; + s = l; + l = l + 144 | 0; + r = s + 128 | 0; + q = s + 112 | 0; + p = s + 72 | 0; + o = s + 56 | 0; + n = s + 40 | 0; + m = s + 32 | 0; + e = s + 24 | 0; + b = s + 8 | 0; + d = s; + f = c[a + 456 >> 2] | 0; + j = c[a + 460 >> 2] | 0; + g = c[a + 464 >> 2] | 0; + i = c[a + 468 >> 2] | 0; + k = a + 12 | 0; + t = (c[(c[k >> 2] | 0) + 28 >> 2] | 0) + 1 | 0; + c[d >> 2] = t; + c[d + 4 >> 2] = t; + fC(a, 69104, d); + if (!(c[(c[k >> 2] | 0) + 20 >> 2] | 0)) { + c[b >> 2] = f; + c[b + 4 >> 2] = j; + c[b + 8 >> 2] = g; + c[b + 12 >> 2] = i; + fC(a, 69121, b) + } + d = a + 360 | 0; + c[e >> 2] = c[d >> 2] | 0 ? 69155 : 69165; + fC(a, 69174, e); + b = a + 64 | 0; + if ((c[b >> 2] | 0) == 1) { + c[m >> 2] = g; + c[m + 4 >> 2] = i; + fC(a, 69199, m) + } + m = c[a + 200 >> 2] | 0; + t = c[a + 204 >> 2] | 0; + c[n >> 2] = c[a + 196 >> 2]; + c[n + 4 >> 2] = m; + c[n + 8 >> 2] = t; + fC(a, 69238, n); + if (!(c[(c[k >> 2] | 0) + 20 >> 2] | 0)) { + c[o >> 2] = f; + c[o + 4 >> 2] = j; + c[o + 8 >> 2] = g - f; + c[o + 12 >> 2] = i - j; + fC(a, 69258, o) + } + w = +h[a + 496 >> 3]; + t = c[d >> 2] | 0; + v = +h[a + 504 >> 3]; + u = +h[a + 512 >> 3]; + h[p >> 3] = +h[a + 488 >> 3]; + h[p + 8 >> 3] = w; + c[p + 16 >> 2] = t; + h[p + 24 >> 3] = v; + h[p + 32 >> 3] = u; + fC(a, 69298, p); + if ((c[b >> 2] | 0) == 1) { + if ((g | 0) > 14399 | (i | 0) > 14399) { + t = c[(c[k >> 2] | 0) + 16 >> 2] | 0; + c[q >> 2] = g; + c[q + 4 >> 2] = i; + c[q + 8 >> 2] = 14400; + ub[t & 63](69341, q) + } + c[r >> 2] = f; + c[r + 4 >> 2] = j; + c[r + 8 >> 2] = g; + c[r + 12 >> 2] = i; + fC(a, 69436, r) + } + l = s; + return + } + + function Dd(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + b = a + 12 | 0; + if (c[(c[b >> 2] | 0) + 20 >> 2] | 0) { + $B(a, 69028) | 0; + jJ(a, 0, (c[(c[b >> 2] | 0) + 20 >> 2] | 0) + 4 | 0) + } + $B(a, 69045) | 0; + $B(a, 69072) | 0; + c[d >> 2] = c[(c[b >> 2] | 0) + 28 >> 2]; + fC(a, 69087, d); + l = e; + return + } + + function Ed(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + c[d >> 2] = ry(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) | 0; + fC(a, 69021, d); + $B(a, 69014) | 0; + l = b; + return + } + + function Fd(a) { + a = a | 0; + $B(a, 84457) | 0; + return + } + + function Gd(a) { + a = a | 0; + $B(a, 69014) | 0; + return + } + + function Hd(a) { + a = a | 0; + $B(a, 84457) | 0; + return + } + + function Id(a) { + a = a | 0; + $B(a, 69014) | 0; + return + } + + function Jd(a) { + a = a | 0; + $B(a, 84457) | 0; + return + } + + function Kd(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + e = l; + l = l + 16 | 0; + d = e; + if (b | 0 ? (g = (c[a + 16 >> 2] | 0) + 272 | 0, c[g >> 2] | 0) : 0) { + $B(a, 68910) | 0; + jC(a, c[g >> 2] | 0, 2); + $B(a, 68921) | 0; + c[d >> 2] = mJ(b, c[45950] | 0) | 0; + fC(a, 68925, d) + } + l = e; + return + } + + function Ld(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 32 | 0; + j = m + 8 | 0; + k = m; + f = c[b + 16 >> 2] | 0; + if (!(+h[f + 40 >> 3] < .5)) { + Sd(b, f + 16 | 0); + i = e + 4 | 0; + gC(b, +h[(c[i >> 2] | 0) + 16 >> 3]); + c[j >> 2] = c[c[i >> 2] >> 2]; + fC(b, 68869, j); + i = mJ(c[e >> 2] | 0, c[45950] | 0) | 0; + switch (a[e + 48 >> 0] | 0) { + case 114: { + n = e + 32 | 0; + f = n; + g = +h[n >> 3]; + break + } + case 108: { + f = e + 32 | 0; + g = 0.0; + break + } + default: { + n = e + 32 | 0; + f = n; + g = +h[n >> 3] * .5 + } + } + h[d >> 3] = +h[d >> 3] - g; + n = d + 8 | 0; + h[n >> 3] = +h[n >> 3] + +h[e + 24 >> 3]; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + iC(b, j); + $B(b, 68884) | 0; + gC(b, +h[f >> 3]); + c[k >> 2] = i; + fC(b, 68893, k) + } + l = m; + return + } + + function Md(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g; + 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]; + h[f + 16 >> 3] = +h[b + 16 >> 3] - +h[b >> 3]; + h[f + 24 >> 3] = +h[b + 24 >> 3] - +h[b + 8 >> 3]; + b = a + 16 | 0; + if (d | 0 ? (e = c[b >> 2] | 0, +h[e + 80 >> 3] > .5) : 0) { + Sd(a, e + 56 | 0); + jC(a, f, 2); + $B(a, 68827) | 0 + } + if (+h[(c[b >> 2] | 0) + 40 >> 3] > .5) { + Td(a); + Sd(a, (c[b >> 2] | 0) + 16 | 0); + jC(a, f, 2); + $B(a, 68847) | 0 + } + l = g; + return + } + + function Nd(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j; + g = a + 16 | 0; + if (e | 0 ? (f = c[g >> 2] | 0, +h[f + 80 >> 3] > .5) : 0) { + Sd(a, f + 56 | 0); + $B(a, 68748) | 0; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + iC(a, i); + $B(a, 68757) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + f = b + (e << 4) | 0; + c[i >> 2] = c[f >> 2]; + c[i + 4 >> 2] = c[f + 4 >> 2]; + c[i + 8 >> 2] = c[f + 8 >> 2]; + c[i + 12 >> 2] = c[f + 12 >> 2]; + iC(a, i); + $B(a, 68766) | 0; + e = e + 1 | 0 + } + $B(a, 68793) | 0 + } + if (+h[(c[g >> 2] | 0) + 40 >> 3] > .5) { + Td(a); + Sd(a, (c[g >> 2] | 0) + 16 | 0); + $B(a, 68748) | 0; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + iC(a, i); + $B(a, 68757) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + g = b + (e << 4) | 0; + c[i >> 2] = c[g >> 2]; + c[i + 4 >> 2] = c[g + 4 >> 2]; + c[i + 8 >> 2] = c[g + 8 >> 2]; + c[i + 12 >> 2] = c[g + 12 >> 2]; + iC(a, i); + $B(a, 68766) | 0; + e = e + 1 | 0 + } + $B(a, 68809) | 0 + } + l = j; + return + } + + function Od(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + f = k; + i = a + 16 | 0; + if (g | 0 ? (j = c[i >> 2] | 0, +h[j + 80 >> 3] > .5) : 0) { + Sd(a, j + 56 | 0); + $B(a, 68748) | 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]; + iC(a, f); + $B(a, 68757) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + jC(a, b + (e << 4) | 0, 3); + $B(a, 68783) | 0; + e = e + 3 | 0 + } + $B(a, 68793) | 0 + } + if (+h[(c[i >> 2] | 0) + 40 >> 3] > .5) { + Td(a); + Sd(a, (c[i >> 2] | 0) + 16 | 0); + $B(a, 68748) | 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]; + iC(a, f); + $B(a, 68757) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + jC(a, b + (e << 4) | 0, 3); + $B(a, 68783) | 0; + e = e + 3 | 0 + } + $B(a, 68775) | 0 + } + l = k; + return + } + + function Pd(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0; + g = l; + l = l + 16 | 0; + f = g; + e = a + 16 | 0; + if (+h[(c[e >> 2] | 0) + 40 >> 3] > .5) { + Td(a); + Sd(a, (c[e >> 2] | 0) + 16 | 0); + $B(a, 68748) | 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]; + iC(a, f); + $B(a, 68757) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + i = b + (e << 4) | 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]; + iC(a, f); + $B(a, 68766) | 0; + e = e + 1 | 0 + } + $B(a, 68775) | 0 + } + l = g; + return + } + + function Qd(a, b) { + a = a | 0; + b = b | 0; + $B(a, 68745) | 0; + $B(a, b) | 0; + $B(a, 150517) | 0; + 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, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 32 | 0; + g = n + 16 | 0; + m = n + 8 | 0; + k = n; + i = a + 16 | 0; + if (f | 0 ? (j = c[i >> 2] | 0, +h[j + 80 >> 3] > .5) : 0) { + Sd(a, j + 56 | 0); + $B(a, 84352) | 0; + jC(a, d, e); + $B(a, 99578) | 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]; + iC(a, g); + c[k >> 2] = e; + c[k + 4 >> 2] = b; + fC(a, 68662, k) + } + if (+h[(c[i >> 2] | 0) + 40 >> 3] > .5) { + Td(a); + Sd(a, (c[i >> 2] | 0) + 16 | 0); + $B(a, 84352) | 0; + jC(a, d, e); + $B(a, 99578) | 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]; + iC(a, g); + c[m >> 2] = e; + c[m + 4 >> 2] = b; + fC(a, 68678, m) + } + l = n; + return + } + + function Sd(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0; + f = l; + l = l + 32 | 0; + e = f; + if (b | 0) { + switch (c[(c[a + 16 >> 2] | 0) + 4 >> 2] | 0) { + case 1: + case 0: { + d = 108412; + break + } + case 2: { + d = 108399; + break + } + case 3: { + d = 108368; + break + } + default: + d = 68714 + } + i = +h[b + 8 >> 3]; + g = +h[b + 16 >> 3]; + h[e >> 3] = +h[b >> 3]; + h[e + 8 >> 3] = i; + h[e + 16 >> 3] = g; + c[e + 24 >> 2] = d; + fC(a, 68721, e) + } + l = f; + return + } + + function Td(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + k = m + 8 | 0; + j = m; + g = b + 16 | 0; + i = c[g >> 2] | 0; + d = c[i + 160 >> 2] | 0; + gC(b, +h[i + 152 >> 3]); + $B(b, 68695) | 0; + while (1) { + if (!d) break; + i = d + 4 | 0; + f = c[d >> 2] | 0; + if (!f) break; + if (!(b$(f, 108062) | 0)) { + d = i; + continue + } else e = f; + while (1) { + d = e + 1 | 0; + if (!(a[e >> 0] | 0)) break; else e = d + } + a:while (1) { + if (!(a[d >> 0] | 0)) break; + c[j >> 2] = d; + fC(b, 68710, j); + while (1) { + e = d + 1 | 0; + if (!(a[d >> 0] | 0)) { + d = e; + continue a + } else d = e + } + } + if (!(b$(f, 131253) | 0)) h[(c[g >> 2] | 0) + 152 >> 3] = 0.0; + c[k >> 2] = f; + fC(b, 93588, k); + d = i + } + l = m; + return + } + + function Ud(b) { + b = b | 0; + var d = 0; + $B(b, 74734) | 0; + d = xx(c[(c[b >> 2] | 0) + 168 >> 2] | 0, 74790) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) { + $B(b, 74801) | 0; + $B(b, d) | 0; + $B(b, 74825) | 0 + } + $B(b, 74846) | 0; + $B(b, 74894) | 0; + $B(b, 74948) | 0; + d = b + 12 | 0; + $B(b, qH(c[c[c[d >> 2] >> 2] >> 2] | 0) | 0) | 0; + $B(b, 78077) | 0; + $B(b, qH(c[(c[c[d >> 2] >> 2] | 0) + 4 >> 2] | 0) | 0) | 0; + $B(b, 78087) | 0; + $B(b, qH(c[(c[c[d >> 2] >> 2] | 0) + 8 >> 2] | 0) | 0) | 0; + $B(b, 75330) | 0; + $B(b, 75354) | 0; + return + } + + function Vd(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0; + i = l; + l = l + 48 | 0; + g = i + 16 | 0; + f = i + 8 | 0; + e = i; + d = c[b + 16 >> 2] | 0; + $B(b, 74569) | 0; + d = d + 8 | 0; + if (a[(ry(c[d >> 2] | 0) | 0) >> 0] | 0) { + $B(b, 75293) | 0; + $B(b, qH(ry(c[d >> 2] | 0) | 0) | 0) | 0 + } + c[e >> 2] = O(c[b + 168 >> 2] | 0, c[b + 164 >> 2] | 0) | 0; + fC(b, 74574, e); + e = c[b + 452 >> 2] | 0; + c[f >> 2] = c[b + 448 >> 2]; + c[f + 4 >> 2] = e; + fC(b, 74590, f); + m = +h[b + 392 >> 3]; + k = +h[b + 400 >> 3]; + j = +h[b + 408 >> 3]; + h[g >> 3] = +h[b + 384 >> 3]; + h[g + 8 >> 3] = m; + h[g + 16 >> 3] = k; + h[g + 24 >> 3] = j; + fC(b, 74623, g); + $B(b, 74654) | 0; + $B(b, 74690) | 0; + $B(b, 76284) | 0; + l = i; + return + } + + function Wd(a) { + a = a | 0; + $B(a, 74561) | 0; + return + } + + function Xd(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + se(a, b, 0, 98484, c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0); + $B(a, 76284) | 0; + return + } + + function Yd(a) { + a = a | 0; + $B(a, 74409) | 0; + return + } + + function Zd(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = l; + l = l + 16 | 0; + f = e; + g = c[b + 16 >> 2] | 0; + d = g + 8 | 0; + se(b, c[g + 212 >> 2] | 0, 0, 108412, c[d >> 2] | 0); + $B(b, 74513) | 0; + gC(b, +h[b + 488 >> 3]); + $B(b, 99578) | 0; + gC(b, +h[b + 496 >> 3]); + c[f >> 2] = 0 - (c[b + 360 >> 2] | 0); + fC(b, 74532, f); + gC(b, +h[b + 504 >> 3]); + $B(b, 99578) | 0; + gC(b, -+h[b + 512 >> 3]); + $B(b, 74556) | 0; + if (a[(ry(c[d >> 2] | 0) | 0) >> 0] | 0) { + $B(b, 74465) | 0; + $B(b, qH(ry(c[d >> 2] | 0) | 0) | 0) | 0; + $B(b, 74473) | 0 + } + l = e; + return + } + + function _d(a) { + a = a | 0; + $B(a, 74409) | 0; + return + } + + function $d(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a + 16 >> 2] | 0; + b = d + 8 | 0; + se(a, c[d + 212 >> 2] | 0, 0, 104980, c[b >> 2] | 0); + $B(a, 76284) | 0; + $B(a, 74465) | 0; + $B(a, qH(ry(c[b >> 2] | 0) | 0) | 0) | 0; + $B(a, 74473) | 0; + return + } + + function ae(a) { + a = a | 0; + $B(a, 74409) | 0; + return + } + + function be(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = c[a + 16 >> 2] | 0; + b = c[a + 160 >> 2] | 0; + if ((b | 0) > 1) b = c[(c[(c[a >> 2] | 0) + 308 >> 2] | 0) + (b << 2) >> 2] | 0; else b = 0; + e = d + 8 | 0; + se(a, c[d + 212 >> 2] | 0, b, 108399, c[e >> 2] | 0); + $B(a, 76284) | 0; + $B(a, 74465) | 0; + $B(a, qH(ry(c[e >> 2] | 0) | 0) | 0) | 0; + $B(a, 74473) | 0; + return + } + + function ce(a) { + a = a | 0; + $B(a, 74409) | 0; + return + } + + function de(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a + 16 >> 2] | 0; + b = d + 8 | 0; + se(a, c[d + 212 >> 2] | 0, 0, 108368, c[b >> 2] | 0); + $B(a, 76284) | 0; + $B(a, 74465) | 0; + b = pH(99069, c[b >> 2] | 0) | 0; + $B(a, qH(b) | 0) | 0; + D_(b); + $B(a, 74473) | 0; + return + } + + function ee(a) { + a = a | 0; + $B(a, 74409) | 0; + return + } + + function fe(b, c, d, e, f) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + $B(b, 74415) | 0; + if (f | 0) { + $B(b, 74418) | 0; + $B(b, qH(f) | 0) | 0; + $B(b, 95669) | 0 + } + $B(b, 74308) | 0; + $B(b, 76245) | 0; + if (c | 0 ? a[c >> 0] | 0 : 0) { + $B(b, 74426) | 0; + $B(b, c) | 0; + $B(b, 95669) | 0 + } + if (d | 0 ? a[d >> 0] | 0 : 0) { + $B(b, 74440) | 0; + $B(b, rH(d, 1) | 0) | 0; + $B(b, 95669) | 0 + } + if (e | 0 ? a[e >> 0] | 0 : 0) { + $B(b, 74455) | 0; + $B(b, qH(e) | 0) | 0; + $B(b, 95669) | 0 + } + $B(b, 76284) | 0; + return + } + + function ge(a) { + a = a | 0; + $B(a, 76239) | 0; + $B(a, 74409) | 0; + return + } + + function he(e, f, g) { + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0.0, H = 0, I = 0, J = 0, K = 0, + L = 0, M = 0; + M = l; + l = l + 176 | 0; + L = M + 160 | 0; + K = M + 152 | 0; + F = M + 136 | 0; + J = M + 128 | 0; + E = M + 120 | 0; + D = M + 112 | 0; + C = M + 104 | 0; + B = M + 96 | 0; + A = M + 88 | 0; + y = M + 80 | 0; + w = M + 72 | 0; + v = M + 64 | 0; + u = M + 56 | 0; + t = M + 48 | 0; + i = M + 40 | 0; + q = M + 32 | 0; + s = M + 24 | 0; + r = M + 16 | 0; + p = M + 8 | 0; + o = M; + I = c[e + 16 >> 2] | 0; + $B(e, 73940) | 0; + switch (a[g + 48 >> 0] | 0) { + case 108: { + $B(e, 73946) | 0; + break + } + case 114: { + $B(e, 73967) | 0; + break + } + default: + $B(e, 73986) | 0 + } + H = f + 8 | 0; + G = +h[H >> 3] + +h[g + 24 >> 3]; + h[H >> 3] = G; + H = I + 260 | 0; + if (!(b[H >> 1] & 512)) { + $B(e, 74008) | 0; + gC(e, +h[f >> 3]); + $B(e, 74013) | 0; + gC(e, -G); + $B(e, 95669) | 0 + } + x = g + 4 | 0; + f = c[x >> 2] | 0; + n = c[f + 8 >> 2] | 0; + if (n) { + switch (c[(c[(c[(c[e >> 2] | 0) + 168 >> 2] | 0) + 16 >> 2] | 0) + 244 >> 2] | 0) { + case 1: { + m = n; + f = n + 16 | 0; + i = n + 8 | 0; + break + } + case 2: { + m = n + 24 | 0; + f = n + 32 | 0; + i = n + 28 | 0; + break + } + default: { + m = n + 4 | 0; + f = n + 16 | 0; + i = n + 8 | 0 + } + } + j = c[f >> 2] | 0; + f = c[i >> 2] | 0; + k = c[n + 12 >> 2] | 0; + c[o >> 2] = c[m >> 2]; + fC(e, 74019, o); + i = c[n + 24 >> 2] | 0; + if (i | 0) { + c[p >> 2] = i; + fC(e, 74036, p) + } + $B(e, 95669) | 0; + if (f | 0) { + c[r >> 2] = f; + fC(e, 74040, r) + } + if (k | 0) { + c[s >> 2] = k; + fC(e, 74058, s) + } + if (!j) j = 0; else { + c[q >> 2] = j; + fC(e, 74077, q) + } + } else { + c[i >> 2] = c[f >> 2]; + fC(e, 74094, i); + j = 0; + f = 0 + } + i = c[x >> 2] | 0; + if (i | 0 ? (z = c[i + 24 >> 2] | 0, z & 127 | 0) : 0) { + if (!((f | 0) != 0 | (z & 1 | 0) == 0)) fC(e, 74112, t); + if (!((j | 0) != 0 | (z & 2 | 0) == 0)) fC(e, 74132, u); + if (z & 100 | 0) { + fC(e, 74153, v); + if (!(z & 4)) f = 0; else { + fC(e, 102960, w); + f = 1 + } + if (z & 64) { + c[y >> 2] = f | 0 ? 97973 : 191979; + fC(e, 74172, y); + f = 1 + } + if (z & 32 | 0) { + c[A >> 2] = f | 0 ? 97973 : 191979; + fC(e, 74183, A) + } + fC(e, 95669, B) + } + if (z & 8 | 0) fC(e, 74198, C); + if (z & 16 | 0) fC(e, 74222, D) + } + h[E >> 3] = +h[(c[x >> 2] | 0) + 16 >> 3]; + fC(e, 74244, E); + f = I + 16 | 0; + switch (c[I + 48 >> 2] | 0) { + case 5: { + f = c[f >> 2] | 0; + if (O$(f, 134232) | 0) { + c[J >> 2] = f; + fC(e, 74262, J) + } + break + } + case 1: { + E = d[f + 1 >> 0] | 0; + J = d[f + 2 >> 0] | 0; + c[F >> 2] = d[f >> 0]; + c[F + 4 >> 2] = E; + c[F + 8 >> 2] = J; + fC(e, 74273, F); + break + } + default: + qa(135312, 73454, 486, 74295) + } + $B(e, 74308) | 0; + if (b[H >> 1] & 512) { + c[K >> 2] = qH(c[I + 212 >> 2] | 0) | 0; + fC(e, 74310, K); + $B(e, 74359) | 0; + gC(e, -G); + $B(e, 74377) | 0 + } + $B(e, rH(c[g >> 2] | 0, 1) | 0) | 0; + if (b[H >> 1] & 512) fC(e, 74380, L); + $B(e, 74400) | 0; + l = M; + return + } + + function ie(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + switch (c | 0) { + case 2: { + d = pe(a, b, 2) | 0; + break + } + case 3: { + d = qe(a) | 0; + break + } + default: + d = 0 + } + $B(a, 73904) | 0; + ne(a, c, d); + $B(a, 73913) | 0; + gC(a, +h[b >> 3]); + $B(a, 73919) | 0; + c = b + 8 | 0; + gC(a, -+h[c >> 3]); + $B(a, 73926) | 0; + gC(a, +h[b + 16 >> 3] - +h[b >> 3]); + $B(a, 73933) | 0; + gC(a, +h[b + 24 >> 3] - +h[c >> 3]); + $B(a, 73320) | 0; + return + } + + function je(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + switch (d | 0) { + case 2: { + e = pe(a, b, c) | 0; + break + } + case 3: { + e = qe(a) | 0; + break + } + default: + e = 0 + } + $B(a, 73895) | 0; + ne(a, d, e); + $B(a, 73310) | 0; + e = 0; + while (1) { + if ((e | 0) >= (c | 0)) break; + gC(a, +h[b + (e << 4) >> 3]); + $B(a, 97973) | 0; + gC(a, -+h[b + (e << 4) + 8 >> 3]); + $B(a, 99578) | 0; + e = e + 1 | 0 + } + gC(a, +h[b >> 3]); + $B(a, 97973) | 0; + gC(a, -+h[b + 8 >> 3]); + $B(a, 73320) | 0; + return + } + + function ke(a, d, e, f, g, h) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + g = c[a + 16 >> 2] | 0; + switch (h | 0) { + case 2: { + f = pe(a, d, e) | 0; + break + } + case 3: { + f = qe(a) | 0; + break + } + default: + f = 0 + } + $B(a, 73490) | 0; + if (b[g + 260 >> 1] & 512) { + $B(a, 73496) | 0; + $B(a, qH(c[g + 212 >> 2] | 0) | 0) | 0; + $B(a, 73502) | 0 + } + ne(a, h, f); + $B(a, 73507) | 0; + re(a, d, e); + $B(a, 73320) | 0; + return + } + + function le(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + $B(a, 73300) | 0; + ne(a, 0, 0); + $B(a, 73310) | 0; + d = 0; + while (1) { + if ((d | 0) >= (c | 0)) break; + gC(a, +h[b + (d << 4) >> 3]); + $B(a, 97973) | 0; + gC(a, -+h[b + (d << 4) + 8 >> 3]); + $B(a, 99578) | 0; + d = d + 1 | 0 + } + $B(a, 73320) | 0; + return + } + + function me(a, b) { + a = a | 0; + b = b | 0; + $B(a, 73294) | 0; + $B(a, qH(b) | 0) | 0; + $B(a, 75354) | 0; + return + } + + function ne(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 96 | 0; + k = q + 48 | 0; + p = q + 40 | 0; + n = q + 32 | 0; + o = q + 24 | 0; + j = q + 16 | 0; + g = q + 8 | 0; + f = q; + m = c[b + 16 >> 2] | 0; + $B(b, 73325) | 0; + a:do switch (d | 0) { + case 2: { + c[f >> 2] = e; + fC(b, 73333, f); + break + } + case 3: { + c[g >> 2] = e; + fC(b, 73344, g); + break + } + case 0: { + $B(b, 132627) | 0; + break + } + default: { + d = m + 56 | 0; + f = k; + g = d; + i = f + 40 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (i | 0)); + oe(b, k); + if ((c[m + 88 >> 2] | 0) == 1) { + d = a[d + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: + break a; + default: { + } + } + h[j >> 3] = +(d & 255) * .00392156862745098; + fC(b, 73355, j) + } + } + } while (0); + $B(b, 73374) | 0; + e = m + 16 | 0; + f = k; + g = e; + i = f + 40 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (i | 0)); + oe(b, k); + d = m + 152 | 0; + if (+h[d >> 3] != 1.0) { + $B(b, 73385) | 0; + gC(b, +h[d >> 3]) + } + switch (c[m + 144 >> 2] | 0) { + case 1: { + c[o >> 2] = 73425; + fC(b, 73402, o); + break + } + case 2: { + c[n >> 2] = 73429; + fC(b, 73402, n); + break + } + default: { + } + } + b:do if ((c[m + 48 >> 2] | 0) == 1) { + d = a[e + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: + break b; + default: { + } + } + h[p >> 3] = +(d & 255) * .00392156862745098; + fC(b, 73433, p) + } while (0); + $B(b, 95669) | 0; + l = q; + return + } + + function oe(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 16 | 0; + f = g; + a:do switch (c[e + 32 >> 2] | 0) { + case 5: { + $B(b, c[e >> 2] | 0) | 0; + break + } + case 1: + if (!(a[e + 3 >> 0] | 0)) { + $B(b, 134297) | 0; + break a + } else { + i = d[e + 1 >> 0] | 0; + h = d[e + 2 >> 0] | 0; + c[f >> 2] = d[e >> 0]; + c[f + 4 >> 2] = i; + c[f + 8 >> 2] = h; + fC(b, 75610, f); + break a + } + default: + qa(135312, 73454, 117, 73474) + } while (0); + l = g; + return + } + + function pe(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 112 | 0; + o = t + 64 | 0; + r = t + 56 | 0; + n = t + 48 | 0; + m = t + 40 | 0; + i = t + 32 | 0; + k = t; + q = c[45952] | 0; + c[45952] = q + 1; + p = c[b + 16 >> 2] | 0; + f = +(c[p + 136 >> 2] | 0) * .017453292519943295; + 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; + aN(d, k, e, f, 0); + c[o >> 2] = q; + fC(b, 73727, o); + $B(b, 73792) | 0; + gC(b, +h[k >> 3]); + $B(b, 73797) | 0; + gC(b, +h[k + 8 >> 3]); + $B(b, 73804) | 0; + gC(b, +h[k + 16 >> 3]); + $B(b, 73811) | 0; + gC(b, +h[k + 24 >> 3]); + $B(b, 73818) | 0; + k = p + 140 | 0; + f = +g[k >> 2]; + if (f > 0.0) { + h[i >> 3] = f + -.001; + fC(b, 73823, i) + } else $B(b, 73599) | 0; + d = p + 56 | 0; + e = o; + i = d; + j = e + 40 | 0; + do { + c[e >> 2] = c[i >> 2]; + e = e + 4 | 0; + i = i + 4 | 0 + } while ((e | 0) < (j | 0)); + oe(b, o); + $B(b, 73635) | 0; + a:do if ((c[p + 88 >> 2] | 0) == 1) { + d = a[d + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: { + s = 7; + break a + } + default: { + } + } + h[m >> 3] = +(d & 255) * .00392156862745098; + fC(b, 96586, m) + } else s = 7; while (0); + if ((s | 0) == 7) $B(b, 73650) | 0; + $B(b, 73653) | 0; + f = +g[k >> 2]; + if (f > 0.0) { + h[n >> 3] = f; + fC(b, 73823, n) + } else $B(b, 73659) | 0; + d = p + 96 | 0; + e = o; + i = d; + j = e + 40 | 0; + do { + c[e >> 2] = c[i >> 2]; + e = e + 4 | 0; + i = i + 4 | 0 + } while ((e | 0) < (j | 0)); + oe(b, o); + $B(b, 73635) | 0; + b:do if ((c[p + 128 >> 2] | 0) == 1) { + d = a[d + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: { + s = 14; + break b + } + default: { + } + } + h[r >> 3] = +(d & 255) * .00392156862745098; + fC(b, 96586, r) + } else s = 14; while (0); + if ((s | 0) == 14) $B(b, 73650) | 0; + $B(b, 73863) | 0; + l = t; + return q | 0 + } + + function qe(b) { + b = b | 0; + var d = 0, e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 64 | 0; + k = q + 16 | 0; + o = q + 8 | 0; + j = q; + n = c[45951] | 0; + c[45951] = n + 1; + m = c[b + 16 >> 2] | 0; + r = +(c[m + 136 >> 2] | 0) * .017453292519943295; + e = r; + if (r == 0.0) { + f = 50; + d = 50 + } else { + f = ~~((+E(+e) + 1.0) * 50.0); + d = ~~((1.0 - +F(+e)) * 50.0) + } + c[k >> 2] = n; + c[k + 4 >> 2] = f; + c[k + 8 >> 2] = d; + fC(b, 73515, k); + $B(b, 73599) | 0; + d = m + 56 | 0; + f = k; + g = d; + i = f + 40 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (i | 0)); + oe(b, k); + $B(b, 73635) | 0; + a:do if ((c[m + 88 >> 2] | 0) == 1) { + d = a[d + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: { + p = 6; + break a + } + default: { + } + } + h[j >> 3] = +(d & 255) * .00392156862745098; + fC(b, 96586, j) + } else p = 6; while (0); + if ((p | 0) == 6) $B(b, 73650) | 0; + $B(b, 73653) | 0; + $B(b, 73659) | 0; + d = m + 96 | 0; + f = k; + g = d; + i = f + 40 | 0; + do { + c[f >> 2] = c[g >> 2]; + f = f + 4 | 0; + g = g + 4 | 0 + } while ((f | 0) < (i | 0)); + oe(b, k); + $B(b, 73635) | 0; + b:do if ((c[m + 128 >> 2] | 0) == 1) { + d = a[d + 3 >> 0] | 0; + switch (d << 24 >> 24) { + case -1: + case 0: { + p = 10; + break b + } + default: { + } + } + h[o >> 3] = +(d & 255) * .00392156862745098; + fC(b, 96586, o) + } else p = 10; while (0); + if ((p | 0) == 10) $B(b, 73650) | 0; + $B(b, 73695) | 0; + l = q; + return n | 0 + } + + function re(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + e = 77; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + c[g >> 2] = e; + fC(a, 73512, g); + gC(a, +h[b + (f << 4) >> 3]); + $B(a, 97973) | 0; + gC(a, -+h[b + (f << 4) + 8 >> 3]); + e = (f | 0) == 0 ? 67 : 32; + f = f + 1 | 0 + } + l = i; + return + } + + function se(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + i = j + 8 | 0; + h = j; + $B(b, 74483) | 0; + $B(b, qH(d) | 0) | 0; + if (e | 0) { + c[h >> 2] = qH(e) | 0; + fC(b, 74491, h) + } + c[i >> 2] = f; + fC(b, 74495, i); + d = xx(g, 74507) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) { + $B(b, 99578) | 0; + $B(b, qH(d) | 0) | 0 + } + $B(b, 95669) | 0; + l = j; + return + } + + function te(a) { + a = a | 0; + var b = 0; + $B(a, 75314) | 0; + b = a + 12 | 0; + $B(a, De(c[c[c[b >> 2] >> 2] >> 2] | 0) | 0) | 0; + $B(a, 78077) | 0; + $B(a, De(c[(c[c[b >> 2] >> 2] | 0) + 4 >> 2] | 0) | 0) | 0; + $B(a, 78087) | 0; + $B(a, De(c[(c[c[b >> 2] >> 2] | 0) + 8 >> 2] | 0) | 0) | 0; + $B(a, 75330) | 0; + return + } + + function ue(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + d = c[b + 16 >> 2] | 0; + $B(b, 75291) | 0; + d = d + 8 | 0; + if (a[(ry(c[d >> 2] | 0) | 0) >> 0] | 0) { + $B(b, 75293) | 0; + $B(b, De(ry(c[d >> 2] | 0) | 0) | 0) | 0 + } + c[e >> 2] = O(c[b + 168 >> 2] | 0, c[b + 164 >> 2] | 0) | 0; + fC(b, 75302, e); + c[45953] = 0; + l = f; + return + } + + function ve(a) { + a = a | 0; + c[45953] = 1; + return + } + + function we(a) { + a = a | 0; + c[45953] = -1; + return + } + + function xe(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 48 | 0; + i = n + 8 | 0; + m = n; + f = c[b + 16 >> 2] | 0; + if (c[f + 144 >> 2] | 0 ? (k = e + 4 | 0, j = ~~(+h[b + 352 >> 3] * +h[(c[k >> 2] | 0) + 16 >> 3]), j | 0) : 0) { + Ee(b); + $B(b, 75230) | 0; + g = d + 8 | 0; + h[g >> 3] = +h[g >> 3] - +(j | 0) * .55; + 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]; + iC(b, i); + $B(b, 75244) | 0; + $B(b, c[e >> 2] | 0) | 0; + $B(b, 75253) | 0; + $B(b, 75051) | 0; + g = i; + d = f + 16 | 0; + f = g + 40 | 0; + do { + c[g >> 2] = c[d >> 2]; + g = g + 4 | 0; + d = d + 4 | 0 + } while ((g | 0) < (f | 0)); + Fe(b, i); + $B(b, 75255) | 0; + i = c[k >> 2] | 0; + k = c[i + 8 >> 2] | 0; + k = c[((k | 0) == 0 ? i : k + 4 | 0) >> 2] | 0; + $B(b, 95669) | 0; + $B(b, k) | 0; + $B(b, 95669) | 0; + c[m >> 2] = j; + fC(b, 75264, m); + switch (a[e + 48 >> 0] | 0) { + case 108: { + $B(b, 75269) | 0; + break + } + case 114: { + $B(b, 75280) | 0; + break + } + default: { + } + } + Ge(b); + $B(b, 150517) | 0 + } + l = n; + return + } + + function ye(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0; + j = l; + l = l + 48 | 0; + f = j; + g = c[a + 16 >> 2] | 0; + i = g + 144 | 0; + if (c[i >> 2] | 0) { + n = +h[b >> 3]; + m = +h[b + 24 >> 3]; + e = b + 8 | 0; + k = +h[e >> 3]; + h[b >> 3] = n - +h[b + 16 >> 3] + n; + h[e >> 3] = k - m + k; + Ee(a); + $B(a, 75216) | 0; + jC(a, b, 2); + $B(a, 75051) | 0; + do if (!d) if (!(c[45953] | 0)) { + $B(a, 94227) | 0; + break + } else { + $B(a, 134116) | 0; + break + } else { + b = f; + d = g + 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)); + Fe(a, f) + } while (0); + if ((c[45953] | 0) == 1) c[45953] = 0; + $B(a, 75162) | 0; + gC(a, +h[g + 152 >> 3]); + $B(a, 75205) | 0; + b = f; + d = g + 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)); + Fe(a, f); + b = c[i >> 2] | 0; + if ((b | 0) == 1) { + $B(a, 75059) | 0; + b = c[i >> 2] | 0 + } + if ((b | 0) == 2) $B(a, 75068) | 0; + Ge(a); + $B(a, 150517) | 0 + } + l = j; + return + } + + function ze(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 48 | 0; + f = j; + g = c[a + 16 >> 2] | 0; + i = g + 144 | 0; + if (c[i >> 2] | 0) { + Ee(a); + $B(a, 75188) | 0; + jC(a, b, d); + $B(a, 75051) | 0; + do if (!e) if (!(c[45953] | 0)) { + $B(a, 94227) | 0; + break + } else { + $B(a, 134116) | 0; + break + } else { + b = f; + d = g + 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)); + Fe(a, f) + } while (0); + if ((c[45953] | 0) == 1) c[45953] = 0; + $B(a, 75162) | 0; + gC(a, +h[g + 152 >> 3]); + $B(a, 75205) | 0; + b = f; + d = g + 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)); + Fe(a, f); + b = c[i >> 2] | 0; + if ((b | 0) == 1) { + $B(a, 75059) | 0; + b = c[i >> 2] | 0 + } + if ((b | 0) == 2) $B(a, 75068) | 0; + Ge(a); + $B(a, 150517) | 0 + } + l = j; + return + } + + function Ae(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 48 | 0; + i = m; + j = c[a + 16 >> 2] | 0; + k = j + 144 | 0; + if (c[k >> 2] | 0) { + Ee(a); + $B(a, 75037) | 0; + jC(a, b, d); + $B(a, 75051) | 0; + e = i; + f = j + 16 | 0; + g = e + 40 | 0; + do { + c[e >> 2] = c[f >> 2]; + e = e + 4 | 0; + f = f + 4 | 0 + } while ((e | 0) < (g | 0)); + Fe(a, i); + $B(a, 75162) | 0; + gC(a, +h[j + 152 >> 3]); + e = c[k >> 2] | 0; + if ((e | 0) == 1) { + $B(a, 75059) | 0; + e = c[k >> 2] | 0 + } + if ((e | 0) == 2) $B(a, 75068) | 0; + $B(a, 75171) | 0; + Ge(a); + $B(a, 150517) | 0 + } + l = m; + return + } + + function Be(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 48 | 0; + g = i; + e = c[a + 16 >> 2] | 0; + h = e + 144 | 0; + if (c[h >> 2] | 0) { + Ee(a); + $B(a, 75037) | 0; + jC(a, b, d); + $B(a, 75051) | 0; + f = g; + b = e + 16 | 0; + d = f + 40 | 0; + do { + c[f >> 2] = c[b >> 2]; + f = f + 4 | 0; + b = b + 4 | 0 + } while ((f | 0) < (d | 0)); + Fe(a, g); + b = c[h >> 2] | 0; + if ((b | 0) == 1) { + $B(a, 75059) | 0; + b = c[h >> 2] | 0 + } + if ((b | 0) == 2) $B(a, 75068) | 0; + Ge(a); + $B(a, 150517) | 0 + } + l = i; + return + } + + function Ce(a, b) { + a = a | 0; + b = b | 0; + $B(a, 75034) | 0; + $B(a, De(b) | 0) | 0; + $B(a, 150517) | 0; + return + } + + function De(a) { + a = a | 0; + return a | 0 + } + + function Ee(b) { + b = b | 0; + if (!(a[b + 144 >> 0] | 0)) $B(b, 75159) | 0; else $B(b, c[b + 148 >> 2] | 0) | 0; + return + } + + function Fe(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 16 | 0; + f = g; + a:do switch (c[e + 32 >> 2] | 0) { + case 5: { + $B(b, c[e >> 2] | 0) | 0; + break + } + case 1: + if (!(a[e + 3 >> 0] | 0)) { + $B(b, 94227) | 0; + break a + } else { + i = d[e + 1 >> 0] | 0; + h = d[e + 2 >> 0] | 0; + c[f >> 2] = d[e >> 0]; + c[f + 4 >> 2] = i; + c[f + 8 >> 2] = h; + fC(b, 75610, f); + break a + } + default: + qa(135312, 75077, 49, 75141) + } while (0); + l = g; + return + } + + function Ge(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + f = c[a + 16 >> 2] | 0; + switch (c[f + 12 >> 2] | 0) { + case 8: { + b = 1; + d = 108399; + e = f + 8 | 0; + break + } + case 10: { + b = 0; + d = 108399; + e = f + 8 | 0; + break + } + case 3: + case 2: + case 9: { + b = 1; + d = 108368; + e = f + 8 | 0; + break + } + case 7: + case 6: + case 11: { + b = 0; + d = 108368; + e = f + 8 | 0; + break + } + case 0: { + b = 1; + d = 108412; + e = f + 8 | 0; + break + } + case 4: { + b = 0; + d = 75113; + e = f + 8 | 0; + break + } + case 1: { + b = 1; + d = 108412; + e = f + 8 | 0; + break + } + case 5: { + b = 0; + d = 108412; + e = f + 8 | 0; + break + } + default: + qa(135312, 75077, 106, 75096) + } + f = c[(c[e >> 2] | 0) + 8 >> 2] | 0; + c[g >> 2] = b; + c[g + 4 >> 2] = d; + c[g + 8 >> 2] = f; + fC(a, 75125, g); + l = h; + return + } + + function He(a) { + a = a | 0; + var b = 0; + $B(a, 78049) | 0; + $B(a, 78057) | 0; + b = a + 12 | 0; + $B(a, Se(c[c[c[b >> 2] >> 2] >> 2] | 0) | 0) | 0; + $B(a, 78077) | 0; + $B(a, Se(c[(c[c[b >> 2] >> 2] | 0) + 4 >> 2] | 0) | 0) | 0; + $B(a, 78087) | 0; + $B(a, Se(c[(c[c[b >> 2] >> 2] | 0) + 8 >> 2] | 0) | 0) | 0; + $B(a, 78090) | 0; + return + } + + function Ie(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + i = j + 24 | 0; + g = j + 16 | 0; + f = j + 8 | 0; + e = j; + d = c[b + 16 >> 2] | 0; + c[45957] = ~~(+h[b + 232 >> 3] - +h[b + 216 >> 3]); + c[45956] = ~~(+h[b + 224 >> 3] - +h[b + 208 >> 3]); + $B(b, 76736) | 0; + $B(b, 76743) | 0; + d = ry(c[d + 8 >> 2] | 0) | 0; + if (a[d >> 0] | 0) { + $B(b, 76812) | 0; + $B(b, Se(d) | 0) | 0; + $B(b, 76820) | 0 + } + c[e >> 2] = O(c[b + 168 >> 2] | 0, c[b + 164 >> 2] | 0) | 0; + fC(b, 76829, e); + $B(b, 76849) | 0; + $B(b, 76884) | 0; + $B(b, 76912) | 0; + $B(b, 76918) | 0; + $B(b, 76961) | 0; + $B(b, 77002) | 0; + $B(b, 77021) | 0; + $B(b, 77038) | 0; + $B(b, 77086) | 0; + $B(b, 77139) | 0; + $B(b, 77215) | 0; + $B(b, 77291) | 0; + $B(b, 77300) | 0; + $B(b, 77323) | 0; + $B(b, 77350) | 0; + $B(b, 77403) | 0; + $B(b, 77425) | 0; + $B(b, 77470) | 0; + $B(b, 77482) | 0; + $B(b, 77492) | 0; + $B(b, 77518) | 0; + $B(b, 77403) | 0; + $B(b, 77570) | 0; + $B(b, 77470) | 0; + $B(b, 77482) | 0; + $B(b, 77614) | 0; + $B(b, 77323) | 0; + $B(b, 77350) | 0; + $B(b, 77403) | 0; + $B(b, 77570) | 0; + $B(b, 77470) | 0; + $B(b, 77482) | 0; + $B(b, 77492) | 0; + $B(b, 77518) | 0; + $B(b, 77403) | 0; + $B(b, 77425) | 0; + $B(b, 77470) | 0; + $B(b, 77482) | 0; + $B(b, 77627) | 0; + $B(b, 77635) | 0; + $B(b, 77641) | 0; + $B(b, 77655) | 0; + $B(b, 77663) | 0; + $B(b, 77696) | 0; + e = (c[45957] | 0) + 10 | 0; + c[f >> 2] = c[45956]; + c[f + 4 >> 2] = e; + fC(b, 77773, f); + $B(b, 77803) | 0; + $B(b, 77812) | 0; + $B(b, 77870) | 0; + $B(b, 77880) | 0; + $B(b, 77945) | 0; + f = c[45957] | 0; + c[g >> 2] = c[45956]; + c[g + 4 >> 2] = f; + fC(b, 77982, g); + g = c[45957] | 0; + c[i >> 2] = c[45956]; + c[i + 4 >> 2] = g; + fC(b, 78010, i); + l = j; + return + } + + function Je(a) { + a = a | 0; + $B(a, 76287) | 0; + $B(a, 76299) | 0; + $B(a, 76307) | 0; + $B(a, 76370) | 0; + $B(a, 76299) | 0; + $B(a, 76415) | 0; + $B(a, 76464) | 0; + $B(a, 76518) | 0; + $B(a, 76299) | 0; + $B(a, 76618) | 0; + $B(a, 76667) | 0; + $B(a, 76299) | 0; + $B(a, 76719) | 0; + return + } + + function Ke(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + i = j + 16 | 0; + h = j + 8 | 0; + g = j; + $B(b, 76245) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) { + c[g >> 2] = Se(d) | 0; + fC(b, 76248, g) + } + if (e | 0 ? a[e >> 0] | 0 : 0) { + c[h >> 2] = Se(e) | 0; + fC(b, 76259, h) + } + if (f | 0 ? a[f >> 0] | 0 : 0) { + c[i >> 2] = Se(f) | 0; + fC(b, 76271, i) + } + $B(b, 76284) | 0; + l = j; + return + } + + function Le(a) { + a = a | 0; + $B(a, 76239) | 0; + return + } + + function Me(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0.0; + A = l; + l = l + 112 | 0; + y = A + 96 | 0; + z = A + 88 | 0; + w = A + 80 | 0; + q = A + 72 | 0; + v = A + 64 | 0; + t = A + 56 | 0; + s = A + 48 | 0; + r = A + 40 | 0; + p = A + 24 | 0; + o = A + 8 | 0; + n = A; + x = c[b + 16 >> 2] | 0; + switch (a[f + 48 >> 0] | 0) { + case 108: { + j = +h[e >> 3]; + m = +h[f + 32 >> 3]; + break + } + case 114: { + m = +h[f + 32 >> 3]; + j = +h[e >> 3] - m; + break + } + default: { + m = +h[f + 32 >> 3]; + j = +h[e >> 3] - m * .5 + } + } + g = f + 40 | 0; + i = +h[g >> 3]; + u = f + 4 | 0; + k = +h[(c[u >> 2] | 0) + 16 >> 3]; + if (i < k) { + i = k * 1.1 + 1.0; + h[g >> 3] = i + } + B = j + -8.0; + k = +((c[45957] | 0) >>> 0) - +h[e + 8 >> 3] - i + k * .2 + (k < 12.0 ? 1.4 : 2.0); + fC(b, 75901, n); + h[o >> 3] = B; + h[o + 8 >> 3] = k; + fC(b, 75838, o); + h[p >> 3] = j + 8.0 + m - B; + h[p + 8 >> 3] = i; + fC(b, 75862, p); + $B(b, 75936) | 0; + $B(b, 75970) | 0; + g = c[u >> 2] | 0; + e = c[g + 8 >> 2] | 0; + if (e) { + c[r >> 2] = c[e + 4 >> 2]; + fC(b, 76060, r); + g = c[e + 8 >> 2] | 0; + if (g | 0) { + c[s >> 2] = g; + fC(b, 76079, s) + } + g = c[e + 12 >> 2] | 0; + if (g | 0) { + c[t >> 2] = g; + fC(b, 76096, t) + } + g = c[e + 16 >> 2] | 0; + if (g | 0) { + c[v >> 2] = g; + fC(b, 76114, v) + } + } else { + c[q >> 2] = c[g >> 2]; + fC(b, 76060, q) + } + h[w >> 3] = +h[(c[u >> 2] | 0) + 16 >> 3]; + fC(b, 76130, w); + g = x + 16 | 0; + switch (c[x + 48 >> 2] | 0) { + case 5: { + g = c[g >> 2] | 0; + if (O$(g, 134232) | 0) { + c[z >> 2] = g; + fC(b, 76150, z) + } + break + } + case 1: { + x = d[g + 1 >> 0] | 0; + z = d[g + 2 >> 0] | 0; + c[y >> 2] = d[g >> 0]; + c[y + 4 >> 2] = x; + c[y + 8 >> 2] = z; + fC(b, 76160, y); + break + } + default: + qa(135312, 75624, 438, 76181) + } + $B(b, 76194) | 0; + $B(b, Se(c[f >> 2] | 0) | 0) | 0; + $B(b, 76205) | 0; + $B(b, 76228) | 0; + l = A; + return + } + + function Ne(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0.0, m = 0.0; + e = l; + l = l + 32 | 0; + f = e + 16 | 0; + j = e; + $B(a, 75802) | 0; + m = +h[b >> 3]; + i = +h[b + 16 >> 3] - m; + k = +h[b + 24 >> 3]; + g = k - +h[b + 8 >> 3]; + k = +((c[45957] | 0) >>> 0) - k; + h[j >> 3] = m - i; + h[j + 8 >> 3] = k; + fC(a, 75838, j); + h[f >> 3] = i * 2.0; + h[f + 8 >> 3] = g * 2.0; + fC(a, 75862, f); + We(a, d); + $B(a, 75684) | 0; + Ue(a); + $B(a, 75890) | 0; + l = e; + return + } + + function Oe(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 48 | 0; + k = m + 24 | 0; + j = m + 8 | 0; + g = m; + $B(a, 75407) | 0; + n = c[45957] | 0; + c[g >> 2] = c[45956]; + c[g + 4 >> 2] = n; + fC(a, 75660, g); + We(a, e); + $B(a, 75684) | 0; + Ue(a); + $B(a, 75687) | 0; + g = d + -1 | 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + i = +h[b + (e << 4) >> 3]; + f = +((c[45957] | 0) >>> 0) - +h[b + (e << 4) + 8 >> 3]; + if (!e) { + $B(a, 75714) | 0; + h[j >> 3] = i; + h[j + 8 >> 3] = f; + fC(a, 75780, j); + $B(a, 75791) | 0 + } else { + h[k >> 3] = i; + h[k + 8 >> 3] = f; + fC(a, 75780, k) + } + if ((e | 0) == (g | 0)) $B(a, 75794) | 0; + e = e + 1 | 0 + } + $B(a, 75523) | 0; + l = m; + return + } + + function Pe(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; + f = l; + l = l + 16 | 0; + e = f; + $B(a, 75407) | 0; + h = c[45957] | 0; + c[e >> 2] = c[45956]; + c[e + 4 >> 2] = h; + fC(a, 75660, e); + We(a, g); + $B(a, 75684) | 0; + Ue(a); + $B(a, 75687) | 0; + Xe(a, b, d); + $B(a, 75700) | 0; + l = f; + return + } + + function Qe(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0.0; + k = l; + l = l + 48 | 0; + j = k + 24 | 0; + i = k + 8 | 0; + f = k; + $B(a, 75407) | 0; + g = c[45957] | 0; + c[f >> 2] = c[45956]; + c[f + 4 >> 2] = g; + fC(a, 75444, f); + $B(a, 75484) | 0; + f = d + -1 | 0; + g = b + 8 | 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + if (!e) { + $B(a, 75496) | 0; + m = +((c[45957] | 0) >>> 0) - +h[g >> 3]; + h[i >> 3] = +h[b >> 3]; + h[i + 8 >> 3] = m; + fC(a, 75500, i); + $B(a, 75511) | 0 + } else { + m = +((c[45957] | 0) >>> 0) - +h[b + (e << 4) + 8 >> 3]; + h[j >> 3] = +h[b + (e << 4) >> 3]; + h[j + 8 >> 3] = m; + fC(a, 75500, j) + } + if ((e | 0) == (f | 0)) $B(a, 75515) | 0; + e = e + 1 | 0 + } + $B(a, 75519) | 0; + Ue(a); + $B(a, 75523) | 0; + l = k; + return + } + + function Re(a, b) { + a = a | 0; + b = b | 0; + $B(a, 75342) | 0; + $B(a, Se(b) | 0) | 0; + $B(a, 75354) | 0; + return + } + + function Se(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0; + u = l; + l = l + 16 | 0; + e = u; + d = c[45954] | 0; + if (!d) { + c[45955] = 64; + d = vH(64) | 0; + c[45954] = d + } + s = e + 15 | 0; + r = e + 14 | 0; + g = 0; + q = 0; + o = 0; + e = 0; + f = 0; + a:while (1) { + n = (o | 0) != 0; + k = g; + p = b; + j = e; + b:while (1) { + if (!p) { + t = 32; + break a + } + e = a[p >> 0] | 0; + if (!(e << 24 >> 24)) { + t = 32; + break a + } + b = c[45955] | 0; + if ((q | 0) > (b + -8 | 0)) { + d = b << 1; + c[45955] = d; + d = xH(c[45954] | 0, d) | 0; + c[45954] = d; + d = d + q | 0; + e = a[p >> 0] | 0 + } + switch (e << 24 >> 24) { + case 60: { + e = 4; + b = 99127; + t = 26; + break b + } + case 62: { + e = 4; + b = 99110; + t = 27; + break b + } + case 38: { + t = 10; + break b + } + case 45: { + e = 5; + b = 99121; + i = j; + break b + } + default: { + } + } + if (n & e << 24 >> 24 == 32) { + t = 12; + break + } + switch (e << 24 >> 24) { + case 34: { + e = 6; + b = 99090; + t = 26; + break b + } + case 39: { + e = 5; + b = 99115; + t = 27; + break b + } + default: { + } + } + if (e << 24 >> 24 < 0) { + i = 127; + b = 0 + } else { + e = 1; + b = p; + t = 26; + break + } + while (1) { + g = i & 255; + h = e & 255; + if (g >>> 0 >= h >>> 0) break; + e = i & h & 255; + i = g >>> 1; + b = b + 1 | 0 + } + if ((b | 0) <= 1) { + g = A3(j | 0, f | 0, 6) | 0; + g = s3(g | 0, z | 0, e & 255 | 0, 0) | 0; + f = z; + m = k + -1 | 0; + if ((k | 0) > 1) { + b = m; + e = g + } else { + t = 21; + break + } + } else { + b = b + -1 | 0; + e = e & 255; + f = 0 + } + k = b; + p = p + 1 | 0; + j = e + } + if ((t | 0) == 10) { + t = 0; + b = (Te(p) | 0) == 0; + e = b ? 5 : 1; + b = b ? 99104 : p; + i = j + } else if ((t | 0) == 12) { + t = 0; + b = (a[o >> 0] | 0) == 32; + e = b ? 6 : 1; + b = b ? 99097 : p; + i = j + } else if ((t | 0) == 21) { + t = 0; + a[s >> 0] = 59; + e = 3; + h = r; + i = g; + j = f; + while (1) { + b = x3(i | 0, j | 0, 10, 0) | 0; + g = h + -1 | 0; + a[h >> 0] = b | 48; + b = i; + i = w3(i | 0, j | 0, 10, 0) | 0; + f = j; + j = z; + o = e; + e = e + 1 | 0; + if ((o | 0) > 11) { + t = 23; + break a + } + if (!(f >>> 0 > 0 | (f | 0) == 0 & b >>> 0 > 9)) break; else h = g + } + b = h + -2 | 0; + a[g >> 0] = 35; + a[b >> 0] = 38; + k = m; + f = j + } else if ((t | 0) == 26) { + t = 0; + i = j + } else if ((t | 0) == 27) { + t = 0; + i = j + } + h = d + e | 0; + g = e; + while (1) { + if (!g) break; + a[d >> 0] = a[b >> 0] | 0; + g = g + -1 | 0; + b = b + 1 | 0; + d = d + 1 | 0 + } + g = k; + b = p + 1 | 0; + q = e + q | 0; + o = p; + d = h; + e = i + } + if ((t | 0) == 23) { + E1(75360, 46, 1, c[15686] | 0) | 0; + Sa(1) + } else if ((t | 0) == 32) { + a[d >> 0] = 0; + l = u; + return c[45954] | 0 + } + return 0 + } + + function Te(b) { + b = b | 0; + var c = 0, d = 0; + d = b + 1 | 0; + c = a[d >> 0] | 0; + a:do if (c << 24 >> 24 == 35) { + d = b + 2 | 0; + c = a[d >> 0] | 0; + switch (c << 24 >> 24) { + case 88: + case 120: + break; + default: { + b = d; + while (1) { + d = b + 1 | 0; + if ((c + -48 & 255) >= 10) break a; + b = d; + c = a[d >> 0] | 0 + } + } + } + d = b + 3 | 0; + while (1) { + c = a[d >> 0] | 0; + if ((c + -48 & 255) >= 10) switch (c << 24 >> 24) { + case 65: + case 66: + case 67: + case 68: + case 69: + case 70: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + break; + default: + break a + } + d = d + 1 | 0 + } + } else while (1) { + b = d + 1 | 0; + if (((c & -33) + -65 & 255) >= 26) break a; + d = b; + c = a[b >> 0] | 0 + } while (0); + return c << 24 >> 24 == 59 | 0 + } + + function Ue(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 48 | 0; + d = k + 8 | 0; + j = k; + i = c[a + 16 >> 2] | 0; + $B(a, 75535) | 0; + e = d; + f = i + 16 | 0; + g = e + 40 | 0; + do { + c[e >> 2] = c[f >> 2]; + e = e + 4 | 0; + f = f + 4 | 0 + } while ((e | 0) < (g | 0)); + Ve(a, d); + b = +h[i + 152 >> 3]; + if (b != 1.0) { + h[j >> 3] = b; + fC(a, 75553, j) + } + switch (c[i + 144 >> 2] | 0) { + case 1: { + $B(a, 75570) | 0; + break + } + case 2: { + $B(a, 75588) | 0; + break + } + default: { + } + } + $B(a, 75605) | 0; + l = k; + return + } + + function Ve(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 16 | 0; + f = g; + a:do switch (c[e + 32 >> 2] | 0) { + case 5: { + $B(b, c[e >> 2] | 0) | 0; + break + } + case 1: + if (!(a[e + 3 >> 0] | 0)) { + $B(b, 132627) | 0; + break a + } else { + i = d[e + 1 >> 0] | 0; + h = d[e + 2 >> 0] | 0; + c[f >> 2] = d[e >> 0]; + c[f + 4 >> 2] = i; + c[f + 8 >> 2] = h; + fC(b, 75610, f); + break a + } + default: + qa(135312, 75624, 94, 75644) + } while (0); + l = g; + return + } + + function We(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 48 | 0; + f = g; + if (!b) $B(a, 75763) | 0; else { + d = c[a + 16 >> 2] | 0; + $B(a, 75733) | 0; + b = f; + d = d + 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)); + Ve(a, f); + $B(a, 75760) | 0 + } + l = g; + return + } + + function Xe(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0; + i = l; + l = l + 32 | 0; + g = i; + e = 75714; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + k = +h[b + (f << 4) >> 3]; + j = +((c[45957] | 0) >>> 0) - +h[b + (f << 4) + 8 >> 3]; + c[g >> 2] = e; + h[g + 8 >> 3] = k; + h[g + 16 >> 3] = j; + fC(a, 75717, g); + e = (f | 0) == 0 ? 75730 : 191979; + f = f + 1 | 0 + } + $B(a, 95669) | 0; + l = i; + return + } + + function Ye(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = l; + l = l + 16 | 0; + d = b + 8 | 0; + e = b; + $B(a, 80347) | 0; + $B(a, 80362) | 0; + $B(a, 80401) | 0; + $B(a, 80450) | 0; + c[e >> 2] = 134232; + c[e + 4 >> 2] = 80538; + fC(a, 80519, e); + c[d >> 2] = 134116; + c[d + 4 >> 2] = 80544; + fC(a, 80519, d); + l = b; + return + } + + function Ze(a) { + a = a | 0; + var b = 0, d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0; + b = l; + l = l + 64 | 0; + d = b + 8 | 0; + j = b; + c[j >> 2] = ry(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) | 0; + fC(a, 79300, j); + i = +h[a + 368 >> 3] * .5 * +h[a + 488 >> 3]; + g = +h[a + 376 >> 3] * .5 * +h[a + 496 >> 3]; + f = +J(+(i * 2.0000000949949026e-03)) * 180.0 * .6366197723675814; + e = +J(+(g * 2.0000000949949026e-03)) * 180.0 * .6366197723675814; + h[d >> 3] = i; + h[d + 8 >> 3] = g; + h[d + 16 >> 3] = -500.0; + h[d + 24 >> 3] = i; + h[d + 32 >> 3] = g; + h[d + 40 >> 3] = 0.0; + h[d + 48 >> 3] = (f > e ? f : e) * 1.2; + fC(a, 79322, d); + $B(a, 79469) | 0; + $B(a, 80299) | 0; + l = b; + return + } + + function _e(a) { + a = a | 0; + $B(a, 79283) | 0; + return + } + + function $e(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, h = 0; + f = l; + l = l + 16 | 0; + h = f; + c[h >> 2] = b; + c[h + 4 >> 2] = d; + c[h + 8 >> 2] = e; + fC(a, 79253, h); + g[45958] = +(O(d, -10) | 0); + l = f; + return + } + + function af(a) { + a = a | 0; + $B(a, 79236) | 0; + return + } + + function bf(a) { + a = a | 0; + $B(a, 79218) | 0; + return + } + + function cf(a) { + a = a | 0; + $B(a, 79202) | 0; + return + } + + function df(a) { + a = a | 0; + $B(a, 79181) | 0; + g[45958] = +g[45958] + -2.0; + return + } + + function ef(a) { + a = a | 0; + $B(a, 79162) | 0; + return + } + + function ff(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + c[d >> 2] = ry(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) | 0; + fC(a, 79140, d); + l = b; + return + } + + function gf(a) { + a = a | 0; + $B(a, 79124) | 0; + return + } + + function hf(a) { + a = a | 0; + $B(a, 79106) | 0; + g[45958] = +g[45958] + -5.0; + return + } + + function jf(a) { + a = a | 0; + $B(a, 79090) | 0; + g[45958] = +g[45958] + 5.0; + return + } + + function kf(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0.0, u = 0.0; + r = l; + l = l + 144 | 0; + o = r + 104 | 0; + q = r + 56 | 0; + m = r + 32 | 0; + j = r + 24 | 0; + n = r; + p = e + 4 | 0; + i = c[p >> 2] | 0; + f = +h[i + 16 >> 3]; + i = c[i >> 2] | 0; + c[n >> 2] = c[e >> 2]; + h[n + 8 >> 3] = f; + c[n + 16 >> 2] = i; + fC(b, 78936, n); + g[45959] = +g[45958] + -9.0; + switch (a[e + 48 >> 0] | 0) { + case 108: { + f = +h[d >> 3]; + break + } + case 114: { + i = d; + f = +h[d >> 3] - +h[e + 32 >> 3]; + k = 5; + break + } + default: { + i = d; + f = +h[d >> 3] - +h[e + 32 >> 3] * .5; + k = 5 + } + } + if ((k | 0) == 5) h[i >> 3] = f; + u = +h[b + 488 >> 3]; + t = (+h[b + 504 >> 3] + f) * u; + s = (+h[b + 512 >> 3] + +h[d + 8 >> 3]) * +h[b + 496 >> 3]; + h[j >> 3] = +h[(c[p >> 2] | 0) + 16 >> 3] * u; + n = qf(b, 78988, j) | 0; + f = +(c[b + 360 >> 2] | 0); + h[m >> 3] = 0.0; + h[m + 8 >> 3] = 0.0; + h[m + 16 >> 3] = f; + i = qf(b, 78205, m) | 0; + f = +g[45959]; + h[o >> 3] = t; + h[o + 8 >> 3] = s; + h[o + 16 >> 3] = f; + d = qf(b, 78237, o) | 0; + j = o; + k = (c[b + 16 >> 2] | 0) + 16 | 0; + m = j + 40 | 0; + do { + c[j >> 2] = c[k >> 2]; + j = j + 4 | 0; + k = k + 4 | 0 + } while ((j | 0) < (m | 0)); + o = rf(b, o, 0.0) | 0; + e = c[e >> 2] | 0; + c[q >> 2] = c[c[p >> 2] >> 2]; + h[q + 8 >> 3] = .25; + h[q + 16 >> 3] = 0.0; + c[q + 24 >> 2] = e; + c[q + 28 >> 2] = 79075; + c[q + 32 >> 2] = n; + c[q + 36 >> 2] = i; + c[q + 40 >> 2] = d; + c[q + 44 >> 2] = o; + q = qf(b, 79e3, q) | 0; + $B(b, q) | 0; + D_(q); + D_(i); + D_(o); + D_(d); + D_(n); + l = r; + return + } + + function lf(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0.0; + z = l; + l = l + 240 | 0; + x = z + 192 | 0; + y = z + 152 | 0; + t = z + 128 | 0; + r = z + 104 | 0; + o = z + 80 | 0; + n = z + 48 | 0; + e = z + 24 | 0; + m = z; + $B(a, 78813) | 0; + g[45959] = +g[45958] + -6.0; + i = +h[b >> 3]; + j = +h[a + 488 >> 3]; + p = (+h[a + 504 >> 3] + i) * j; + A = +h[b + 8 >> 3]; + k = +h[a + 496 >> 3]; + q = (+h[a + 512 >> 3] + A) * k; + j = (+h[b + 16 >> 3] - i) * j; + k = (+h[b + 24 >> 3] - A) * k; + s = a + 16 | 0; + A = k + j; + i = +h[(c[s >> 2] | 0) + 152 >> 3] / A * 2.5; + h[m >> 3] = j; + h[m + 8 >> 3] = A * .25; + h[m + 16 >> 3] = k; + b = qf(a, 78173, m) | 0; + m = a + 360 | 0; + A = +(c[m >> 2] | 0); + h[e >> 3] = 90.0; + h[e + 8 >> 3] = 0.0; + h[e + 16 >> 3] = A; + e = qf(a, 78205, e) | 0; + A = +g[45959]; + h[x >> 3] = p; + h[x + 8 >> 3] = q; + h[x + 16 >> 3] = A; + f = qf(a, 78237, x) | 0; + u = x; + v = (c[s >> 2] | 0) + 16 | 0; + w = u + 40 | 0; + do { + c[u >> 2] = c[v >> 2]; + u = u + 4 | 0; + v = v + 4 | 0 + } while ((u | 0) < (w | 0)); + v = rf(a, x, 0.0) | 0; + h[n >> 3] = 1.0; + h[n + 8 >> 3] = i; + c[n + 16 >> 2] = b; + c[n + 20 >> 2] = e; + c[n + 24 >> 2] = f; + c[n + 28 >> 2] = v; + w = qf(a, 78828, n) | 0; + $B(a, w) | 0; + D_(b); + D_(e); + D_(f); + D_(v); + D_(w); + if (d | 0) { + h[o >> 3] = j; + h[o + 8 >> 3] = k; + h[o + 16 >> 3] = 1.0; + f = qf(a, 78173, o) | 0; + A = +(c[m >> 2] | 0); + h[r >> 3] = 0.0; + h[r + 8 >> 3] = 0.0; + h[r + 16 >> 3] = A; + e = qf(a, 78205, r) | 0; + A = +g[45959]; + h[t >> 3] = p; + h[t + 8 >> 3] = q; + h[t + 16 >> 3] = A; + b = qf(a, 78237, t) | 0; + u = x; + v = (c[s >> 2] | 0) + 56 | 0; + w = u + 40 | 0; + do { + c[u >> 2] = c[v >> 2]; + u = u + 4 | 0; + v = v + 4 | 0 + } while ((u | 0) < (w | 0)); + x = rf(a, x, 0.0) | 0; + h[y >> 3] = 0.0; + h[y + 8 >> 3] = 0.0; + h[y + 16 >> 3] = 0.0; + c[y + 24 >> 2] = f; + c[y + 28 >> 2] = e; + c[y + 32 >> 2] = b; + c[y + 36 >> 2] = x; + y = qf(a, 78874, y) | 0; + $B(a, y) | 0; + D_(f); + D_(e); + D_(b); + D_(x); + D_(y) + } + l = z; + return + } + + function mf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, + K = 0, L = 0.0, M = 0, N = 0.0; + K = l; + l = l + 336 | 0; + B = K + 296 | 0; + J = K + 288 | 0; + I = K + 272 | 0; + H = K + 264 | 0; + G = K + 240 | 0; + D = K + 232 | 0; + A = K + 208 | 0; + z = K + 184 | 0; + w = K + 160 | 0; + v = K + 152 | 0; + u = K + 136 | 0; + t = K + 128 | 0; + s = K + 96 | 0; + r = K + 88 | 0; + q = K + 56 | 0; + f = K + 48 | 0; + m = K + 24 | 0; + k = K; + $B(a, 78678) | 0; + g[45959] = +g[45958] + -2.0; + o = a + 488 | 0; + p = a + 496 | 0; + L = +h[p >> 3]; + h[k >> 3] = +h[o >> 3]; + h[k + 8 >> 3] = L; + h[k + 16 >> 3] = 1.0; + k = qf(a, 78173, k) | 0; + y = a + 360 | 0; + L = +(c[y >> 2] | 0); + h[m >> 3] = 0.0; + h[m + 8 >> 3] = 0.0; + h[m + 16 >> 3] = L; + m = qf(a, 78205, m) | 0; + L = +g[45959] + -2.0; + h[B >> 3] = 0.0; + h[B + 8 >> 3] = 0.0; + h[B + 16 >> 3] = L; + n = qf(a, 78237, B) | 0; + C = a + 16 | 0; + i = B; + j = (c[C >> 2] | 0) + 16 | 0; + x = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (x | 0)); + j = rf(a, B, 0.0) | 0; + c[f >> 2] = 78300; + c[f + 4 >> 2] = d + 1; + E = a + 504 | 0; + F = a + 512 | 0; + i = 0; + f = qf(a, 78269, f) | 0; + while (1) { + if ((i | 0) >= (d | 0)) break; + N = +h[F >> 3] + +h[b + (i << 4) + 8 >> 3]; + L = +h[(c[C >> 2] | 0) + 152 >> 3]; + h[q >> 3] = +h[E >> 3] + +h[b + (i << 4) >> 3]; + h[q + 8 >> 3] = N; + h[q + 16 >> 3] = 0.0; + h[q + 24 >> 3] = L; + M = qf(a, 78314, q) | 0; + c[r >> 2] = f; + c[r + 4 >> 2] = M; + x = qf(a, 78343, r) | 0; + D_(M); + D_(f); + i = i + 1 | 0; + f = x + } + L = +h[F >> 3] + +h[b + 8 >> 3]; + N = +h[(c[C >> 2] | 0) + 152 >> 3]; + h[s >> 3] = +h[E >> 3] + +h[b >> 3]; + h[s + 8 >> 3] = L; + h[s + 16 >> 3] = 0.0; + h[s + 24 >> 3] = N; + x = qf(a, 78314, s) | 0; + c[t >> 2] = f; + c[t + 4 >> 2] = x; + M = qf(a, 78343, t) | 0; + D_(x); + D_(f); + c[u >> 2] = k; + c[u + 4 >> 2] = m; + c[u + 8 >> 2] = n; + c[u + 12 >> 2] = j; + x = qf(a, 78693, u) | 0; + c[v >> 2] = M; + c[v + 4 >> 2] = x; + M = qf(a, 78398, v) | 0; + D_(x); + $B(a, M) | 0; + D_(k); + D_(m); + D_(n); + D_(j); + D_(M); + if (e | 0) { + N = +h[p >> 3]; + h[w >> 3] = +h[o >> 3]; + h[w + 8 >> 3] = N; + h[w + 16 >> 3] = 1.0; + n = qf(a, 78173, w) | 0; + N = +(c[y >> 2] | 0); + h[z >> 3] = 0.0; + h[z + 8 >> 3] = 0.0; + h[z + 16 >> 3] = N; + m = qf(a, 78205, z) | 0; + N = +g[45959] + -2.0; + h[A >> 3] = 0.0; + h[A + 8 >> 3] = 0.0; + h[A + 16 >> 3] = N; + k = qf(a, 78237, A) | 0; + i = B; + j = (c[C >> 2] | 0) + 56 | 0; + x = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (x | 0)); + j = rf(a, B, .25) | 0; + c[D >> 2] = d; + i = 0; + f = qf(a, 78738, D) | 0; + while (1) { + if ((i | 0) >= (d | 0)) break; + N = +h[F >> 3] + +h[b + (i << 4) + 8 >> 3]; + h[G >> 3] = +h[E >> 3] + +h[b + (i << 4) >> 3]; + h[G + 8 >> 3] = N; + h[G + 16 >> 3] = 0.0; + D = qf(a, 78753, G) | 0; + c[H >> 2] = f; + c[H + 4 >> 2] = D; + M = qf(a, 78775, H) | 0; + D_(D); + D_(f); + i = i + 1 | 0; + f = M + } + c[I >> 2] = n; + c[I + 4 >> 2] = m; + c[I + 8 >> 2] = k; + c[I + 12 >> 2] = j; + I = qf(a, 78785, I) | 0; + c[J >> 2] = f; + c[J + 4 >> 2] = I; + M = qf(a, 78398, J) | 0; + D_(I); + $B(a, M) | 0; + D_(n); + D_(m); + D_(k); + D_(j); + D_(M) + } + l = K; + return + } + + function nf(a, b, d, e, f, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0.0; + B = l; + l = l + 208 | 0; + e = B + 160 | 0; + A = B + 152 | 0; + z = B + 136 | 0; + y = B + 128 | 0; + x = B + 96 | 0; + w = B + 88 | 0; + v = B + 56 | 0; + k = B + 48 | 0; + s = B + 24 | 0; + r = B; + $B(a, 78605) | 0; + g[45959] = +g[45958] + -4.0; + C = +h[a + 496 >> 3]; + h[r >> 3] = +h[a + 488 >> 3]; + h[r + 8 >> 3] = C; + h[r + 16 >> 3] = 1.0; + r = qf(a, 78173, r) | 0; + C = +(c[a + 360 >> 2] | 0); + h[s >> 3] = 0.0; + h[s + 8 >> 3] = 0.0; + h[s + 16 >> 3] = C; + s = qf(a, 78205, s) | 0; + C = +g[45959] + -2.0; + h[e >> 3] = 0.0; + h[e + 8 >> 3] = 0.0; + h[e + 16 >> 3] = C; + t = qf(a, 78237, e) | 0; + u = a + 16 | 0; + f = e; + i = (c[u >> 2] | 0) + 56 | 0; + j = f + 40 | 0; + do { + c[f >> 2] = c[i >> 2]; + f = f + 4 | 0; + i = i + 4 | 0 + } while ((f | 0) < (j | 0)); + n = rf(a, e, 0.0) | 0; + c[k >> 2] = 78619; + c[k + 4 >> 2] = d + 2; + o = a + 504 | 0; + p = a + 512 | 0; + q = d + -1 | 0; + m = 0; + e = qf(a, 78269, k) | 0; + while (1) { + if ((m | 0) >= (d | 0)) break; + f = b + (m << 4) | 0; + i = b + (m << 4) + 8 | 0; + D = +h[p >> 3] + +h[i >> 3]; + C = +h[(c[u >> 2] | 0) + 152 >> 3]; + h[v >> 3] = +h[o >> 3] + +h[f >> 3]; + h[v + 8 >> 3] = D; + h[v + 16 >> 3] = 0.0; + h[v + 24 >> 3] = C; + k = qf(a, 78314, v) | 0; + c[w >> 2] = e; + c[w + 4 >> 2] = k; + j = qf(a, 78343, w) | 0; + D_(k); + D_(e); + if ((m | 0) == 0 | (m | 0) == (q | 0)) { + C = +h[p >> 3] + +h[i >> 3]; + D = +h[(c[u >> 2] | 0) + 152 >> 3]; + h[x >> 3] = +h[o >> 3] + +h[f >> 3]; + h[x + 8 >> 3] = C; + h[x + 16 >> 3] = 0.0; + h[x + 24 >> 3] = D; + k = qf(a, 78314, x) | 0; + c[y >> 2] = j; + c[y + 4 >> 2] = k; + e = qf(a, 78343, y) | 0; + D_(k); + D_(j) + } else e = j; + m = m + 1 | 0 + } + c[z >> 2] = r; + c[z + 4 >> 2] = s; + c[z + 8 >> 2] = t; + c[z + 12 >> 2] = n; + b = qf(a, 78628, z) | 0; + c[A >> 2] = e; + c[A + 4 >> 2] = b; + d = qf(a, 78398, A) | 0; + D_(b); + $B(a, d) | 0; + D_(r); + D_(s); + D_(t); + D_(n); + D_(d); + l = B; + return + } + + function of(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0.0, x = 0, y = 0.0; + v = l; + l = l + 160 | 0; + e = v + 120 | 0; + u = v + 112 | 0; + t = v + 96 | 0; + s = v + 88 | 0; + r = v + 56 | 0; + m = v + 48 | 0; + n = v + 24 | 0; + q = v; + $B(a, 78157) | 0; + g[45959] = +g[45958] + -6.0; + w = +h[a + 496 >> 3]; + h[q >> 3] = +h[a + 488 >> 3]; + h[q + 8 >> 3] = w; + h[q + 16 >> 3] = 1.0; + q = qf(a, 78173, q) | 0; + w = +(c[a + 360 >> 2] | 0); + h[n >> 3] = 0.0; + h[n + 8 >> 3] = 0.0; + h[n + 16 >> 3] = w; + n = qf(a, 78205, n) | 0; + w = +g[45959]; + h[e >> 3] = 0.0; + h[e + 8 >> 3] = 0.0; + h[e + 16 >> 3] = w; + o = qf(a, 78237, e) | 0; + p = a + 16 | 0; + f = e; + i = (c[p >> 2] | 0) + 16 | 0; + j = f + 40 | 0; + do { + c[f >> 2] = c[i >> 2]; + f = f + 4 | 0; + i = i + 4 | 0 + } while ((f | 0) < (j | 0)); + i = rf(a, e, 0.0) | 0; + c[m >> 2] = 78300; + c[m + 4 >> 2] = d; + j = a + 504 | 0; + k = a + 512 | 0; + f = 0; + e = qf(a, 78269, m) | 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + y = +h[k >> 3] + +h[b + (f << 4) + 8 >> 3]; + w = +h[(c[p >> 2] | 0) + 152 >> 3]; + h[r >> 3] = +h[j >> 3] + +h[b + (f << 4) >> 3]; + h[r + 8 >> 3] = y; + h[r + 16 >> 3] = 0.0; + h[r + 24 >> 3] = w; + x = qf(a, 78314, r) | 0; + c[s >> 2] = e; + c[s + 4 >> 2] = x; + m = qf(a, 78343, s) | 0; + D_(x); + D_(e); + f = f + 1 | 0; + e = m + } + c[t >> 2] = q; + c[t + 4 >> 2] = n; + c[t + 8 >> 2] = o; + c[t + 12 >> 2] = i; + t = qf(a, 78352, t) | 0; + c[u >> 2] = e; + c[u + 4 >> 2] = t; + x = qf(a, 78398, u) | 0; + D_(t); + $B(a, x) | 0; + D_(q); + D_(n); + D_(o); + D_(i); + D_(x); + l = v; + return + } + + function pf(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = b; + fC(a, 78138, e); + l = d; + return + } + + function qf(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 1056 | 0; + h = i; + e = i + 24 | 0; + f = i + 8 | 0; + c[f >> 2] = d; + g = q0(e, 1024, b, f) | 0; + do if ((g | 0) >= 0) if ((g | 0) > 1023) { + a = C_(g + 1 | 0) | 0; + c[f >> 2] = d; + Z0(a, b, f) | 0; + break + } else { + a = n1(e) | 0; + break + } else { + a = c[(c[a + 12 >> 2] | 0) + 16 >> 2] | 0; + c[h >> 2] = c$(c[(O_() | 0) >> 2] | 0) | 0; + ub[a & 63](78583, h); + a = n1(191979) | 0 + } while (0); + l = i; + return a | 0 + } + + function rf(a, b, e) { + a = a | 0; + b = b | 0; + e = +e; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0.0; + q = l; + l = l + 112 | 0; + o = q + 104 | 0; + j = q + 96 | 0; + i = q + 64 | 0; + n = q + 48 | 0; + p = q + 32 | 0; + m = q + 16 | 0; + k = q; + g = c[b + 32 >> 2] | 0; + a:do switch (g | 0) { + case 5: { + f = c[b >> 2] | 0; + if (!(b$(f, 133220) | 0)) { + c[k >> 2] = 78420; + h[k + 8 >> 3] = e; + f = qf(a, 78403, k) | 0; + break a + } + if (!(b$(f, 130350) | 0)) { + c[m >> 2] = 78424; + h[m + 8 >> 3] = e; + f = qf(a, 78403, m) | 0; + break a + } + if (!(b$(f, 128349) | 0)) { + c[p >> 2] = 78430; + h[p + 8 >> 3] = e; + f = qf(a, 78403, p) | 0; + break a + } else { + c[n >> 2] = f; + h[n + 8 >> 3] = e; + f = qf(a, 78403, n) | 0; + break a + } + } + case 1: { + s = +(d[b + 1 >> 0] | 0) * .00390625; + r = +(d[b + 2 >> 0] | 0) * .00390625; + h[i >> 3] = +(d[b >> 0] | 0) * .00390625; + h[i + 8 >> 3] = s; + h[i + 16 >> 3] = r; + h[i + 24 >> 3] = e; + f = qf(a, 78435, i) | 0; + break + } + default: { + p = c[15686] | 0; + n = c[b >> 2] | 0; + c[j >> 2] = g; + c[j + 4 >> 2] = n; + g1(p, 78474, j) | 0; + qa(135312, 78524, 436, 78544) + } + } while (0); + c[o >> 2] = f; + p = qf(a, 78561, o) | 0; + D_(f); + l = q; + return p | 0 + } + + function sf(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + b = l; + l = l + 32 | 0; + d = b + 24 | 0; + e = b + 16 | 0; + g = b; + f = c[a + 16 >> 2] | 0; + h = c[c[a + 12 >> 2] >> 2] | 0; + j = c[h >> 2] | 0; + i = c[h + 4 >> 2] | 0; + h = c[h + 8 >> 2] | 0; + c[g >> 2] = 80990; + c[g + 4 >> 2] = j; + c[g + 8 >> 2] = i; + c[g + 12 >> 2] = h; + fC(a, 83609, g); + f = ry(c[f + 8 >> 2] | 0) | 0; + c[e >> 2] = 80990; + c[e + 4 >> 2] = f; + fC(a, 83641, e); + c[d >> 2] = 80990; + fC(a, 83655, d); + l = b; + return + } + + function tf(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + c[d >> 2] = 80990; + fC(a, 83557, d); + l = b; + return + } + + function uf(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, E = 0, F = 0, + G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, + U = 0, V = 0, W = 0; + W = l; + l = l + 304 | 0; + V = W + 296 | 0; + U = W + 288 | 0; + T = W + 272 | 0; + R = W + 264 | 0; + Q = W + 256 | 0; + P = W + 248 | 0; + O = W + 240 | 0; + N = W + 232 | 0; + M = W + 224 | 0; + L = W + 216 | 0; + K = W + 208 | 0; + J = W + 200 | 0; + I = W + 192 | 0; + H = W + 184 | 0; + G = W + 176 | 0; + F = W + 168 | 0; + E = W + 160 | 0; + C = W + 152 | 0; + A = W + 144 | 0; + z = W + 136 | 0; + y = W + 128 | 0; + x = W + 120 | 0; + w = W + 112 | 0; + v = W + 104 | 0; + u = W + 96 | 0; + t = W + 88 | 0; + s = W + 80 | 0; + r = W + 72 | 0; + q = W + 64 | 0; + p = W + 56 | 0; + o = W + 48 | 0; + S = W + 40 | 0; + B = W + 24 | 0; + n = W + 16 | 0; + m = W; + g = c[a + 456 >> 2] | 0; + i = c[a + 460 >> 2] | 0; + j = c[a + 464 >> 2] | 0; + k = c[a + 468 >> 2] | 0; + f = a + 360 | 0; + a:do if (c[4025] | 0) { + switch (c[f >> 2] | 0) { + case 90: + case 0: + break a; + default: { + } + } + Gf(); + c[4025] = 0 + } while (0); + e = (+(k | 0) - +(i | 0)) * .013888888888888888; + b = (+(j | 0) - +(g | 0)) * .013888888888888888; + k = (c[f >> 2] | 0) == 90; + d = k ? e : b; + e = k ? b : e; + h[m >> 3] = d; + h[m + 8 >> 3] = e; + fC(a, 81177, m); + c[n >> 2] = 80990; + fC(a, 81192, n); + if (d > 0.0) { + b = +j$(d); + h[18829] = b; + b = b + 3.0 - +(~~b | 0) + } else b = 3.0; + b = +D(10.0, +b); + h[18829] = b; + h[B >> 3] = b; + h[B + 8 >> 3] = b; + fC(a, 81361, B); + c[S >> 2] = 80990; + fC(a, 81396, S); + c[o >> 2] = 80990; + fC(a, 81454, o); + c[p >> 2] = 80990; + fC(a, 81514, p); + c[q >> 2] = 80990; + fC(a, 81563, q); + c[r >> 2] = 80990; + fC(a, 81602, r); + c[s >> 2] = 80990; + fC(a, 81653, s); + c[t >> 2] = 80990; + fC(a, 81715, t); + c[u >> 2] = 80990; + fC(a, 81825, u); + c[v >> 2] = 80990; + fC(a, 81916, v); + c[w >> 2] = 80990; + fC(a, 81970, w); + c[x >> 2] = 80990; + fC(a, 82039, x); + fC(a, 82075, y); + c[z >> 2] = 80990; + fC(a, 82200, z); + c[A >> 2] = 80990; + fC(a, 82229, A); + fC(a, 82269, C); + c[E >> 2] = 80990; + fC(a, 82362, E); + c[F >> 2] = 80990; + fC(a, 82421, F); + c[G >> 2] = 80990; + fC(a, 82502, G); + fC(a, 82572, H); + c[I >> 2] = 80990; + fC(a, 82661, I); + c[J >> 2] = 80990; + fC(a, 82766, J); + c[K >> 2] = 80990; + fC(a, 82842, K); + c[L >> 2] = 80990; + fC(a, 82881, L); + c[M >> 2] = 80990; + fC(a, 82980, M); + c[N >> 2] = 80990; + fC(a, 83026, N); + fC(a, 83115, O); + c[P >> 2] = 80990; + fC(a, 83156, P); + c[Q >> 2] = 80990; + fC(a, 83239, Q); + c[R >> 2] = 80990; + fC(a, 83340, R); + h[T >> 3] = e; + h[T + 8 >> 3] = d; + fC(a, 83404, T); + fC(a, 83432, U); + fC(a, 83440, V); + l = W; + return + } + + function vf(a) { + a = a | 0; + var b = 0; + b = l; + l = l + 16 | 0; + fC(a, 81170, b); + l = b; + return + } + + function wf(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0.0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 48 | 0; + q = r + 24 | 0; + p = r + 8 | 0; + o = r; + switch (a[e + 48 >> 0] | 0) { + case 108: { + k = d; + i = +h[e + 32 >> 3]; + j = +h[d >> 3]; + break + } + case 114: { + i = +h[e + 32 >> 3]; + g = i; + f = 5; + break + } + default: { + i = +h[e + 32 >> 3]; + g = i * .5; + f = 5 + } + } + if ((f | 0) == 5) { + j = +h[d >> 3] - g; + h[d >> 3] = j; + k = d + } + m = e + 4 | 0; + f = c[m >> 2] | 0; + g = +h[f + 16 >> 3]; + d = d + 8 | 0; + n = +h[d >> 3] + g * .004629629629629629; + h[d >> 3] = n; + i = j + i * .006944444444444444; + h[k >> 3] = i; + f = c[f >> 2] | 0; + do if (f) { + d = c[45960] | 0; + if (d | 0 ? (b$(d, f) | 0) == 0 : 0) break; + c[o >> 2] = Ef(f) | 0; + fC(b, 81069, o); + o = c[m >> 2] | 0; + c[45960] = c[o >> 2]; + g = +h[o + 16 >> 3] + } while (0); + f = ~~g; + f = (f | 0) > 1 ? f : 1; + if ((f | 0) != (c[45961] | 0)) { + j = +h[18829]; + c[p >> 2] = f; + h[p + 8 >> 3] = j; + fC(b, 81077, p); + c[45961] = f + } + c[q >> 2] = Ff(c[e >> 2] | 0) | 0; + h[q + 8 >> 3] = i; + h[q + 16 >> 3] = n; + fC(b, 81098, q); + l = r; + return + } + + function xf(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0; + e = l; + l = l + 48 | 0; + f = e; + i = +h[b >> 3]; + k = (+h[b + 16 >> 3] - i) * .027777777777777776; + g = +h[b + 8 >> 3]; + j = (+h[b + 24 >> 3] - g) * .027777777777777776; + c[f >> 2] = 1; + c[f + 4 >> 2] = d | 0 ? 81011 : 191979; + h[f + 8 >> 3] = k; + h[f + 16 >> 3] = j; + h[f + 24 >> 3] = i * .013888888888888888; + h[f + 32 >> 3] = g * .013888888888888888; + fC(a, 81017, f); + l = e; + return + } + + function yf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + e = l; + l = l + 16 | 0; + Cf(c[a + 16 >> 2] | 0, e + 8 | 0, e); + Df(a, b, d, 1); + l = e; + return + } + + function zf(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0.0, v = 0.0, + w = 0; + t = l; + l = l + 128 | 0; + s = t + 112 | 0; + q = t + 104 | 0; + p = t + 96 | 0; + e = t + 88 | 0; + n = t + 16 | 0; + o = t; + k = c[a + 16 >> 2] | 0; + j = C_((d * 140 | 0) + 140 | 0) | 0; + Cf(k, t + 116 | 0, t + 80 | 0); + v = +h[b >> 3]; + k = n + 48 | 0; + h[k >> 3] = v; + u = +h[b + 8 >> 3]; + h[n + 56 >> 3] = u; + c[e >> 2] = ~~(v + (v >= 0.0 ? .5 : -.5)); + c[e + 4 >> 2] = ~~(u + (u >= 0.0 ? .5 : -.5)); + i = o + 8 | 0; + e = j + (Y0(j, 80995, e) | 0) | 0; + r = 1; + g = 0; + while (1) { + m = g + 3 | 0; + if ((m | 0) >= (d | 0)) break; + c[n >> 2] = c[k >> 2]; + c[n + 4 >> 2] = c[k + 4 >> 2]; + c[n + 8 >> 2] = c[k + 8 >> 2]; + c[n + 12 >> 2] = c[k + 12 >> 2]; + f = 1; + while (1) { + if ((f | 0) == 4) { + f = 1; + break + } + w = f + g | 0; + h[n + (f << 4) >> 3] = +h[b + (w << 4) >> 3]; + h[n + (f << 4) + 8 >> 3] = +h[b + (w << 4) + 8 >> 3]; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) == 7) break; + XL(o, n, 3, +(f | 0) * .16666666666666666, 0, 0); + u = +h[o >> 3]; + v = +h[i >> 3]; + c[p >> 2] = ~~(u + (u >= 0.0 ? .5 : -.5)); + c[p + 4 >> 2] = ~~(v + (v >= 0.0 ? .5 : -.5)); + f = f + 1 | 0; + e = e + (Y0(e, 80995, p) | 0) | 0 + } + r = r + 6 | 0; + g = m + } + c[q >> 2] = j; + fC(a, 81002, q); + D_(j); + f = r + -1 | 0; + e = 0; + while (1) { + if ((e | 0) >= (r | 0)) break; + c[s >> 2] = ((e | 0) % (f | 0) | 0 | 0) != 0 & 1; + fC(a, 81007, s); + e = e + 1 | 0 + } + $B(a, 150517) | 0; + l = t; + return + } + + function Af(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = l; + l = l + 16 | 0; + Cf(c[a + 16 >> 2] | 0, e + 8 | 0, e); + Df(a, b, d, 0); + l = e; + return + } + + function Bf(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = 80990; + c[e + 4 >> 2] = b; + fC(a, 80983, e); + l = d; + return + } + + function Cf(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0; + switch (c[a + 144 >> 2] | 0) { + case 1: { + e = 10.0; + a = 1; + break + } + case 2: { + e = 10.0; + a = 2; + break + } + default: { + e = 0.0; + a = 0 + } + } + c[b >> 2] = a; + h[d >> 3] = e; + return + } + + function Df(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0; + j = l; + l = l + 16 | 0; + i = j + 8 | 0; + g = j; + f = 0; + while (1) { + if ((f | 0) >= (d | 0)) break; + m = +h[b + (f << 4) >> 3]; + k = +h[b + (f << 4) + 8 >> 3]; + c[g >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[g + 4 >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + fC(a, 80995, g); + f = f + 1 | 0 + } + if (e | 0) { + k = +h[b >> 3]; + m = +h[b + 8 >> 3]; + c[i >> 2] = ~~(k + (k >= 0.0 ? .5 : -.5)); + c[i + 4 >> 2] = ~~(m + (m >= 0.0 ? .5 : -.5)); + fC(a, 80995, i) + } + $B(a, 150517) | 0; + l = j; + return + } + + function Ef(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + a:while (1) { + d = 15828; + while (1) { + e = c[d + 4 >> 2] | 0; + if (!e) break; + if (!(b$(e, b) | 0)) { + g = 6; + break a + } + d = d + 8 | 0 + } + c[f >> 2] = 81151; + c[f + 4 >> 2] = b; + Pw(1, 81125, f) | 0; + d = o1(b, 45) | 0; + if (!d) { + d = 81168; + break + } + a[d >> 0] = 0 + } + l = h; + return d | 0 + } + + function Ff(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + h = i; + d = c[45962] | 0; + if (!d) { + c[45963] = 64; + d = C_(64) | 0; + c[45962] = d; + e = 0 + } else e = 0; + while (1) { + g = b + 1 | 0; + f = a[b >> 0] | 0; + if (!(f << 24 >> 24)) break; + b = c[45963] | 0; + if ((e | 0) > (b + -8 | 0)) { + d = b << 1; + c[45963] = d; + d = F_(c[45962] | 0, d) | 0; + c[45962] = d; + d = d + e | 0 + } + if (f << 24 >> 24 <= -1) { + a[d >> 0] = 92; + c[h >> 2] = f & 255; + Y0(d + 1 | 0, 81120, h) | 0; + b = g; + d = d + 4 | 0; + e = e + 4 | 0; + continue + } + if (f << 24 >> 24 == 92) { + a[d >> 0] = 92; + e = e + 1 | 0; + d = d + 1 | 0 + } + a[d >> 0] = f; + b = g; + d = d + 1 | 0; + e = e + 1 | 0 + } + a[d >> 0] = 0; + l = i; + return c[45962] | 0 + } + + function Gf() { + var a = 0, b = 0; + a = l; + l = l + 16 | 0; + b = a; + c[b >> 2] = 81151; + c[b + 4 >> 2] = 83548; + Pw(0, 83530, b) | 0; + l = a; + return + } + + function Hf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0; + e = l; + l = l + 32 | 0; + f = e + 8 | 0; + j = e; + b = b + 8 | 0; + k = c[b >> 2] | 0; + c[j >> 2] = k; + c[j + 4 >> 2] = k; + fC(a, 84128, j); + i = (+h[d >> 3] + +h[d + 16 >> 3]) * .5; + g = (+h[d + 8 >> 3] + +h[d + 24 >> 3]) * .5; + c[f >> 2] = c[b >> 2]; + h[f + 8 >> 3] = i; + h[f + 16 >> 3] = g; + fC(a, 84170, f); + l = e; + return + } + + function If(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0; + e = l; + l = l + 48 | 0; + f = e; + i = +h[d >> 3]; + k = +h[d + 16 >> 3] - i; + g = +h[d + 24 >> 3]; + j = g - +h[d + 8 >> 3]; + g = +(~~(+h[a + 232 >> 3] - +h[a + 216 >> 3]) >>> 0) - g; + c[f >> 2] = c[b + 8 >> 2]; + h[f + 8 >> 3] = k; + h[f + 16 >> 3] = j; + h[f + 24 >> 3] = i; + h[f + 32 >> 3] = g; + fC(a, 84215, f); + $B(a, 84307) | 0; + l = e; + return + } + + function Jf(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return + } + + function Kf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0.0; + t = l; + l = l + 160 | 0; + s = t + 152 | 0; + r = t + 136 | 0; + q = t + 120 | 0; + k = t + 112 | 0; + n = t + 104 | 0; + m = t + 88 | 0; + j = t + 72 | 0; + i = t + 64 | 0; + o = t; + if (!a) qa(108200, 84312, 212, 84331); + if (!b) qa(108230, 84312, 213, 84331); + p = b + 8 | 0; + if (!(c[p >> 2] | 0)) qa(108233, 84312, 214, 84331); + if (c[b + 52 >> 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]; + b = o + 32 | 0; + d = d + 16 | 0; + c[b >> 2] = c[d >> 2]; + c[b + 4 >> 2] = c[d + 4 >> 2]; + c[b + 8 >> 2] = c[d + 8 >> 2]; + c[b + 12 >> 2] = c[d + 12 >> 2]; + f = +h[o >> 3]; + h[o + 16 >> 3] = f; + h[o + 24 >> 3] = +h[o + 40 >> 3]; + h[o + 48 >> 3] = +h[b >> 3]; + g = +h[o + 8 >> 3]; + h[o + 56 >> 3] = g; + if (e << 24 >> 24) { + fC(a, 84352, i); + b = 0; + while (1) { + if ((b | 0) == 4) break; + u = +h[o + (b << 4) + 8 >> 3]; + h[j >> 3] = +h[o + (b << 4) >> 3]; + h[j + 8 >> 3] = u; + fC(a, 84355, j); + b = b + 1 | 0 + } + h[m >> 3] = f; + h[m + 8 >> 3] = g; + fC(a, 84355, m); + m = c[p >> 2] | 0; + c[n >> 2] = 4; + c[n + 4 >> 2] = m; + fC(a, 84362, n) + } + fC(a, 84352, k); + b = 0; + while (1) { + if ((b | 0) == 4) break; + u = +h[o + (b << 4) + 8 >> 3]; + h[q >> 3] = +h[o + (b << 4) >> 3]; + h[q + 8 >> 3] = u; + fC(a, 84355, q); + b = b + 1 | 0 + } + h[r >> 3] = f; + h[r + 8 >> 3] = g; + fC(a, 84355, r); + r = c[p >> 2] | 0; + c[s >> 2] = 4; + c[s + 4 >> 2] = r; + fC(a, 84377, s) + } + l = t; + return + } + + function Lf(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + o = l; + l = l + 112 | 0; + n = o + 24 | 0; + m = o + 16 | 0; + k = o; + i = o + 28 | 0; + if (!b) qa(108200, 84312, 153, 84393); + if (!d) qa(108230, 84312, 154, 84393); + if (!(c[d + 8 >> 2] | 0)) qa(108233, 84312, 155, 84393); + j = d + 52 | 0; + if (c[j >> 2] | 0) { + f = d + 60 | 0; + g = c[f >> 2] | 0; + if ((g | 0) == 98) g = 18; else { + tb[g & 127](d); + c[j >> 2] = 0; + c[f >> 2] = 0; + c[d + 56 >> 2] = 0; + g = 10 + } + } else g = 10; + do if ((g | 0) == 10) { + if (!((zC(d) | 0) << 24 >> 24)) break; + f = j3(c[d + 20 >> 2] | 0) | 0; + if ((c[d + 24 >> 2] & -2 | 0) == 6) { + J1(f, i) | 0; + i = c[i + 36 >> 2] | 0; + c[d + 56 >> 2] = i; + f = U_(0, i, 1, 1, f, 0) | 0; + c[j >> 2] = f; + a[d + 16 >> 0] = 1 + } else f = c[j >> 2] | 0; + if (f | 0) c[d + 60 >> 2] = 98; + AC(d); + if (c[j >> 2] | 0) g = 18 + } while (0); + if ((g | 0) == 18) { + p = +h[e + 8 >> 3] - +(c[d + 36 >> 2] | 0); + h[k >> 3] = +h[e >> 3] - +(c[d + 32 >> 2] | 0); + h[k + 8 >> 3] = p; + fC(b, 84411, k); + if (!(a[d + 16 >> 0] | 0)) { + c[m >> 2] = c[d + 12 >> 2]; + fC(b, 84442, m) + } else kJ(b, d); + fC(b, 84457, n) + } + l = o; + return + } + + function Mf(a) { + a = a | 0; + S_(c[a + 52 >> 2] | 0, c[a + 56 >> 2] | 0) | 0; + return + } + + function Nf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 80 | 0; + f = g + 48 | 0; + if (!a) qa(108200, 84312, 121, 84467); + e = c[a + 16 >> 2] | 0; + if (!e) qa(96876, 84312, 123, 84467); + if (!b) qa(108230, 84312, 124, 84467); + d = b + 8 | 0; + if (!(c[d >> 2] | 0)) qa(108233, 84312, 125, 84467); + if (!(c[e + 8 >> 2] | 0)) qa(135797, 84312, 128, 84467); else { + fC(a, 84487, g); + fC(a, 84496, g + 8 | 0); + fC(a, 84523, g + 16 | 0); + fC(a, 84548, g + 24 | 0); + fC(a, 84577, g + 32 | 0); + fC(a, 84605, g + 40 | 0); + c[f >> 2] = c[d >> 2]; + fC(a, 84612, f); + fC(a, 84651, g + 56 | 0); + fC(a, 107982, g + 64 | 0); + l = g; + return + } + } + + function Of(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0.0; + i = l; + l = l + 128 | 0; + g = i + 80 | 0; + f = i; + if (!a) qa(108200, 84312, 97, 84656); + if (!b) qa(108230, 84312, 98, 84656); + e = c[b + 8 >> 2] | 0; + if (!e) qa(108233, 84312, 99, 84656); else { + m = +h[d >> 3]; + j = ~~(m + (m >= 0.0 ? .5 : -.5)); + m = +h[d + 8 >> 3]; + b = ~~(m + (m >= 0.0 ? .5 : -.5)); + m = +h[d + 16 >> 3]; + k = ~~(m + (m >= 0.0 ? .5 : -.5)); + m = +h[d + 24 >> 3]; + d = ~~(m + (m >= 0.0 ? .5 : -.5)); + c[f >> 2] = 2; + c[f + 4 >> 2] = 5; + c[f + 8 >> 2] = 0; + c[f + 12 >> 2] = 0; + c[f + 16 >> 2] = 0; + c[f + 20 >> 2] = -1; + c[f + 24 >> 2] = 1; + c[f + 28 >> 2] = -1; + c[f + 32 >> 2] = 0; + h[f + 40 >> 3] = 0.0; + c[f + 48 >> 2] = 0; + c[f + 52 >> 2] = 0; + c[f + 56 >> 2] = 0; + c[f + 60 >> 2] = 0; + c[f + 64 >> 2] = 0; + c[f + 68 >> 2] = 5; + c[f + 72 >> 2] = 0; + c[f + 76 >> 2] = e; + fC(a, 84675, f); + c[g >> 2] = j; + c[g + 4 >> 2] = b; + c[g + 8 >> 2] = j; + c[g + 12 >> 2] = d; + c[g + 16 >> 2] = k; + c[g + 20 >> 2] = d; + c[g + 24 >> 2] = k; + c[g + 28 >> 2] = b; + c[g + 32 >> 2] = j; + c[g + 36 >> 2] = b; + fC(a, 84733, g); + l = i; + return + } + } + + function Pf(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 96 | 0; + n = o + 56 | 0; + m = o + 32 | 0; + k = o; + i = +h[d >> 3]; + j = +h[d + 16 >> 3] - i; + f = +h[d + 24 >> 3]; + g = f - +h[d + 8 >> 3]; + if (!a) qa(108200, 84312, 53, 84765); + if (!b) qa(108230, 84312, 54, 84765); + e = b + 8 | 0; + if (!(c[e >> 2] | 0)) qa(108233, 84312, 55, 84765); + $B(a, 84784) | 0; + $B(a, c[e >> 2] | 0) | 0; + e = a + 360 | 0; + f = -f; + if (!(c[e >> 2] | 0)) { + h[n >> 3] = j; + h[n + 8 >> 3] = g; + h[n + 16 >> 3] = i; + h[n + 24 >> 3] = f; + fC(a, 84913, n) + } else { + h[k >> 3] = g; + h[k + 8 >> 3] = j; + h[k + 16 >> 3] = i; + h[k + 24 >> 3] = f; + fC(a, 84804, k); + c[m >> 2] = c[e >> 2]; + h[m + 8 >> 3] = i; + h[m + 16 >> 3] = f; + fC(a, 84883, m) + } + $B(a, 84992) | 0; + l = o; + return + } + + function Qf(a) { + a = a | 0; + var b = 0, c = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + Rf(b); + b = Ty(a, b) | 0 + } + c = Sy(a) | 0; + while (1) { + if (!c) break; + b = Ex(a, c) | 0; + while (1) { + if (!b) break; + Sf(b); + b = Gx(a, b) | 0 + } + c = Ty(a, c) | 0 + } + return + } + + function Rf(a) { + a = a | 0; + var b = 0, d = 0; + Az(a, 134365, 304, 1) | 0; + dM(a); + bN(a, c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1); + a = a + 16 | 0; + c[(c[a >> 2] | 0) + 176 >> 2] = 0; + b = uH(20) | 0; + d = c[a >> 2] | 0; + c[d + 172 >> 2] = b; + c[d + 184 >> 2] = 0; + d = uH(20) | 0; + b = c[a >> 2] | 0; + c[b + 180 >> 2] = d; + c[b + 200 >> 2] = 0; + b = uH(12) | 0; + d = c[a >> 2] | 0; + c[d + 196 >> 2] = b; + c[d + 192 >> 2] = 0; + d = uH(12) | 0; + b = c[a >> 2] | 0; + c[b + 188 >> 2] = d; + c[b + 208 >> 2] = 0; + b = uH(12) | 0; + a = c[a >> 2] | 0; + c[a + 204 >> 2] = b; + c[a + 216 >> 2] = 1; + return + } + + function Sf(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + Az(d, 134378, 176, 1) | 0; + eM(d) | 0; + h = KL(d, c[46404] | 0, 1, 0) | 0; + g = d + 16 | 0; + c[(c[g >> 2] | 0) + 156 >> 2] = h; + h = NL(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0, c[46398] | 0, 191979) | 0; + i = NL(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, c[46398] | 0, 191979) | 0; + e = c[g >> 2] | 0; + f = e + 154 | 0; + b[f >> 1] = 1; + b[e + 168 >> 1] = 1; + if ((h | 0) == (i | 0) & (a[h >> 0] | 0) != 0) { + b[f >> 1] = 1e3; + i = e + 156 | 0; + c[i >> 2] = (c[i >> 2] | 0) * 100 + } + if (Ok(d) | 0) { + i = c[g >> 2] | 0; + b[i + 154 >> 1] = 0; + c[i + 156 >> 2] = 0 + } + i = (KL(d, c[46417] | 0, 0, 0) | 0) & 255; + a[(c[g >> 2] | 0) + 152 >> 0] = i; + i = (KL(d, c[46405] | 0, 1, 0) | 0) & 65535; + b[(c[g >> 2] | 0) + 170 >> 1] = i; + return + } + + function Tf(a) { + a = a | 0; + var b = 0, d = 0; + Uf(c[(c[a + 16 >> 2] | 0) + 192 >> 2] | 0); + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = Ex(a, d) | 0; + while (1) { + if (!b) break; + JM(b); + b = Gx(a, b) | 0 + } + Vf(d); + d = Ty(a, d) | 0 + } + Wf(a); + return + } + + function Uf(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + while (1) { + if (!b) break; + f = b + 16 | 0; + g = c[(c[f >> 2] | 0) + 164 >> 2] | 0; + Xf(b); + d = c[f >> 2] | 0; + if ((a[d + 156 >> 0] | 0) != 1) { + b = g; + continue + } + e = c[d + 180 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + e = c[d + 172 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + D_(d); + D_(b); + b = g + } + return + } + + function Vf(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 16 | 0; + b = c[e >> 2] | 0; + d = c[b + 172 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 180 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 188 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 196 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 204 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + nH(c[b + 104 >> 2] | 0); + nH(c[(c[e >> 2] | 0) + 108 >> 2] | 0); + b = c[(c[e >> 2] | 0) + 8 >> 2] | 0; + if (b | 0) tb[c[(c[b + 4 >> 2] | 0) + 4 >> 2] & 127](a); + Cz(a, 134365) | 0; + return + } + + function Wf(a) { + a = a | 0; + var d = 0, e = 0, f = 0; + d = wA(a) | 0; + while (1) { + if (!d) break; + Wf(d); + d = xA(d) | 0 + } + if (Az(a, 134401, 0, 1) | 0) { + f = a + 16 | 0; + d = c[f >> 2] | 0; + e = c[d + 184 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + e = c[d + 268 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + e = c[d + 216 >> 2] | 0; + if (e) { + D_(e); + d = c[f >> 2] | 0 + } + do if (c[d + 196 >> 2] | 0) { + e = b[d + 236 >> 1] | 0; + while (1) { + if ((e | 0) > (b[d + 238 >> 1] | 0)) break; + D_(c[(c[d + 196 >> 2] | 0) + (e << 6) + 12 >> 2] | 0); + e = e + 1 | 0; + d = c[f >> 2] | 0 + } + e = c[d + 196 >> 2] | 0; + if ((b[d + 236 >> 1] | 0) == -1) { + D_(e + -64 | 0); + break + } else { + D_(e); + break + } + } while (0); + if ((fz(a) | 0) != (a | 0)) { + nH(c[(c[f >> 2] | 0) + 12 >> 2] | 0); + Cz(a, 134401) | 0 + } + } + return + } + + function Xf(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 16 | 0; + d = c[e >> 2] | 0; + b = c[d + 176 >> 2] | 0; + while (1) { + a = b + -1 | 0; + if ((b | 0) <= 0) break; + b = c[(c[d + 172 >> 2] | 0) + (a << 2) >> 2] | 0; + kh(b); + D_(c[b + 16 >> 2] | 0); + D_(b); + b = a; + d = c[e >> 2] | 0 + } + b = c[d + 184 >> 2] | 0; + while (1) { + a = b + -1 | 0; + if ((b | 0) <= 0) break; + b = c[(c[(c[e >> 2] | 0) + 180 >> 2] | 0) + (a << 2) >> 2] | 0; + kh(b); + D_(c[b + 16 >> 2] | 0); + D_(b); + b = a + } + return + } + + function Yf(a) { + a = a | 0; + if (ay(a) | 0) Zf(a); + eJ(a); + return + } + + function Zf(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 48 | 0; + g = h + 32 | 0; + f = h; + b = YD(a, -1, 8) | 0; + d = ZD(a, 0, f) | 0; + XD(a, 2, 8, f) | 0; + d = (d | 0) == 0; + e = (b | 0) < 0; + if (e & d) _f(a); else { + if (d) c[f + 16 >> 2] = 3; else b = e ? 8 : b; + c[f + 8 >> 2] = b; + c[f + 20 >> 2] = 0; + e = rD(a, g, 0) | 0; + b = c[g >> 2] | 0; + do if ((b | 0) == 1) { + _f(a); + b = 0 + } else { + if (c[(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) + 84 >> 2] | 0) { + _f(a); + b = 0; + break + } + c[f + 12 >> 2] = 1; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + b = c[e + (d << 2) >> 2] | 0; + $f(b, a); + _f(b); + d = d + 1 | 0; + b = c[g >> 2] | 0 + } + ag(a); + WD(c[g >> 2] | 0, e, a, f) | 0; + bg(a); + cg(c[g >> 2] | 0, e, a); + b = 0 + } while (0); + while (1) { + if ((b | 0) >= (c[g >> 2] | 0)) break; + f = e + (b << 2) | 0; + D_(c[(c[(c[f >> 2] | 0) + 16 >> 2] | 0) + 8 >> 2] | 0); + Wf(c[f >> 2] | 0); + dz(a, c[f >> 2] | 0) | 0; + b = b + 1 | 0 + } + D_(e) + } + l = h; + return + } + + function _f(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 48 | 0; + k = m + 40 | 0; + e = m; + i = KL(a, nx(a, 0, 85007, 0) | 0, -1, 1) | 0; + $M(a, 10); + d = Nk(a, e) | 0; + eg(a, a); + Qf(a); + f = (i | 0) == 1; + g = e + 32 | 0; + h = (i | 0) == 2; + i = (i | 0) == 3; + j = e + 28 | 0; + e = e + 24 | 0; + while (1) { + zj(a, d); + if (f) { + d = 3; + break + } + if (c[g >> 2] | 0) { + Pw(0, 85013, k) | 0; + c[e >> 2] = 0; + d = 0 + } + Jh(a, (d | 0) != 0 & 1); + if (h) { + d = 7; + break + } + Mi(a, d); + if (i) { + d = 9; + break + } + n = (c[j >> 2] | 0) + -1 | 0; + c[j >> 2] = n; + if (!((n | 0) != 0 & (c[e >> 2] | 0) != 0)) { + d = 11; + break + } + } + if ((d | 0) == 3) fg(a, 1); else if ((d | 0) == 7) fg(a, 2); else if ((d | 0) == 9) fg(a, 2); else if ((d | 0) == 11) { + if (b[(c[a + 16 >> 2] | 0) + 136 >> 1] & 16) gg(a); + tk(a); + kg(a); + if ((QL(xx(a, 85104) | 0) | 0) << 24 >> 24) nl(a) + } + l = m; + return + } + + function $f(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + Az(b, 134401, 280, 1) | 0; + e = uH(96) | 0; + b = c[b + 16 >> 2] | 0; + c[b + 8 >> 2] = e; + d = c[d + 16 >> 2] | 0; + f = c[d + 8 >> 2] | 0; + h[e >> 3] = +h[f >> 3]; + h[e + 24 >> 3] = +h[f + 24 >> 3]; + c[b + 144 >> 2] = c[d + 144 >> 2]; + a[b + 115 >> 0] = a[d + 115 >> 0] | 0; + c[b + 116 >> 2] = c[d + 116 >> 2]; + c[b + 248 >> 2] = c[d + 248 >> 2]; + c[b + 252 >> 2] = c[d + 252 >> 2]; + c[b + 244 >> 2] = c[d + 244 >> 2]; + return + } + + function ag(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = uH((ay(a) | 0) << 4) | 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + e = c[d + 16 >> 2] | 0; + c[e + 132 >> 2] = b; + h[b >> 3] = +h[e + 16 >> 3] * .013888888888888888; + h[b + 8 >> 3] = +h[e + 24 >> 3] * .013888888888888888; + b = b + 16 | 0; + d = Ty(a, d) | 0 + } + return + } + + function bg(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + e = c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 132 >> 2] | 0; + b = e; + d = Sy(a) | 0; + while (1) { + if (!d) break; + f = c[d + 16 >> 2] | 0; + c[f + 132 >> 2] = 0; + h[f + 16 >> 3] = +h[b >> 3] * 72.0; + h[f + 24 >> 3] = +h[b + 8 >> 3] * 72.0; + b = b + 16 | 0; + d = Ty(a, d) | 0 + } + D_(e); + return + } + + function cg(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = 0; + f = 0; + while (1) { + if ((e | 0) >= (a | 0)) break; + i = (c[(c[(c[b + (e << 2) >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] | 0) + f | 0; + e = e + 1 | 0; + f = i + } + i = d + 16 | 0; + c[(c[i >> 2] | 0) + 180 >> 2] = f; + g = uH((f << 2) + 4 | 0) | 0; + c[(c[i >> 2] | 0) + 184 >> 2] = g; + g = 0; + e = 1; + while (1) { + if ((g | 0) >= (a | 0)) break; + h = (c[b + (g << 2) >> 2] | 0) + 16 | 0; + f = 1; + while (1) { + d = c[h >> 2] | 0; + if ((f | 0) > (c[d + 180 >> 2] | 0)) break; + d = qD(c[(c[d + 184 >> 2] | 0) + (f << 2) >> 2] | 0) | 0; + c[(c[(c[i >> 2] | 0) + 184 >> 2] | 0) + (e << 2) >> 2] = d; + dg(c[(c[(c[h >> 2] | 0) + 184 >> 2] | 0) + (f << 2) >> 2] | 0, d); + f = f + 1 | 0; + e = e + 1 | 0 + } + g = g + 1 | 0 + } + return + } + + function dg(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + Az(d, 134401, 280, 1) | 0; + g = d + 16 | 0; + d = (c[g >> 2] | 0) + 16 | 0; + f = b + 16 | 0; + b = (c[f >> 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[d + 16 >> 2] = c[b + 16 >> 2]; + c[d + 20 >> 2] = c[b + 20 >> 2]; + c[d + 24 >> 2] = c[b + 24 >> 2]; + c[d + 28 >> 2] = c[b + 28 >> 2]; + b = c[f >> 2] | 0; + d = c[g >> 2] | 0; + a[d + 275 >> 0] = a[b + 275 >> 0] | 0; + d = d + 48 | 0; + b = b + 48 | 0; + e = d + 64 | 0; + do { + c[d >> 2] = c[b >> 2]; + d = d + 4 | 0; + b = b + 4 | 0 + } while ((d | 0) < (e | 0)); + b = c[(c[f >> 2] | 0) + 180 >> 2] | 0; + c[(c[g >> 2] | 0) + 180 >> 2] = b; + d = uH((b << 2) + 4 | 0) | 0; + c[(c[g >> 2] | 0) + 184 >> 2] = d; + d = 1; + while (1) { + e = c[f >> 2] | 0; + if ((d | 0) > (b | 0)) break; + e = qD(c[(c[e + 184 >> 2] | 0) + (d << 2) >> 2] | 0) | 0; + c[(c[(c[g >> 2] | 0) + 184 >> 2] | 0) + (d << 2) >> 2] = e; + dg(c[(c[(c[f >> 2] | 0) + 184 >> 2] | 0) + (d << 2) >> 2] | 0, e); + d = d + 1 | 0 + } + f = e + 12 | 0; + c[(c[g >> 2] | 0) + 12 >> 2] = c[f >> 2]; + c[f >> 2] = 0; + return + } + + function eg(a, b) { + a = a | 0; + b = b | 0; + if ((fz(a) | 0) != (a | 0)) Az(a, 134401, 280, 1) | 0; + if ((a | 0) == (b | 0)) c[(c[(fz(a) | 0) + 16 >> 2] | 0) + 188 >> 2] = a; + a = wA(a) | 0; + while (1) { + if (!a) break; + eg(a, b); + a = xA(a) | 0 + } + return + } + + function fg(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 1040 | 0; + k = m + 8 | 0; + j = m; + e = m + 16 | 0; + f = nx(a, 1, 87076, 191979) | 0; + g = nx(a, 1, 85147, 191979) | 0; + h = (b | 0) > 0; + d = (b | 0) == 1; + b = Sy(a) | 0; + while (1) { + if (!b) break; + if (h ? (i = b + 16 | 0, c[j >> 2] = c[(c[i >> 2] | 0) + 232 >> 2], Y0(e, 134313, j) | 0, rx(b, f, e) | 0, !d) : 0) { + c[k >> 2] = c[(c[i >> 2] | 0) + 236 >> 2]; + Y0(e, 134313, k) | 0; + rx(b, g, e) | 0 + } + b = Ty(a, b) | 0 + } + l = m; + return + } + + function gg(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + c = vA(a, 86580, 0) | 0; + if (c | 0) { + b = Sy(c) | 0; + while (1) { + if (!b) break; + d = Ty(c, b) | 0; + sh(a, b); + hg(a, b); + Vf(b); + cz(a, b) | 0; + b = d + } + zA(a, c) | 0 + } + return + } + + function hg(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + j = c[(c[b + 16 >> 2] | 0) + 232 >> 2] | 0; + i = a + 16 | 0; + a = c[(c[i >> 2] | 0) + 196 >> 2] | 0; + d = c[a + (j << 6) >> 2] | 0; + h = a + (j << 6) + 4 | 0; + g = 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) { + f = 7; + break + } + f = c[(c[h >> 2] | 0) + (e << 2) >> 2] | 0; + e = e + 1 | 0; + if ((f | 0) == (b | 0)) { + f = 4; + break + } else g = f + } + if ((f | 0) == 4) { + while (1) { + if ((e | 0) >= (d | 0)) break; + f = c[a + (j << 6) + 4 >> 2] | 0; + c[f + (e + -1 << 2) >> 2] = c[f + (e << 2) >> 2]; + f = c[(c[i >> 2] | 0) + 196 >> 2] | 0; + e = e + 1 | 0; + d = c[f + (j << 6) >> 2] | 0; + a = f; + f = 4 + } + c[a + (j << 6) >> 2] = d + -1 + } else if ((f | 0) == 7 ? (g | 0) != (b | 0) : 0) qa(85113, 85120, 248, 85130); + return + } + + function ig(a) { + a = a | 0; + return c[(c[(fz(a) | 0) + 16 >> 2] | 0) + 188 >> 2] | 0 + } + + function jg(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + d = a[b + 28 >> 0] | 0; + if (a[c + 28 >> 0] | 0) if (d << 24 >> 24) { + d = ~~(+h[b >> 3] - +h[c >> 3]); + if (!d) d = ~~(+h[b + 8 >> 3] - +h[c + 8 >> 3]) + } else d = -1; else d = d << 24 >> 24 != 0 & 1; + return d | 0 + } + + function kg(a) { + a = a | 0; + lg(a, 1); + return + } + + function lg(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0.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; + Z = l; + l = l + 656 | 0; + O = Z + 592 | 0; + N = Z + 552 | 0; + f = Z + 544 | 0; + T = Z + 96 | 0; + U = Z; + Y = Z + 632 | 0; + V = d + 16 | 0; + X = b[(c[V >> 2] | 0) + 136 >> 1] & 14; + P = X & 65535; + Q = T + 16 | 0; + c[Q >> 2] = Z + 368; + R = U + 16 | 0; + c[R >> 2] = Z + 192; + do if (X << 16 >> 16) { + S = X << 16 >> 16 == 4; + do if (S) { + mg(d); + if (!(a[(c[(c[d + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1)) A = 9; else { + Pw(0, 85153, f) | 0; + A = 9 + } + } else if (X << 16 >> 16 == 8) { + mg(d); + if (!(a[(c[(c[d + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1)) { + cN(d, 0); + n = 0; + m = 0; + k = 0; + break + } else { + ng(d); + cN(d, 1); + n = 0; + m = 0; + k = 0; + break + } + } else A = 9; while (0); + if ((A | 0) == 9) { + ll(d); + if (qJ() | 0) break; + W = uH(96) | 0; + K = c[(c[V >> 2] | 0) + 248 >> 2] | 0; + c[Y + 8 >> 2] = (K | 0) / 4 | 0; + c[Y + 12 >> 2] = K; + k = uH(512) | 0; + F = Y + 4 | 0; + c[F >> 2] = 0; + c[Y >> 2] = 0; + j = c[V >> 2] | 0; + C = b[j + 236 >> 1] | 0; + D = 0; + L = 0; + M = k; + E = k; + m = k; + n = k; + o = k; + H = 0; + I = 0; + a:while (1) { + if ((C | 0) > (b[j + 238 >> 1] | 0)) break; + p = c[j + 196 >> 2] | 0; + i = c[p + (C << 6) >> 2] | 0; + G = i + D | 0; + g = c[p + (C << 6) + 4 >> 2] | 0; + f = c[g >> 2] | 0; + if (!f) f = H; else { + _ = +(H | 0); + f = c[f + 16 >> 2] | 0; + y = +h[f + 16 >> 3] - +h[f + 88 >> 3]; + f = ~~(y > _ ? _ : y) + } + if ((i | 0) != 0 ? (J = c[g + (i + -1 << 2) >> 2] | 0, (J | 0) != 0) : 0) { + y = +(I | 0); + g = c[J + 16 >> 2] | 0; + _ = +h[g + 96 >> 3] + +h[g + 16 >> 3]; + g = ~~(_ < y ? y : _) + } else g = I; + B = f + -16 | 0; + z = g + 16 | 0; + x = 0; + t = L; + r = M; + q = j; + u = E; + v = m; + g = k; + f = p; + while (1) { + if ((x | 0) >= (i | 0)) break; + k = c[(c[f + (C << 6) + 4 >> 2] | 0) + (x << 2) >> 2] | 0; + w = k + 16 | 0; + f = c[w >> 2] | 0; + i = c[f + 112 >> 2] | 0; + if (i) { + i = i + 16 | 0; + j = c[(c[i >> 2] | 0) + 96 >> 2] | 0; + if (!j) { + A = 21; + break a + } + s = j + 56 | 0; + f = f + 16 | 0; + c[s >> 2] = c[f >> 2]; + c[s + 4 >> 2] = c[f + 4 >> 2]; + c[s + 8 >> 2] = c[f + 8 >> 2]; + c[s + 12 >> 2] = c[f + 12 >> 2]; + a[(c[(c[i >> 2] | 0) + 96 >> 2] | 0) + 81 >> 0] = 1; + f = c[w >> 2] | 0 + } + if ((a[f + 156 >> 0] | 0) != 0 ? (kb[c[17300 >> 2] & 63](k) | 0) << 24 >> 24 == 0 : 0) { + q = t; + f = r; + j = u; + k = v; + i = o + } else { + s = 0; + q = t; + j = u; + k = v; + A = 25 + } + b:do if ((A | 0) == 25) { + while (1) { + A = 0; + p = c[w >> 2] | 0; + i = c[(c[p + 180 >> 2] | 0) + (s << 2) >> 2] | 0; + if (!i) break; + switch (a[(c[i + 16 >> 2] | 0) + 112 >> 0] | 0) { + case 6: + case 4: { + f = q; + i = r; + break + } + default: { + og(i, 1, 16, 64); + f = q + 1 | 0; + c[r + (q << 2) >> 2] = i; + if (!(f & 127)) { + g = xH(g, (q << 2) + 516 | 0) | 0; + i = g; + j = g; + k = g; + n = g; + o = g + } else i = r + } + } + s = s + 1 | 0; + q = f; + r = i; + A = 25 + } + f = c[p + 188 >> 2] | 0; + c:do if (!f) i = o; else { + s = 0; + i = o; + while (1) { + f = c[f + (s << 2) >> 2] | 0; + if (!f) break c; + og(f, 2, 0, 128); + o = q + 1 | 0; + c[r + (q << 2) >> 2] = f; + if (!(o & 127)) { + g = xH(i, (q << 2) + 516 | 0) | 0; + f = g; + j = g; + k = g; + n = g; + i = g + } else f = r; + p = c[w >> 2] | 0; + s = s + 1 | 0; + q = o; + r = f; + f = c[p + 188 >> 2] | 0 + } + } while (0); + f = c[p + 204 >> 2] | 0; + if (!f) f = r; else { + if (!(a[p + 156 >> 0] | 0)) { + v = p + 96 | 0; + _ = +h[v >> 3]; + s = p + 240 | 0; + h[v >> 3] = +h[s >> 3]; + h[s >> 3] = _; + s = 0; + p = r + } else { + s = 0; + p = r + } + while (1) { + f = c[f + (s << 2) >> 2] | 0; + if (!f) { + f = p; + break b + } + og(f, 0, 0, 128); + o = q + 1 | 0; + c[p + (q << 2) >> 2] = f; + if (!(o & 127)) { + g = xH(n, (q << 2) + 516 | 0) | 0; + f = g; + j = g; + k = g; + n = g; + i = g + } else f = p; + s = s + 1 | 0; + q = o; + p = f; + f = c[(c[w >> 2] | 0) + 204 >> 2] | 0 + } + } + } while (0); + u = c[V >> 2] | 0; + w = c[u + 196 >> 2] | 0; + x = x + 1 | 0; + t = q; + r = f; + q = u; + u = j; + v = k; + o = i; + i = c[w + (C << 6) >> 2] | 0; + f = w + } + C = C + 1 | 0; + D = G; + L = t; + M = r; + E = u; + j = q; + m = v; + k = g; + H = B; + I = z + } + if ((A | 0) == 21) qa(85221, 85234, 313, 85247); + c[Y >> 2] = H; + c[F >> 2] = I; + _0(E, L, 4, 58); + c[W + 84 >> 2] = uH((D << 5) + 11520 | 0) | 0; + c[Y + 16 >> 2] = uH(C << 5) | 0; + d:do if (X << 16 >> 16 == 2) { + f = (c[V >> 2] | 0) + 192 | 0; + while (1) { + g = c[f >> 2] | 0; + if (!g) break d; + i = g + 16 | 0; + f = c[i >> 2] | 0; + if ((a[f + 156 >> 0] | 0) == 1 ? (c[f + 104 >> 2] | 0) != 0 : 0) { + qg(g); + f = c[i >> 2] | 0 + } + f = f + 164 | 0 + } + } while (0); + z = U + 48 | 0; + A = U + -48 | 0; + B = T + 48 | 0; + C = T + -48 | 0; + y = +(K | 0); + x = 0; + e:while (1) { + if ((x | 0) >= (L | 0)) break; + v = M + (x << 2) | 0; + r = c[v >> 2] | 0; + s = rg(r) | 0; + t = r + 16 | 0; + g = c[t >> 2] | 0; + if (!(a[g + 44 >> 0] | 0)) { + g = (a[g + 84 >> 0] | 0) == 0 ? s : r; + f = g; + g = c[g + 16 >> 2] | 0 + } else f = r; + i = f + 16 | 0; + if (c[g + 164 >> 2] & 32) { + g = c[Q >> 2] | 0; + F3(g | 0, c[i >> 2] | 0, 176) | 0; + n = T; + o = f; + p = n + 48 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + c[Q >> 2] = g; + o = c[f >> 2] & 3; + n = c[T >> 2] & 3; + c[((n | 0) == 3 ? T : B) + 40 >> 2] = c[((o | 0) == 2 ? f : f + -48 | 0) + 40 >> 2]; + c[((n | 0) == 2 ? T : C) + 40 >> 2] = c[((o | 0) == 3 ? f : f + 48 | 0) + 40 >> 2]; + n = g + 16 | 0; + o = (c[i >> 2] | 0) + 56 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + n = g + 56 | 0; + o = (c[i >> 2] | 0) + 16 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + a[g + 112 >> 0] = 1; + c[g + 116 >> 2] = f; + f = T + } + q = f + 16 | 0; + w = 1; + f = x; + while (1) { + u = f + 1 | 0; + if ((u | 0) >= (L | 0)) break; + j = M + (u << 2) | 0; + f = c[j >> 2] | 0; + if ((s | 0) != (rg(f) | 0)) break; + if (!(a[(c[t >> 2] | 0) + 113 >> 0] | 0)) { + k = f + 16 | 0; + g = c[k >> 2] | 0; + if (!(a[g + 44 >> 0] | 0)) { + g = (a[g + 84 >> 0] | 0) == 0 ? s : f; + f = g; + g = c[g + 16 >> 2] | 0 + } + i = f + 16 | 0; + if (c[g + 164 >> 2] & 32) { + g = c[R >> 2] | 0; + F3(g | 0, c[i >> 2] | 0, 176) | 0; + n = U; + o = f; + p = n + 48 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + c[R >> 2] = g; + o = c[f >> 2] & 3; + n = c[U >> 2] & 3; + c[((n | 0) == 3 ? U : z) + 40 >> 2] = c[((o | 0) == 2 ? f : f + -48 | 0) + 40 >> 2]; + c[((n | 0) == 2 ? U : A) + 40 >> 2] = c[((o | 0) == 3 ? f : f + 48 | 0) + 40 >> 2]; + n = g + 16 | 0; + o = (c[i >> 2] | 0) + 56 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + n = g + 56 | 0; + o = (c[i >> 2] | 0) + 16 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + a[g + 112 >> 0] = 1; + c[g + 116 >> 2] = f + } + i = c[q >> 2] | 0; + f = g + 16 | 0; + n = N; + o = i + 16 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + n = O; + o = f; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + if (jg(N, O) | 0) break; + f = g + 56 | 0; + n = N; + o = i + 56 | 0; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + n = O; + o = f; + p = n + 40 | 0; + do { + c[n >> 2] = c[o >> 2]; + n = n + 4 | 0; + o = o + 4 | 0 + } while ((n | 0) < (p | 0)); + if (jg(N, O) | 0) break; + K = c[t >> 2] | 0; + if ((c[K + 164 >> 2] & 15 | 0) == 2 ? (c[K + 96 >> 2] | 0) != (c[(c[k >> 2] | 0) + 96 >> 2] | 0) : 0) break; + if (c[(c[(c[j >> 2] | 0) + 16 >> 2] | 0) + 164 >> 2] & 64 | 0) break + } + w = w + 1 | 0; + f = u + } + if (S) { + if ((w | 0) == 1) f = O; else f = uH(w << 2) | 0; + c[f >> 2] = rg(c[v >> 2] | 0) | 0; + g = 1; + while (1) { + if ((g | 0) >= (w | 0)) break; + c[f + (g << 2) >> 2] = c[v + (g << 2) >> 2]; + g = g + 1 | 0 + } + AJ(d, f, w, P, 17296); + if ((w | 0) > 1) D_(f); + x = u; + continue + } + f = c[r >> 2] & 3; + K = c[((f | 0) == 3 ? r : r + 48 | 0) + 40 >> 2] | 0; + f = c[((f | 0) == 2 ? r : r + -48 | 0) + 40 >> 2] | 0; + g = c[K + 16 >> 2] | 0; + i = c[g + 232 >> 2] | 0; + if ((K | 0) != (f | 0)) if ((i | 0) == (c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0)) { + sg(d, Y, W, M, x, w, P); + x = u; + continue + } else { + tg(d, Y, W, M, x, w, P); + x = u; + continue + } + f = c[V >> 2] | 0; + do if ((i | 0) == (b[f + 238 >> 1] | 0)) if ((i | 0) > 0) { + f = ~~(+h[(c[(c[c[(c[f + 196 >> 2] | 0) + (i + -1 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - +h[g + 24 >> 3]); + break + } else { + f = ~~+h[g + 80 >> 3]; + break + } else if ((i | 0) == (b[f + 236 >> 1] | 0)) { + f = ~~(+h[g + 24 >> 3] - +h[(c[(c[c[(c[f + 196 >> 2] | 0) + (i + 1 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]); + break + } else { + f = c[f + 196 >> 2] | 0; + _ = +h[g + 24 >> 3]; + K = ~~(+h[(c[(c[c[f + (i + -1 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - _); + f = ~~(_ - +h[(c[(c[c[f + (i + 1 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]); + f = (K | 0) < (f | 0) ? K : f; + break + } while (0); + YK(W, M, x, w, y, +((f | 0) / 2 | 0 | 0), 17296); + f = 0; + while (1) { + if ((f | 0) >= (w | 0)) { + x = u; + continue e + } + g = c[(c[(c[M + (f + x << 2) >> 2] | 0) + 16 >> 2] | 0) + 96 >> 2] | 0; + if (g | 0) kM(d, g); + f = f + 1 | 0 + } + } + f = (c[V >> 2] | 0) + 192 | 0; + while (1) { + g = c[f >> 2] | 0; + if (!g) break; + i = g + 16 | 0; + f = c[i >> 2] | 0; + if ((a[f + 156 >> 0] | 0) == 1 ? (c[f + 104 >> 2] | 0) != 0 : 0) { + qg(g); + kM(d, c[(c[i >> 2] | 0) + 104 >> 2] | 0); + f = c[i >> 2] | 0 + } + f = f + 164 | 0 + } + if (!e) { + n = W; + k = W + } else { + ug(d); + n = W; + k = W + } + } + f:do if ((c[46427] | 0) != 0 | (c[46428] | 0) != 0 ? (c[46433] | 0) != 0 | (c[46432] | 0) != 0 : 0) { + j = Sy(d) | 0; + while (1) { + if (!j) break f; + g:do if (c[46427] | 0) { + f = Hx(d, j) | 0; + while (1) { + if (!f) break g; + g = f + -48 | 0; + i = (c[f >> 2] & 3 | 0) == 2 ? f : g; + if (c[(c[i + 16 >> 2] | 0) + 100 >> 2] | 0) { + eL(i, 1) | 0; + kM(d, c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : g) + 16 >> 2] | 0) + 100 >> 2] | 0) + } + f = Ix(d, f) | 0 + } + } while (0); + h:do if (c[46428] | 0) { + f = Ex(d, j) | 0; + while (1) { + if (!f) break h; + g = f + 16 | 0; + if (c[(c[g >> 2] | 0) + 104 >> 2] | 0 ? eL(f, 0) | 0 : 0) kM(d, c[(c[g >> 2] | 0) + 104 >> 2] | 0); + f = Gx(d, f) | 0 + } + } while (0); + j = Ty(d, j) | 0 + } + } while (0); + switch (X & 15) { + case 4: + case 8: + break; + default: { + D_(m); + D_(c[n + 84 >> 2] | 0); + D_(k); + D_(c[Y + 16 >> 2] | 0); + rJ() + } + } + c[46367] = 1; + c[46368] = 1 + } while (0); + l = Z; + return + } + + function mg(a) { + a = a | 0; + var b = 0, d = 0, e = 0.0, f = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + d = c[b + 16 >> 2] | 0; + if (c[d + 204 >> 2] | 0) { + f = d + 96 | 0; + e = +h[f >> 3]; + d = d + 240 | 0; + h[f >> 3] = +h[d >> 3]; + h[d >> 3] = e + } + b = Ty(a, b) | 0 + } + return + } + + function ng(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = (c[b + 16 >> 2] | 0) + 192 | 0; + a:while (1) { + f = c[d >> 2] | 0; + if (!f) { + d = 12; + break + } + g = f + 16 | 0; + d = c[g >> 2] | 0; + do if ((a[d + 156 >> 0] | 0) == 1) { + e = c[d + 112 >> 2] | 0; + if (!e) { + e = c[d + 104 >> 2] | 0; + if (!e) break; + qg(f); + d = e + } else { + e = c[(c[e + 16 >> 2] | 0) + 96 >> 2] | 0; + if (!e) { + d = 6; + break a + } + f = e + 56 | 0; + d = d + 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]; + a[e + 81 >> 0] = 1; + d = e + } + kM(b, d); + d = c[g >> 2] | 0 + } while (0); + d = d + 164 | 0 + } + if ((d | 0) == 6) qa(85421, 85234, 234, 85440); else if ((d | 0) == 12) return + } + + function og(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + do if (!d) { + g = c[b >> 2] & 3; + d = c[((g | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + g = c[((g | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + if ((d | 0) != (g | 0)) { + d = (c[(c[d + 16 >> 2] | 0) + 232 >> 2] | 0) == (c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0) ? 2 : 1; + break + } + d = c[b + 16 >> 2] | 0; + if (!(a[d + 44 >> 0] | 0)) d = (a[d + 84 >> 0] | 0) == 0 ? 8 : 4; else d = 4 + } while (0); + a:do if (!e) switch (d | 0) { + case 1: { + e = c[b >> 2] & 3; + e = (c[(c[(c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) < (c[(c[(c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) ? 16 : 32; + break a + } + case 2: { + e = c[b >> 2] & 3; + e = (c[(c[(c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) < (c[(c[(c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) ? 16 : 32; + break a + } + default: { + e = 16; + break a + } + } while (0); + c[(c[b + 16 >> 2] | 0) + 164 >> 2] = d | f | e; + return + } + + function pg(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + D = l; + l = l + 624 | 0; + z = D + 584 | 0; + y = D + 544 | 0; + s = D + 368 | 0; + e = D + 192 | 0; + t = D + 96 | 0; + v = D; + u = t + 16 | 0; + c[u >> 2] = s; + w = v + 16 | 0; + c[w >> 2] = e; + C = c[b >> 2] | 0; + B = c[d >> 2] | 0; + x = C + 16 | 0; + q = c[x >> 2] | 0; + d = c[q + 164 >> 2] | 0; + f = d & 15; + A = B + 16 | 0; + b = c[A >> 2] | 0; + g = c[b + 164 >> 2] & 15; + do if ((g | 0) == (f | 0)) { + p = rg(C) | 0; + r = rg(B) | 0; + n = c[p >> 2] | 0; + g = n & 3; + f = c[(c[((g | 0) == 3 ? p : p + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + g = c[(c[((g | 0) == 2 ? p : p + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + i = (c[f + 232 >> 2] | 0) - (c[g + 232 >> 2] | 0) | 0; + o = c[r >> 2] | 0; + m = o & 3; + k = c[(c[((m | 0) == 3 ? r : r + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + m = c[(c[((m | 0) == 2 ? r : r + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + j = (c[k + 232 >> 2] | 0) - (c[m + 232 >> 2] | 0) | 0; + i = (i | 0) > -1 ? i : 0 - i | 0; + j = (j | 0) > -1 ? j : 0 - j | 0; + if ((i | 0) != (j | 0)) { + b = i - j | 0; + break + } + g = ~~(+h[f + 16 >> 3] - +h[g + 16 >> 3]); + g = (g | 0) > -1 ? g : 0 - g | 0; + f = ~~(+h[k + 16 >> 3] - +h[m + 16 >> 3]); + f = (f | 0) > -1 ? f : 0 - f | 0; + if ((g | 0) != (f | 0)) { + b = g - f | 0; + break + } + g = n >>> 4; + f = o >>> 4; + if ((g | 0) != (f | 0)) { + b = g - f | 0; + break + } + if (!(a[q + 44 >> 0] | 0)) { + d = (a[q + 84 >> 0] | 0) == 0 ? p : C; + g = d; + d = c[(c[d + 16 >> 2] | 0) + 164 >> 2] | 0 + } else g = C; + f = g + 16 | 0; + if (d & 32) { + F3(s | 0, c[f >> 2] | 0, 176) | 0; + i = t; + j = g; + k = i + 48 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + c[u >> 2] = s; + j = c[g >> 2] & 3; + i = c[t >> 2] & 3; + c[((i | 0) == 3 ? t : t + 48 | 0) + 40 >> 2] = c[((j | 0) == 2 ? g : g + -48 | 0) + 40 >> 2]; + c[((i | 0) == 2 ? t : t + -48 | 0) + 40 >> 2] = c[((j | 0) == 3 ? g : g + 48 | 0) + 40 >> 2]; + i = s + 16 | 0; + j = (c[f >> 2] | 0) + 56 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + i = s + 56 | 0; + j = (c[f >> 2] | 0) + 16 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + a[s + 112 >> 0] = 1; + c[s + 116 >> 2] = g; + g = t; + b = c[A >> 2] | 0 + } + if (!(a[b + 44 >> 0] | 0)) { + b = (a[b + 84 >> 0] | 0) == 0 ? r : B; + f = b; + b = c[b + 16 >> 2] | 0 + } else f = B; + d = f + 16 | 0; + if (!(c[b + 164 >> 2] & 32)) e = b; else { + F3(e | 0, c[d >> 2] | 0, 176) | 0; + i = v; + j = f; + k = i + 48 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + c[w >> 2] = e; + j = c[f >> 2] & 3; + i = c[v >> 2] & 3; + c[((i | 0) == 3 ? v : v + 48 | 0) + 40 >> 2] = c[((j | 0) == 2 ? f : f + -48 | 0) + 40 >> 2]; + c[((i | 0) == 2 ? v : v + -48 | 0) + 40 >> 2] = c[((j | 0) == 3 ? f : f + 48 | 0) + 40 >> 2]; + i = e + 16 | 0; + j = (c[d >> 2] | 0) + 56 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + i = e + 56 | 0; + j = (c[d >> 2] | 0) + 16 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + a[e + 112 >> 0] = 1; + c[e + 116 >> 2] = f + } + d = c[g + 16 >> 2] | 0; + b = e + 16 | 0; + i = y; + j = d + 16 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + i = z; + j = b; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + b = jg(y, z) | 0; + if (!b) { + b = e + 56 | 0; + i = y; + j = d + 56 | 0; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + i = z; + j = b; + k = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (k | 0)); + b = jg(y, z) | 0; + if (!b) { + d = c[(c[x >> 2] | 0) + 164 >> 2] & 192; + b = c[(c[A >> 2] | 0) + 164 >> 2] & 192; + if ((d | 0) == (b | 0)) { + b = ((c[C >> 2] | 0) >>> 4) - ((c[B >> 2] | 0) >>> 4) | 0; + break + } else { + b = d - b | 0; + break + } + } + } + } else b = g - f | 0; while (0); + l = D; + return b | 0 + } + + function qg(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0.0, i = 0.0; + f = b + 16 | 0; + d = c[f >> 2] | 0; + if (c[d + 176 >> 2] | 0) { + d = c[d + 180 >> 2] | 0; + while (1) { + d = (c[d >> 2] | 0) + 16 | 0; + e = c[d >> 2] | 0; + if (!(a[e + 112 >> 0] | 0)) break; else d = e + 116 | 0 + } + e = c[e + 96 >> 2] | 0; + g = +h[e + 24 >> 3]; + i = +h[e + 32 >> 3]; + e = (c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) != 0; + b = c[f >> 2] | 0; + f = c[(c[d >> 2] | 0) + 96 >> 2] | 0; + h[f + 56 >> 3] = (e ? i : g) * .5 + +h[b + 16 >> 3]; + h[f + 64 >> 3] = +h[b + 24 >> 3]; + a[f + 81 >> 0] = 1 + } + return + } + + function rg(a) { + a = a | 0; + var b = 0, d = 0; + while (1) { + b = c[a + 16 >> 2] | 0; + d = c[b + 172 >> 2] | 0; + if (!d) break; else a = d + } + while (1) { + b = c[b + 116 >> 2] | 0; + if (!b) break; + a = b; + b = c[b + 16 >> 2] | 0 + } + return a | 0 + } + + function sg(b, d, e, f, g, i, j) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0.0, E = 0.0, F = 0.0, G = 0.0; + B = l; + l = l + 1712 | 0; + x = B + 1664 | 0; + s = B + 1488 | 0; + t = B + 1392 | 0; + A = B + 1696 | 0; + y = B + 696 | 0; + z = B; + p = t + 16 | 0; + c[p >> 2] = s; + q = c[f + (g << 2) >> 2] | 0; + r = q + 16 | 0; + k = c[r >> 2] | 0; + u = a[k + 113 >> 0] | 0; + if (c[k + 164 >> 2] & 32) { + F3(s | 0, k | 0, 176) | 0; + k = t; + n = q; + o = k + 48 | 0; + do { + c[k >> 2] = c[n >> 2]; + k = k + 4 | 0; + n = n + 4 | 0 + } while ((k | 0) < (o | 0)); + c[p >> 2] = s; + k = c[t >> 2] & 3; + c[((k | 0) == 3 ? t : t + 48 | 0) + 40 >> 2] = c[((c[q >> 2] & 3 | 0) == 2 ? q : q + -48 | 0) + 40 >> 2]; + c[((k | 0) == 2 ? t : t + -48 | 0) + 40 >> 2] = c[((c[q >> 2] & 3 | 0) == 3 ? q : q + 48 | 0) + 40 >> 2]; + k = s + 16 | 0; + n = (c[r >> 2] | 0) + 56 | 0; + o = k + 40 | 0; + do { + c[k >> 2] = c[n >> 2]; + k = k + 4 | 0; + n = n + 4 | 0 + } while ((k | 0) < (o | 0)); + k = s + 56 | 0; + n = (c[r >> 2] | 0) + 16 | 0; + o = k + 40 | 0; + do { + c[k >> 2] = c[n >> 2]; + k = k + 4 | 0; + n = n + 4 | 0 + } while ((k | 0) < (o | 0)); + a[s + 112 >> 0] = 1; + c[s + 116 >> 2] = q; + q = t + } + k = 1; + while (1) { + if ((k | 0) >= (i | 0)) { + w = 6; + break + } + if (!(a[(c[(c[f + (k + g << 2) >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] | 0)) k = k + 1 | 0; else { + w = 7; + break + } + } + a:do if ((w | 0) == 6) if (!(u << 24 >> 24)) { + k = c[q + 16 >> 2] | 0; + if (c[k + 96 >> 2] | 0) { + Sg(b, d, e, q, j); + break + } + if ((j | 0) == 2) { + A = c[q >> 2] & 3; + Tg(c[((A | 0) == 3 ? q : q + 48 | 0) + 40 >> 2] | 0, c[((A | 0) == 2 ? q : q + -48 | 0) + 40 >> 2] | 0, f, g, i, 2); + break + } + t = a[k + 49 >> 0] | 0; + u = a[k + 89 >> 0] | 0; + if (!(t << 24 >> 24 == 1 & u << 24 >> 24 != 4) ? !(t << 24 >> 24 != 4 & u << 24 >> 24 == 1) : 0) { + p = c[q >> 2] & 3; + o = c[((p | 0) == 3 ? q : q + 48 | 0) + 40 >> 2] | 0; + p = c[((p | 0) == 2 ? q : q + -48 | 0) + 40 >> 2] | 0; + k = c[o + 16 >> 2] | 0; + n = c[k + 232 >> 2] | 0; + if ((n | 0) > 0) { + u = c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0; + t = n + ~(a[(c[(c[b + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1) | 0; + m = +h[(c[(c[c[u + (t << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - +h[u + (t << 6) + 16 >> 3] - +h[k + 24 >> 3] - +h[u + (n << 6) + 24 >> 3] + } else m = +(c[(c[b + 16 >> 2] | 0) + 252 >> 2] | 0); + C = +(i + 1 | 0); + v = +(c[d + 12 >> 2] | 0) / C; + m = m / C; + Vg(b, d, e, o, q, y, 1); + Vg(b, d, e, p, q, z, 0); + s = y + 52 | 0; + t = z + 52 | 0; + p = (j | 0) == 10; + q = e + 80 | 0; + k = 0; + while (1) { + if ((k | 0) >= (i | 0)) break a; + r = c[f + (k + g << 2) >> 2] | 0; + o = c[s >> 2] | 0; + n = o + -1 | 0; + G = +h[y + 56 + (n << 5) >> 3]; + F = +h[y + 56 + (n << 5) + 16 >> 3]; + E = +h[y + 56 + (n << 5) + 24 >> 3]; + h[18830] = G; + h[18831] = E; + k = k + 1 | 0; + C = +(k | 0); + D = v * C; + h[18832] = F + D; + C = E + m * C; + h[18833] = C; + h[18834] = G; + h[18835] = C; + n = (c[t >> 2] | 0) + -1 | 0; + G = +h[z + 56 + (n << 5) + 16 >> 3]; + h[18836] = G; + h[18837] = C + m; + E = +h[z + 56 + (n << 5) >> 3]; + F = +h[z + 56 + (n << 5) + 24 >> 3]; + h[18840] = G; + h[18839] = F; + h[18838] = E - D; + h[18841] = C; + n = 0; + while (1) { + if ((n | 0) >= (o | 0)) { + n = 0; + break + } + o = y + 56 + (n << 5) | 0; + c[x >> 2] = c[o >> 2]; + c[x + 4 >> 2] = c[o + 4 >> 2]; + c[x + 8 >> 2] = c[o + 8 >> 2]; + c[x + 12 >> 2] = c[o + 12 >> 2]; + c[x + 16 >> 2] = c[o + 16 >> 2]; + c[x + 20 >> 2] = c[o + 20 >> 2]; + c[x + 24 >> 2] = c[o + 24 >> 2]; + c[x + 28 >> 2] = c[o + 28 >> 2]; + SK(e, x); + n = n + 1 | 0; + o = c[s >> 2] | 0 + } + while (1) { + if ((n | 0) == 3) break; + j = 150640 + (n << 5) | 0; + c[x >> 2] = c[j >> 2]; + c[x + 4 >> 2] = c[j + 4 >> 2]; + c[x + 8 >> 2] = c[j + 8 >> 2]; + c[x + 12 >> 2] = c[j + 12 >> 2]; + c[x + 16 >> 2] = c[j + 16 >> 2]; + c[x + 20 >> 2] = c[j + 20 >> 2]; + c[x + 24 >> 2] = c[j + 24 >> 2]; + c[x + 28 >> 2] = c[j + 28 >> 2]; + SK(e, x); + n = n + 1 | 0 + } + o = c[t >> 2] | 0; + while (1) { + n = o + -1 | 0; + if ((o | 0) <= 0) break; + o = z + 56 + (n << 5) | 0; + c[x >> 2] = c[o >> 2]; + c[x + 4 >> 2] = c[o + 4 >> 2]; + c[x + 8 >> 2] = c[o + 8 >> 2]; + c[x + 12 >> 2] = c[o + 12 >> 2]; + c[x + 16 >> 2] = c[o + 16 >> 2]; + c[x + 20 >> 2] = c[o + 20 >> 2]; + c[x + 24 >> 2] = c[o + 24 >> 2]; + c[x + 28 >> 2] = c[o + 28 >> 2]; + SK(e, x); + o = n + } + if (p) n = sJ(e, A) | 0; else n = yJ(e, A) | 0; + o = c[A >> 2] | 0; + if (!o) break a; + QK(r, c[((c[r >> 2] & 3 | 0) == 2 ? r : r + -48 | 0) + 40 >> 2] | 0, n, o, 17296); + c[q >> 2] = 0 + } + } + Ug(b, d, e, f, g, i, q, (j | 0) == 10 & 1) + } else w = 7; while (0); + if ((w | 0) == 7) Rg(b, f, g, i, q, j); + l = B; + return + } + + function tg(b, d, e, f, g, i, j) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, + z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, + N = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, + aa = 0, ba = 0, ca = 0; + ba = l; + l = l + 2576 | 0; + S = ba + 2528 | 0; + _ = ba + 2568 | 0; + k = ba + 2352 | 0; + n = ba + 2176 | 0; + t = ba + 1904 | 0; + Y = ba + 1808 | 0; + $ = ba + 1712 | 0; + T = ba + 1016 | 0; + U = ba + 320 | 0; + V = ba + 256 | 0; + X = ba + 2564 | 0; + Z = ba + 2560 | 0; + z = ba + 288 | 0; + A = ba + 224 | 0; + L = ba + 192 | 0; + M = ba + 160 | 0; + N = ba + 128 | 0; + P = ba + 96 | 0; + Q = ba + 64 | 0; + R = ba + 32 | 0; + W = ba; + s = t + 16 | 0; + c[s >> 2] = k; + o = Y + 16 | 0; + c[o >> 2] = n; + aa = $ + 16 | 0; + c[aa >> 2] = ba + 2e3; + if (!(c[45964] | 0)) { + c[45964] = vH(32e3) | 0; + c[45965] = vH(32e3) | 0; + c[45966] = 2e3; + c[45967] = 2e3 + } + u = c[f + (g << 2) >> 2] | 0; + K = c[u >> 2] & 3; + p = u + 48 | 0; + q = u + -48 | 0; + K = (c[(c[(c[((K | 0) == 3 ? u : p) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((K | 0) == 2 ? u : q) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0; + r = u + 16 | 0; + if ((((K | 0) > -1 ? K : 0 - K | 0) | 0) <= 1) { + k = c[r >> 2] | 0; + if (!(c[k + 164 >> 2] & 32)) { + K = u; + n = 0 + } else { + n = c[s >> 2] | 0; + F3(n | 0, k | 0, 176) | 0; + w = t; + x = u; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + c[s >> 2] = n; + w = c[t >> 2] & 3; + c[((w | 0) == 3 ? t : t + 48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 2 ? u : q) + 40 >> 2]; + c[((w | 0) == 2 ? t : t + -48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 3 ? u : p) + 40 >> 2]; + w = n + 16 | 0; + x = (c[r >> 2] | 0) + 56 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + k = c[s >> 2] | 0; + w = k + 56 | 0; + x = (c[r >> 2] | 0) + 16 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + a[k + 112 >> 0] = 1; + n = 0; + J = 12 + } + } else { + F3(k | 0, c[r >> 2] | 0, 176) | 0; + w = t; + x = u; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + w = t + 48 | 0; + x = p; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + c[s >> 2] = k; + k = c[r >> 2] | 0; + if (!(c[k + 164 >> 2] & 32)) { + F3(n | 0, k | 0, 176) | 0; + w = Y; + x = u; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + c[o >> 2] = n; + o = c[t >> 2] | 0; + c[((o & 3 | 0) == 3 ? t : t + 48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 3 ? u : p) + 40 >> 2]; + w = Y + 48 | 0; + x = p; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)) + } else { + n = c[o >> 2] | 0; + F3(n | 0, k | 0, 176) | 0; + w = Y; + x = u; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + c[o >> 2] = n; + w = c[Y >> 2] & 3; + c[((w | 0) == 3 ? Y : Y + 48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 2 ? u : q) + 40 >> 2]; + c[((w | 0) == 2 ? Y : Y + -48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 3 ? u : p) + 40 >> 2]; + w = n + 16 | 0; + x = (c[r >> 2] | 0) + 56 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + k = c[o >> 2] | 0; + w = k + 56 | 0; + x = (c[r >> 2] | 0) + 16 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + a[k + 112 >> 0] = 1; + c[k + 116 >> 2] = u; + o = c[t >> 2] | 0; + c[((o & 3 | 0) == 3 ? t : t + 48 | 0) + 40 >> 2] = c[((c[u >> 2] & 3 | 0) == 2 ? u : q) + 40 >> 2]; + w = (c[s >> 2] | 0) + 16 | 0; + x = (c[r >> 2] | 0) + 56 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)) + } + k = rg(u) | 0; + while (1) { + n = c[(c[k + 16 >> 2] | 0) + 172 >> 2] | 0; + if (!n) break; else k = n + } + c[((o & 3 | 0) == 2 ? t : t + -48 | 0) + 40 >> 2] = c[((c[k >> 2] & 3 | 0) == 2 ? k : k + -48 | 0) + 40 >> 2]; + k = c[s >> 2] | 0; + a[k + 84 >> 0] = 0; + a[k + 112 >> 0] = 1; + n = k + 56 | 0; + c[n >> 2] = 0; + c[n + 4 >> 2] = 0; + c[n + 8 >> 2] = 0; + c[n + 12 >> 2] = 0; + n = 1; + J = 12 + } + if ((J | 0) == 12) { + c[k + 116 >> 2] = u; + K = t + } + H = (j | 0) == 2; + if (H ? (v = xg(b, K, c[45964] | 0, _) | 0, c[Z >> 2] = v, (v | 0) != 0) : 0) J = 63; else J = 15; + a:do if ((J | 0) == 15) { + G = (j | 0) == 10; + c[Z >> 2] = 0; + o = c[K >> 2] & 3; + k = c[((o | 0) == 3 ? K : K + 48 | 0) + 40 >> 2] | 0; + o = c[((o | 0) == 2 ? K : K + -48 | 0) + 40 >> 2] | 0; + c[_ >> 2] = o; + yg(z, b, d, k, 0, K); + c[T >> 2] = c[z >> 2]; + c[T + 4 >> 2] = c[z + 4 >> 2]; + c[T + 8 >> 2] = c[z + 8 >> 2]; + c[T + 12 >> 2] = c[z + 12 >> 2]; + c[T + 16 >> 2] = c[z + 16 >> 2]; + c[T + 20 >> 2] = c[z + 20 >> 2]; + c[T + 24 >> 2] = c[z + 24 >> 2]; + c[T + 28 >> 2] = c[z + 28 >> 2]; + c[V >> 2] = c[z >> 2]; + c[V + 4 >> 2] = c[z + 4 >> 2]; + c[V + 8 >> 2] = c[z + 8 >> 2]; + c[V + 12 >> 2] = c[z + 12 >> 2]; + c[V + 16 >> 2] = c[z + 16 >> 2]; + c[V + 20 >> 2] = c[z + 20 >> 2]; + TK(e, K, 1, T, zg(k) | 0); + B = T + 52 | 0; + I = (c[B >> 2] | 0) + -1 | 0; + D = V + 24 | 0; + h[D >> 3] = +h[T + 56 + (I << 5) + 24 >> 3]; + E = V + 8 | 0; + h[E >> 3] = +h[T + 56 + (I << 5) + 8 >> 3]; + I = c[k + 16 >> 2] | 0; + F = b + 16 | 0; + m = +h[I + 24 >> 3] - +h[(c[(c[F >> 2] | 0) + 196 >> 2] | 0) + (c[I + 232 >> 2] << 6) + 16 >> 3]; + c[S >> 2] = c[V >> 2]; + c[S + 4 >> 2] = c[V + 4 >> 2]; + c[S + 8 >> 2] = c[V + 8 >> 2]; + c[S + 12 >> 2] = c[V + 12 >> 2]; + c[S + 16 >> 2] = c[V + 16 >> 2]; + c[S + 20 >> 2] = c[V + 20 >> 2]; + c[S + 24 >> 2] = c[V + 24 >> 2]; + c[S + 28 >> 2] = c[V + 28 >> 2]; + Ag(A, S, 1, m); + 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[V + 16 >> 2] = c[A + 16 >> 2]; + c[V + 20 >> 2] = c[A + 20 >> 2]; + c[V + 24 >> 2] = c[A + 24 >> 2]; + c[V + 28 >> 2] = c[A + 28 >> 2]; + A = V + 16 | 0; + if (+h[V >> 3] < +h[A >> 3] ? +h[E >> 3] < +h[D >> 3] : 0) { + I = c[B >> 2] | 0; + c[B >> 2] = I + 1; + I = T + 56 + (I << 5) | 0; + 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]; + c[I + 16 >> 2] = c[V + 16 >> 2]; + c[I + 20 >> 2] = c[V + 20 >> 2]; + c[I + 24 >> 2] = c[V + 24 >> 2]; + c[I + 28 >> 2] = c[V + 28 >> 2] + } + w = b + 60 | 0; + C = U + 52 | 0; + x = e + 56 | 0; + y = e + 69 | 0; + j = e + 16 | 0; + z = e + 29 | 0; + I = K; + q = 0; + r = -1; + b:while (1) { + s = k; + t = 0; + k = 0; + u = I; + while (1) { + p = o; + v = o; + if ((a[(c[p + 16 >> 2] | 0) + 156 >> 0] | 0) != 1) break b; + if ((kb[c[17300 >> 2] & 63](p) | 0) << 24 >> 24) break b; + o = t | 1; + ca = 150640 + (t << 5) | 0; + Bg(L, d, b, c[(c[s + 16 >> 2] | 0) + 232 >> 2] | 0); + c[ca >> 2] = c[L >> 2]; + c[ca + 4 >> 2] = c[L + 4 >> 2]; + c[ca + 8 >> 2] = c[L + 8 >> 2]; + c[ca + 12 >> 2] = c[L + 12 >> 2]; + c[ca + 16 >> 2] = c[L + 16 >> 2]; + c[ca + 20 >> 2] = c[L + 20 >> 2]; + c[ca + 24 >> 2] = c[L + 24 >> 2]; + c[ca + 28 >> 2] = c[L + 28 >> 2]; + if (!k) { + q = Cg(p) | 0; + k = (q | 0) < ((a[(c[(c[w >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] << 1 & 2) + 3 & 255 | 0); + q = k ? q : q + -2 | 0; + r = k ? r : 1; + k = (k ^ 1) & 1 + } + if (!((k | 0) == 0 | (r | 0) > 0)) break; + ca = 150640 + (o << 5) | 0; + yg(M, b, d, p, u, c[c[(c[p + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0); + c[ca >> 2] = c[M >> 2]; + c[ca + 4 >> 2] = c[M + 4 >> 2]; + c[ca + 8 >> 2] = c[M + 8 >> 2]; + c[ca + 12 >> 2] = c[M + 12 >> 2]; + c[ca + 16 >> 2] = c[M + 16 >> 2]; + c[ca + 20 >> 2] = c[M + 20 >> 2]; + c[ca + 24 >> 2] = c[M + 24 >> 2]; + c[ca + 28 >> 2] = c[M + 28 >> 2]; + ca = c[c[(c[v + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0; + o = c[ca >> 2] & 3; + s = c[((o | 0) == 3 ? ca : ca + 48 | 0) + 40 >> 2] | 0; + o = c[((o | 0) == 2 ? ca : ca + -48 | 0) + 40 >> 2] | 0; + c[_ >> 2] = o; + t = t + 2 | 0; + r = r + -1 | 0; + u = ca + } + yg(N, b, d, p, u, c[c[(c[p + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0); + c[U >> 2] = c[N >> 2]; + c[U + 4 >> 2] = c[N + 4 >> 2]; + c[U + 8 >> 2] = c[N + 8 >> 2]; + c[U + 12 >> 2] = c[N + 12 >> 2]; + c[U + 16 >> 2] = c[N + 16 >> 2]; + c[U + 20 >> 2] = c[N + 20 >> 2]; + c[U + 24 >> 2] = c[N + 24 >> 2]; + c[U + 28 >> 2] = c[N + 28 >> 2]; + WK(e, u, 1, U, zg(c[((c[u >> 2] & 3 | 0) == 2 ? u : u + -48 | 0) + 40 >> 2] | 0) | 0); + ca = U + 56 + ((c[C >> 2] | 0) + -1 << 5) | 0; + t = c[v + 16 >> 2] | 0; + m = +h[(c[(c[F >> 2] | 0) + 196 >> 2] | 0) + (c[t + 232 >> 2] << 6) + 24 >> 3] + +h[t + 24 >> 3]; + c[S >> 2] = c[ca >> 2]; + c[S + 4 >> 2] = c[ca + 4 >> 2]; + c[S + 8 >> 2] = c[ca + 8 >> 2]; + c[S + 12 >> 2] = c[ca + 12 >> 2]; + c[S + 16 >> 2] = c[ca + 16 >> 2]; + c[S + 20 >> 2] = c[ca + 20 >> 2]; + c[S + 24 >> 2] = c[ca + 24 >> 2]; + c[S + 28 >> 2] = c[ca + 28 >> 2]; + Ag(V, S, 4, m); + if (+h[V >> 3] < +h[A >> 3] ? +h[E >> 3] < +h[D >> 3] : 0) { + ca = c[C >> 2] | 0; + c[C >> 2] = ca + 1; + ca = U + 56 + (ca << 5) | 0; + c[ca >> 2] = c[V >> 2]; + c[ca + 4 >> 2] = c[V + 4 >> 2]; + c[ca + 8 >> 2] = c[V + 8 >> 2]; + c[ca + 12 >> 2] = c[V + 12 >> 2]; + c[ca + 16 >> 2] = c[V + 16 >> 2]; + c[ca + 20 >> 2] = c[V + 20 >> 2]; + c[ca + 24 >> 2] = c[V + 24 >> 2]; + c[ca + 28 >> 2] = c[V + 28 >> 2] + } + h[x >> 3] = 1.5707963267948966; + a[y >> 0] = 1; + Dg(e, I, u, T, U, o); + if (!G) { + k = yJ(e, X) | 0; + o = c[X >> 2] | 0; + if (H & (o | 0) > 4) { + ca = k + 16 | 0; + c[ca >> 2] = c[k >> 2]; + c[ca + 4 >> 2] = c[k + 4 >> 2]; + c[ca + 8 >> 2] = c[k + 8 >> 2]; + c[ca + 12 >> 2] = c[k + 12 >> 2]; + ca = k + 32 | 0; + o = k + (o + -1 << 4) | 0; + c[ca >> 2] = c[o >> 2]; + c[ca + 4 >> 2] = c[o + 4 >> 2]; + c[ca + 8 >> 2] = c[o + 8 >> 2]; + c[ca + 12 >> 2] = c[o + 12 >> 2]; + G3(k + 48 | 0, o | 0, 16) | 0; + c[X >> 2] = 4; + o = 4 + } else J = 33 + } else { + k = sJ(e, X) | 0; + o = c[X >> 2] | 0; + J = 33 + } + if ((J | 0) == 33) { + J = 0; + if (!o) break a + } + u = c[Z >> 2] | 0; + p = u + o | 0; + if ((p | 0) > (c[45966] | 0)) { + c[45966] = p << 1; + t = xH(c[45964] | 0, p << 5) | 0; + c[45964] = t; + o = c[X >> 2] | 0 + } else t = c[45964] | 0; + s = 0; + p = u; + while (1) { + if ((s | 0) >= (o | 0)) break; + ca = t + (p << 4) | 0; + u = k + (s << 4) | 0; + c[ca >> 2] = c[u >> 2]; + c[ca + 4 >> 2] = c[u + 4 >> 2]; + c[ca + 8 >> 2] = c[u + 8 >> 2]; + c[ca + 12 >> 2] = c[u + 12 >> 2]; + s = s + 1 | 0; + p = p + 1 | 0 + } + c[Z >> 2] = p; + o = Eg(c[c[(c[v + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0, q, t, Z) | 0; + Fg(I, e); + p = c[o >> 2] & 3; + k = c[((p | 0) == 3 ? o : o + 48 | 0) + 40 >> 2] | 0; + p = c[((p | 0) == 2 ? o : o + -48 | 0) + 40 >> 2] | 0; + c[_ >> 2] = p; + I = k + 16 | 0; + yg(P, b, d, k, c[c[(c[I >> 2] | 0) + 172 >> 2] >> 2] | 0, o); + 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]; + c[T + 16 >> 2] = c[P + 16 >> 2]; + c[T + 20 >> 2] = c[P + 20 >> 2]; + c[T + 24 >> 2] = c[P + 24 >> 2]; + c[T + 28 >> 2] = c[P + 28 >> 2]; + TK(e, o, 1, T, zg(k) | 0); + ca = T + 56 + ((c[B >> 2] | 0) + -1 << 5) | 0; + I = c[I >> 2] | 0; + m = +h[I + 24 >> 3] - +h[(c[(c[F >> 2] | 0) + 196 >> 2] | 0) + (c[I + 232 >> 2] << 6) + 16 >> 3]; + c[S >> 2] = c[ca >> 2]; + c[S + 4 >> 2] = c[ca + 4 >> 2]; + c[S + 8 >> 2] = c[ca + 8 >> 2]; + c[S + 12 >> 2] = c[ca + 12 >> 2]; + c[S + 16 >> 2] = c[ca + 16 >> 2]; + c[S + 20 >> 2] = c[ca + 20 >> 2]; + c[S + 24 >> 2] = c[ca + 24 >> 2]; + c[S + 28 >> 2] = c[ca + 28 >> 2]; + Ag(V, S, 1, m); + if (+h[V >> 3] < +h[A >> 3] ? +h[E >> 3] < +h[D >> 3] : 0) { + ca = c[B >> 2] | 0; + c[B >> 2] = ca + 1; + ca = T + 56 + (ca << 5) | 0; + c[ca >> 2] = c[V >> 2]; + c[ca + 4 >> 2] = c[V + 4 >> 2]; + c[ca + 8 >> 2] = c[V + 8 >> 2]; + c[ca + 12 >> 2] = c[V + 12 >> 2]; + c[ca + 16 >> 2] = c[V + 16 >> 2]; + c[ca + 20 >> 2] = c[V + 20 >> 2]; + c[ca + 24 >> 2] = c[V + 24 >> 2]; + c[ca + 28 >> 2] = c[V + 28 >> 2] + } + h[j >> 3] = -1.5707963267948966; + a[z >> 0] = 1; + I = o; + o = p + } + k = t | 1; + r = 150640 + (t << 5) | 0; + Bg(Q, d, b, c[(c[s + 16 >> 2] | 0) + 232 >> 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[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]; + yg(R, b, d, p, u, 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]; + c[U + 16 >> 2] = c[R + 16 >> 2]; + c[U + 20 >> 2] = c[R + 20 >> 2]; + c[U + 24 >> 2] = c[R + 24 >> 2]; + c[U + 28 >> 2] = c[R + 28 >> 2]; + 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[V + 16 >> 2] = c[R + 16 >> 2]; + c[V + 20 >> 2] = c[R + 20 >> 2]; + c[V + 24 >> 2] = c[R + 24 >> 2]; + c[V + 28 >> 2] = c[R + 28 >> 2]; + r = (n | 0) != 0; + s = u + -48 | 0; + WK(e, r ? Y : u, 1, U, zg(c[((c[u >> 2] & 3 | 0) == 2 ? u : s) + 40 >> 2] | 0) | 0); + ca = (c[C >> 2] | 0) + -1 | 0; + h[D >> 3] = +h[U + 56 + (ca << 5) + 24 >> 3]; + h[E >> 3] = +h[U + 56 + (ca << 5) + 8 >> 3]; + ca = c[v + 16 >> 2] | 0; + m = +h[(c[(c[F >> 2] | 0) + 196 >> 2] | 0) + (c[ca + 232 >> 2] << 6) + 24 >> 3] + +h[ca + 24 >> 3]; + c[S >> 2] = c[V >> 2]; + c[S + 4 >> 2] = c[V + 4 >> 2]; + c[S + 8 >> 2] = c[V + 8 >> 2]; + c[S + 12 >> 2] = c[V + 12 >> 2]; + c[S + 16 >> 2] = c[V + 16 >> 2]; + c[S + 20 >> 2] = c[V + 20 >> 2]; + c[S + 24 >> 2] = c[V + 24 >> 2]; + c[S + 28 >> 2] = c[V + 28 >> 2]; + Ag(W, S, 4, m); + 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[V + 16 >> 2] = c[W + 16 >> 2]; + c[V + 20 >> 2] = c[W + 20 >> 2]; + c[V + 24 >> 2] = c[W + 24 >> 2]; + c[V + 28 >> 2] = c[W + 28 >> 2]; + if (+h[V >> 3] < +h[A >> 3] ? +h[E >> 3] < +h[D >> 3] : 0) { + ca = c[C >> 2] | 0; + c[C >> 2] = ca + 1; + ca = U + 56 + (ca << 5) | 0; + c[ca >> 2] = c[V >> 2]; + c[ca + 4 >> 2] = c[V + 4 >> 2]; + c[ca + 8 >> 2] = c[V + 8 >> 2]; + c[ca + 12 >> 2] = c[V + 12 >> 2]; + c[ca + 16 >> 2] = c[V + 16 >> 2]; + c[ca + 20 >> 2] = c[V + 20 >> 2]; + c[ca + 24 >> 2] = c[V + 24 >> 2]; + c[ca + 28 >> 2] = c[V + 28 >> 2] + } + Dg(e, I, u, T, U, k); + if (G) q = sJ(e, X) | 0; else q = yJ(e, X) | 0; + k = c[X >> 2] | 0; + if (!(H & (k | 0) > 4)) { + if (!k) break + } else { + ca = q + 16 | 0; + c[ca >> 2] = c[q >> 2]; + c[ca + 4 >> 2] = c[q + 4 >> 2]; + c[ca + 8 >> 2] = c[q + 8 >> 2]; + c[ca + 12 >> 2] = c[q + 12 >> 2]; + ca = q + 32 | 0; + k = q + (k + -1 << 4) | 0; + c[ca >> 2] = c[k >> 2]; + c[ca + 4 >> 2] = c[k + 4 >> 2]; + c[ca + 8 >> 2] = c[k + 8 >> 2]; + c[ca + 12 >> 2] = c[k + 12 >> 2]; + G3(q + 48 | 0, k | 0, 16) | 0; + c[X >> 2] = 4; + k = 4 + } + o = c[Z >> 2] | 0; + n = o + k | 0; + if ((n | 0) > (c[45966] | 0)) { + c[45966] = n << 1; + p = xH(c[45964] | 0, n << 5) | 0; + c[45964] = p; + k = c[X >> 2] | 0 + } else p = c[45964] | 0; + n = 0; + while (1) { + if ((n | 0) >= (k | 0)) break; + ca = p + (o << 4) | 0; + X = q + (n << 4) | 0; + c[ca >> 2] = c[X >> 2]; + c[ca + 4 >> 2] = c[X + 4 >> 2]; + c[ca + 8 >> 2] = c[X + 8 >> 2]; + c[ca + 12 >> 2] = c[X + 12 >> 2]; + n = n + 1 | 0; + o = o + 1 | 0 + } + c[Z >> 2] = o; + Fg(I, e); + if (r) k = (c[Y >> 2] & 3 | 0) == 2 ? Y : Y + -48 | 0; else k = (c[u >> 2] & 3 | 0) == 2 ? u : s; + c[_ >> 2] = c[k + 40 >> 2]; + v = o; + J = 63 + } while (0); + c:do if ((J | 0) == 63) { + if ((i | 0) == 1) { + QK(K, c[_ >> 2] | 0, c[45964] | 0, v, 17296); + break + } + t = d + 12 | 0; + u = v + -1 | 0; + m = +((O(c[t >> 2] | 0, i + -1 | 0) | 0) / 2 | 0 | 0); + n = c[45964] | 0; + k = 1; + while (1) { + if ((k | 0) >= (u | 0)) break; + ca = n + (k << 4) | 0; + h[ca >> 3] = +h[ca >> 3] - m; + k = k + 1 | 0 + } + k = c[45966] | 0; + if ((k | 0) > (c[45967] | 0)) { + c[45967] = k; + o = xH(c[45965] | 0, k << 4) | 0; + c[45965] = o; + n = c[45964] | 0 + } else o = c[45965] | 0; + k = 0; + while (1) { + if ((k | 0) >= (v | 0)) break; + ca = o + (k << 4) | 0; + d = n + (k << 4) | 0; + c[ca >> 2] = c[d >> 2]; + c[ca + 4 >> 2] = c[d + 4 >> 2]; + c[ca + 8 >> 2] = c[d + 8 >> 2]; + c[ca + 12 >> 2] = c[d + 12 >> 2]; + k = k + 1 | 0 + } + QK(K, c[_ >> 2] | 0, o, v, 17296); + r = $ + 48 | 0; + s = $ + -48 | 0; + q = 1; + while (1) { + if ((q | 0) >= (i | 0)) break c; + o = c[f + (q + g << 2) >> 2] | 0; + p = o + 16 | 0; + k = c[p >> 2] | 0; + if (c[k + 164 >> 2] & 32) { + n = c[aa >> 2] | 0; + F3(n | 0, k | 0, 176) | 0; + w = $; + x = o; + y = w + 48 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + c[aa >> 2] = n; + w = c[$ >> 2] & 3; + c[((w | 0) == 3 ? $ : r) + 40 >> 2] = c[((c[o >> 2] & 3 | 0) == 2 ? o : o + -48 | 0) + 40 >> 2]; + c[((w | 0) == 2 ? $ : s) + 40 >> 2] = c[((c[o >> 2] & 3 | 0) == 3 ? o : o + 48 | 0) + 40 >> 2]; + w = n + 16 | 0; + x = (c[p >> 2] | 0) + 56 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + k = c[aa >> 2] | 0; + w = k + 56 | 0; + x = (c[p >> 2] | 0) + 16 | 0; + y = w + 40 | 0; + do { + c[w >> 2] = c[x >> 2]; + w = w + 4 | 0; + x = x + 4 | 0 + } while ((w | 0) < (y | 0)); + a[k + 112 >> 0] = 1; + c[k + 116 >> 2] = o; + o = $ + } + p = c[45964] | 0; + k = 1; + while (1) { + if ((k | 0) >= (u | 0)) break; + ca = p + (k << 4) | 0; + h[ca >> 3] = +h[ca >> 3] + +(c[t >> 2] | 0); + k = k + 1 | 0 + } + n = c[45965] | 0; + k = 0; + while (1) { + if ((k | 0) >= (v | 0)) break; + ca = n + (k << 4) | 0; + _ = p + (k << 4) | 0; + c[ca >> 2] = c[_ >> 2]; + c[ca + 4 >> 2] = c[_ + 4 >> 2]; + c[ca + 8 >> 2] = c[_ + 8 >> 2]; + c[ca + 12 >> 2] = c[_ + 12 >> 2]; + k = k + 1 | 0 + } + QK(o, c[((c[o >> 2] & 3 | 0) == 2 ? o : o + -48 | 0) + 40 >> 2] | 0, n, v, 17296); + q = q + 1 | 0 + } + } while (0); + l = ba; + return + } + + function ug(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + if ((kb[c[4324] & 63](d) | 0) << 24 >> 24 ? (e = c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0, e | 0) : 0) vg(e); + d = Gx(a, d) | 0 + } + b = Ty(a, b) | 0 + } + return + } + + function vg(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = c[a + 4 >> 2] | 0; + g = vH(f * 48 | 0) | 0; + b = g; + d = 0; + e = (c[a >> 2] | 0) + ((f + -1 | 0) * 48 | 0) | 0; + while (1) { + if ((d | 0) >= (f | 0)) { + b = 0; + break + } + wg(e, b); + b = b + 48 | 0; + d = d + 1 | 0; + e = e + -48 | 0 + } + while (1) { + d = c[a >> 2] | 0; + if ((b | 0) >= (f | 0)) break; + D_(c[d + (b * 48 | 0) >> 2] | 0); + b = b + 1 | 0 + } + D_(d); + c[a >> 2] = g; + return + } + + function wg(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = c[a + 4 >> 2] | 0; + h = vH(g << 4) | 0; + d = h; + e = 0; + f = (c[a >> 2] | 0) + (g + -1 << 4) | 0; + while (1) { + if ((e | 0) >= (g | 0)) break; + c[d >> 2] = c[f >> 2]; + c[d + 4 >> 2] = c[f + 4 >> 2]; + c[d + 8 >> 2] = c[f + 8 >> 2]; + c[d + 12 >> 2] = c[f + 12 >> 2]; + d = d + 16 | 0; + e = e + 1 | 0; + f = f + -16 | 0 + } + c[b >> 2] = h; + c[b + 4 >> 2] = g; + c[b + 8 >> 2] = c[a + 12 >> 2]; + c[b + 12 >> 2] = c[a + 8 >> 2]; + h = b + 16 | 0; + g = a + 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 = b + 32 | 0; + g = a + 16 | 0; + c[h >> 2] = c[g >> 2]; + c[h + 4 >> 2] = c[g + 4 >> 2]; + c[h + 8 >> 2] = c[g + 8 >> 2]; + c[h + 12 >> 2] = c[g + 12 >> 2]; + return + } + + function xg(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0; + x = l; + l = l + 96 | 0; + q = x + 80 | 0; + s = x + 64 | 0; + r = x + 48 | 0; + u = x + 32 | 0; + v = x + 16 | 0; + w = x; + m = d; + while (1) { + t = m + 16 | 0; + g = c[t >> 2] | 0; + if (!(a[g + 112 >> 0] | 0)) break; + m = c[g + 116 >> 2] | 0 + } + g = c[m >> 2] & 3; + o = c[((g | 0) == 2 ? m : m + -48 | 0) + 40 >> 2] | 0; + g = c[((g | 0) == 3 ? m : m + 48 | 0) + 40 >> 2] | 0; + m = o + 16 | 0; + n = g + 16 | 0; + y = (c[(c[m >> 2] | 0) + 232 >> 2] | 0) - (c[(c[n >> 2] | 0) + 232 >> 2] | 0) | 0; + switch (((y | 0) > -1 ? y : 0 - y | 0) | 0) { + case 1: { + g = 0; + break + } + case 2: { + if (!(a[(c[(c[b + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1)) p = 6; else g = 0; + break + } + default: + p = 6 + } + do if ((p | 0) == 6) { + if ((c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) == (g | 0)) { + c[f >> 2] = o; + y = (c[n >> 2] | 0) + 16 | 0; + p = (c[t >> 2] | 0) + 16 | 0; + c[s >> 2] = c[y >> 2]; + c[s + 4 >> 2] = c[y + 4 >> 2]; + c[s + 8 >> 2] = c[y + 8 >> 2]; + c[s + 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]; + Pg(u, s, q); + p = (c[m >> 2] | 0) + 16 | 0; + y = (c[t >> 2] | 0) + 56 | 0; + 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]; + 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]; + Pg(v, s, q) + } else { + c[f >> 2] = g; + y = (c[m >> 2] | 0) + 16 | 0; + p = (c[t >> 2] | 0) + 56 | 0; + c[s >> 2] = c[y >> 2]; + c[s + 4 >> 2] = c[y + 4 >> 2]; + c[s + 8 >> 2] = c[y + 8 >> 2]; + c[s + 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]; + Pg(u, s, q); + p = (c[n >> 2] | 0) + 16 | 0; + y = (c[t >> 2] | 0) + 16 | 0; + 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]; + 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]; + Pg(v, s, q) + } + g = c[(c[t >> 2] | 0) + 96 >> 2] | 0; + if (!g) { + g = e + 16 | 0; + c[e >> 2] = c[u >> 2]; + c[e + 4 >> 2] = c[u + 4 >> 2]; + c[e + 8 >> 2] = c[u + 8 >> 2]; + c[e + 12 >> 2] = c[u + 12 >> 2]; + c[g >> 2] = c[u >> 2]; + c[g + 4 >> 2] = c[u + 4 >> 2]; + c[g + 8 >> 2] = c[u + 8 >> 2]; + c[g + 12 >> 2] = c[u + 12 >> 2]; + g = e + 48 | 0; + y = e + 32 | 0; + 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]; + 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]; + g = 4; + break + } + j = +h[g + 24 >> 3]; + i = +h[g + 32 >> 3]; + p = (c[(c[(ez(o) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + k = p ? i : j; + y = (c[(c[t >> 2] | 0) + 96 >> 2] | 0) + 56 | 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[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[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[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 = (Qg(r, s, q) | 0) == 0; + i = (p ? j : i) * .5; + j = +h[w >> 3]; + if (y) { + h[w >> 3] = j - i; + y = w + 8 | 0; + h[y >> 3] = +h[y >> 3] + k * .5 + } else { + h[w >> 3] = j + i; + y = w + 8 | 0; + h[y >> 3] = +h[y >> 3] - k * .5 + } + g = e + 16 | 0; + c[e >> 2] = c[u >> 2]; + c[e + 4 >> 2] = c[u + 4 >> 2]; + c[e + 8 >> 2] = c[u + 8 >> 2]; + c[e + 12 >> 2] = c[u + 12 >> 2]; + c[g >> 2] = c[u >> 2]; + c[g + 4 >> 2] = c[u + 4 >> 2]; + c[g + 8 >> 2] = c[u + 8 >> 2]; + c[g + 12 >> 2] = c[u + 12 >> 2]; + g = e + 32 | 0; + y = e + 48 | 0; + u = e + 64 | 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[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]; + 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]; + g = e + 80 | 0; + y = e + 96 | 0; + 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]; + 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]; + g = 7 + } while (0); + l = x; + return g | 0 + } + + function yg(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0, l = 0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0; + q = c[f + 16 >> 2] | 0; + p = +h[q + 16 >> 3]; + j = p - +h[q + 88 >> 3]; + m = j + -4.0; + l = Lg(d, f, g, i, -1) | 0; + if (!l) { + n = ~~(j + (m >= 0.0 ? -3.5 : -4.5)); + k = c[e >> 2] | 0; + k = (k | 0) > (n | 0) ? n : k + } else { + k = Mg(d, f, l) | 0; + do if (!k) { + n = c[l + 16 >> 2] | 0; + j = +h[n + 240 >> 3] + +h[n + 16 >> 3]; + if (!(a[n + 156 >> 0] | 0)) { + j = +(c[(c[d + 16 >> 2] | 0) + 248 >> 2] | 0) * .5 + j; + break + } else { + j = j + +(c[e + 8 >> 2] | 0); + break + } + } else j = +h[(c[k + 16 >> 2] | 0) + 32 >> 3] + +(c[e + 8 >> 2] | 0); while (0); + o = j < m ? j : m; + k = ~~(o + (o >= 0.0 ? .5 : -.5)) + } + o = +(k | 0); + n = (a[q + 156 >> 0] | 0) == 1; + if (n ? (c[q + 104 >> 2] | 0) != 0 : 0) m = p + 10.0; else m = p + 4.0 + +h[q + 96 >> 3]; + l = Lg(d, f, g, i, 1) | 0; + if (!l) { + f = ~~(m + (m >= 0.0 ? .5 : -.5)); + k = c[e + 4 >> 2] | 0; + k = (k | 0) < (f | 0) ? f : k + } else { + k = Mg(d, f, l) | 0; + do if (!k) { + f = c[l + 16 >> 2] | 0; + j = +h[f + 16 >> 3] - +h[f + 88 >> 3]; + if (!(a[f + 156 >> 0] | 0)) { + j = j - +(c[(c[d + 16 >> 2] | 0) + 248 >> 2] | 0) * .5; + break + } else { + j = j - +(c[e + 8 >> 2] | 0); + break + } + } else j = +h[(c[k + 16 >> 2] | 0) + 16 >> 3] - +(c[e + 8 >> 2] | 0); while (0); + m = j > m ? j : m; + k = ~~(m + (m >= 0.0 ? .5 : -.5)) + } + j = +(k | 0); + if (n ? (c[q + 104 >> 2] | 0) != 0 : 0) { + j = j - +h[q + 96 >> 3]; + if (j < o) j = p + } + p = +h[q + 24 >> 3]; + d = c[(c[d + 16 >> 2] | 0) + 196 >> 2] | 0; + q = c[q + 232 >> 2] | 0; + m = p - +h[d + (q << 6) + 16 >> 3]; + p = +h[d + (q << 6) + 24 >> 3] + p; + h[b >> 3] = o; + h[b + 8 >> 3] = m; + h[b + 16 >> 3] = j; + h[b + 24 >> 3] = p; + return + } + + function zg(b) { + b = b | 0; + b = c[b + 16 >> 2] | 0; + if ((a[b + 156 >> 0] | 0) == 1) if ((c[b + 176 >> 2] | 0) > 1) b = 1; else b = (c[b + 184 >> 2] | 0) > 1 & 1; else b = 0; + return b | 0 + } + + function Ag(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + var f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g; + switch (d | 0) { + case 1: { + Kg(f, +h[b >> 3], e, +h[b + 16 >> 3], +h[b + 8 >> 3]); + break + } + case 4: { + Kg(f, +h[b >> 3], +h[b + 24 >> 3], +h[b + 16 >> 3], e); + break + } + default: { + } + } + 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]; + l = g; + return + } + + function Bg(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0, n = 0, o = 0; + l = c[b + 16 >> 2] | 0; + k = l + (e << 5) | 0; + j = +h[k >> 3]; + m = l + (e << 5) + 8 | 0; + g = +h[m >> 3]; + n = l + (e << 5) + 16 | 0; + f = +h[n >> 3]; + l = l + (e << 5) + 24 | 0; + i = +h[l >> 3]; + if (j == f) { + d = c[(c[d + 16 >> 2] | 0) + 196 >> 2] | 0; + o = e + 1 | 0; + j = +(c[b >> 2] | 0); + g = +h[d + (o << 6) + 24 >> 3] + +h[(c[(c[c[d + (o << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]; + f = +(c[b + 4 >> 2] | 0); + i = +h[(c[(c[c[d + (e << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - +h[d + (e << 6) + 16 >> 3]; + h[k >> 3] = j; + h[m >> 3] = g; + h[n >> 3] = f; + h[l >> 3] = i + } + h[a >> 3] = j; + h[a + 8 >> 3] = g; + h[a + 16 >> 3] = f; + h[a + 24 >> 3] = i; + return + } + + function Cg(b) { + b = b | 0; + var d = 0, e = 0; + b = c[b + 16 >> 2] | 0; + e = b + 16 | 0; + d = 0; + while (1) { + b = c[c[b + 180 >> 2] >> 2] | 0; + b = c[(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[b + 156 >> 0] | 0) != 1) break; + if ((c[b + 184 >> 2] | 0) != 1) break; + if ((c[b + 176 >> 2] | 0) != 1) break; + if (+h[b + 16 >> 3] != +h[e >> 3]) break; + d = d + 1 | 0 + } + return d | 0 + } + + function Dg(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; + k = l; + l = l + 32 | 0; + j = k; + h = Hg(b, -1) | 0; + b = Hg(b, 1) | 0; + if (!((h | 0) != 0 ? !(fL(h) | 0) : 0)) i = 3; + do if ((i | 0) == 3) { + if (b | 0 ? (fL(b) | 0) == 0 : 0) break; + h = Ig(d, -1) | 0; + b = Ig(d, 1) | 0; + if (h | 0 ? (fL(h) | 0) == 0 : 0) break; + if (b | 0 ? (fL(b) | 0) == 0 : 0) break; + h = e + 52 | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[h >> 2] | 0)) break; + d = e + 56 + (b << 5) | 0; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + c[j + 16 >> 2] = c[d + 16 >> 2]; + c[j + 20 >> 2] = c[d + 20 >> 2]; + c[j + 24 >> 2] = c[d + 24 >> 2]; + c[j + 28 >> 2] = c[d + 28 >> 2]; + SK(a, j); + b = b + 1 | 0 + } + h = c[a + 80 >> 2] | 0; + i = g + -3 | 0; + b = 0; + while (1) { + if ((b | 0) >= (g | 0)) break; + e = 150640 + (b << 5) | 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[j + 16 >> 2] = c[e + 16 >> 2]; + c[j + 20 >> 2] = c[e + 20 >> 2]; + c[j + 24 >> 2] = c[e + 24 >> 2]; + c[j + 28 >> 2] = c[e + 28 >> 2]; + SK(a, j); + b = b + 1 | 0 + } + d = h + 1 | 0; + i = i + d | 0; + h = c[f + 52 >> 2] | 0; + while (1) { + b = h + -1 | 0; + if ((h | 0) <= 0) break; + h = f + 56 + (b << 5) | 0; + c[j >> 2] = c[h >> 2]; + c[j + 4 >> 2] = c[h + 4 >> 2]; + c[j + 8 >> 2] = c[h + 8 >> 2]; + c[j + 12 >> 2] = c[h + 12 >> 2]; + c[j + 16 >> 2] = c[h + 16 >> 2]; + c[j + 20 >> 2] = c[h + 20 >> 2]; + c[j + 24 >> 2] = c[h + 24 >> 2]; + c[j + 28 >> 2] = c[h + 28 >> 2]; + SK(a, j); + h = b + } + Jg(a, d, i) + } while (0); + l = k; + return + } + + function Eg(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = c[e >> 2] | 0; + while (1) { + if (!b) break; + a = c[c[(c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0; + b = b + -1 | 0 + } + c[e >> 2] = f + 1; + g = d + (f << 4) | 0; + b = d + (f + -1 << 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]; + f = c[e >> 2] | 0; + c[e >> 2] = f + 1; + f = d + (f << 4) | 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 = d + (c[e >> 2] << 4) | 0; + e = (c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 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]; + return a | 0 + } + + function Fg(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0; + m = d + 84 | 0; + l = d + 80 | 0; + e = 0; + d = b; + a:while (1) { + j = c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + k = j + 16 | 0; + if ((a[(c[k >> 2] | 0) + 156 >> 0] | 0) != 1) break; + if ((kb[c[17300 >> 2] & 63](j) | 0) << 24 >> 24) break; + d = c[l >> 2] | 0; + while (1) { + if ((e | 0) >= (d | 0)) break a; + if (!(+h[(c[m >> 2] | 0) + (e << 5) + 8 >> 3] > +h[(c[k >> 2] | 0) + 24 >> 3])) break; + e = e + 1 | 0 + } + d = c[m >> 2] | 0; + b = c[k >> 2] | 0; + do if (!(+h[d + (e << 5) + 24 >> 3] < +h[b + 24 >> 3])) { + g = +h[d + (e << 5) >> 3]; + i = ~~g; + f = +h[d + (e << 5) + 16 >> 3]; + if (!(c[b + 104 >> 2] | 0)) { + Gg(j, i, ~~((f + g) * .5), ~~f); + break + } else { + Gg(j, i, ~~f, ~~(+h[b + 96 >> 3] + f)); + break + } + } while (0); + d = c[c[(c[k >> 2] | 0) + 180 >> 2] >> 2] | 0 + } + return + } + + function Gg(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[a + 16 >> 2] | 0; + h[a + 16 >> 3] = +(d | 0); + h[a + 88 >> 3] = +(d - b | 0); + h[a + 96 >> 3] = +(e - d | 0); + return + } + + function Hg(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = c[a >> 2] & 3; + i = c[(c[(c[((h | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] | 0; + h = ((h | 0) == 2 ? a : a + -48 | 0) + 40 | 0; + g = 0; + a = 0; + while (1) { + e = c[i + (g << 2) >> 2] | 0; + if (!e) break; + f = c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + do if ((O(f - (c[(c[(c[h >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) | 0, b) | 0) >= 1) { + d = c[e + 16 >> 2] | 0; + if (!(c[d + 8 >> 2] | 0)) { + d = c[d + 116 >> 2] | 0; + if (!d) break; + if (!(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0)) break + } + if (a | 0 ? (O((c[(c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - f | 0, b) | 0) <= 0 : 0) break; + a = e + } while (0); + g = g + 1 | 0 + } + return a | 0 + } + + function Ig(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = c[a >> 2] & 3; + i = c[(c[(c[((h | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 >> 2] | 0; + h = ((h | 0) == 3 ? a : a + 48 | 0) + 40 | 0; + g = 0; + a = 0; + while (1) { + e = c[i + (g << 2) >> 2] | 0; + if (!e) break; + f = c[(c[(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + do if ((O(f - (c[(c[(c[h >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) | 0, b) | 0) >= 1) { + d = c[e + 16 >> 2] | 0; + if (!(c[d + 8 >> 2] | 0)) { + d = c[d + 116 >> 2] | 0; + if (!d) break; + if (!(c[(c[d + 16 >> 2] | 0) + 8 >> 2] | 0)) break + } + if (a | 0 ? (O((c[(c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - f | 0, b) | 0) <= 0 : 0) break; + a = e + } while (0); + g = g + 1 | 0 + } + return a | 0 + } + + function Jg(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0; + l = a + 84 | 0; + i = b + -1 | 0; + while (1) { + if ((i | 0) > (d | 0)) break; + f = c[l >> 2] | 0; + j = f + (i << 5) | 0; + e = +h[j >> 3]; + if (!(i - b & 1)) { + f = f + (i << 5) + 16 | 0; + m = +h[f >> 3]; + g = ~~((m + e) * .5); + if (e >= m) { + h[j >> 3] = +(g + -8 | 0); + h[f >> 3] = +(g + 8 | 0) + } + } else { + f = f + (i << 5) + 16 | 0; + m = +h[f >> 3]; + g = ~~((m + e) * .5); + if (e + 16.0 > m) { + h[j >> 3] = +(g + -8 | 0); + h[f >> 3] = +(g + 8 | 0) + } + } + i = i + 1 | 0 + } + k = (c[a + 80 >> 2] | 0) + -1 | 0; + g = 0; + while (1) { + if ((g | 0) >= (k | 0)) break; + i = c[l >> 2] | 0; + f = i + (g << 5) | 0; + j = g + 1 | 0; + a = i + (j << 5) | 0; + if (!((g | 0) < (b | 0) | (g | 0) > (d | 0)) ? (g - b & 1 | 0) == 0 : 0) { + e = +h[f >> 3] + 16.0; + f = i + (j << 5) + 16 | 0; + if (e > +h[f >> 3]) h[f >> 3] = e; + e = +h[i + (g << 5) + 16 >> 3] + -16.0; + if (!(e < +h[a >> 3])) { + g = j; + continue + } + h[a >> 3] = e; + g = j; + continue + } + if (!((g | 0) < (d | 0) & (j | 0) >= (b | 0))) { + g = j; + continue + } + if (j - b & 1 | 0) { + g = j; + continue + } + e = +h[i + (j << 5) + 16 >> 3]; + if (+h[f >> 3] + 16.0 > e) h[f >> 3] = e + -16.0; + f = i + (g << 5) + 16 | 0; + e = +h[a >> 3]; + if (!(+h[f >> 3] + -16.0 < e)) { + g = j; + continue + } + h[f >> 3] = e + 16.0; + g = j + } + return + } + + function Kg(a, b, c, d, e) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + h[a + 16 >> 3] = d; + h[a + 24 >> 3] = e; + return + } + + function Lg(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + k = c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0; + h = c[d + 16 >> 2] | 0; + j = c[h + 232 >> 2] | 0; + i = k + (j << 6) | 0; + j = k + (j << 6) + 4 | 0; + h = c[h + 236 >> 2] | 0; + a:do { + h = h + g | 0; + if ((h | 0) <= -1) { + b = 0; + break + } + if ((h | 0) >= (c[i >> 2] | 0)) { + b = 0; + break + } + b = c[(c[j >> 2] | 0) + (h << 2) >> 2] | 0; + k = c[b + 16 >> 2] | 0; + switch (a[k + 156 >> 0] | 0) { + case 0: + break a; + case 1: { + if (c[k + 104 >> 2] | 0) break a; + break + } + default: { + } + } + } while ((Og(b, d, e, f) | 0) << 24 >> 24 != 0); + return b | 0 + } + + function Mg(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + d = c[d + 16 >> 2] | 0; + if (!(a[d + 156 >> 0] | 0)) { + i = c[d + 212 >> 2] | 0; + h = i + } else { + i = c[(c[(c[c[d + 180 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 116 >> 2] | 0; + g = c[i >> 2] & 3; + h = c[(c[(c[((g | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + i = c[(c[(c[((g | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0 + } + d = c[e + 16 >> 2] | 0; + if (!(a[d + 156 >> 0] | 0)) { + e = c[d + 212 >> 2] | 0; + e = (e | 0) == (b | 0) ? 0 : e; + return ((e | 0) == (h | 0) | ((e | 0) == 0 | (e | 0) == (i | 0)) ? 0 : e) | 0 + } + f = c[(c[(c[c[d + 180 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 116 >> 2] | 0; + g = c[f >> 2] & 3; + d = c[(c[(c[((g | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + d = (d | 0) == (b | 0) ? 0 : d; + if (!(!((d | 0) == (h | 0) | ((d | 0) == 0 | (d | 0) == (i | 0))) ? (Ng(d, e) | 0) != 0 : 0)) { + d = c[(c[(c[((g | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + d = (d | 0) == (b | 0) ? 0 : d; + if ((d | 0) == (h | 0) | ((d | 0) == 0 | (d | 0) == (i | 0))) d = 0; else { + e = (Ng(d, e) | 0) == 0; + return (e ? 0 : d) | 0 + } + } + return d | 0 + } + + function Ng(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0; + d = c[a + 16 >> 2] | 0; + a = c[b + 16 >> 2] | 0; + f = +h[a + 16 >> 3]; + if ((+h[d + 16 >> 3] <= f ? f <= +h[d + 32 >> 3] : 0) ? (e = +h[a + 24 >> 3], +h[d + 24 >> 3] <= e) : 0) a = e <= +h[d + 40 >> 3] & 1; else a = 0; + return a | 0 + } + + function Og(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + i = c[b + 16 >> 2] | 0; + j = (c[i + 236 >> 2] | 0) > (c[(c[d + 16 >> 2] | 0) + 236 >> 2] | 0); + a:do if ((c[i + 184 >> 2] | 0) == 1) { + b:do if (f | 0) { + h = 0; + b = c[c[i + 180 >> 2] >> 2] | 0; + while (1) { + if ((h | 0) >= 2) break b; + b = c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + d = c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + if ((b | 0) == (d | 0)) break b; + g = c[b + 16 >> 2] | 0; + b = c[d + 16 >> 2] | 0; + if (j ^ (c[g + 236 >> 2] | 0) > (c[b + 236 >> 2] | 0)) { + b = 1; + break a + } + if ((c[g + 184 >> 2] | 0) != 1) break b; + if (!(a[g + 156 >> 0] | 0)) break b; + if ((c[b + 184 >> 2] | 0) != 1) break b; + if (!(a[b + 156 >> 0] | 0)) break b; + h = h + 1 | 0; + f = c[c[b + 180 >> 2] >> 2] | 0; + b = c[c[g + 180 >> 2] >> 2] | 0 + } + } while (0); + if (e | 0 ? (c[i + 176 >> 2] | 0) == 1 : 0) { + g = 0; + d = e; + b = c[c[i + 172 >> 2] >> 2] | 0; + while (1) { + if ((g | 0) >= 2) { + b = 0; + break a + } + b = c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + d = c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + if ((b | 0) == (d | 0)) { + b = 0; + break a + } + f = c[b + 16 >> 2] | 0; + b = c[d + 16 >> 2] | 0; + if (j ^ (c[f + 236 >> 2] | 0) > (c[b + 236 >> 2] | 0)) { + b = 1; + break a + } + if ((c[f + 176 >> 2] | 0) != 1) { + b = 0; + break a + } + if (!(a[f + 156 >> 0] | 0)) { + b = 0; + break a + } + if ((c[b + 176 >> 2] | 0) != 1) { + b = 0; + break a + } + if (!(a[b + 156 >> 0] | 0)) { + b = 0; + break a + } + g = g + 1 | 0; + d = c[c[b + 172 >> 2] >> 2] | 0; + b = c[c[f + 172 >> 2] >> 2] | 0 + } + } else b = 0 + } else b = 0; while (0); + return b | 0 + } + + function Pg(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function Qg(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0, e = 0.0; + d = +h[b + 8 >> 3]; + e = +h[b >> 3]; + return (~~((+h[c >> 3] - e) * (+h[a + 8 >> 3] - d) - (+h[a >> 3] - e) * (+h[c + 8 >> 3] - d)) | 0) > 0 | 0 + } + + function Rg(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0, u = 0, v = 0.0, w = 0.0, + x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, 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; + R = l; + l = l + 256 | 0; + D = R + 232 | 0; + C = R + 216 | 0; + P = R + 88 | 0; + O = R + 80 | 0; + K = R + 64 | 0; + L = R + 200 | 0; + M = R + 184 | 0; + N = R; + E = R + 168 | 0; + F = R + 152 | 0; + G = R + 136 | 0; + H = R + 120 | 0; + I = R + 104 | 0; + B = c[g >> 2] & 3; + J = c[((B | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + B = c[((B | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + do if ((HJ(J) | 0) != 2 ? (HJ(B) | 0) != 2 : 0) { + g = 0; + j = 0; + k = 0; + while (1) { + if ((k | 0) >= (f | 0)) break; + A = c[(c[d + (k + e << 2) >> 2] | 0) + 16 >> 2] | 0; + g = g + ((c[A + 96 >> 2] | 0) != 0 & 1) | 0; + if (!((a[A + 44 >> 0] | 0) == 0 ? (a[A + 84 >> 0] | 0) == 0 : 0)) j = 1; + k = k + 1 | 0 + } + if (!j) if (!g) { + Tg(J, B, d, e, f, i); + break + } else { + Yg(J, B, d, e, f, i, g); + break + } + y = uH(156) | 0; + z = Zg(b, y) | 0; + t = vA(z, 85383, 1) | 0; + Az(t, 134401, 280, 1) | 0; + zx(t, 87076, 87090) | 0; + m = +h[(c[B + 16 >> 2] | 0) + 16 >> 3]; + s = +h[(c[J + 16 >> 2] | 0) + 16 >> 3]; + A = b + 16 | 0; + q = (c[(c[A >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + r = q ? B : J; + q = q ? J : B; + t = _g(t, q) | 0; + u = _g(z, r) | 0; + g = 0; + p = 0; + while (1) { + if ((p | 0) >= (f | 0)) break; + j = d + (p + e << 2) | 0; + while (1) { + o = c[j >> 2] | 0; + n = o + 16 | 0; + j = c[n >> 2] | 0; + if (!(a[j + 112 >> 0] | 0)) break; else j = j + 116 | 0 + } + if ((c[((c[o >> 2] & 3 | 0) == 3 ? o : o + 48 | 0) + 40 >> 2] | 0) == (q | 0)) k = $g(z, t, u, o) | 0; else k = $g(z, u, t, o) | 0; + j = c[n >> 2] | 0; + c[j + 120 >> 2] = k; + if (!g) if ((a[j + 44 >> 0] | 0) == 0 ? (a[j + 84 >> 0] | 0) == 0 : 0) { + c[(c[k + 16 >> 2] | 0) + 120 >> 2] = o; + g = k + } else g = 0; + p = p + 1 | 0 + } + if (!g) x = Rx(z, t, u, 0, 1) | 0; else x = g; + rx(x, c[46404] | 0, 85387) | 0; + g = z + 16 | 0; + n = c[g >> 2] | 0; + c[n + 144 >> 2] = c[(c[A >> 2] | 0) + 144 >> 2]; + c[n + 188 >> 2] = z; + $M(z, i); + Qf(z); + zj(z, 0); + Jh(z, 0); + Mi(z, 0); + q = q + 16 | 0; + i = c[q >> 2] | 0; + n = c[r + 16 >> 2] | 0; + r = t + 16 | 0; + o = c[r >> 2] | 0; + p = o + 16 | 0; + v = +(~~m | 0); + w = +(~~((+h[(c[u + 16 >> 2] | 0) + 16 >> 3] + +h[p >> 3]) * .5) | 0); + m = +(~~s | 0); + s = +(~~((+h[i + 16 >> 3] - +h[i + 96 >> 3] + +h[n + 16 >> 3] + +h[n + 88 >> 3]) * .5) | 0); + n = o + 24 | 0; + g = (c[g >> 2] | 0) + 192 | 0; + while (1) { + j = c[g >> 2] | 0; + if (!j) break; + do if ((j | 0) != (t | 0)) { + g = c[j + 16 >> 2] | 0; + k = g + 24 | 0; + if ((j | 0) == (u | 0)) { + h[k >> 3] = m; + h[g + 16 >> 3] = w; + break + } else { + h[k >> 3] = s; + break + } + } else { + h[n >> 3] = v; + h[p >> 3] = w; + g = o + } while (0); + g = g + 164 | 0 + } + tk(z); + lg(z, 0); + eJ(z); + k = c[q >> 2] | 0; + g = c[r >> 2] | 0; + if (!(c[(c[A >> 2] | 0) + 116 >> 2] & 1)) { + j = g + 16 | 0; + m = +h[k + 24 >> 3] - +h[g + 24 >> 3] + } else { + j = g + 24 | 0; + m = +h[g + 16 >> 3] + +h[k + 24 >> 3] + } + h[K >> 3] = +h[k + 16 >> 3] - +h[j >> 3]; + h[K + 8 >> 3] = m; + i = N + 16 | 0; + t = N + 32 | 0; + u = N + 48 | 0; + r = 0; + while (1) { + if ((r | 0) >= (f | 0)) break; + g = d + (r + e << 2) | 0; + while (1) { + j = c[g >> 2] | 0; + q = j + 16 | 0; + g = c[q >> 2] | 0; + if (!(a[g + 112 >> 0] | 0)) break; else g = g + 116 | 0 + } + o = c[g + 120 >> 2] | 0; + p = o + 16 | 0; + g = c[p >> 2] | 0; + if (!((o | 0) == (x | 0) & (c[g + 120 >> 2] | 0) == 0)) { + n = c[c[g + 8 >> 2] >> 2] | 0; + o = n + 4 | 0; + j = PK(j, c[o >> 2] | 0) | 0; + c[j + 8 >> 2] = c[n + 8 >> 2]; + g = j + 16 | 0; + k = n + 16 | 0; + S = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + c[C >> 2] = c[k >> 2]; + c[C + 4 >> 2] = c[k + 4 >> 2]; + c[C + 8 >> 2] = c[k + 8 >> 2]; + c[C + 12 >> 2] = c[k + 12 >> 2]; + c[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]; + ah(L, C, D, S); + 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[j + 12 >> 2] = c[n + 12 >> 2]; + g = j + 32 | 0; + S = n + 32 | 0; + k = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + 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]; + 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]; + ah(M, C, D, k); + 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]; + g = 0; + while (1) { + if ((g | 0) >= (c[o >> 2] | 0)) break; + k = (c[j >> 2] | 0) + (g << 4) | 0; + T = (c[n >> 2] | 0) + (g << 4) | 0; + S = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + c[C >> 2] = c[T >> 2]; + c[C + 4 >> 2] = c[T + 4 >> 2]; + c[C + 8 >> 2] = c[T + 8 >> 2]; + c[C + 12 >> 2] = c[T + 12 >> 2]; + c[D >> 2] = c[K >> 2]; + c[D + 4 >> 2] = c[K + 4 >> 2]; + c[D + 8 >> 2] = c[K + 8 >> 2]; + c[D + 12 >> 2] = c[K + 12 >> 2]; + ah(E, C, D, S); + 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[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]; + k = g + 1 | 0; + if ((k | 0) >= (c[o >> 2] | 0)) { + Q = 48; + break + } + S = (c[j >> 2] | 0) + (k << 4) | 0; + k = (c[n >> 2] | 0) + (k << 4) | 0; + T = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + c[C >> 2] = c[k >> 2]; + c[C + 4 >> 2] = c[k + 4 >> 2]; + c[C + 8 >> 2] = c[k + 8 >> 2]; + c[C + 12 >> 2] = c[k + 12 >> 2]; + c[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]; + ah(F, C, D, T); + c[S >> 2] = c[F >> 2]; + c[S + 4 >> 2] = c[F + 4 >> 2]; + c[S + 8 >> 2] = c[F + 8 >> 2]; + c[S + 12 >> 2] = c[F + 12 >> 2]; + c[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]; + S = g + 2 | 0; + T = (c[j >> 2] | 0) + (S << 4) | 0; + S = (c[n >> 2] | 0) + (S << 4) | 0; + k = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + 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]; + 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]; + ah(G, C, D, k); + c[T >> 2] = c[G >> 2]; + c[T + 4 >> 2] = c[G + 4 >> 2]; + c[T + 8 >> 2] = c[G + 8 >> 2]; + c[T + 12 >> 2] = c[G + 12 >> 2]; + c[t >> 2] = c[G >> 2]; + c[t + 4 >> 2] = c[G + 4 >> 2]; + c[t + 8 >> 2] = c[G + 8 >> 2]; + c[t + 12 >> 2] = c[G + 12 >> 2]; + T = g + 3 | 0; + k = (c[n >> 2] | 0) + (T << 4) | 0; + S = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + c[C >> 2] = c[k >> 2]; + c[C + 4 >> 2] = c[k + 4 >> 2]; + c[C + 8 >> 2] = c[k + 8 >> 2]; + c[C + 12 >> 2] = c[k + 12 >> 2]; + c[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]; + ah(H, C, D, S); + c[u >> 2] = c[H >> 2]; + c[u + 4 >> 2] = c[H + 4 >> 2]; + c[u + 8 >> 2] = c[H + 8 >> 2]; + c[u + 12 >> 2] = c[H + 12 >> 2]; + YE((c[A >> 2] | 0) + 16 | 0, N); + g = T + } + if ((Q | 0) == 48) Q = 0; + g = c[(c[q >> 2] | 0) + 96 >> 2] | 0; + if (g | 0) { + T = g + 56 | 0; + p = (c[(c[p >> 2] | 0) + 96 >> 2] | 0) + 56 | 0; + S = c[(c[A >> 2] | 0) + 116 >> 2] & 1; + 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]; + 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]; + ah(I, C, D, S); + c[T >> 2] = c[I >> 2]; + c[T + 4 >> 2] = c[I + 4 >> 2]; + c[T + 8 >> 2] = c[I + 8 >> 2]; + c[T + 12 >> 2] = c[I + 12 >> 2]; + T = c[(c[q >> 2] | 0) + 96 >> 2] | 0; + a[T + 81 >> 0] = 1; + kM(b, T) + } + } + r = r + 1 | 0 + } + bh(z, y) + } else Q = 3; while (0); + if ((Q | 0) == 3 ? (c[45968] | 0) == 0 : 0) { + c[45968] = 1; + Pw(0, 85260, O) | 0; + Q = ry(J) | 0; + S = (ey(b) | 0) != 0; + T = ry(B) | 0; + c[P >> 2] = Q; + c[P + 4 >> 2] = S ? 134656 : 138665; + c[P + 8 >> 2] = T; + Pw(3, 85366, P) | 0 + } + l = R; + return + } + + function Sg(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0.0, B = 0.0, C = 0.0, D = 0.0, E = 0.0; + z = l; + l = l + 1600 | 0; + u = z + 1552 | 0; + n = z + 1536 | 0; + t = z + 840 | 0; + v = z + 144 | 0; + w = z + 1584 | 0; + j = z + 32 | 0; + s = z + 16 | 0; + o = z; + q = c[f >> 2] & 3; + p = c[((q | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0; + x = f + -48 | 0; + q = c[((q | 0) == 2 ? f : x) + 40 >> 2] | 0; + r = f + 16 | 0; + k = c[r >> 2] | 0; + i = c[k + 172 >> 2] | 0; + while (1) { + m = c[(c[i + 16 >> 2] | 0) + 172 >> 2] | 0; + if (!m) break; else i = m + } + k = (c[k + 96 >> 2] | 0) + 56 | 0; + i = (c[((c[i >> 2] & 3 | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + m = (c[i >> 2] | 0) + 16 | 0; + c[k >> 2] = c[m >> 2]; + c[k + 4 >> 2] = c[m + 4 >> 2]; + c[k + 8 >> 2] = c[m + 8 >> 2]; + c[k + 12 >> 2] = c[m + 12 >> 2]; + k = c[r >> 2] | 0; + a[(c[k + 96 >> 2] | 0) + 81 >> 0] = 1; + if ((g | 0) != 2) { + k = c[i >> 2] | 0; + C = +h[k + 16 >> 3]; + E = C - +h[k + 88 >> 3]; + C = +h[k + 96 >> 3] + C; + B = +h[k + 24 >> 3]; + D = +h[k + 80 >> 3] * .5 + B; + k = c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0; + m = c[p + 16 >> 2] | 0; + j = c[m + 232 >> 2] | 0; + B = +(~~(+(~~(B - +h[k + (j << 6) + 16 >> 3] - +h[m + 24 >> 3] + +h[k + (j << 6) + 24 >> 3]) | 0) * .16666666666666666) | 0); + B = D - (B < 5.0 ? 5.0 : B); + Vg(b, d, e, p, f, t, 1); + Vg(b, d, e, q, f, v, 0); + j = t + 52 | 0; + k = c[j >> 2] | 0; + m = k + -1 | 0; + A = +h[t + 56 + (m << 5) >> 3]; + h[18830] = A; + h[18831] = +h[t + 56 + (m << 5) + 24 >> 3]; + h[18832] = E; + h[18833] = B; + h[18834] = A; + h[18835] = B; + m = v + 52 | 0; + i = (c[m >> 2] | 0) + -1 | 0; + A = +h[v + 56 + (i << 5) + 16 >> 3]; + h[18836] = A; + h[18837] = D; + h[18838] = C; + h[18841] = B; + h[18839] = +h[v + 56 + (i << 5) + 24 >> 3]; + h[18840] = A; + i = 0; + while (1) { + if ((i | 0) >= (k | 0)) { + i = 0; + break + } + k = t + 56 + (i << 5) | 0; + 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]; + c[u + 16 >> 2] = c[k + 16 >> 2]; + c[u + 20 >> 2] = c[k + 20 >> 2]; + c[u + 24 >> 2] = c[k + 24 >> 2]; + c[u + 28 >> 2] = c[k + 28 >> 2]; + SK(e, u); + i = i + 1 | 0; + k = c[j >> 2] | 0 + } + while (1) { + if ((i | 0) == 3) break; + t = 150640 + (i << 5) | 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]; + SK(e, u); + i = i + 1 | 0 + } + j = c[m >> 2] | 0; + while (1) { + i = j + -1 | 0; + if ((j | 0) <= 0) break; + j = v + 56 + (i << 5) | 0; + c[u >> 2] = c[j >> 2]; + c[u + 4 >> 2] = c[j + 4 >> 2]; + c[u + 8 >> 2] = c[j + 8 >> 2]; + c[u + 12 >> 2] = c[j + 12 >> 2]; + c[u + 16 >> 2] = c[j + 16 >> 2]; + c[u + 20 >> 2] = c[j + 20 >> 2]; + c[u + 24 >> 2] = c[j + 24 >> 2]; + c[u + 28 >> 2] = c[j + 28 >> 2]; + SK(e, u); + j = i + } + if ((g | 0) == 10) j = sJ(e, w) | 0; else j = yJ(e, w) | 0; + i = c[w >> 2] | 0; + if (i | 0) y = 17 + } else { + i = (c[p + 16 >> 2] | 0) + 16 | 0; + v = k + 16 | 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[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]; + Pg(s, n, u); + v = (c[q + 16 >> 2] | 0) + 16 | 0; + i = (c[r >> 2] | 0) + 56 | 0; + c[n >> 2] = c[v >> 2]; + c[n + 4 >> 2] = c[v + 4 >> 2]; + c[n + 8 >> 2] = c[v + 8 >> 2]; + c[n + 12 >> 2] = c[v + 12 >> 2]; + c[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]; + Pg(o, n, u); + i = c[(c[r >> 2] | 0) + 96 >> 2] | 0; + D = +h[i + 56 >> 3]; + E = +h[i + 64 >> 3] - +h[i + 32 >> 3] * .5; + i = j + 16 | 0; + c[j >> 2] = c[s >> 2]; + c[j + 4 >> 2] = c[s + 4 >> 2]; + c[j + 8 >> 2] = c[s + 8 >> 2]; + c[j + 12 >> 2] = c[s + 12 >> 2]; + c[i >> 2] = c[s >> 2]; + c[i + 4 >> 2] = c[s + 4 >> 2]; + c[i + 8 >> 2] = c[s + 8 >> 2]; + c[i + 12 >> 2] = c[s + 12 >> 2]; + i = j + 32 | 0; + v = j + 48 | 0; + y = j + 64 | 0; + h[j + 64 >> 3] = D; + h[j + 72 >> 3] = E; + 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[i >> 2] = c[y >> 2]; + c[i + 4 >> 2] = c[y + 4 >> 2]; + c[i + 8 >> 2] = c[y + 8 >> 2]; + c[i + 12 >> 2] = c[y + 12 >> 2]; + i = j + 80 | 0; + y = j + 96 | 0; + 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[i >> 2] = c[o >> 2]; + c[i + 4 >> 2] = c[o + 4 >> 2]; + c[i + 8 >> 2] = c[o + 8 >> 2]; + c[i + 12 >> 2] = c[o + 12 >> 2]; + c[w >> 2] = 7; + i = 7; + y = 17 + } + if ((y | 0) == 17) QK(f, c[((c[f >> 2] & 3 | 0) == 2 ? f : x) + 40 >> 2] | 0, j, i, 17296); + l = z; + return + } + + function Tg(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0, t = 0.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.0, E = 0, F = 0, G = 0, H = 0, I = 0, + J = 0, K = 0, L = 0, M = 0, N = 0; + N = l; + l = l + 352 | 0; + x = N + 336 | 0; + w = N + 320 | 0; + L = N + 128 | 0; + u = N + 304 | 0; + y = N + 288 | 0; + M = N + 112 | 0; + E = N + 96 | 0; + F = N + 80 | 0; + G = N + 64 | 0; + H = N + 48 | 0; + I = N + 32 | 0; + J = N + 16 | 0; + K = N; + a = a + 16 | 0; + q = (c[a >> 2] | 0) + 16 | 0; + v = (c[d + (e << 2) >> 2] | 0) + 16 | 0; + s = (c[v >> 2] | 0) + 16 | 0; + 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[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]; + Pg(u, w, x); + C = +h[u >> 3]; + D = +h[u + 8 >> 3]; + u = (c[b + 16 >> 2] | 0) + 16 | 0; + v = (c[v >> 2] | 0) + 56 | 0; + c[w >> 2] = c[u >> 2]; + c[w + 4 >> 2] = c[u + 4 >> 2]; + c[w + 8 >> 2] = c[u + 8 >> 2]; + c[w + 12 >> 2] = c[u + 12 >> 2]; + c[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]; + Pg(y, w, x); + A = +h[y >> 3]; + B = +h[y + 8 >> 3]; + if ((f | 0) > 1) { + z = +h[(c[a >> 2] | 0) + 80 >> 3]; + i = z * .5; + z = z / +(f + -1 | 0) + } else { + i = 0.0; + z = 0.0 + } + p = (g | 8 | 0) == 10; + m = L + 8 | 0; + q = L + 16 | 0; + r = (A + C * 2.0) * .3333333333333333; + s = L + 32 | 0; + t = (A * 2.0 + C) * .3333333333333333; + n = L + 24 | 0; + u = L + 48 | 0; + v = L + 64 | 0; + w = L + 80 | 0; + x = L + 96 | 0; + y = L + 112 | 0; + k = L + 128 | 0; + o = L + 136 | 0; + i = D - i; + b = 0; + while (1) { + if ((b | 0) >= (f | 0)) break; + j = c[d + (b + e << 2) >> 2] | 0; + h[L >> 3] = C; + h[m >> 3] = D; + if (p) { + Xg(M, r, i); + c[q >> 2] = c[M >> 2]; + c[q + 4 >> 2] = c[M + 4 >> 2]; + c[q + 8 >> 2] = c[M + 8 >> 2]; + c[q + 12 >> 2] = c[M + 12 >> 2]; + Xg(E, t, i); + 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]; + a = 4; + g = 3 + } else { + h[q >> 3] = C; + h[n >> 3] = D; + Xg(F, r, i); + 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]; + Xg(G, r, i); + c[u >> 2] = c[G >> 2]; + c[u + 4 >> 2] = c[G + 4 >> 2]; + c[u + 8 >> 2] = c[G + 8 >> 2]; + c[u + 12 >> 2] = c[G + 12 >> 2]; + Xg(H, r, i); + c[v >> 2] = c[H >> 2]; + c[v + 4 >> 2] = c[H + 4 >> 2]; + c[v + 8 >> 2] = c[H + 8 >> 2]; + c[v + 12 >> 2] = c[H + 12 >> 2]; + Xg(I, t, i); + 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]; + Xg(J, t, i); + c[x >> 2] = c[J >> 2]; + c[x + 4 >> 2] = c[J + 4 >> 2]; + c[x + 8 >> 2] = c[J + 8 >> 2]; + c[x + 12 >> 2] = c[J + 12 >> 2]; + Xg(K, t, i); + 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]; + h[k >> 3] = A; + h[o >> 3] = B; + a = 10; + g = 9 + } + h[L + (g << 4) >> 3] = A; + h[L + (g << 4) + 8 >> 3] = B; + QK(j, c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0, L, a, 17296); + i = i + z; + b = b + 1 | 0 + } + l = N; + return + } + + function Ug(a, d, e, f, g, i, j, k) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var m = 0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, + z = 0.0, A = 0.0, B = 0.0, C = 0.0, D = 0.0; + x = l; + l = l + 1440 | 0; + t = x + 1392 | 0; + v = x + 1424 | 0; + w = x + 696 | 0; + u = x; + r = c[j >> 2] & 3; + q = c[((r | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + r = c[((r | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + m = c[q + 16 >> 2] | 0; + o = c[m + 232 >> 2] | 0; + p = c[a + 16 >> 2] | 0; + if ((o | 0) < (b[p + 238 >> 1] | 0)) { + y = c[p + 196 >> 2] | 0; + p = o + 1 | 0; + n = +h[m + 24 >> 3] - +h[y + (o << 6) + 32 >> 3] - +h[(c[(c[c[y + (p << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - +h[y + (p << 6) + 40 >> 3] + } else n = +(c[p + 252 >> 2] | 0); + z = +(i + 1 | 0); + s = +(c[d + 12 >> 2] | 0) / z; + n = n / z; + Wg(a, d, e, q, j, w, 1); + Wg(a, d, e, r, j, u, 0); + r = w + 52 | 0; + j = u + 52 | 0; + a = (k | 0) == 0; + d = e + 80 | 0; + m = 0; + while (1) { + if ((m | 0) >= (i | 0)) break; + q = c[f + (m + g << 2) >> 2] | 0; + p = c[r >> 2] | 0; + o = p + -1 | 0; + D = +h[w + 56 + (o << 5) >> 3]; + B = +h[w + 56 + (o << 5) + 8 >> 3]; + C = +h[w + 56 + (o << 5) + 16 >> 3]; + h[18830] = D; + h[18833] = B; + m = m + 1 | 0; + z = +(m | 0); + A = s * z; + h[18832] = C + A; + z = B - n * z; + h[18831] = z; + h[18834] = D; + h[18837] = z; + o = (c[j >> 2] | 0) + -1 | 0; + D = +h[u + 56 + (o << 5) + 16 >> 3]; + h[18836] = D; + h[18835] = z - n; + B = +h[u + 56 + (o << 5) >> 3]; + C = +h[u + 56 + (o << 5) + 8 >> 3]; + h[18840] = D; + h[18841] = C; + h[18838] = B - A; + h[18839] = z; + o = 0; + while (1) { + if ((o | 0) >= (p | 0)) { + o = 0; + break + } + p = w + 56 + (o << 5) | 0; + c[t >> 2] = c[p >> 2]; + c[t + 4 >> 2] = c[p + 4 >> 2]; + c[t + 8 >> 2] = c[p + 8 >> 2]; + c[t + 12 >> 2] = c[p + 12 >> 2]; + c[t + 16 >> 2] = c[p + 16 >> 2]; + c[t + 20 >> 2] = c[p + 20 >> 2]; + c[t + 24 >> 2] = c[p + 24 >> 2]; + c[t + 28 >> 2] = c[p + 28 >> 2]; + SK(e, t); + o = o + 1 | 0; + p = c[r >> 2] | 0 + } + while (1) { + if ((o | 0) == 3) break; + y = 150640 + (o << 5) | 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]; + SK(e, t); + o = o + 1 | 0 + } + p = c[j >> 2] | 0; + while (1) { + o = p + -1 | 0; + if ((p | 0) <= 0) break; + p = u + 56 + (o << 5) | 0; + c[t >> 2] = c[p >> 2]; + c[t + 4 >> 2] = c[p + 4 >> 2]; + c[t + 8 >> 2] = c[p + 8 >> 2]; + c[t + 12 >> 2] = c[p + 12 >> 2]; + c[t + 16 >> 2] = c[p + 16 >> 2]; + c[t + 20 >> 2] = c[p + 20 >> 2]; + c[t + 24 >> 2] = c[p + 24 >> 2]; + c[t + 28 >> 2] = c[p + 28 >> 2]; + SK(e, t); + p = o + } + if (a) o = yJ(e, v) | 0; else o = sJ(e, v) | 0; + p = c[v >> 2] | 0; + if (!p) break; + QK(q, c[((c[q >> 2] & 3 | 0) == 2 ? q : q + -48 | 0) + 40 >> 2] | 0, o, p, 17296); + c[d >> 2] = 0 + } + l = x; + return + } + + function Vg(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + n = l; + l = l + 128 | 0; + j = n + 96 | 0; + k = n + 64 | 0; + o = n + 32 | 0; + m = n; + yg(o, a, b, e, 0, f); + 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]; + c[g + 16 >> 2] = c[o + 16 >> 2]; + c[g + 20 >> 2] = c[o + 20 >> 2]; + c[g + 24 >> 2] = c[o + 24 >> 2]; + c[g + 28 >> 2] = c[o + 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]; + c[g + 48 >> 2] = 4; + if (!(i << 24 >> 24)) WK(d, f, 2, g, 0); else TK(d, f, 2, g, 0); + b = g + 52 | 0; + f = (c[b >> 2] | 0) + -1 | 0; + o = k + 24 | 0; + h[o >> 3] = +h[g + 56 + (f << 5) + 24 >> 3]; + i = k + 8 | 0; + h[i >> 3] = +h[g + 56 + (f << 5) + 8 >> 3]; + e = c[e + 16 >> 2] | 0; + p = +h[(c[(c[a + 16 >> 2] | 0) + 196 >> 2] | 0) + (c[e + 232 >> 2] << 6) + 24 >> 3] + +h[e + 24 >> 3]; + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + c[j + 16 >> 2] = c[k + 16 >> 2]; + c[j + 20 >> 2] = c[k + 20 >> 2]; + c[j + 24 >> 2] = c[k + 24 >> 2]; + c[j + 28 >> 2] = c[k + 28 >> 2]; + Ag(m, j, 4, 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]; + if (+h[k >> 3] < +h[k + 16 >> 3] ? +h[i >> 3] < +h[o >> 3] : 0) { + o = c[b >> 2] | 0; + c[b >> 2] = o + 1; + o = g + 56 + (o << 5) | 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] + } + l = n; + return + } + + function Wg(a, b, d, e, f, g, i) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + n = l; + l = l + 128 | 0; + j = n + 96 | 0; + k = n + 64 | 0; + o = n + 32 | 0; + m = n; + yg(o, a, b, e, 0, f); + 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]; + c[g + 16 >> 2] = c[o + 16 >> 2]; + c[g + 20 >> 2] = c[o + 20 >> 2]; + c[g + 24 >> 2] = c[o + 24 >> 2]; + c[g + 28 >> 2] = c[o + 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]; + c[g + 48 >> 2] = 1; + if (!(i << 24 >> 24)) WK(d, f, 2, g, 0); else TK(d, f, 2, g, 0); + b = g + 52 | 0; + f = (c[b >> 2] | 0) + -1 | 0; + o = k + 24 | 0; + h[o >> 3] = +h[g + 56 + (f << 5) + 24 >> 3]; + i = k + 8 | 0; + h[i >> 3] = +h[g + 56 + (f << 5) + 8 >> 3]; + e = c[e + 16 >> 2] | 0; + p = +h[e + 24 >> 3] - +h[(c[(c[a + 16 >> 2] | 0) + 196 >> 2] | 0) + (c[e + 232 >> 2] << 6) + 24 >> 3]; + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + c[j + 16 >> 2] = c[k + 16 >> 2]; + c[j + 20 >> 2] = c[k + 20 >> 2]; + c[j + 24 >> 2] = c[k + 24 >> 2]; + c[j + 28 >> 2] = c[k + 28 >> 2]; + Ag(m, j, 1, 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]; + if (+h[k >> 3] < +h[k + 16 >> 3] ? +h[i >> 3] < +h[o >> 3] : 0) { + o = c[b >> 2] | 0; + c[b >> 2] = o + 1; + o = g + 56 + (o << 5) | 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] + } + l = n; + return + } + + function Xg(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function Yg(b, d, e, f, g, i, j) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + j = j | 0; + var k = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0.0, s = 0.0, t = 0.0, u = 0.0, v = 0.0, w = 0.0, + x = 0.0, y = 0, z = 0, A = 0.0, B = 0.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; + Y = l; + l = l + 288 | 0; + R = Y + 256 | 0; + Q = Y + 240 | 0; + P = Y + 224 | 0; + V = Y + 280 | 0; + W = Y + 272 | 0; + X = Y + 32 | 0; + S = Y + 16 | 0; + T = Y; + m = Y + 208 | 0; + n = Y + 192 | 0; + o = c[e + (f << 2) >> 2] | 0; + U = uH(g << 2) | 0; + k = 0; + while (1) { + if ((k | 0) >= (g | 0)) break; + c[U + (k << 2) >> 2] = c[e + (k + f << 2) >> 2]; + k = k + 1 | 0 + } + _0(U, g, 4, 59); + e = b + 16 | 0; + f = (c[e >> 2] | 0) + 16 | 0; + o = o + 16 | 0; + C = (c[o >> 2] | 0) + 16 | 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]; + c[R >> 2] = c[C >> 2]; + c[R + 4 >> 2] = c[C + 4 >> 2]; + c[R + 8 >> 2] = c[C + 8 >> 2]; + c[R + 12 >> 2] = c[C + 12 >> 2]; + Pg(m, Q, R); + 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 = d + 16 | 0; + f = (c[C >> 2] | 0) + 16 | 0; + o = (c[o >> 2] | 0) + 56 | 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]; + 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]; + Pg(n, Q, R); + 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]; + w = +h[(c[e >> 2] | 0) + 96 >> 3] + +h[S >> 3]; + x = +h[T >> 3] - +h[(c[C >> 2] | 0) + 88 >> 3]; + u = x + w; + v = u * .5; + C = c[U >> 2] | 0; + 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]; + o = X + 16 | 0; + c[o >> 2] = c[S >> 2]; + c[o + 4 >> 2] = c[S + 4 >> 2]; + c[o + 8 >> 2] = c[S + 8 >> 2]; + c[o + 12 >> 2] = c[S + 12 >> 2]; + e = X + 32 | 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]; + f = X + 48 | 0; + c[f >> 2] = c[T >> 2]; + c[f + 4 >> 2] = c[T + 4 >> 2]; + c[f + 8 >> 2] = c[T + 8 >> 2]; + c[f + 12 >> 2] = c[T + 12 >> 2]; + QK(C, c[((c[C >> 2] & 3 | 0) == 2 ? C : C + -48 | 0) + 40 >> 2] | 0, X, 4, 17296); + C = c[(c[C + 16 >> 2] | 0) + 96 >> 2] | 0; + h[C + 56 >> 3] = v; + z = S + 8 | 0; + r = +h[z >> 3]; + s = +h[C + 32 >> 3]; + h[C + 64 >> 3] = (s + 6.0) * .5 + r; + a[C + 81 >> 0] = 1; + r = r + 3.0; + B = +h[C + 24 >> 3]; + A = (u - B) * .5; + B = (B + u) * .5; + C = X + 24 | 0; + D = X + 40 | 0; + E = X + 56 | 0; + F = X + 64 | 0; + G = T + 8 | 0; + H = X + 72 | 0; + I = X + 80 | 0; + J = X + 88 | 0; + K = X + 96 | 0; + L = X + 104 | 0; + M = X + 112 | 0; + N = X + 120 | 0; + O = V + 4 | 0; + n = (i | 0) == 6 & 1; + q = 0.0; + p = 0.0; + s = s + r; + m = 1; + while (1) { + if ((m | 0) >= (j | 0)) { + y = 6; + break + } + d = c[U + (m << 2) >> 2] | 0; + if (!(m & 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]; + h[o >> 3] = A; + h[C >> 3] = +h[z >> 3]; + h[e >> 3] = A; + h[D >> 3] = s; + h[f >> 3] = B; + h[E >> 3] = s; + h[F >> 3] = B; + t = +h[G >> 3]; + h[H >> 3] = t; + Z = +h[T >> 3]; + h[I >> 3] = Z; + h[J >> 3] = t; + h[K >> 3] = Z; + Z = s + 6.0; + h[L >> 3] = Z; + h[M >> 3] = +h[S >> 3]; + h[N >> 3] = Z; + s = +h[(c[(c[d + 16 >> 2] | 0) + 96 >> 2] | 0) + 32 >> 3]; + t = Z + s * .5; + s = Z + s + } else { + k = d + 16 | 0; + b = c[(c[k >> 2] | 0) + 96 >> 2] | 0; + if ((m | 0) == 1) { + p = +h[b + 24 >> 3]; + q = (p + u) * .5; + p = (u - p) * .5 + } + r = r + -6.0 - +h[b + 32 >> 3]; + 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]; + h[o >> 3] = +h[S >> 3]; + t = r + -6.0; + h[C >> 3] = t; + h[e >> 3] = +h[T >> 3]; + h[D >> 3] = t; + c[f >> 2] = c[T >> 2]; + c[f + 4 >> 2] = c[T + 4 >> 2]; + c[f + 8 >> 2] = c[T + 8 >> 2]; + c[f + 12 >> 2] = c[T + 12 >> 2]; + h[F >> 3] = q; + h[H >> 3] = +h[G >> 3]; + h[I >> 3] = q; + h[J >> 3] = r; + h[K >> 3] = p; + h[L >> 3] = r; + h[M >> 3] = p; + h[N >> 3] = +h[z >> 3]; + t = +h[(c[(c[k >> 2] | 0) + 96 >> 2] | 0) + 32 >> 3] * .5 + r + } + c[O >> 2] = 8; + c[V >> 2] = X; + c[P >> 2] = c[S >> 2]; + c[P + 4 >> 2] = c[S + 4 >> 2]; + c[P + 8 >> 2] = c[S + 8 >> 2]; + c[P + 12 >> 2] = c[S + 12 >> 2]; + 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]; + c[R >> 2] = c[V >> 2]; + c[R + 4 >> 2] = c[V + 4 >> 2]; + k = oJ(P, Q, R, W, n) | 0; + b = c[W >> 2] | 0; + if (!b) break; + i = c[(c[d + 16 >> 2] | 0) + 96 >> 2] | 0; + h[i + 56 >> 3] = v; + h[i + 64 >> 3] = t; + a[i + 81 >> 0] = 1; + QK(d, c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, k, b, 17296); + m = m + 1 | 0 + } + a:do if ((y | 0) == 6) { + v = (x + w * 2.0) * .3333333333333333; + u = (x * 2.0 + w) * .3333333333333333; + while (1) { + if ((m | 0) >= (g | 0)) break; + d = c[U + (m << 2) >> 2] | 0; + if (!(m & 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]; + h[o >> 3] = A; + h[C >> 3] = +h[z >> 3]; + h[e >> 3] = A; + h[D >> 3] = s; + h[f >> 3] = B; + h[E >> 3] = s; + h[F >> 3] = B; + t = +h[G >> 3]; + h[H >> 3] = t; + Z = +h[T >> 3]; + h[I >> 3] = Z; + h[J >> 3] = t; + h[K >> 3] = Z; + Z = s + 6.0; + h[L >> 3] = Z; + h[M >> 3] = +h[S >> 3]; + s = Z; + t = p; + p = Z + } else { + y = (m | 0) == 1; + t = y ? v : p; + q = y ? u : q; + p = r + -6.0; + 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]; + h[o >> 3] = +h[S >> 3]; + r = r + -12.0; + h[C >> 3] = r; + h[e >> 3] = +h[T >> 3]; + h[D >> 3] = r; + c[f >> 2] = c[T >> 2]; + c[f + 4 >> 2] = c[T + 4 >> 2]; + c[f + 8 >> 2] = c[T + 8 >> 2]; + c[f + 12 >> 2] = c[T + 12 >> 2]; + h[F >> 3] = q; + h[H >> 3] = +h[G >> 3]; + h[I >> 3] = q; + h[J >> 3] = p; + h[K >> 3] = t; + h[L >> 3] = p; + h[M >> 3] = t; + r = p; + p = +h[z >> 3] + } + h[N >> 3] = p; + c[O >> 2] = 8; + c[V >> 2] = X; + c[P >> 2] = c[S >> 2]; + c[P + 4 >> 2] = c[S + 4 >> 2]; + c[P + 8 >> 2] = c[S + 8 >> 2]; + c[P + 12 >> 2] = c[S + 12 >> 2]; + 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]; + c[R >> 2] = c[V >> 2]; + c[R + 4 >> 2] = c[V + 4 >> 2]; + k = oJ(P, Q, R, W, n) | 0; + b = c[W >> 2] | 0; + if (!b) break a; + QK(d, c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, k, b, 17296); + m = m + 1 | 0; + p = t + } + D_(U) + } while (0); + l = Y; + return + } + + function Zg(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + g = l; + l = l + 16 | 0; + f = g; + j = (ey(b) | 0) == 0; + j = j ? 18488 : 18480; + a[f >> 0] = a[j >> 0] | 0; + a[f + 1 >> 0] = a[j + 1 >> 0] | 0; + a[f + 2 >> 0] = a[j + 2 >> 0] | 0; + a[f + 3 >> 0] = a[j + 3 >> 0] | 0; + f = Xx(85398, f, 0) | 0; + Az(f, 134401, 280, 1) | 0; + nx(f, 0, 87076, 191979) | 0; + j = uH(96) | 0; + e = c[f + 16 >> 2] | 0; + c[e + 8 >> 2] = j; + i = c[b + 16 >> 2] | 0; + k = c[i + 8 >> 2] | 0; + h[j >> 3] = +h[k >> 3]; + h[j + 24 >> 3] = +h[k + 24 >> 3]; + a[e + 115 >> 0] = a[i + 115 >> 0] | 0; + c[e + 116 >> 2] = c[i + 116 >> 2] & 1 ^ 1; + c[e + 248 >> 2] = c[i + 248 >> 2]; + c[e + 252 >> 2] = c[i + 252 >> 2]; + e = sx(fz(b) | 0, 1, 0) | 0; + while (1) { + if (!e) break; + nx(f, 1, c[e + 8 >> 2] | 0, c[e + 12 >> 2] | 0) | 0; + e = sx(fz(b) | 0, 1, e) | 0 + } + e = sx(fz(b) | 0, 2, 0) | 0; + while (1) { + if (!e) break; + nx(f, 2, c[e + 8 >> 2] | 0, c[e + 12 >> 2] | 0) | 0; + e = sx(fz(b) | 0, 2, e) | 0 + } + if (!(nx(f, 2, 108382, 0) | 0)) nx(f, 2, 108382, 191979) | 0; + if (!(nx(f, 2, 108373, 0) | 0)) nx(f, 2, 108373, 191979) | 0; + ch(f, d); + l = g; + return f | 0 + } + + function _g(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + e = l; + l = l + 16 | 0; + d = e; + a = az(a, ry(b) | 0, 1) | 0; + Az(a, 134365, 304, 1) | 0; + Bx(b, a) | 0; + if ((HJ(b) | 0) == 2) { + f = b + 16 | 0; + b = vH((W_(c[c[(c[f >> 2] | 0) + 104 >> 2] >> 2] | 0) | 0) + 3 | 0) | 0; + c[d >> 2] = c[c[(c[f >> 2] | 0) + 104 >> 2] >> 2]; + Y0(b, 85393, d) | 0; + zx(a, 105198, b) | 0 + } + l = e; + return a | 0 + } + + function $g(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + c = Rx(a, b, c, 0, 1) | 0; + Az(c, 134378, 176, 1) | 0; + Bx(d, c) | 0; + return c | 0 + } + + function ah(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0.0; + i = l; + l = l + 32 | 0; + g = i + 16 | 0; + f = i; + if (e | 0) { + j = +h[b >> 3]; + e = b + 8 | 0; + h[b >> 3] = +h[e >> 3]; + h[e >> 3] = -j + } + ;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] = 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]; + Pg(a, f, g); + l = i; + return + } + + function bh(a, b) { + a = a | 0; + b = b | 0; + c[46419] = c[b >> 2]; + c[46423] = c[b + 4 >> 2]; + c[46424] = c[b + 8 >> 2]; + c[46404] = c[b + 12 >> 2]; + c[46405] = c[b + 16 >> 2]; + c[46411] = c[b + 20 >> 2]; + c[46410] = c[b + 24 >> 2]; + c[46409] = c[b + 28 >> 2]; + c[46435] = c[b + 32 >> 2]; + c[46427] = c[b + 36 >> 2]; + c[46412] = c[b + 40 >> 2]; + c[46422] = c[b + 44 >> 2]; + c[46431] = c[b + 48 >> 2]; + c[46430] = c[b + 52 >> 2]; + c[46429] = c[b + 56 >> 2]; + c[46434] = c[b + 60 >> 2]; + c[46428] = c[b + 64 >> 2]; + c[46413] = c[b + 68 >> 2]; + c[46375] = c[b + 72 >> 2]; + c[46376] = c[b + 76 >> 2]; + c[46377] = c[b + 80 >> 2]; + c[46387] = c[b + 84 >> 2]; + c[46380] = c[b + 88 >> 2]; + c[46381] = c[b + 92 >> 2]; + c[46382] = c[b + 96 >> 2]; + c[46384] = c[b + 100 >> 2]; + c[46385] = c[b + 104 >> 2]; + c[46388] = c[b + 108 >> 2]; + c[46391] = c[b + 112 >> 2]; + c[46389] = c[b + 116 >> 2]; + c[46390] = c[b + 120 >> 2]; + c[46393] = c[b + 124 >> 2]; + c[46392] = c[b + 128 >> 2]; + c[46394] = c[b + 132 >> 2]; + c[46395] = c[b + 136 >> 2]; + c[46386] = c[b + 140 >> 2]; + c[46398] = c[b + 144 >> 2]; + c[46370] = c[b + 148 >> 2]; + c[46367] = c[b + 152 >> 2]; + D_(b); + Tf(a); + $x(a) | 0; + return + } + + function ch(a, b) { + a = a | 0; + b = b | 0; + c[b >> 2] = c[46419]; + c[b + 4 >> 2] = c[46423]; + c[b + 8 >> 2] = c[46424]; + c[b + 12 >> 2] = c[46404]; + c[b + 16 >> 2] = c[46405]; + c[b + 20 >> 2] = c[46411]; + c[b + 24 >> 2] = c[46410]; + c[b + 28 >> 2] = c[46409]; + c[b + 32 >> 2] = c[46435]; + c[b + 36 >> 2] = c[46427]; + c[b + 40 >> 2] = c[46412]; + c[b + 44 >> 2] = c[46422]; + c[b + 48 >> 2] = c[46431]; + c[b + 52 >> 2] = c[46430]; + c[b + 56 >> 2] = c[46429]; + c[b + 60 >> 2] = c[46434]; + c[b + 64 >> 2] = c[46428]; + c[b + 68 >> 2] = c[46413]; + c[b + 72 >> 2] = c[46375]; + c[b + 76 >> 2] = c[46376]; + c[b + 80 >> 2] = c[46377]; + c[b + 84 >> 2] = c[46387]; + c[b + 88 >> 2] = c[46380]; + c[b + 92 >> 2] = c[46381]; + c[b + 96 >> 2] = c[46382]; + c[b + 100 >> 2] = c[46384]; + c[b + 104 >> 2] = c[46385]; + c[b + 108 >> 2] = c[46388]; + c[b + 112 >> 2] = c[46391]; + c[b + 116 >> 2] = c[46389]; + c[b + 120 >> 2] = c[46390]; + c[b + 124 >> 2] = c[46393]; + c[b + 128 >> 2] = c[46392]; + c[b + 132 >> 2] = c[46394]; + c[b + 136 >> 2] = c[46395]; + c[b + 140 >> 2] = c[46386]; + c[b + 144 >> 2] = c[46398]; + c[b + 152 >> 2] = c[46367]; + c[b + 148 >> 2] = c[46370]; + c[46419] = 0; + c[46423] = nx(a, 2, 87317, 0) | 0; + c[46424] = nx(a, 2, 87326, 0) | 0; + b = nx(a, 2, 98515, 0) | 0; + c[46404] = b; + if (!b) c[46404] = nx(a, 2, 98515, 191979) | 0; + c[46405] = 0; + c[46411] = 0; + c[46410] = nx(a, 2, 98411, 0) | 0; + c[46409] = nx(a, 2, 98402, 0) | 0; + c[46435] = nx(a, 2, 98691, 0) | 0; + c[46427] = 0; + c[46412] = nx(a, 2, 105198, 0) | 0; + c[46422] = nx(a, 2, 85403, 0) | 0; + c[46431] = 0; + c[46430] = nx(a, 2, 98591, 0) | 0; + c[46429] = nx(a, 2, 98577, 0) | 0; + c[46434] = nx(a, 2, 98682, 0) | 0; + c[46428] = 0; + c[46413] = 0; + c[46375] = nx(a, 1, 137966, 0) | 0; + c[46376] = nx(a, 1, 138034, 0) | 0; + c[46377] = nx(a, 1, 105204, 0) | 0; + c[46387] = 0; + c[46380] = nx(a, 1, 98402, 0) | 0; + c[46381] = nx(a, 1, 98411, 0) | 0; + c[46382] = 0; + c[46384] = nx(a, 1, 105198, 0) | 0; + c[46385] = 0; + c[46388] = 0; + c[46391] = nx(a, 1, 98383, 0) | 0; + c[46389] = nx(a, 1, 137994, 0) | 0; + c[46390] = nx(a, 1, 98446, 0) | 0; + c[46393] = nx(a, 1, 98458, 0) | 0; + c[46392] = nx(a, 1, 98322, 0) | 0; + c[46394] = nx(a, 1, 98463, 0) | 0; + c[46395] = nx(a, 1, 85415, 0) | 0; + c[46386] = 0; + c[46398] = 0; + c[46370] = nx(a, 0, 98383, 0) | 0; + return + } + + function dh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0; + d = c[(c[(c[a >> 2] | 0) + 16 >> 2] | 0) + 96 >> 2] | 0; + a = c[(c[(c[b >> 2] | 0) + 16 >> 2] | 0) + 96 >> 2] | 0; + b = (a | 0) != 0; + if (d) if (b ? (f = +h[d + 24 >> 3], i = +h[d + 32 >> 3], e = +h[a + 24 >> 3], g = +h[a + 32 >> 3], !(f > e)) : 0) if (!(f < e)) if (i > g) a = -1; else a = i < g & 1; else a = 1; else a = -1; else a = b & 1; + return a | 0 + } + + function eh(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + while (1) { + b = c[(c[a + 16 >> 2] | 0) + 116 >> 2] | 0; + if (!b) break; else a = b + } + b = c[a >> 2] & 3; + d = c[(c[((b | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + e = c[d + 232 >> 2] | 0; + a = c[(c[((b | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = c[a + 232 >> 2] | 0; + if ((e | 0) <= (b | 0)) if ((e | 0) < (b | 0)) a = 1; else a = (c[d + 236 >> 2] | 0) < (c[a + 236 >> 2] | 0) & 1; else a = 0; + return a | 0 + } + + function fh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + d = l; + l = l + 16 | 0; + e = d + 8 | 0; + f = d; + h = (c[a + 16 >> 2] | 0) + 180 | 0; + g = (c[b + 16 >> 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 = gh(a, f, b, e) | 0; + l = d; + return b | 0 + } + + function gh(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = c[b + 4 >> 2] | 0; + a:do if ((f | 0) > 0 ? (g = c[e + 4 >> 2] | 0, (g | 0) > 0) : 0) if ((f | 0) < (g | 0)) { + f = c[b >> 2] | 0; + e = 0; + while (1) { + b = c[f + (e << 2) >> 2] | 0; + if (!b) { + b = 0; + break a + } + if ((c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) == (d | 0)) break; else e = e + 1 | 0 + } + } else { + f = c[e >> 2] | 0; + e = 0; + while (1) { + b = c[f + (e << 2) >> 2] | 0; + if (!b) { + b = 0; + break a + } + if ((c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) == (a | 0)) break; else e = e + 1 | 0 + } + } else b = 0; while (0); + return b | 0 + } + + function hh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + d = l; + l = l + 16 | 0; + e = d + 8 | 0; + f = d; + h = (c[a + 16 >> 2] | 0) + 188 | 0; + g = (c[b + 16 >> 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 = gh(a, f, b, e) | 0; + l = d; + return b | 0 + } + + function ih(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + e = a + 48 | 0; + d = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = c[d + 180 >> 2] | 0; + if (!b) b = vH((c[d + 184 >> 2] << 2) + 8 | 0) | 0; else b = xH(b, (c[d + 184 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] = b; + f = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + d = c[f + 180 >> 2] | 0; + f = f + 184 | 0; + b = c[f >> 2] | 0; + c[f >> 2] = b + 1; + c[d + (b << 2) >> 2] = a; + e = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[e + 180 >> 2] | 0) + (c[e + 184 >> 2] << 2) >> 2] = 0; + e = a + -48 | 0; + b = c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + d = c[b + 172 >> 2] | 0; + if (!d) b = vH((c[b + 176 >> 2] << 2) + 8 | 0) | 0; else b = xH(d, (c[b + 176 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 >> 2] = b; + b = c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + d = c[b + 172 >> 2] | 0; + b = b + 176 | 0; + f = c[b >> 2] | 0; + c[b >> 2] = f + 1; + c[d + (f << 2) >> 2] = a; + f = c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[f + 172 >> 2] | 0) + (c[f + 176 >> 2] << 2) >> 2] = 0; + return a | 0 + } + + function jh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + e = a + 4 | 0; + f = c[e >> 2] | 0; + d = 0; + while (1) { + if ((d | 0) >= (f | 0)) break; + g = c[a >> 2] | 0; + h = g + (d << 2) | 0; + if ((c[h >> 2] | 0) == (b | 0)) { + i = 4; + break + } else d = d + 1 | 0 + } + if ((i | 0) == 4) { + i = f + -1 | 0; + c[e >> 2] = i; + c[h >> 2] = c[g + (i << 2) >> 2]; + c[(c[a >> 2] | 0) + (i << 2) >> 2] = 0 + } + return + } + + function kh(a) { + a = a | 0; + if (!a) qa(85456, 85466, 117, 85475); else { + jh((c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 | 0, a); + jh((c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 | 0, a); + return + } + } + + function lh(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + e = a + 48 | 0; + d = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = c[d + 204 >> 2] | 0; + if (!b) b = vH((c[d + 208 >> 2] << 2) + 8 | 0) | 0; else b = xH(b, (c[d + 208 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 204 >> 2] = b; + f = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = c[f + 204 >> 2] | 0; + f = f + 208 | 0; + d = c[f >> 2] | 0; + c[f >> 2] = d + 1; + c[b + (d << 2) >> 2] = a; + e = c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[e + 204 >> 2] | 0) + (c[e + 208 >> 2] << 2) >> 2] = 0; + return + } + + function mh(a) { + a = a | 0; + nh(a, (c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 204 | 0); + return + } + + function nh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = b + 4 | 0; + e = c[h >> 2] | 0; + f = c[b >> 2] | 0; + d = 0; + while (1) { + if ((d | 0) >= (e | 0)) { + g = 4; + break + } + if ((c[f + (d << 2) >> 2] | 0) == (a | 0)) break; else d = d + 1 | 0 + } + if ((g | 0) == 4) { + if (!f) d = vH((e << 2) + 8 | 0) | 0; else d = xH(f, (e << 2) + 8 | 0) | 0; + c[b >> 2] = d; + f = c[h >> 2] | 0; + g = f + 1 | 0; + c[h >> 2] = g; + c[d + (f << 2) >> 2] = a; + c[(c[b >> 2] | 0) + (g << 2) >> 2] = 0 + } + return + } + + function oh(d, e, f) { + 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; + n = uH(96) | 0; + g = n + 48 | 0; + c[g >> 2] = c[g >> 2] | 3; + c[n >> 2] = c[n >> 2] & -4 | 2; + h = uH(176) | 0; + m = n + 16 | 0; + c[m >> 2] = h; + c[((c[n >> 2] & 3 | 0) == 3 ? n : g) + 40 >> 2] = d; + j = n + -48 | 0; + c[((c[n >> 2] & 3 | 0) == 2 ? n : j) + 40 >> 2] = e; + a[h + 112 >> 0] = 1; + if (!f) { + c[h + 156 >> 2] = 1; + b[h + 154 >> 1] = 1; + b[h + 168 >> 1] = 1; + b[h + 170 >> 1] = 1 + } else { + c[n >> 2] = c[n >> 2] & 15 | c[f >> 2] & -16; + c[g >> 2] = c[g >> 2] & 15 | c[f >> 2] & -16; + l = f + 16 | 0; + i = c[l >> 2] | 0; + b[h + 168 >> 1] = b[i + 168 >> 1] | 0; + b[h + 154 >> 1] = b[i + 154 >> 1] | 0; + c[h + 156 >> 2] = c[i + 156 >> 2]; + b[h + 170 >> 1] = b[i + 170 >> 1] | 0; + d = c[((c[n >> 2] & 3 | 0) == 3 ? n : g) + 40 >> 2] | 0; + e = c[f >> 2] & 3; + k = f + 48 | 0; + if ((d | 0) != (c[((e | 0) == 3 ? f : k) + 40 >> 2] | 0)) { + g = f + -48 | 0; + if ((d | 0) == (c[((e | 0) == 2 ? f : g) + 40 >> 2] | 0)) { + h = h + 16 | 0; + d = i + 56 | 0; + e = h + 40 | 0; + do { + c[h >> 2] = c[d >> 2]; + h = h + 4 | 0; + d = d + 4 | 0 + } while ((h | 0) < (e | 0)) + } + } else { + h = h + 16 | 0; + d = i + 16 | 0; + e = h + 40 | 0; + do { + c[h >> 2] = c[d >> 2]; + h = h + 4 | 0; + d = d + 4 | 0 + } while ((h | 0) < (e | 0)); + g = f + -48 | 0 + } + d = c[((c[n >> 2] & 3 | 0) == 2 ? n : j) + 40 >> 2] | 0; + e = c[f >> 2] & 3; + if ((d | 0) != (c[((e | 0) == 2 ? f : g) + 40 >> 2] | 0)) { + if ((d | 0) == (c[((e | 0) == 3 ? f : k) + 40 >> 2] | 0)) { + h = (c[m >> 2] | 0) + 56 | 0; + d = (c[l >> 2] | 0) + 16 | 0; + e = h + 40 | 0; + do { + c[h >> 2] = c[d >> 2]; + h = h + 4 | 0; + d = d + 4 | 0 + } while ((h | 0) < (e | 0)) + } + } else { + h = (c[m >> 2] | 0) + 56 | 0; + d = (c[l >> 2] | 0) + 56 | 0; + e = h + 40 | 0; + do { + c[h >> 2] = c[d >> 2]; + h = h + 4 | 0; + d = d + 4 | 0 + } while ((h | 0) < (e | 0)) + } + d = (c[l >> 2] | 0) + 172 | 0; + if (!(c[d >> 2] | 0)) c[d >> 2] = n; + c[(c[m >> 2] | 0) + 116 >> 2] = f + } + return n | 0 + } + + function ph(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return ih(oh(a, b, c) | 0) | 0 + } + + function qh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + a = (c[a + 16 >> 2] | 0) + 192 | 0; + f = c[a >> 2] | 0; + d = c[b + 16 >> 2] | 0; + c[d + 164 >> 2] = f; + e = f; + if (f | 0) c[(c[e + 16 >> 2] | 0) + 168 >> 2] = b; + c[a >> 2] = b; + c[d + 168 >> 2] = 0; + if ((e | 0) == (b | 0)) qa(85492, 85466, 215, 85508); else return + } + + function rh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + if ((a | 0) == (b | 0)) qa(85518, 85466, 220, 85525); + f = c[b + 16 >> 2] | 0; + d = f + 164 | 0; + if (c[d >> 2] | 0) qa(85538, 85466, 221, 85525); + e = (c[a + 16 >> 2] | 0) + 164 | 0; + c[d >> 2] = c[e >> 2]; + d = c[e >> 2] | 0; + if (d | 0) c[(c[d + 16 >> 2] | 0) + 168 >> 2] = b; + c[f + 168 >> 2] = a; + c[e >> 2] = b; + return + } + + function sh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (!(th(a, b) | 0)) qa(85557, 85466, 231, 85578); + b = c[b + 16 >> 2] | 0; + d = c[b + 164 >> 2] | 0; + e = d; + b = b + 168 | 0; + if (d | 0) c[(c[d + 16 >> 2] | 0) + 168 >> 2] = c[b >> 2]; + b = c[b >> 2] | 0; + if (!b) c[(c[a + 16 >> 2] | 0) + 192 >> 2] = e; else c[(c[b + 16 >> 2] | 0) + 164 >> 2] = e; + return + } + + function th(a, b) { + a = a | 0; + b = b | 0; + a = (c[a + 16 >> 2] | 0) + 192 | 0; + while (1) { + a = c[a >> 2] | 0; + if ((a | 0) == 0 | (a | 0) == (b | 0)) break; + a = (c[a + 16 >> 2] | 0) + 164 | 0 + } + return a | 0 + } + + function uh(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = uH(64) | 0; + c[d >> 2] = c[d >> 2] & -4 | 1; + e = d + 16 | 0; + c[e >> 2] = uH(304) | 0; + c[d + 24 >> 2] = fz(b) | 0; + g = c[e >> 2] | 0; + a[g + 156 >> 0] = 1; + h[g + 96 >> 3] = 1.0; + h[g + 88 >> 3] = 1.0; + h[g + 80 >> 3] = 1.0; + c[g + 216 >> 2] = 1; + c[g + 176 >> 2] = 0; + g = uH(20) | 0; + f = c[e >> 2] | 0; + c[f + 172 >> 2] = g; + c[f + 184 >> 2] = 0; + f = uH(20) | 0; + c[(c[e >> 2] | 0) + 180 >> 2] = f; + qh(b, d); + b = (c[b + 16 >> 2] | 0) + 232 | 0; + c[b >> 2] = (c[b >> 2] | 0) + 1; + return d | 0 + } + + function vh(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = d + 48 | 0; + e = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 188 >> 2] | 0; + if (!f) e = vH((c[e + 192 >> 2] << 2) + 8 | 0) | 0; else e = xH(f, (c[e + 192 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 188 >> 2] = e; + h = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[h + 188 >> 2] | 0; + h = h + 192 | 0; + e = c[h >> 2] | 0; + c[h >> 2] = e + 1; + c[f + (e << 2) >> 2] = d; + g = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[g + 188 >> 2] | 0) + (c[g + 192 >> 2] << 2) >> 2] = 0; + g = d + -48 | 0; + e = c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 196 >> 2] | 0; + if (!f) e = vH((c[e + 200 >> 2] << 2) + 8 | 0) | 0; else e = xH(f, (c[e + 200 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 196 >> 2] = e; + e = c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 196 >> 2] | 0; + e = e + 200 | 0; + h = c[e >> 2] | 0; + c[e >> 2] = h + 1; + c[f + (h << 2) >> 2] = d; + h = c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[h + 196 >> 2] | 0) + (c[h + 200 >> 2] << 2) >> 2] = 0; + a[(c[b + 16 >> 2] | 0) + 240 >> 0] = 1; + a[(c[(ig(b) | 0) + 16 >> 2] | 0) + 240 >> 0] = 1; + return + } + + function wh(a) { + a = a | 0; + var b = 0, d = 0; + if (!a) qa(85456, 85466, 269, 85595); + b = c[(c[a + 16 >> 2] | 0) + 116 >> 2] | 0; + if (b | 0 ? (d = (c[b + 16 >> 2] | 0) + 172 | 0, (c[d >> 2] | 0) == (a | 0)) : 0) c[d >> 2] = 0; + jh((c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 188 | 0, a); + jh((c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 196 | 0, a); + return + } + + function xh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + d = (c[a + 16 >> 2] | 0) + 172 | 0; + e = c[d >> 2] | 0; + do if ((e | 0) != (b | 0)) if (!e) { + c[d >> 2] = b; + yh(a, b); + break + } else qa(87498, 85466, 340, 85633); else Pw(0, 85612, f) | 0; while (0); + l = f; + return + } + + function yh(a, d) { + a = a | 0; + d = d | 0; + var f = 0, g = 0, h = 0, i = 0; + f = (c[d + 16 >> 2] | 0) + 170 | 0; + i = c[a + 16 >> 2] | 0; + a = b[i + 170 >> 1] | 0; + if ((e[f >> 1] | 0) < (a & 65535)) b[f >> 1] = a; + g = i + 168 | 0; + h = i + 154 | 0; + f = i + 156 | 0; + a = d; + while (1) { + if (!a) break; + d = c[a + 16 >> 2] | 0; + i = d + 168 | 0; + b[i >> 1] = (e[i >> 1] | 0) + (e[g >> 1] | 0); + i = d + 154 | 0; + b[i >> 1] = (e[i >> 1] | 0) + (e[h >> 1] | 0); + i = d + 156 | 0; + c[i >> 2] = (c[i >> 2] | 0) + (c[f >> 2] | 0); + a = c[d + 172 >> 2] | 0 + } + return + } + + function zh(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + f = d + 16 | 0; + e = c[(c[f >> 2] | 0) + 172 >> 2] | 0; + a:while (1) { + if (!e) break; + Ah(e, d); + h = c[e + 16 >> 2] | 0; + g = c[h + 172 >> 2] | 0; + if (!(b[h + 168 >> 1] | 0)) Bh(e); + while (1) { + if ((a[(c[e + 16 >> 2] | 0) + 112 >> 0] | 0) != 1) { + e = g; + continue a + } + e = c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[e + 156 >> 0] | 0) != 1) { + e = g; + continue a + } + if ((c[e + 184 >> 2] | 0) != 1) { + e = g; + continue a + } + e = c[c[e + 180 >> 2] >> 2] | 0; + Ah(e, d) + } + } + c[(c[f >> 2] | 0) + 172 >> 2] = 0; + return + } + + function Ah(a, d) { + a = a | 0; + d = d | 0; + var f = 0; + f = c[d + 16 >> 2] | 0; + d = c[a + 16 >> 2] | 0; + a = d + 168 | 0; + b[a >> 1] = (e[a >> 1] | 0) - (e[f + 168 >> 1] | 0); + a = d + 154 | 0; + b[a >> 1] = (e[a >> 1] | 0) - (e[f + 154 >> 1] | 0); + d = d + 156 | 0; + c[d >> 2] = (c[d >> 2] | 0) - (c[f + 156 >> 2] | 0); + return + } + + function Bh(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if (!a) qa(85456, 85466, 128, 85646); + g = a + 48 | 0; + d = 0; + while (1) { + b = c[a >> 2] | 0; + e = (c[(c[((b & 3 | 0) == 3 ? a : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 | 0; + f = c[(c[e >> 2] | 0) + (d << 2) >> 2] | 0; + if (!f) break; + if ((f | 0) == (a | 0)) jh(e, a); + d = d + 1 | 0 + } + g = a + -48 | 0; + f = 0; + while (1) { + d = (c[(c[((b & 3 | 0) == 2 ? a : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 | 0; + e = c[(c[d >> 2] | 0) + (f << 2) >> 2] | 0; + if (!e) break; + if ((e | 0) == (a | 0)) { + jh(d, a); + b = c[a >> 2] | 0 + } + f = f + 1 | 0 + } + return + } + + function Ch(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0; + p = l; + l = l + 1040 | 0; + n = p + 1032 | 0; + o = p; + m = p + 8 | 0; + k = d + 16 | 0; + d = c[k >> 2] | 0; + j = b[d + 236 >> 1] | 0; + while (1) { + if ((j | 0) > (b[d + 238 >> 1] | 0)) break; + i = c[d + 196 >> 2] | 0; + h = i + (j << 6) | 0; + i = i + (j << 6) + 4 | 0; + g = 0; + d = 0; + while (1) { + if ((g | 0) >= (c[h >> 2] | 0)) break; + e = c[(c[i >> 2] | 0) + (g << 2) >> 2] | 0; + f = e + 16 | 0; + if (c[(c[f >> 2] | 0) + 112 >> 2] | 0) { + if (!d) { + a[n >> 0] = a[18484] | 0; + a[n + 1 >> 0] = a[18485] | 0; + a[n + 2 >> 0] = a[18486] | 0; + a[n + 3 >> 0] = a[18487] | 0; + d = Xx(85668, n, 0) | 0 + } + c[o >> 2] = g; + Y0(m, 134313, o) | 0; + t = az(d, m, 1) | 0; + Az(t, 91080, 24, 1) | 0; + q = c[(c[f >> 2] | 0) + 180 >> 2] | 0; + r = c[q >> 2] | 0; + r = c[(c[(c[((c[r >> 2] & 3 | 0) == 2 ? r : r + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + q = c[q + 4 >> 2] | 0; + q = c[(c[(c[((c[q >> 2] & 3 | 0) == 2 ? q : q + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + s = (r | 0) > (q | 0); + f = c[t + 16 >> 2] | 0; + c[f + 12 >> 2] = s ? q : r; + c[f + 16 >> 2] = s ? r : q; + c[f + 20 >> 2] = e + } + g = g + 1 | 0 + } + if (d | 0) { + if ((ay(d) | 0) > 1) Dh(d, h); + $x(d) | 0 + } + j = j + 1 | 0; + d = c[k >> 2] | 0 + } + l = p; + return + } + + function Dh(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; + d = 0; + h = Sy(a) | 0; + a:while (1) { + if (!h) break; + i = Ty(a, h) | 0; + j = h + 16 | 0; + g = i; + while (1) { + if (!g) { + h = i; + continue a + } + f = c[g + 16 >> 2] | 0; + e = c[j >> 2] | 0; + if ((c[f + 16 >> 2] | 0) > (c[e + 12 >> 2] | 0)) { + if ((c[e + 16 >> 2] | 0) <= (c[f + 12 >> 2] | 0)) Rx(a, h, g, 0, 1) | 0 + } else { + Rx(a, g, h, 0, 1) | 0; + d = 1 + } + g = Ty(a, g) | 0 + } + } + do if (d | 0) { + h = vA(a, 85671, 1) | 0; + j = uH((ay(a) | 0) << 2) | 0; + i = uH((ay(a) | 0) << 2) | 0; + f = b + 4 | 0; + e = Sy(a) | 0; + b:while (1) { + if (!e) { + d = 23; + break + } + if ((c[(c[e + 16 >> 2] | 0) + 8 >> 2] | 0) == 0 ? cy(a, e, 1, 1) | 0 : 0) { + c:do if (Eh(a, e, h, i) | 0) { + g = ay(h) | 0; + if ((Fh(a, h, j) | 0) != (g | 0)) { + d = 17; + break b + } + _0(i, g, 4, 60); + d = 0; + while (1) { + if ((d | 0) >= (g | 0)) break c; + b = i + (d << 2) | 0; + k = c[j + (d << 2) >> 2] | 0; + c[(c[k + 16 >> 2] | 0) + 236 >> 2] = c[b >> 2]; + c[(c[f >> 2] | 0) + (c[b >> 2] << 2) >> 2] = k; + d = d + 1 | 0 + } + } while (0); + Hh(h) + } + e = Ty(a, e) | 0 + } + if ((d | 0) == 17) qa(85676, 85686, 265, 85697); else if ((d | 0) == 23) { + D_(j); + break + } + } while (0); + return + } + + function Eh(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + h = c[b + 16 >> 2] | 0; + c[h + 8 >> 2] = 1; + h = c[(c[(c[h + 20 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + c[e + ((ay(d) | 0) << 2) >> 2] = h; + Xy(d, b, 1) | 0; + h = Ex(a, b) | 0; + f = 0; + while (1) { + if (!h) break; + j = c[h >> 2] & 3; + g = c[((j | 0) == 2 ? h : h + -48 | 0) + 40 >> 2] | 0; + i = c[g + 16 >> 2] | 0; + f = f + ((c[(c[(c[i + 20 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) > (c[(c[(c[(c[(c[((j | 0) == 3 ? h : h + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 20 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) & 1) | 0; + if (!(c[i + 8 >> 2] | 0)) f = (Eh(a, g, d, e) | 0) + f | 0; + h = Gx(a, h) | 0 + } + h = Hx(a, b) | 0; + while (1) { + if (!h) break; + i = c[h >> 2] & 3; + g = c[((i | 0) == 3 ? h : h + 48 | 0) + 40 >> 2] | 0; + j = c[g + 16 >> 2] | 0; + f = f + ((c[(c[(c[(c[(c[((i | 0) == 2 ? h : h + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 20 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) > (c[(c[(c[j + 20 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) & 1) | 0; + if (!(c[j + 8 >> 2] | 0)) f = (Eh(a, g, d, e) | 0) + f | 0; + h = Ix(a, h) | 0 + } + return f | 0 + } + + function Fh(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = 0; + while (1) { + e = Ih(a, b) | 0; + if (!e) break; + c[d + (f << 2) >> 2] = c[(c[e + 16 >> 2] | 0) + 20 >> 2]; + cz(b, e) | 0; + e = Ex(a, e) | 0; + while (1) { + if (!e) break; + g = Gx(a, e) | 0; + Ux(a, e) | 0; + e = g + } + f = f + 1 | 0 + } + return f | 0 + } + + function Gh(a, b) { + a = a | 0; + b = b | 0; + return (c[a >> 2] | 0) - (c[b >> 2] | 0) | 0 + } + + function Hh(a) { + a = a | 0; + var b = 0, c = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + c = Ty(a, b) | 0; + cz(a, b) | 0; + b = c + } + return + } + + function Ih(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Sy(b) | 0; + while (1) { + if (!c) { + c = 0; + break + } + if (!(cy(a, c, 1, 0) | 0)) break; + c = Ty(b, c) | 0 + } + return c | 0 + } + + function Jh(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + Kh(b); + i = b + 16 | 0; + f = 0; + e = 0; + while (1) { + if ((f | 0) >= (c[(c[i >> 2] | 0) + 220 >> 2] | 0)) break; + Lh(b, f); + f = f + 1 | 0; + e = (Mh(b, 0, d) | 0) + e | 0 + } + Nh(b); + h = 1; + while (1) { + f = c[i >> 2] | 0; + g = c[f + 180 >> 2] | 0; + if ((h | 0) > (g | 0)) break; + g = (Oh(c[(c[f + 184 >> 2] | 0) + (h << 2) >> 2] | 0, d) | 0) + e | 0; + h = h + 1 | 0; + e = g + } + do if ((g | 0) > 0) { + f = xx(b, 85711) | 0; + if (f | 0 ? (QL(f) | 0) << 24 >> 24 == 0 : 0) break; + ll(b); + a[190689] = 1; + e = Mh(b, 2, d) | 0 + } while (0); + Ph(b, e); + return + } + + function Kh(d) { + d = d | 0; + var e = 0; + if (0) EL(); + a[190689] = 0; + c[45971] = d; + e = ((by(ig(d) | 0) | 0) << 2) + 4 | 0; + c[45970] = uH(e) | 0; + c[45969] = uH(e) | 0; + Fi(d); + e = d + 16 | 0; + if (b[(c[e >> 2] | 0) + 136 >> 1] & 16) Gi(d); + Uk(d); + Il(d, 1); + Hi(d); + Wh(d); + e = c[e >> 2] | 0; + c[45972] = b[e + 236 >> 1]; + c[45973] = b[e + 238 >> 1]; + return + } + + function Lh(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + a = c[a + 16 >> 2] | 0; + c[a + 192 >> 2] = c[(c[a + 216 >> 2] | 0) + (d << 2) >> 2]; + a:do if ((d | 0) > 0) { + d = b[a + 238 >> 1] | 0; + e = a + 196 | 0; + a = b[a + 236 >> 1] | 0; + while (1) { + if ((a | 0) > (d | 0)) break a; + f = c[e >> 2] | 0; + g = f + (a << 6) + 4 | 0; + f = f + (a << 6) | 0; + c[g >> 2] = (c[g >> 2] | 0) + (c[f >> 2] << 2); + c[f >> 2] = 0; + a = a + 1 | 0 + } + } while (0); + return + } + + function Mh(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 32 | 0; + n = o; + if ((b | 0) > 1) { + e = ki(0) | 0; + li(a) + } else e = 2147483647; + m = c[15686] | 0; + k = b; + f = 0; + b = e; + while (1) { + if ((k | 0) >= 3) break; + f = c[46365] | 0; + if ((k | 0) == 2) if ((e | 0) > (b | 0)) { + ni(a); + e = b + } else e = b; else { + e = (f | 0) < 4 ? f : 4; + if ((ig(a) | 0) == (a | 0)) mi(a, k); + if (!k) Xh(a); + Yh(a); + g = ki(0) | 0; + if ((g | 0) > (b | 0)) { + f = e; + e = g + } else { + li(a); + f = e; + e = g; + b = g + } + } + g = 0; + j = 0; + while (1) { + if ((j | 0) >= (f | 0)) break; + if (0) { + c[n >> 2] = k; + c[n + 4 >> 2] = j; + c[n + 8 >> 2] = g; + c[n + 12 >> 2] = e; + c[n + 16 >> 2] = b; + g1(m, 86104, n) | 0 + } + i = g + 1 | 0; + if ((e | 0) == 0 | (g | 0) >= (c[45974] | 0)) break; + oi(a, j); + e = ki(0) | 0; + if ((e | 0) > (b | 0)) g = i; else { + li(a); + g = +h[22830] * +(b | 0) > +(e | 0) ? 0 : i; + b = e + } + j = j + 1 | 0 + } + if (!e) { + e = 0; + break + } else k = k + 1 | 0 + } + if ((e | 0) > (b | 0)) ni(a); + if ((b | 0) > 0) { + pi(a, 0); + e = ki(0) | 0 + } else e = b; + a:do if (d | 0) { + b = 0; + while (1) { + if ((b | 0) >= (f | 0)) break a; + qi(a); + b = b + 1 | 0 + } + } while (0); + l = o; + return e | 0 + } + + function Nh(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + n = p; + ji(a); + k = a + 16 | 0; + d = c[k >> 2] | 0; + m = c[15686] | 0; + j = b[d + 236 >> 1] | 0; + while (1) { + if ((j | 0) > (b[d + 238 >> 1] | 0)) break; + e = c[d + 196 >> 2] | 0; + f = c[e + (j << 6) + 8 >> 2] | 0; + c[e + (j << 6) >> 2] = f; + g = c[e + (j << 6) + 12 >> 2] | 0; + c[e + (j << 6) + 4 >> 2] = g; + i = 0; + while (1) { + if ((i | 0) >= (f | 0)) break; + h = c[g + (i << 2) >> 2] | 0; + if (!h) { + o = 6; + break + } + c[(c[h + 16 >> 2] | 0) + 236 >> 2] = i; + i = i + 1 | 0 + } + if ((o | 0) == 6) { + o = 0; + if (0) { + e = ry(a) | 0; + d = c[(c[(c[k >> 2] | 0) + 196 >> 2] | 0) + (j << 6) >> 2] | 0; + c[n >> 2] = e; + c[n + 4 >> 2] = j; + c[n + 8 >> 2] = i; + c[n + 12 >> 2] = d; + g1(m, 86054, n) | 0; + d = c[k >> 2] | 0; + e = c[d + 196 >> 2] | 0 + } + c[e + (j << 6) >> 2] = i + } + j = j + 1 | 0 + } + l = p; + return + } + + function Oh(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + fl(a); + Wh(a); + Xh(a); + Yh(a); + f = a + 16 | 0; + d = Mh(a, 2, b) | 0; + e = 1; + while (1) { + g = c[f >> 2] | 0; + if ((e | 0) > (c[g + 180 >> 2] | 0)) break; + d = (Oh(c[(c[g + 184 >> 2] | 0) + (e << 2) >> 2] | 0, b) | 0) + d | 0; + e = e + 1 | 0 + } + Zh(a); + return d | 0 + } + + function Ph(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 16 | 0; + p = q; + f = c[45969] | 0; + if (f | 0) { + D_(f); + c[45969] = 0 + } + f = c[45970] | 0; + if (f | 0) { + D_(f); + c[45970] = 0 + } + o = d + 16 | 0; + f = 1; + while (1) { + g = c[o >> 2] | 0; + if ((f | 0) > (c[g + 180 >> 2] | 0)) break; + Qh(c[(c[g + 184 >> 2] | 0) + (f << 2) >> 2] | 0); + f = f + 1 | 0 + } + n = b[g + 236 >> 1] | 0; + f = g; + while (1) { + if ((n | 0) > (b[f + 238 >> 1] | 0)) break; else m = 0; + while (1) { + f = c[f + 196 >> 2] | 0; + if ((m | 0) >= (c[f + (n << 6) >> 2] | 0)) break; + k = (c[(c[f + (n << 6) + 4 >> 2] | 0) + (m << 2) >> 2] | 0) + 16 | 0; + f = c[k >> 2] | 0; + c[f + 236 >> 2] = m; + f = c[f + 188 >> 2] | 0; + a:do if (f | 0) { + g = 0; + while (1) { + i = c[f + (g << 2) >> 2] | 0; + if (!i) break a; + j = i + 16 | 0; + if ((a[(c[j >> 2] | 0) + 112 >> 0] | 0) == 4) { + wh(i); + D_(c[j >> 2] | 0); + D_(i); + g = g + -1 | 0; + f = c[(c[k >> 2] | 0) + 188 >> 2] | 0 + } + g = g + 1 | 0 + } + } while (0); + m = m + 1 | 0; + f = c[o >> 2] | 0 + } + Rh(c[f + (n << 6) + 56 >> 2] | 0); + n = n + 1 | 0; + f = c[o >> 2] | 0 + } + if (0) { + o = c[15686] | 0; + d = ry(d) | 0; + r = +FL(); + c[p >> 2] = d; + c[p + 4 >> 2] = e; + h[p + 8 >> 3] = r; + g1(o, 85722, p) | 0 + } + l = q; + return + } + + function Qh(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + g = a + 16 | 0; + d = 1; + while (1) { + f = c[g >> 2] | 0; + if ((d | 0) > (c[f + 180 >> 2] | 0)) break; + Qh(c[(c[f + 184 >> 2] | 0) + (d << 2) >> 2] | 0); + d = d + 1 | 0 + } + a:do if (c[f + 268 >> 2] | 0) { + e = b[f + 236 >> 1] | 0; + d = f; + while (1) { + if ((e | 0) > (b[d + 238 >> 1] | 0)) break a; + j = c[(c[d + 268 >> 2] | 0) + (e << 2) >> 2] | 0; + i = Sh(a, j, -1) | 0; + j = Sh(a, j, 1) | 0; + c[(c[(c[g >> 2] | 0) + 268 >> 2] | 0) + (e << 2) >> 2] = i; + k = c[(c[(c[(ig(a) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (e << 6) + 4 >> 2] | 0; + i = c[(c[i + 16 >> 2] | 0) + 236 >> 2] | 0; + f = c[g >> 2] | 0; + h = c[f + 196 >> 2] | 0; + c[h + (e << 6) + 4 >> 2] = k + (i << 2); + c[h + (e << 6) >> 2] = (c[(c[j + 16 >> 2] | 0) + 236 >> 2] | 0) + 1 - i; + e = e + 1 | 0; + d = f + } + } while (0); + return + } + + function Rh(a) { + a = a | 0; + if (a | 0) { + D_(c[a + 8 >> 2] | 0); + D_(a) + } + return + } + + function Sh(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = b; + while (1) { + b = Th(b, c) | 0; + if (!b) break; + if (Uh(a, b) | 0) { + d = b; + continue + } + e = (Vh(a, b) | 0) == 0; + d = e ? d : b + } + return d | 0 + } + + function Th(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if (!a) qa(85761, 85686, 1023, 85763); + if ((b | 0) < 0) { + a = c[a + 16 >> 2] | 0; + e = c[a + 236 >> 2] | 0; + if ((e | 0) > 0) { + a = (c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (c[a + 232 >> 2] << 6) + 4 | 0; + d = e + -1 | 0; + f = 7 + } else g = 0 + } else { + a = c[a + 16 >> 2] | 0; + e = c[a + 236 >> 2] | 0; + a = (c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (c[a + 232 >> 2] << 6) + 4 | 0; + d = e + 1 | 0; + f = 7 + } + if ((f | 0) == 7) { + a = c[(c[a >> 2] | 0) + (d << 2) >> 2] | 0; + if (a) if ((O((c[(c[a + 16 >> 2] | 0) + 236 >> 2] | 0) - e | 0, b) | 0) > 0) g = a; else qa(85772, 85686, 1029, 85763); else g = 0 + } + return g | 0 + } + + function Uh(b, d) { + b = b | 0; + d = d | 0; + if (!(a[(c[d + 16 >> 2] | 0) + 156 >> 0] | 0)) b = (oz(b, d) | 0) != 0 & 1; else b = 0; + return b | 0 + } + + function Vh(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + d = c[d + 16 >> 2] | 0; + if (((a[d + 156 >> 0] | 0) == 1 ? (c[d + 176 >> 2] | 0) == 1 : 0) ? (c[d + 184 >> 2] | 0) == 1 : 0) { + d = c[d + 180 >> 2] | 0; + while (1) { + d = c[d >> 2] | 0; + e = c[d + 16 >> 2] | 0; + if (!(a[e + 112 >> 0] | 0)) break; else d = e + 116 | 0 + } + if (oz(b, d) | 0) d = 1; else f = 7 + } else f = 7; + if ((f | 0) == 7) d = 0; + return d | 0 + } + + function Wh(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + d = c[46370] | 0; + a:do if ((d | 0) != 0 | (c[46391] | 0) != 0) { + d = NL(b, d, 0) | 0; + if (d | 0) { + switch (a[d >> 0] | 0) { + case 0: + break a; + case 111: { + if (!(b$(d, 85974) | 0)) { + ei(b, 1); + break a + } + break + } + case 105: { + if (!(b$(d, 95660) | 0)) { + ei(b, 0); + break a + } + break + } + default: { + } + } + c[e >> 2] = d; + Pw(1, 85978, e) | 0; + break + } + d = wA(b) | 0; + while (1) { + if (!d) break; + if (!(Rj(d) | 0)) Wh(d); + d = xA(d) | 0 + } + if (c[46391] | 0) fi(b) + } while (0); + l = f; + return + } + + function Xh(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = d + 16 | 0; + e = c[k >> 2] | 0; + j = b[e + 236 >> 1] | 0; + while (1) { + if ((j | 0) > (b[e + 238 >> 1] | 0)) break; else { + f = 0; + i = 0 + } + while (1) { + g = c[e + 196 >> 2] | 0; + h = c[g + (j << 6) >> 2] | 0; + if ((i | 0) >= (h | 0)) break; + g = c[(c[(c[g + (j << 6) + 4 >> 2] | 0) + (i << 2) >> 2] | 0) + 16 >> 2] | 0; + a[g + 158 >> 0] = 0; + a[g + 157 >> 0] = 0; + c[g + 284 >> 2] = i; + if ((f | 0) == 0 & (c[g + 192 >> 2] | 0) > 0) { + f = ci(h, h) | 0; + e = c[k >> 2] | 0; + c[(c[e + 196 >> 2] | 0) + (j << 6) + 56 >> 2] = f; + f = 1 + } + i = i + 1 | 0 + } + a:do if (f) { + i = 0; + f = h; + while (1) { + if ((i | 0) >= (f | 0)) break a; + h = c[(c[g + (j << 6) + 4 >> 2] | 0) + (i << 2) >> 2] | 0; + if (!(a[(c[h + 16 >> 2] | 0) + 157 >> 0] | 0)) { + di(d, h); + e = c[k >> 2] | 0; + f = c[e + 196 >> 2] | 0; + g = f; + f = c[f + (j << 6) >> 2] | 0 + } + i = i + 1 | 0 + } + } while (0); + j = j + 1 | 0 + } + return + } + + function Yh(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0; + s = d + 16 | 0; + e = c[s >> 2] | 0; + if (a[e + 240 >> 0] | 0) { + h = 0; + r = b[e + 236 >> 1] | 0; + q = 0; + i = 0; + a:while (1) { + if ((r | 0) > (b[e + 238 >> 1] | 0)) break; + f = c[e + 196 >> 2] | 0; + g = c[f + (r << 6) >> 2] | 0; + if (!g) { + g = q; + f = i + } else { + f = c[f + (r << 6) + 4 >> 2] | 0; + o = c[(c[(c[f >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (g | 0)) break; + a[(c[(c[f + (e << 2) >> 2] | 0) + 16 >> 2] | 0) + 157 >> 0] = 0; + e = e + 1 | 0 + } + e = (e << 2) + 4 | 0; + if (!h) p = vH(e) | 0; else p = xH(i, e) | 0; + m = 0; + n = 0; + while (1) { + e = c[s >> 2] | 0; + f = c[e + 196 >> 2] | 0; + g = c[f + (r << 6) >> 2] | 0; + if ((g | 0) <= (n | 0)) break; + j = c[(c[f + (r << 6) + 4 >> 2] | 0) + (((c[e + 116 >> 2] & 1 | 0) == 0 ? g + ~n | 0 : n) << 2) >> 2] | 0; + l = j + 16 | 0; + e = 0; + k = 0; + while (1) { + i = c[l >> 2] | 0; + if ((e | 0) >= (c[i + 200 >> 2] | 0)) { + f = 0; + g = 0; + e = i; + break + } + i = k + ((_h(d, c[(c[i + 196 >> 2] | 0) + (e << 2) >> 2] | 0) | 0) != 0 & 1) | 0; + e = e + 1 | 0; + k = i + } + while (1) { + if ((g | 0) >= (c[e + 192 >> 2] | 0)) break; + i = f + ((_h(d, c[(c[e + 188 >> 2] | 0) + (g << 2) >> 2] | 0) | 0) != 0 & 1) | 0; + f = i; + g = g + 1 | 0; + e = c[l >> 2] | 0 + } + if (f | k) if ((k | 0) == 0 & (a[e + 157 >> 0] | 0) == 0) e = ($h(d, j, p + (m << 2) | 0, r) | 0) + m | 0; else e = m; else { + c[p + (m << 2) >> 2] = j; + e = m + 1 | 0 + } + m = e; + n = n + 1 | 0 + } + b:do if (m) { + c:do if (!(c[e + 116 >> 2] & 1)) { + f = p; + e = p + (m << 2) | 0; + while (1) { + e = e + -4 | 0; + if (f >>> 0 >= e >>> 0) { + g = 0; + break c + } + n = c[f >> 2] | 0; + c[f >> 2] = c[e >> 2]; + c[e >> 2] = n; + f = f + 4 | 0 + } + } else g = 0; while (0); + while (1) { + e = c[s >> 2] | 0; + i = c[e + 196 >> 2] | 0; + f = c[i + (r << 6) >> 2] | 0; + if ((g | 0) >= (f | 0)) { + m = 0; + g = i; + break + } + n = c[p + (g << 2) >> 2] | 0; + c[(c[i + (r << 6) + 4 >> 2] | 0) + (g << 2) >> 2] = n; + c[(c[n + 16 >> 2] | 0) + 236 >> 2] = g + o; + g = g + 1 | 0 + } + while (1) { + if ((m | 0) >= (f | 0)) break b; + l = (c[(c[g + (r << 6) + 4 >> 2] | 0) + (m << 2) >> 2] | 0) + 16 | 0; + i = c[(c[l >> 2] | 0) + 188 >> 2] | 0; + if (i) { + k = 0; + f = i; + while (1) { + g = c[f + (k << 2) >> 2] | 0; + e = c[s >> 2] | 0; + if (!g) break; + j = c[g >> 2] & 3; + i = c[(c[(c[((j | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + j = c[(c[(c[((j | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + if (!(c[e + 116 >> 2] & 1)) if ((i | 0) < (j | 0)) t = 36; else e = k; else if ((i | 0) > (j | 0)) t = 36; else e = k; + if ((t | 0) == 36) { + t = 0; + if (_h(d, g) | 0) { + t = 37; + break a + } + wh(g); + ai(d, g); + e = k + -1 | 0; + f = c[(c[l >> 2] | 0) + 188 >> 2] | 0 + } + k = e + 1 | 0 + } + f = c[e + 196 >> 2] | 0; + g = f; + f = c[f + (r << 6) >> 2] | 0 + } + m = m + 1 | 0 + } + } while (0); + a[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (r << 6) + 49 >> 0] = 0; + h = p; + g = p; + f = p + } + r = r + 1 | 0; + q = g; + i = f + } + if ((t | 0) == 37) qa(85820, 85686, 1561, 85859); + if (h | 0) D_(q) + } + return + } + + function Zh(a) { + a = a | 0; + var d = 0, e = 0; + e = a + 16 | 0; + a = c[e >> 2] | 0; + a:do if (c[a + 268 >> 2] | 0) { + d = b[a + 236 >> 1] | 0; + while (1) { + if ((d | 0) > (b[a + 238 >> 1] | 0)) break a; + c[(c[a + 268 >> 2] | 0) + (d << 2) >> 2] = c[c[(c[a + 196 >> 2] | 0) + (d << 6) + 4 >> 2] >> 2]; + d = d + 1 | 0; + a = c[e >> 2] | 0 + } + } while (0); + return + } + + function _h(a, b) { + a = a | 0; + b = b | 0; + if ((c[(c[b + 16 >> 2] | 0) + 156 >> 2] | 0) != 0 ? (bi(a, c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0) != 0 : 0) a = (bi(a, c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0) != 0 & 1; else a = 0; + return a | 0 + } + + function $h(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; + l = d + 16 | 0; + g = c[l >> 2] | 0; + a[g + 157 >> 0] = 1; + a:do if ((c[g + 192 >> 2] | 0) > 0) { + h = 0; + j = 0; + while (1) { + i = c[(c[g + 188 >> 2] | 0) + (j << 2) >> 2] | 0; + if (!i) break a; + if ((_h(b, i) | 0) != 0 ? (k = c[((c[i >> 2] & 3 | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0, (a[(c[k + 16 >> 2] | 0) + 157 >> 0] | 0) == 0) : 0) h = ($h(b, k, e + (h << 2) | 0, f) | 0) + h | 0; + j = j + 1 | 0; + g = c[l >> 2] | 0 + } + } else h = 0; while (0); + if ((c[g + 232 >> 2] | 0) == (f | 0)) { + c[e + (h << 2) >> 2] = d; + return h + 1 | 0 + } else qa(85872, 85686, 1490, 85888); + return 0 + } + + function ai(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + i = c[d >> 2] & 3; + j = c[((i | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + f = c[(c[j + 16 >> 2] | 0) + 188 >> 2] | 0; + a:do if (!f) { + e = d + 48 | 0; + m = 15 + } else { + l = d + 48 | 0; + g = ((i | 0) == 3 ? d : l) + 40 | 0; + e = 0; + while (1) { + h = c[f + (e << 2) >> 2] | 0; + if (!h) { + e = l; + m = 15; + break a + } + if ((c[((c[h >> 2] & 3 | 0) == 2 ? h : h + -48 | 0) + 40 >> 2] | 0) == (c[g >> 2] | 0)) break; else e = e + 1 | 0 + } + xh(d, h); + e = (c[d + 16 >> 2] | 0) + 172 | 0; + if (!(c[e >> 2] | 0)) c[e >> 2] = h; + e = c[h + 16 >> 2] | 0; + if ((a[e + 112 >> 0] | 0) == 4 ? (k = e + 116 | 0, (c[k >> 2] | 0) == 0) : 0) c[k >> 2] = d; + e = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : l) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 204 >> 2] | 0; + if (!f) e = vH((c[e + 208 >> 2] << 2) + 8 | 0) | 0; else e = xH(f, (c[e + 208 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : l) + 40 >> 2] | 0) + 16 >> 2] | 0) + 204 >> 2] = e; + i = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : l) + 40 >> 2] | 0) + 16 >> 2] | 0; + j = c[i + 204 >> 2] | 0; + i = i + 208 | 0; + k = c[i >> 2] | 0; + c[i >> 2] = k + 1; + c[j + (k << 2) >> 2] = d; + d = c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : l) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[d + 204 >> 2] | 0) + (c[d + 208 >> 2] << 2) >> 2] = 0 + } while (0); + if ((m | 0) == 15) { + m = oh(j, c[((i | 0) == 3 ? d : e) + 40 >> 2] | 0, d) | 0; + l = c[d + 16 >> 2] | 0; + d = c[m + 16 >> 2] | 0; + a[d + 112 >> 0] = (a[l + 112 >> 0] | 0) == 4 ? 4 : 3; + c[d + 96 >> 2] = c[l + 96 >> 2]; + vh(b, m) + } + return + } + + function bi(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Uh(a, b) | 0; + return Vh(a, b) | 0 | c | 0 + } + + function ci(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = uH(12) | 0; + c[d >> 2] = a; + c[d + 4 >> 2] = b; + c[d + 8 >> 2] = uH(O(b, a) | 0) | 0; + return d | 0 + } + + function di(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + o = d + 16 | 0; + l = c[o >> 2] | 0; + k = c[(c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0) + (c[l + 232 >> 2] << 6) + 56 >> 2] | 0; + a[l + 157 >> 0] = 1; + a[l + 158 >> 0] = 1; + l = (c[(c[(ig(b) | 0) + 16 >> 2] | 0) + 180 >> 2] | 0) > 0; + e = c[o >> 2] | 0; + f = c[e + 188 >> 2] | 0; + a:do if (f) { + m = k + 4 | 0; + n = k + 8 | 0; + d = 0; + b:while (1) { + j = c[f + (d << 2) >> 2] | 0; + if (!j) { + p = e; + break a + } + if (l) { + if ((oz(b, c[((c[j >> 2] & 3 | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) | 0) != 0 ? (oz(b, c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) | 0) != 0 : 0) q = 7 + } else q = 7; + do if ((q | 0) == 7) { + q = 0; + h = j + 16 | 0; + if (c[(c[h >> 2] | 0) + 156 >> 2] | 0) { + e = c[j >> 2] & 3; + g = j + -48 | 0; + r = c[(c[((e | 0) == 2 ? j : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + i = c[r + 284 >> 2] | 0; + f = (i | 0) < (c[k >> 2] | 0); + if ((a[r + 158 >> 0] | 0) == 1) { + if (!f) { + q = 10; + break b + } + e = c[(c[(c[((e | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 284 >> 2] | 0; + f = c[m >> 2] | 0; + if ((e | 0) >= (f | 0)) { + q = 12; + break b + } + a[(c[n >> 2] | 0) + ((O(f, i) | 0) + e) >> 0] = 1; + wh(j); + d = d + -1 | 0; + if ((a[(c[h >> 2] | 0) + 112 >> 0] | 0) == 4) break; + ai(b, j); + break + } else { + if (!f) { + q = 16; + break b + } + e = c[(c[(c[((e | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 284 >> 2] | 0; + f = c[m >> 2] | 0; + if ((e | 0) >= (f | 0)) { + q = 18; + break b + } + a[(c[n >> 2] | 0) + ((O(f, e) | 0) + i) >> 0] = 1; + e = c[((c[j >> 2] & 3 | 0) == 2 ? j : g) + 40 >> 2] | 0; + if (a[(c[e + 16 >> 2] | 0) + 157 >> 0] | 0) break; + di(b, e); + break + } + } + } while (0); + f = c[o >> 2] | 0; + d = d + 1 | 0; + e = f; + f = c[f + 188 >> 2] | 0 + } + if ((q | 0) == 10) qa(85898, 85686, 1251, 85930); else if ((q | 0) == 12) qa(85942, 85686, 1252, 85930); else if ((q | 0) == 16) qa(85898, 85686, 1260, 85930); else if ((q | 0) == 18) qa(85942, 85686, 1261, 85930) + } else p = e; while (0); + a[p + 158 >> 0] = 0; + return + } + + function ei(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Sy(a) | 0; + while (1) { + if (!c) break; + gi(a, c, b); + c = Ty(a, c) | 0 + } + return + } + + function fi(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + f = g; + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = NL(d, c[46391] | 0, 0) | 0; + a:do if (e | 0) { + switch (a[e >> 0] | 0) { + case 0: + break a; + case 111: { + if (!(b$(e, 85974) | 0)) { + gi(b, d, 1); + break a + } + break + } + case 105: { + if (!(b$(e, 95660) | 0)) { + gi(b, d, 0); + break a + } + break + } + default: { + } + } + h = ry(d) | 0; + c[f >> 2] = e; + c[f + 4 >> 2] = h; + Pw(1, 86009, f) | 0 + } while (0); + d = Ty(b, d) | 0 + } + l = g; + return + } + + function gi(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = c[45970] | 0; + h = d + 16 | 0; + f = c[h >> 2] | 0; + a:do if (!(c[f + 212 >> 2] | 0)) { + i = (e | 0) != 0; + b:do if (i) { + g = 0; + d = 0; + e = f; + while (1) { + f = c[(c[e + 180 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!f) break b; + if (!(hi(f) | 0)) { + c[j + (d << 2) >> 2] = f; + d = d + 1 | 0; + e = c[h >> 2] | 0 + } + g = g + 1 | 0 + } + } else { + g = 0; + d = 0; + e = f; + while (1) { + f = c[(c[e + 172 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!f) break b; + if (!(hi(f) | 0)) { + c[j + (d << 2) >> 2] = f; + d = d + 1 | 0; + e = c[h >> 2] | 0 + } + g = g + 1 | 0 + } + } while (0); + if ((d | 0) >= 2) { + c[j + (d << 2) >> 2] = 0; + _0(j, d, 4, 61); + h = i ? 2 : 3; + g = i ? -1 : 1; + f = 1; + while (1) { + d = c[j + (f << 2) >> 2] | 0; + if (!d) break a; + e = c[j + (f + -1 << 2) >> 2] | 0; + e = c[((c[e >> 2] & 3 | 0) == (h | 0) ? e : e + (g * 48 | 0) | 0) + 40 >> 2] | 0; + d = c[((c[d >> 2] & 3 | 0) == (h | 0) ? d : d + (g * 48 | 0) | 0) + 40 >> 2] | 0; + if (hh(e, d) | 0) break a; + i = oh(e, d, 0) | 0; + a[(c[i + 16 >> 2] | 0) + 112 >> 0] = 4; + vh(b, i); + f = f + 1 | 0 + } + } + } while (0); + return + } + + function hi(a) { + a = a | 0; + var b = 0; + while (1) { + b = c[(c[a + 16 >> 2] | 0) + 116 >> 2] | 0; + if (!b) break; else a = b + } + b = c[a >> 2] & 3; + return (c[(c[(c[((b | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) != (c[(c[(c[((b | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) | 0 + } + + function ii(a, b) { + a = a | 0; + b = b | 0; + return ((c[c[a >> 2] >> 2] | 0) >>> 4) - ((c[c[b >> 2] >> 2] | 0) >>> 4) | 0 + } + + function ji(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + f = c[a + 16 >> 2] | 0; + g = f + 220 | 0; + h = c[g >> 2] | 0; + if ((h | 0) >= 2) { + i = f + 216 | 0; + a = 0; + e = 0; + while (1) { + if ((e | 0) >= (h | 0)) break; + d = c[(c[i >> 2] | 0) + (e << 2) >> 2] | 0; + if (a | 0) c[(c[a + 16 >> 2] | 0) + 164 >> 2] = d; + j = c[d + 16 >> 2] | 0; + c[j + 168 >> 2] = a; + a = d; + d = j; + while (1) { + d = c[d + 164 >> 2] | 0; + if (!d) break; + a = d; + d = c[d + 16 >> 2] | 0 + } + e = e + 1 | 0 + } + c[g >> 2] = 1; + c[f + 192 >> 2] = c[c[f + 216 >> 2] >> 2]; + b[f + 236 >> 1] = c[45972]; + b[f + 238 >> 1] = c[45973] + } + return + } + + function ki(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = c[45971] | 0; + j = i + 16 | 0; + f = c[j >> 2] | 0; + g = 0; + h = b[f + 236 >> 1] | 0; + while (1) { + if ((h | 0) >= (b[f + 238 >> 1] | 0)) break; + d = c[f + 196 >> 2] | 0; + if (!(a[d + (h << 6) + 49 >> 0] | 0)) { + e = Di(i, h) | 0; + d = c[j >> 2] | 0; + f = c[d + 196 >> 2] | 0; + c[f + (h << 6) + 52 >> 2] = e; + a[f + (h << 6) + 49 >> 0] = 1 + } else { + e = c[d + (h << 6) + 52 >> 2] | 0; + d = f + } + g = e + g | 0; + h = h + 1 | 0; + f = d + } + return g | 0 + } + + function li(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + a = c[a + 16 >> 2] | 0; + g = b[a + 238 >> 1] | 0; + i = a + 196 | 0; + a = b[a + 236 >> 1] | 0; + while (1) { + if ((a | 0) > (g | 0)) break; + f = c[i >> 2] | 0; + e = c[f + (a << 6) >> 2] | 0; + f = f + (a << 6) + 4 | 0; + d = 0; + while (1) { + if ((d | 0) >= (e | 0)) break; + j = c[(c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0; + h[j + 16 >> 3] = +(c[j + 236 >> 2] | 0); + d = d + 1 | 0 + } + a = a + 1 | 0 + } + return + } + + function mi(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = l; + l = l + 16 | 0; + m = r; + n = d + 16 | 0; + o = GL(c[(c[n >> 2] | 0) + 232 >> 2] | 0) | 0; + j = c[n >> 2] | 0; + f = j + 192 | 0; + g = f; + while (1) { + g = c[g >> 2] | 0; + if (!g) break; + g = c[g + 16 >> 2] | 0; + a[g + 157 >> 0] = 0; + g = g + 164 | 0 + } + h = b[j + 238 >> 1] | 0; + i = j + 196 | 0; + g = b[j + 236 >> 1] | 0; + while (1) { + if ((g | 0) > (h | 0)) break; + c[(c[i >> 2] | 0) + (g << 6) >> 2] = 0; + g = g + 1 | 0 + } + i = (e | 0) == 0; + while (1) { + g = c[f >> 2] | 0; + if (!g) break; + h = g + 16 | 0; + f = c[h >> 2] | 0; + if ((c[c[(i ? f + 172 | 0 : f + 180 | 0) >> 2] >> 2] | 0) == 0 ? (k = f + 157 | 0, (a[k >> 0] | 0) == 0) : 0) { + a[k >> 0] = 1; + IL(o, g); + while (1) { + f = JL(o) | 0; + if (!f) break; + if ((a[(c[f + 16 >> 2] | 0) + 159 >> 0] | 0) == 7) { + kl(d, f, e, o); + continue + } else { + Bi(d, f); + Ci(o, f, e); + continue + } + } + f = c[h >> 2] | 0 + } + f = f + 164 | 0 + } + if (JL(o) | 0) Pw(1, 86217, m) | 0; + f = c[n >> 2] | 0; + j = b[f + 236 >> 1] | 0; + while (1) { + if ((j | 0) > (b[f + 238 >> 1] | 0)) break; + a[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (j << 6) + 49 >> 0] = 0; + if ((c[f + 116 >> 2] & 1 | 0) != 0 ? (p = c[f + 196 >> 2] | 0, q = c[p + (j << 6) >> 2] | 0, (q | 0) > 0) : 0) { + g = c[p + (j << 6) + 4 >> 2] | 0; + h = q + -1 | 0; + i = (h | 0) / 2 | 0; + f = 0; + while (1) { + if ((f | 0) > (i | 0)) break; + vi(c[g + (f << 2) >> 2] | 0, c[g + (h - f << 2) >> 2] | 0); + f = f + 1 | 0 + } + f = c[n >> 2] | 0 + } + j = j + 1 | 0 + } + if ((ig(d) | 0) == (d | 0) ? (ki(0) | 0) > 0 : 0) pi(d, 0); + HL(o); + l = r; + return + } + + function ni(d) { + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + n = d + 16 | 0; + d = c[n >> 2] | 0; + f = b[d + 236 >> 1] | 0; + e = b[d + 238 >> 1] | 0; + l = e << 16 >> 16; + m = d + 196 | 0; + g = f; + while (1) { + if ((g | 0) > (l | 0)) break; + k = c[m >> 2] | 0; + j = c[k + (g << 6) >> 2] | 0; + k = k + (g << 6) + 4 | 0; + i = 0; + while (1) { + if ((i | 0) >= (j | 0)) break; + o = c[(c[(c[k >> 2] | 0) + (i << 2) >> 2] | 0) + 16 >> 2] | 0; + c[o + 236 >> 2] = ~~+h[o + 16 >> 3]; + i = i + 1 | 0 + } + g = g + 1 | 0 + } + while (1) { + if ((f | 0) > (e << 16 >> 16 | 0)) break; + a[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (f << 6) + 49 >> 0] = 0; + o = c[d + 196 >> 2] | 0; + _0(c[o + (f << 6) + 4 >> 2] | 0, c[o + (f << 6) >> 2] | 0, 4, 62); + o = c[n >> 2] | 0; + f = f + 1 | 0; + e = b[o + 238 >> 1] | 0; + d = o + } + return + } + + function oi(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = ((d | 0) % 4 | 0 | 0) < 2 & 1; + e = c[a + 16 >> 2] | 0; + if (!(d & 1)) { + d = b[e + 236 >> 1] | 0; + f = 1; + e = b[e + 238 >> 1] | 0; + d = (d << 16 >> 16 <= (b[(c[(c[45971] | 0) + 16 >> 2] | 0) + 236 >> 1] | 0) & 1) + (d << 16 >> 16) | 0 + } else { + d = b[e + 238 >> 1] | 0; + f = -1; + e = b[e + 236 >> 1] | 0; + d = ((d << 16 >> 16 >= (b[(c[(c[45971] | 0) + 16 >> 2] | 0) + 238 >> 1] | 0)) << 31 >> 31) + (d << 16 >> 16) | 0 + } + e = f + e | 0; + while (1) { + if ((d | 0) == (e | 0)) break; + yi(a, d, g, (xi(a, d, d - f | 0) | 0) & 255); + d = d + f | 0 + } + pi(a, g ^ 1); + return + } + + function pi(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = d + 16 | 0; + g = c[k >> 2] | 0; + i = b[g + 236 >> 1] | 0; + j = b[g + 238 >> 1] | 0; + h = g + 196 | 0; + f = i << 16 >> 16; + while (1) { + if ((f | 0) > (j | 0)) { + h = i; + break + } + a[(c[h >> 2] | 0) + (f << 6) + 48 >> 0] = 1; + f = f + 1 | 0 + } + while (1) { + f = 0; + h = h << 16 >> 16; + while (1) { + if ((h | 0) > (b[g + 238 >> 1] | 0)) break; + if (a[(c[g + 196 >> 2] | 0) + (h << 6) + 48 >> 0] | 0) { + f = (wi(d, h, e) | 0) + f | 0; + g = c[k >> 2] | 0 + } + h = h + 1 | 0 + } + if ((f | 0) <= 0) break; + h = b[g + 236 >> 1] | 0 + } + return + } + + function qi(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + o = d + 16 | 0; + e = c[o >> 2] | 0; + n = b[e + 238 >> 1] | 0; + a:while (1) { + if ((n | 0) < (b[e + 236 >> 1] | 0)) { + e = 16; + break + } + f = c[e + 196 >> 2] | 0; + a[f + (n << 6) + 48 >> 0] = 0; + p = (n | 0) > 0; + q = n + 1 | 0; + g = 0; + b:while (1) { + l = (c[f + (n << 6) >> 2] | 0) + -1 | 0; + m = f + (n << 6) + 4 | 0; + k = f + (q << 6) | 0; + while (1) { + if ((g | 0) >= (l | 0)) break b; + j = c[m >> 2] | 0; + i = c[j + (g << 2) >> 2] | 0; + g = g + 1 | 0; + j = c[j + (g << 2) >> 2] | 0; + if ((c[(c[i + 16 >> 2] | 0) + 236 >> 2] | 0) >= (c[(c[j + 16 >> 2] | 0) + 236 >> 2] | 0)) { + e = 7; + break a + } + if (ri(d, i, j) | 0) continue; + if (p) { + f = si(i, j) | 0; + h = si(j, i) | 0 + } else { + f = 0; + h = 0 + } + if ((c[k >> 2] | 0) > 0) { + f = (ti(i, j) | 0) + f | 0; + h = (ti(j, i) | 0) + h | 0 + } + if ((h | 0) <= (f | 0)) break + } + ui(d, n, i, j); + e = c[o >> 2] | 0; + f = c[e + 196 >> 2] | 0 + } + n = n + -1 | 0 + } + if ((e | 0) == 7) qa(86168, 85686, 721, 86194); else if ((e | 0) == 16) return + } + + function ri(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = c[d + 16 >> 2] | 0; + i = c[j + 212 >> 2] | 0; + f = c[e + 16 >> 2] | 0; + g = c[f + 212 >> 2] | 0; + h = (i | 0) != (g | 0); + do if (!(a[190689] | 0)) if ((g | 0) == 0 | ((i | 0) == 0 | h ^ 1)) k = 9; else { + if ((a[j + 159 >> 0] | 0) == 7 ? (a[j + 156 >> 0] | 0) == 1 : 0) { + b = 0; + break + } + if ((a[f + 159 >> 0] | 0) == 7 ? (a[f + 156 >> 0] | 0) == 1 : 0) { + b = 0; + break + } + b = 1 + } else if (h) b = 1; else k = 9; while (0); + if ((k | 0) == 9) { + f = c[b + 16 >> 2] | 0; + b = c[(c[f + 196 >> 2] | 0) + (c[j + 232 >> 2] << 6) + 56 >> 2] | 0; + if (!b) b = 0; else { + j = (c[f + 116 >> 2] & 1 | 0) == 0; + k = O(c[b + 4 >> 2] | 0, c[(c[(j ? d : e) + 16 >> 2] | 0) + 284 >> 2] | 0) | 0; + b = a[(c[b + 8 >> 2] | 0) + ((c[(c[(j ? e : d) + 16 >> 2] | 0) + 284 >> 2] | 0) + k) >> 0] | 0 + } + } + return b | 0 + } + + function si(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + l = a + 16 | 0; + j = c[(c[d + 16 >> 2] | 0) + 172 >> 2] | 0; + d = 0; + while (1) { + a = c[j >> 2] | 0; + if (!a) break; + i = c[a + 16 >> 2] | 0; + k = b[i + 154 >> 1] | 0; + g = c[(c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + i = i + 16 | 0; + f = c[(c[l >> 2] | 0) + 172 >> 2] | 0; + a = d; + while (1) { + d = c[f >> 2] | 0; + if (!d) break; + e = (c[(c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - g | 0; + if ((e | 0) <= 0) { + if ((e | 0) == 0 ? (m = c[d + 16 >> 2] | 0, +h[m + 16 >> 3] > +h[i >> 3]) : 0) { + d = m; + n = 9 + } + } else { + d = c[d + 16 >> 2] | 0; + n = 9 + } + if ((n | 0) == 9) { + n = 0; + a = (O(b[d + 154 >> 1] | 0, k) | 0) + a | 0 + } + f = f + 4 | 0 + } + j = j + 4 | 0; + d = a + } + return d | 0 + } + + function ti(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + l = a + 16 | 0; + j = c[(c[d + 16 >> 2] | 0) + 180 >> 2] | 0; + d = 0; + while (1) { + a = c[j >> 2] | 0; + if (!a) break; + i = c[a + 16 >> 2] | 0; + k = b[i + 154 >> 1] | 0; + g = c[(c[(c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + i = i + 56 | 0; + f = c[(c[l >> 2] | 0) + 180 >> 2] | 0; + a = d; + while (1) { + d = c[f >> 2] | 0; + if (!d) break; + e = (c[(c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - g | 0; + if ((e | 0) <= 0) { + if ((e | 0) == 0 ? (m = c[d + 16 >> 2] | 0, +h[m + 56 >> 3] > +h[i >> 3]) : 0) { + d = m; + n = 9 + } + } else { + d = c[d + 16 >> 2] | 0; + n = 9 + } + if ((n | 0) == 9) { + n = 0; + a = (O(b[d + 154 >> 1] | 0, k) | 0) + a | 0 + } + f = f + 4 | 0 + } + j = j + 4 | 0; + d = a + } + return d | 0 + } + + function ui(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + i = a[(c[e + 16 >> 2] | 0) + 156 >> 0] | 0; + if (i << 24 >> 24 != (a[(c[f + 16 >> 2] | 0) + 156 >> 0] | 0)) { + j = b + 16 | 0; + l = c[(c[j >> 2] | 0) + 196 >> 2] | 0; + k = c[l + (d << 6) >> 2] | 0; + l = l + (d << 6) + 4 | 0; + b = 0; + g = 0; + h = 0; + while (1) { + if ((b | 0) >= (k | 0)) break; + o = (a[(c[(c[(c[l >> 2] | 0) + (b << 2) >> 2] | 0) + 16 >> 2] | 0) + 156 >> 0] | 0) == 0; + b = b + 1 | 0; + g = g + (o & 1) | 0; + h = h + ((o ^ 1) & 1) | 0 + } + i = i << 24 >> 24 == 0; + h = (g | 0) < (h | 0) ? (i ? e : f) : i ? f : e; + i = 0; + b = 0; + while (1) { + if ((b | 0) >= (k | 0)) break; + i = (c[(c[l >> 2] | 0) + (b << 2) >> 2] | 0) == (h | 0) ? b : i; + b = b + 1 | 0 + } + o = (a[(c[h + 16 >> 2] | 0) + 156 >> 0] | 0) == 0 & 1; + n = 0; + g = i; + while (1) { + b = g + -1 | 0; + if ((g | 0) <= 0) { + m = 0; + b = i; + break + } + if ((a[(c[(c[(c[l >> 2] | 0) + (b << 2) >> 2] | 0) + 16 >> 2] | 0) + 156 >> 0] | 0) != (o | 0)) { + m = 0; + b = i; + break + } + n = n + 1 | 0; + g = b + } + while (1) { + b = b + 1 | 0; + if ((b | 0) >= (k | 0)) break; + if ((a[(c[(c[(c[l >> 2] | 0) + (b << 2) >> 2] | 0) + 16 >> 2] | 0) + 156 >> 0] | 0) != (o | 0)) break; + m = m + 1 | 0 + } + vi(e, f); + j = c[(c[j >> 2] | 0) + 196 >> 2] | 0; + k = c[j + (d << 6) >> 2] | 0; + j = j + (d << 6) + 4 | 0; + b = 0; + while (1) { + if ((b | 0) >= (k | 0)) { + h = 0; + g = i; + break + } + i = (c[(c[j >> 2] | 0) + (b << 2) >> 2] | 0) == (h | 0) ? b : i; + b = b + 1 | 0 + } + while (1) { + b = g + -1 | 0; + if ((g | 0) <= 0) { + g = 0; + b = i; + break + } + if ((a[(c[(c[(c[j >> 2] | 0) + (b << 2) >> 2] | 0) + 16 >> 2] | 0) + 156 >> 0] | 0) != (o | 0)) { + g = 0; + b = i; + break + } + h = h + 1 | 0; + g = b + } + while (1) { + b = b + 1 | 0; + if ((b | 0) >= (k | 0)) break; + if ((a[(c[(c[(c[j >> 2] | 0) + (b << 2) >> 2] | 0) + 16 >> 2] | 0) + 156 >> 0] | 0) != (o | 0)) break; + g = g + 1 | 0 + } + d = h - g | 0; + o = n - m | 0; + if ((((d | 0) > -1 ? d : 0 - d | 0) | 0) > (((o | 0) > -1 ? o : 0 - o | 0) | 0)) vi(e, f) + } + return + } + + function vi(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + f = c[a + 16 >> 2] | 0; + e = c[f + 232 >> 2] | 0; + f = f + 236 | 0; + d = c[f >> 2] | 0; + g = b + 16 | 0; + h = c[(c[g >> 2] | 0) + 236 >> 2] | 0; + c[f >> 2] = h; + f = (c[45971] | 0) + 16 | 0; + c[(c[(c[(c[f >> 2] | 0) + 196 >> 2] | 0) + (e << 6) + 4 >> 2] | 0) + (h << 2) >> 2] = a; + c[(c[g >> 2] | 0) + 236 >> 2] = d; + c[(c[(c[(c[f >> 2] | 0) + 196 >> 2] | 0) + (e << 6) + 4 >> 2] | 0) + (d << 2) >> 2] = b; + return + } + + function wi(d, e, f) { + 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; + q = d + 16 | 0; + n = c[(c[q >> 2] | 0) + 196 >> 2] | 0; + a[n + (e << 6) + 48 >> 0] = 0; + r = (e | 0) > 0; + s = e + 1 | 0; + o = (f | 0) != 0; + p = e + -1 | 0; + g = 0; + i = 0; + f = n; + a:while (1) { + l = (c[f + (e << 6) >> 2] | 0) + -1 | 0; + m = f + (e << 6) + 4 | 0; + h = f + (s << 6) | 0; + n = g; + while (1) { + if ((n | 0) >= (l | 0)) { + f = 17; + break a + } + k = c[m >> 2] | 0; + j = c[k + (n << 2) >> 2] | 0; + n = n + 1 | 0; + k = c[k + (n << 2) >> 2] | 0; + if ((c[(c[j + 16 >> 2] | 0) + 236 >> 2] | 0) >= (c[(c[k + 16 >> 2] | 0) + 236 >> 2] | 0)) { + f = 5; + break a + } + if (ri(d, j, k) | 0) continue; + if (r) { + f = si(j, k) | 0; + g = si(k, j) | 0 + } else { + f = 0; + g = 0 + } + if ((c[h >> 2] | 0) > 0) { + f = (ti(j, k) | 0) + f | 0; + g = (ti(k, j) | 0) + g | 0 + } + if ((f | 0) > (g | 0)) break; + if ((f | 0) == (g | 0) & (o & (f | 0) > 0)) { + f = g; + break + } + } + vi(j, k); + i = f - g + i | 0; + g = c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0; + a[g + (e << 6) + 49 >> 0] = 0; + h = c[q >> 2] | 0; + f = c[h + 196 >> 2] | 0; + a[f + (e << 6) + 48 >> 0] = 1; + if ((b[h + 236 >> 1] | 0) < (e | 0)) { + a[g + (p << 6) + 49 >> 0] = 0; + a[f + (p << 6) + 48 >> 0] = 1 + } + if ((b[h + 238 >> 1] | 0) <= (e | 0)) { + g = n; + continue + } + a[g + (s << 6) + 49 >> 0] = 0; + a[f + (s << 6) + 48 >> 0] = 1; + g = n + } + if ((f | 0) == 5) qa(86168, 85686, 770, 86202); else if ((f | 0) == 17) return i | 0; + return 0 + } + + function xi(a, e, f) { + a = a | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0.0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + p = c[45969] | 0; + q = a + 16 | 0; + a = c[(c[q >> 2] | 0) + 196 >> 2] | 0; + r = c[a + (e << 6) + 4 >> 2] | 0; + n = (f | 0) > (e | 0); + o = p + 4 | 0; + m = 0; + while (1) { + f = c[a + (e << 6) >> 2] | 0; + if ((m | 0) >= (f | 0)) { + a = 0; + j = 0; + break + } + l = (c[r + (m << 2) >> 2] | 0) + 16 | 0; + a = c[l >> 2] | 0; + a:do if (n) { + k = c[a + 180 >> 2] | 0; + a = 0; + j = 0; + while (1) { + f = c[k + (j << 2) >> 2] | 0; + if (!f) break a; + g = c[f + 16 >> 2] | 0; + if ((b[g + 154 >> 1] | 0) > 0) { + c[p + (a << 2) >> 2] = c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] << 8 | d[g + 88 >> 0]; + a = a + 1 | 0 + } + j = j + 1 | 0 + } + } else { + k = c[a + 172 >> 2] | 0; + j = 0; + a = 0; + while (1) { + f = c[k + (j << 2) >> 2] | 0; + if (!f) break a; + g = c[f + 16 >> 2] | 0; + if ((b[g + 154 >> 1] | 0) > 0) { + c[p + (a << 2) >> 2] = c[(c[(c[((c[f >> 2] & 3 | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] << 8 | d[g + 48 >> 0]; + a = a + 1 | 0 + } + j = j + 1 | 0 + } + } while (0); + b:do switch (a | 0) { + case 0: { + i = -1.0; + break + } + case 1: { + i = +(c[p >> 2] | 0); + break + } + case 2: { + i = +(((c[o >> 2] | 0) + (c[p >> 2] | 0) | 0) / 2 | 0 | 0); + break + } + default: { + _0(p, a, 4, 60); + f = (a | 0) / 2 | 0; + if (a & 1 | 0) { + i = +(c[p + (f << 2) >> 2] | 0); + break b + } + j = c[p + (f << 2) >> 2] | 0; + g = (c[p + (a + -1 << 2) >> 2] | 0) - j | 0; + a = c[p + (f + -1 << 2) >> 2] | 0; + f = a - (c[p >> 2] | 0) | 0; + if ((f | 0) == (g | 0)) { + i = +((a + j | 0) / 2 | 0 | 0); + break b + } else { + i = +(((O(f, j) | 0) + (O(a, g) | 0) | 0) / (f + g | 0) | 0 | 0); + break b + } + } + } while (0); + h[(c[l >> 2] | 0) + 240 >> 3] = i; + m = m + 1 | 0; + a = c[(c[q >> 2] | 0) + 196 >> 2] | 0 + } + while (1) { + if ((j | 0) >= (f | 0)) break; + g = c[r + (j << 2) >> 2] | 0; + p = c[g + 16 >> 2] | 0; + if ((c[p + 184 >> 2] | 0) == 0 ? (c[p + 176 >> 2] | 0) == 0 : 0) { + a = (zi(g) | 0 | a & 255) & 255; + f = c[(c[(c[q >> 2] | 0) + 196 >> 2] | 0) + (e << 6) >> 2] | 0 + } + j = j + 1 | 0 + } + return a | 0 + } + + function yi(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + o = c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0; + s = c[o + (d << 6) + 4 >> 2] | 0; + o = c[o + (d << 6) >> 2] | 0; + q = (e | 0) != 0; + p = (f | e | 0) == 0; + f = 0; + e = o; + o = s + (o << 2) | 0; + while (1) { + n = e + -1 | 0; + if ((e | 0) > 0) e = s; else break; + a:while (1) { + b:while (1) { + if (e >>> 0 >= o >>> 0) break a; + while (1) { + if (e >>> 0 >= o >>> 0) break a; + l = c[e >> 2] | 0; + m = +h[(c[l + 16 >> 2] | 0) + 240 >> 3]; + if (!(m < 0.0)) break; + e = e + 4 | 0 + } + k = 0; + while (1) { + g = k << 24 >> 24 == 0; + while (1) { + e = e + 4 | 0; + if (e >>> 0 >= o >>> 0) break a; + if (g) { + g = 11; + break + } + i = c[e >> 2] | 0; + if (!(c[(c[i + 16 >> 2] | 0) + 212 >> 2] | 0)) { + g = 13; + break + } + } + if ((g | 0) == 11) { + i = c[e >> 2] | 0; + j = i + } else if ((g | 0) == 13) j = i; + if (ri(b, l, j) | 0) continue b; + g = c[i + 16 >> 2] | 0; + if (+h[g + 240 >> 3] >= 0.0) break; + k = (c[g + 212 >> 2] | 0) == 0 ? k : 1 + } + g = ~~m; + k = ~~+h[(c[i + 16 >> 2] | 0) + 240 >> 3]; + if ((g | 0) > (k | 0) | q & (g | 0) == (k | 0)) break + } + vi(l, j); + f = f + 1 | 0 + } + e = n; + o = p ? o + -4 | 0 : o + } + if (f | 0 ? (r = c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0, a[r + (d << 6) + 49 >> 0] = 0, (d | 0) > 0) : 0) a[r + (d + -1 << 6) + 49 >> 0] = 0; + return + } + + function zi(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0, f = 0, g = 0; + g = c[a + 16 >> 2] | 0; + if ((c[g + 200 >> 2] | 0) > 0) { + f = c[g + 196 >> 2] | 0; + a = c[f >> 2] | 0; + a = c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + d = 1; + while (1) { + e = c[f + (d << 2) >> 2] | 0; + if (!e) break; + e = c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0; + a = (c[(c[e + 16 >> 2] | 0) + 236 >> 2] | 0) > (c[(c[a + 16 >> 2] | 0) + 236 >> 2] | 0) ? e : a; + d = d + 1 | 0 + } + b = +h[(c[a + 16 >> 2] | 0) + 240 >> 3]; + if (!(b >= 0.0)) a = 1; else { + h[g + 240 >> 3] = b + 1.0; + a = 0 + } + } else if ((c[g + 192 >> 2] | 0) > 0) { + e = c[g + 188 >> 2] | 0; + d = c[e >> 2] | 0; + a = 1; + d = c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + while (1) { + f = c[e + (a << 2) >> 2] | 0; + if (!f) break; + f = c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + a = a + 1 | 0; + d = (c[(c[f + 16 >> 2] | 0) + 236 >> 2] | 0) < (c[(c[d + 16 >> 2] | 0) + 236 >> 2] | 0) ? f : d + } + b = +h[(c[d + 16 >> 2] | 0) + 240 >> 3]; + if (b > 0.0) { + h[g + 240 >> 3] = b + -1.0; + a = 0 + } else a = 1 + } else a = 1; + return a | 0 + } + + function Ai(a, b) { + a = a | 0; + b = b | 0; + return (c[(c[(c[a >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - (c[(c[(c[b >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) | 0 + } + + function Bi(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 96 | 0; + o = p + 64 | 0; + n = p + 48 | 0; + h = p + 24 | 0; + f = p; + j = d + 16 | 0; + k = c[(c[j >> 2] | 0) + 232 >> 2] | 0; + m = a + 16 | 0; + e = c[(c[m >> 2] | 0) + 196 >> 2] | 0; + i = c[e + (k << 6) >> 2] | 0; + do if ((c[e + (k << 6) + 8 >> 2] | 0) >= 1) { + c[(c[e + (k << 6) + 4 >> 2] | 0) + (i << 2) >> 2] = d; + c[(c[j >> 2] | 0) + 236 >> 2] = i; + a = c[m >> 2] | 0; + f = c[a + 196 >> 2] | 0; + e = f + (k << 6) | 0; + g = c[e >> 2] | 0; + c[e >> 2] = g + 1; + if ((g | 0) >= (c[f + (k << 6) + 8 >> 2] | 0)) qa(86282, 85686, 1346, 86318); + g = c[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) + 8 >> 2] | 0; + if ((i | 0) > (g | 0)) { + m = ry(d) | 0; + n = c[(c[j >> 2] | 0) + 236 >> 2] | 0; + o = c[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) + 8 >> 2] | 0; + c[h >> 2] = 1359; + c[h + 4 >> 2] = m; + c[h + 8 >> 2] = n; + c[h + 12 >> 2] = k; + c[h + 16 >> 2] = o; + Pw(1, 86334, h) | 0; + break + } + e = b[a + 236 >> 1] | 0; + a = b[a + 238 >> 1] | 0; + if ((k | 0) < (e | 0) | (k | 0) > (a << 16 >> 16 | 0)) { + c[n >> 2] = 1364; + c[n + 4 >> 2] = k; + c[n + 8 >> 2] = e; + c[n + 12 >> 2] = a << 16 >> 16; + Pw(1, 86407, n) | 0; + break + } + if (((c[f + (k << 6) + 4 >> 2] | 0) + (i << 2) | 0) >>> 0 > ((c[f + (k << 6) + 12 >> 2] | 0) + (g << 2) | 0) >>> 0) { + i = ry(d) | 0; + n = c[(c[m >> 2] | 0) + 196 >> 2] | 0; + m = (c[n + (k << 6) + 4 >> 2] | 0) + (c[(c[j >> 2] | 0) + 236 >> 2] << 2) | 0; + n = (c[n + (k << 6) + 12 >> 2] | 0) + (c[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) + 8 >> 2] << 2) | 0; + c[o >> 2] = 1370; + c[o + 4 >> 2] = k; + c[o + 8 >> 2] = i; + c[o + 12 >> 2] = m; + c[o + 16 >> 2] = k; + c[o + 20 >> 2] = k; + c[o + 24 >> 2] = n; + Pw(1, 86468, o) | 0 + } + } else { + n = ry(a) | 0; + o = ry(d) | 0; + c[f >> 2] = 1339; + c[f + 4 >> 2] = n; + c[f + 8 >> 2] = o; + c[f + 12 >> 2] = k; + c[f + 16 >> 2] = i; + Pw(1, 86227, f) | 0 + } while (0); + l = p; + return + } + + function Ci(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + h = d + 16 | 0; + a:do if (!e) { + g = 0; + while (1) { + d = c[h >> 2] | 0; + if ((g | 0) >= (c[d + 184 >> 2] | 0)) break a; + d = c[(c[d + 180 >> 2] | 0) + (g << 2) >> 2] | 0; + e = d + -48 | 0; + f = (c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 157 | 0; + if (!(a[f >> 0] | 0)) { + a[f >> 0] = 1; + IL(b, c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + } + g = g + 1 | 0 + } + } else { + g = 0; + while (1) { + d = c[h >> 2] | 0; + if ((g | 0) >= (c[d + 176 >> 2] | 0)) break a; + d = c[(c[d + 172 >> 2] | 0) + (g << 2) >> 2] | 0; + e = d + 48 | 0; + f = (c[(c[((c[d >> 2] & 3 | 0) == 3 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 157 | 0; + if (!(a[f >> 0] | 0)) { + a[f >> 0] = 1; + IL(b, c[((c[d >> 2] & 3 | 0) == 3 ? d : e) + 40 >> 2] | 0) + } + g = g + 1 | 0 + } + } while (0); + return + } + + function Di(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0; + v = l; + l = l + 16 | 0; + u = v; + g = d + 16 | 0; + f = c[(c[g >> 2] | 0) + 196 >> 2] | 0; + s = c[f + (e << 6) + 4 >> 2] | 0; + t = e + 1 | 0; + d = c[(c[(c[(c[45971] | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (t << 6) >> 2] | 0; + if ((c[45975] | 0) > (d | 0)) q = c[45976] | 0; else { + d = d + 1 | 0; + c[45975] = d; + f = c[45976] | 0; + if (!f) d = vH(d << 2) | 0; else d = xH(f, d << 2) | 0; + c[45976] = d; + f = c[(c[g >> 2] | 0) + 196 >> 2] | 0; + q = d + } + r = f + (t << 6) | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[r >> 2] | 0)) break; + c[q + (d << 2) >> 2] = 0; + d = d + 1 | 0 + } + p = f + (e << 6) | 0; + o = 0; + h = 0; + d = 0; + j = q; + while (1) { + k = c[p >> 2] | 0; + if ((o | 0) >= (k | 0)) break; + n = c[(c[(c[s + (o << 2) >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] | 0; + a:do if ((h | 0) > 0) { + m = 0; + while (1) { + g = c[n + (m << 2) >> 2] | 0; + if (!g) break a; + k = g + 16 | 0; + i = c[(c[(c[((c[g >> 2] & 3 | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + while (1) { + g = i + 1 | 0; + if ((i | 0) >= (h | 0)) break; + i = g; + d = (O(c[j + (g << 2) >> 2] | 0, b[(c[k >> 2] | 0) + 154 >> 1] | 0) | 0) + d | 0 + } + m = m + 1 | 0 + } + } while (0); + i = 0; + while (1) { + g = c[n + (i << 2) >> 2] | 0; + if (!g) break; + j = c[(c[(c[((c[g >> 2] & 3 | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + m = q + (j << 2) | 0; + c[m >> 2] = (c[m >> 2] | 0) + (b[(c[g + 16 >> 2] | 0) + 154 >> 1] | 0); + h = (j | 0) > (h | 0) ? j : h; + i = i + 1 | 0; + j = q + } + o = o + 1 | 0 + } + i = f + (e << 6) + 4 | 0; + h = 0; + while (1) { + if ((h | 0) >= (k | 0)) break; + g = c[(c[(c[i >> 2] | 0) + (h << 2) >> 2] | 0) + 16 >> 2] | 0; + if (a[g + 145 >> 0] | 0) { + e = g + 180 | 0; + c[u >> 2] = c[e >> 2]; + c[u + 4 >> 2] = c[e + 4 >> 2]; + d = (Ei(u, 1) | 0) + d | 0 + } + h = h + 1 | 0 + } + i = c[r >> 2] | 0; + h = f + (t << 6) + 4 | 0; + g = 0; + while (1) { + if ((g | 0) >= (i | 0)) break; + f = c[(c[(c[h >> 2] | 0) + (g << 2) >> 2] | 0) + 16 >> 2] | 0; + if (a[f + 145 >> 0] | 0) { + t = f + 172 | 0; + c[u >> 2] = c[t >> 2]; + c[u + 4 >> 2] = c[t + 4 >> 2]; + d = (Ei(u, -1) | 0) + d | 0 + } + g = g + 1 | 0 + } + l = v; + return d | 0 + } + + function Ei(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + n = (d | 0) < 1; + l = c[a >> 2] | 0; + d = 0; + a = 0; + a:while (1) { + m = c[l + (d << 2) >> 2] | 0; + if (!m) break; + d = d + 1 | 0; + if (n) { + j = m + 48 | 0; + k = m + 16 | 0; + i = d; + while (1) { + e = c[l + (i << 2) >> 2] | 0; + if (!e) continue a; + f = c[e + 16 >> 2] | 0; + g = c[k >> 2] | 0; + if ((+h[f + 56 >> 3] - +h[g + 56 >> 3]) * +((c[(c[(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - (c[(c[(c[((c[m >> 2] & 3 | 0) == 3 ? m : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) | 0) < 0.0) a = (O(b[f + 154 >> 1] | 0, b[g + 154 >> 1] | 0) | 0) + a | 0; + i = i + 1 | 0 + } + } else { + j = m + -48 | 0; + k = m + 16 | 0; + i = d; + while (1) { + e = c[l + (i << 2) >> 2] | 0; + if (!e) continue a; + f = c[e + 16 >> 2] | 0; + g = c[k >> 2] | 0; + if ((+h[f + 16 >> 3] - +h[g + 16 >> 3]) * +((c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) - (c[(c[(c[((c[m >> 2] & 3 | 0) == 2 ? m : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) | 0) < 0.0) a = (O(b[f + 154 >> 1] | 0, b[g + 154 >> 1] | 0) | 0) + a | 0; + i = i + 1 | 0 + } + } + } + return a | 0 + } + + function Fi(a) { + a = a | 0; + var b = 0.0, d = 0.0; + c[45974] = 8; + c[46365] = 24; + h[22830] = .995; + a = xx(a, 86590) | 0; + if (a | 0 ? (b = +b2(a), b > 0.0) : 0) { + d = b * +(c[45974] | 0); + c[45974] = ~~(d > 1.0 ? d : 1.0); + b = b * +(c[46365] | 0); + c[46365] = ~~(b > 1.0 ? b : 1.0) + } + return + } + + function Gi(a) { + a = a | 0; + var d = 0, e = 0; + e = (b[(c[a + 16 >> 2] | 0) + 238 >> 1] | 0) + 2 | 0; + d = uH(e << 2) | 0; + Ii(a, d, e, 0) | 0; + D_(d); + return + } + + function Hi(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + h = a + 16 | 0; + i = uH((b[(c[h >> 2] | 0) + 238 >> 1] << 2) + 8 | 0) | 0; + g = Sy(a) | 0; + while (1) { + if (!g) break; + f = i + (c[(c[g + 16 >> 2] | 0) + 232 >> 2] << 2) | 0; + c[f >> 2] = (c[f >> 2] | 0) + 1; + f = Ex(a, g) | 0; + while (1) { + if (!f) break; + j = c[f >> 2] & 3; + d = c[(c[(c[((j | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + j = c[(c[(c[((j | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + k = (d | 0) > (j | 0); + e = k ? d : j; + d = k ? j : d; + while (1) { + d = d + 1 | 0; + if ((d | 0) >= (e | 0)) break; + k = i + (d << 2) | 0; + c[k >> 2] = (c[k >> 2] | 0) + 1 + } + f = Gx(a, f) | 0 + } + g = Ty(a, g) | 0 + } + f = uH((b[(c[h >> 2] | 0) + 238 >> 1] << 6) + 128 | 0) | 0; + e = c[h >> 2] | 0; + c[e + 196 >> 2] = f; + d = b[e + 236 >> 1] | 0; + while (1) { + if ((d | 0) > (b[e + 238 >> 1] | 0)) break; + j = i + (d << 2) | 0; + e = c[j >> 2] | 0; + c[f + (d << 6) >> 2] = e; + c[f + (d << 6) + 8 >> 2] = e; + j = uH((c[j >> 2] << 2) + 4 | 0) | 0; + e = c[h >> 2] | 0; + k = c[e + 196 >> 2] | 0; + c[k + (d << 6) + 4 >> 2] = j; + c[k + (d << 6) + 12 >> 2] = j; + d = d + 1 | 0; + f = k + } + D_(i); + return + } + + function Ii(a, d, e, f) { + a = a | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + m = a + 16 | 0; + i = 1; + while (1) { + g = c[m >> 2] | 0; + if ((i | 0) > (c[g + 180 >> 2] | 0)) break; + l = Ii(c[(c[g + 184 >> 2] | 0) + (i << 2) >> 2] | 0, d, e, f) | 0; + i = i + 1 | 0; + f = l + } + a:do if ((ig(a) | 0) != (a | 0)) { + H3(d | 0, 0, e << 2 | 0) | 0; + g = Sy(a) | 0; + while (1) { + if (!g) break; + k = g + 16 | 0; + c[d + (c[(c[k >> 2] | 0) + 232 >> 2] << 2) >> 2] = 1; + i = Ex(a, g) | 0; + while (1) { + if (!i) break; + l = i + -48 | 0; + j = c[(c[k >> 2] | 0) + 232 >> 2] | 0; + while (1) { + e = j + 1 | 0; + if ((j | 0) >= (c[(c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : l) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) break; + c[d + (e << 2) >> 2] = 1; + j = e + } + i = Gx(a, i) | 0 + } + g = Ty(a, g) | 0 + } + g = c[m >> 2] | 0; + i = b[g + 236 >> 1] | 0; + while (1) { + if ((i | 0) > (b[g + 238 >> 1] | 0)) break a; + if (!(c[d + (i << 2) >> 2] | 0)) { + if (!f) f = vA(ig(a) | 0, 86580, 1) | 0; + g = az(f, 0, 1) | 0; + Az(g, 134365, 304, 1) | 0; + l = g + 16 | 0; + j = c[l >> 2] | 0; + c[j + 232 >> 2] = i; + h[j + 96 >> 3] = .5; + h[j + 88 >> 3] = .5; + h[j + 80 >> 3] = 1.0; + c[j + 216 >> 2] = 1; + c[j + 176 >> 2] = 0; + j = uH(20) | 0; + k = c[l >> 2] | 0; + c[k + 172 >> 2] = j; + c[k + 184 >> 2] = 0; + k = uH(20) | 0; + c[(c[l >> 2] | 0) + 180 >> 2] = k; + Xy(a, g, 1) | 0; + g = c[m >> 2] | 0 + } + i = i + 1 | 0 + } + } while (0); + return f | 0 + } + + function Ji(a) { + a = a | 0; + var b = 0, d = 0; + Zh(a); + b = a + 16 | 0; + a = 1; + while (1) { + d = c[b >> 2] | 0; + if ((a | 0) > (c[d + 180 >> 2] | 0)) break; + Ji(c[(c[d + 184 >> 2] | 0) + (a << 2) >> 2] | 0); + a = a + 1 | 0 + } + return + } + + function Ki(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a >> 2] & 3; + d = Li(c[((b | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) | 0; + b = c[17308 + (d * 12 | 0) + ((Li(c[((b | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) | 0) << 2) >> 2] | 0; + a = (c[a + 16 >> 2] | 0) + 156 | 0; + c[a >> 2] = O(c[a >> 2] | 0, b) | 0; + return + } + + function Li(b) { + b = b | 0; + b = c[b + 16 >> 2] | 0; + if ((a[b + 156 >> 0] | 0) == 1) b = 2; else b = (a[b + 160 >> 0] | 0) < 2 & 1; + return b | 0 + } + + function Mi(b, d) { + b = b | 0; + d = d | 0; + if (c[(c[b + 16 >> 2] | 0) + 192 >> 2] | 0) { + ll(b); + Ni(b); + if (a[191874] | 0) zl(b); + Oi(b); + if (Rl(b) | 0) Ni(b); + Pi(b); + if (fI(b, 2, Qi(b) | 0) | 0 ? (Ri(b), fI(b, 2, Qi(b) | 0) | 0) : 0) qa(86598, 86626, 134, 86637); + Si(b); + Ti(b, d); + Ui(b) + } + return + } + + function Ni(d) { + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0.0, z = 0.0; + v = d + 16 | 0; + e = c[v >> 2] | 0; + w = c[e + 196 >> 2] | 0; + t = b[e + 236 >> 1] | 0; + while (1) { + if ((t | 0) > (b[e + 238 >> 1] | 0)) break; + n = w + (t << 6) | 0; + o = w + (t << 6) + 4 | 0; + p = w + (t << 6) + 40 | 0; + q = w + (t << 6) + 24 | 0; + r = w + (t << 6) + 32 | 0; + s = w + (t << 6) + 16 | 0; + m = 0; + while (1) { + if ((m | 0) >= (c[n >> 2] | 0)) break; + l = (c[(c[o >> 2] | 0) + (m << 2) >> 2] | 0) + 16 | 0; + e = c[l >> 2] | 0; + j = +h[e + 80 >> 3] * .5; + i = c[e + 204 >> 2] | 0; + a:do if (i) { + g = 0; + while (1) { + f = c[i + (g << 2) >> 2] | 0; + if (!f) break a; + x = c[f >> 2] & 3; + if ((c[((x | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) == (c[((x | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) ? (u = c[(c[f + 16 >> 2] | 0) + 96 >> 2] | 0, (u | 0) != 0) : 0) { + k = +h[u + 32 >> 3] * .5; + j = j > k ? j : k + } + g = g + 1 | 0 + } + } while (0); + if (+h[p >> 3] < j) { + h[q >> 3] = j; + h[p >> 3] = j + } + if (+h[r >> 3] < j) { + h[s >> 3] = j; + h[r >> 3] = j + } + f = c[e + 212 >> 2] | 0; + if (f | 0) { + if ((f | 0) == (d | 0)) g = 0; else { + g = KL(f, c[46374] | 0, 8, 0) | 0; + e = c[l >> 2] | 0 + } + i = c[e + 232 >> 2] | 0; + f = c[f + 16 >> 2] | 0; + e = f + 128 | 0; + j = j + +(g | 0); + if ((i | 0) == (b[f + 236 >> 1] | 0)) { + k = +h[e >> 3]; + h[e >> 3] = k > j ? k : j + } + e = f + 120 | 0; + if ((i | 0) == (b[f + 238 >> 1] | 0)) { + k = +h[e >> 3]; + h[e >> 3] = k > j ? k : j + } + } + m = m + 1 | 0 + } + t = t + 1 | 0; + e = c[v >> 2] | 0 + } + m = tj(d) | 0; + g = c[v >> 2] | 0; + e = b[g + 238 >> 1] | 0; + h[(c[(c[c[w + (e << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] = +h[w + (e << 6) + 16 >> 3]; + f = b[g + 236 >> 1] | 0; + i = g + 252 | 0; + k = 0.0; + while (1) { + l = e + -1 | 0; + if ((e | 0) <= (f | 0)) break; + y = +h[w + (l << 6) + 32 >> 3] + +h[w + (e << 6) + 40 >> 3] + +(c[i >> 2] | 0); + j = +h[w + (e << 6) + 24 >> 3] + 8.0 + +h[w + (l << 6) + 16 >> 3]; + j = y > j ? y : j; + if ((c[w + (l << 6) >> 2] | 0) > 0) h[(c[(c[c[w + (l << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] = +h[(c[(c[c[w + (e << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] + j; + k = k > j ? k : j; + e = l + } + b:do if ((m | 0) != 0 ? (c[g + 116 >> 2] & 1 | 0) != 0 : 0) { + uj(d, 0); + g = c[v >> 2] | 0; + if (a[g + 276 >> 0] | 0) { + e = b[g + 238 >> 1] | 0; + f = b[g + 236 >> 1] | 0; + j = +h[(c[(c[c[w + (e << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]; + k = 0.0; + while (1) { + i = e + -1 | 0; + if ((e | 0) <= (f | 0)) break b; + z = +h[(c[(c[c[w + (i << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]; + y = z - j; + j = z; + k = k > y ? k : y; + e = i + } + } + } while (0); + c:do if (a[g + 276 >> 0] | 0) { + i = b[g + 236 >> 1] | 0; + f = b[g + 238 >> 1] | 0; + while (1) { + e = f + -1 | 0; + if ((f | 0) <= (i | 0)) break c; + if ((c[w + (e << 6) >> 2] | 0) <= 0) { + f = e; + continue + } + h[(c[(c[c[w + (e << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] = +h[(c[(c[c[w + (f << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] + k; + f = e + } + } while (0); + e = g + 192 | 0; + while (1) { + e = c[e >> 2] | 0; + if (!e) break; + e = c[e + 16 >> 2] | 0; + h[e + 24 >> 3] = +h[(c[(c[c[w + (c[e + 232 >> 2] << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]; + e = e + 164 | 0 + } + return + } + + function Oi(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + pj(a); + b = (c[a + 16 >> 2] | 0) + 192 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + e = b + 16 | 0; + b = c[e >> 2] | 0; + d = c[b + 224 >> 2] | 0; + if (d) { + qj(a, d); + b = c[e >> 2] | 0 + } + d = c[b + 228 >> 2] | 0; + if (!d) d = b; else { + qj(a, d); + d = c[e >> 2] | 0 + } + e = c[d + 204 >> 2] | 0; + if (e | 0) { + b = 0; + while (1) if (!(c[e + (b << 2) >> 2] | 0)) break; else b = b + 1 | 0 + } + b = d + 164 | 0 + } + return + } + + function Pi(a) { + a = a | 0; + bj(a); + cj(a); + dj(a); + ej(a); + fj(a); + return + } + + function Qi(a) { + a = a | 0; + var b = 0, c = 0.0; + b = xx(a, 86826) | 0; + if (!b) a = 2147483647; else { + c = +b2(b); + a = ~~(c * +(ay(a) | 0)) + } + return a | 0 + } + + function Ri(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0; + r = d + 16 | 0; + e = c[r >> 2] | 0; + q = b[e + 236 >> 1] | 0; + while (1) { + p = b[e + 238 >> 1] | 0; + if ((q | 0) > (p | 0)) { + s = 19; + break + } + n = c[e + 196 >> 2] | 0; + o = n + (q << 6) | 0; + m = c[o >> 2] | 0; + n = n + (q << 6) + 4 | 0; + l = 0; + f = 0; + a:while (1) { + if ((l | 0) >= (m | 0)) { + s = 14; + break + } + f = c[(c[n >> 2] | 0) + (l << 2) >> 2] | 0; + h = c[f + 16 >> 2] | 0; + i = c[h + 256 >> 2] | 0; + b:do if (i | 0) { + g = 0; + while (1) { + j = c[i + (g << 2) >> 2] | 0; + if (!j) break b; + k = c[j >> 2] & 3; + if ((c[(c[(c[((k | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (q | 0)) break a; + if ((c[(c[(c[((k | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (q | 0)) break a; else g = g + 1 | 0 + } + } while (0); + h = c[h + 248 >> 2] | 0; + c:do if (h | 0) { + g = 0; + while (1) { + i = c[h + (g << 2) >> 2] | 0; + if (!i) break c; + j = c[i >> 2] & 3; + if ((c[(c[(c[((j | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (q | 0)) break a; + if ((c[(c[(c[((j | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (q | 0)) break a; else g = g + 1 | 0 + } + } while (0); + l = l + 1 | 0 + } + if ((s | 0) == 14) { + s = 0; + if (f) { + f = c[c[n >> 2] >> 2] | 0; + e = c[c[o + (((q | 0) < (p | 0) ? 1 : -1) << 6) + 4 >> 2] >> 2] | 0; + if (!e) { + s = 16; + break + } + o = uh(d) | 0; + p = o + 16 | 0; + a[(c[p >> 2] | 0) + 156 >> 0] = 2; + $i(o, f, 0.0, 0) | 0; + $i(o, e, 0.0, 0) | 0; + c[(c[p >> 2] | 0) + 232 >> 2] = c[(c[((c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0) < (c[(c[e + 16 >> 2] | 0) + 232 >> 2] | 0) ? f : e) + 16 >> 2] | 0) + 232 >> 2]; + e = c[r >> 2] | 0 + } + } + q = q + 1 | 0 + } + if ((s | 0) == 16) qa(86734, 86626, 111, 86737); else if ((s | 0) == 19) return + } + + function Si(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + a = c[a + 16 >> 2] | 0; + i = c[a + 196 >> 2] | 0; + e = b[a + 238 >> 1] | 0; + a = b[a + 236 >> 1] | 0; + while (1) { + if ((a | 0) > (e | 0)) break; + f = c[i + (a << 6) >> 2] | 0; + g = i + (a << 6) + 4 | 0; + d = 0; + while (1) { + if ((d | 0) >= (f | 0)) break; + k = c[(c[(c[g >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0; + j = k + 232 | 0; + h[k + 16 >> 3] = +(c[j >> 2] | 0); + c[j >> 2] = a; + d = d + 1 | 0 + } + a = a + 1 | 0 + } + return + } + + function Ti(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0, l = 0.0, m = 0, n = 0, o = 0, p = 0; + Vi(a, a); + g = a + 16 | 0; + k = c[g >> 2] | 0; + a:do if ((b[k + 238 >> 1] | 0) > 0 ? (j = c[k + 8 >> 2] | 0, e = c[j + 84 >> 2] | 0, e | 0) : 0) { + o = ~~(+h[k + 32 >> 3] - +h[k + 16 >> 3]); + m = ~~(+h[k + 40 >> 3] - +h[k + 24 >> 3]); + p = (c[k + 116 >> 2] & 1 | 0) == 0; + n = p ? m : o; + m = p ? o : m; + if ((e | 0) == 4) { + e = Wi(a) | 0; + k = c[g >> 2] | 0; + j = c[k + 8 >> 2] | 0 + } else e = (e | 0) == 2 & 1; + b:do if (!(e << 24 >> 24)) { + switch (c[j + 84 >> 2] | 0) { + case 5: { + f = +h[j + 64 >> 3]; + if (f <= 0.0) break a; + i = f / +h[k + 32 >> 3]; + l = +h[j + 72 >> 3] / +h[k + 40 >> 3]; + f = i < l ? i : l; + if (i > 1.0 & l > 1.0) { + l = f; + break b + } else break a + } + case 1: + break; + default: + break a + } + i = +h[j + 16 >> 3]; + f = +(n | 0) / +(m | 0); + if (f < i) { + l = 1.0; + f = i / f; + break + } else { + l = f / i; + f = 1.0; + break + } + } else { + f = +h[j + 64 >> 3]; + if (f <= 0.0) break a; + i = f / +(m | 0); + f = +h[j + 72 >> 3] / +(n | 0); + if (i < 1.0 | f < 1.0) if (i < f) { + l = 1.0; + f = f / i; + break + } else { + l = i / f; + f = 1.0; + break + } else l = i + } while (0); + e = (c[k + 116 >> 2] & 1 | 0) == 0; + i = e ? f : l; + f = e ? l : f; + e = k + 192 | 0; + while (1) { + e = c[e >> 2] | 0; + if (!e) break; + e = c[e + 16 >> 2] | 0; + p = e + 16 | 0; + l = +h[p >> 3] * f; + h[p >> 3] = +(~~(l + (l >= 0.0 ? .5 : -.5)) | 0); + p = e + 24 | 0; + l = +h[p >> 3] * i; + h[p >> 3] = +(~~(l + (l >= 0.0 ? .5 : -.5)) | 0); + e = e + 164 | 0 + } + Xi(a, f, i) + } while (0); + if (d | 0) Yi(a, d); + return + } + + function Ui(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = b + 16 | 0; + b = (c[h >> 2] | 0) + 192 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + g = b + 16 | 0; + d = 0; + while (1) { + b = c[g >> 2] | 0; + f = c[b + 180 >> 2] | 0; + e = c[f + (d << 2) >> 2] | 0; + if (!e) break; + D_(c[e + 16 >> 2] | 0); + D_(e); + d = d + 1 | 0 + } + if (f) { + D_(f); + b = c[g >> 2] | 0 + } + d = c[b + 172 >> 2] | 0; + if (d) { + D_(d); + b = c[g >> 2] | 0 + } + f = b + 256 | 0; + e = c[f + 4 >> 2] | 0; + b = b + 180 | 0; + c[b >> 2] = c[f >> 2]; + c[b + 4 >> 2] = e; + b = c[g >> 2] | 0; + e = b + 248 | 0; + f = c[e + 4 >> 2] | 0; + b = b + 172 | 0; + c[b >> 2] = c[e >> 2]; + c[b + 4 >> 2] = f; + b = (c[g >> 2] | 0) + 164 | 0 + } + b = 0; + d = c[(c[h >> 2] | 0) + 192 >> 2] | 0; + a:while (1) { + g = (b | 0) == 0; + f = b + 16 | 0; + b = d; + while (1) { + if (!b) break a; + e = c[b + 16 >> 2] | 0; + d = c[e + 164 >> 2] | 0; + if ((a[e + 156 >> 0] | 0) != 2) continue a; + if (g) c[(c[h >> 2] | 0) + 192 >> 2] = d; else c[(c[f >> 2] | 0) + 164 >> 2] = d; + D_(e); + D_(b); + b = d + } + } + c[(c[(c[(c[h >> 2] | 0) + 192 >> 2] | 0) + 16 >> 2] | 0) + 168 >> 2] = 0; + return + } + + function Vi(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + e = a + 16 | 0; + d = 1; + while (1) { + f = c[e >> 2] | 0; + if ((d | 0) > (c[f + 180 >> 2] | 0)) break; + Vi(c[(c[f + 184 >> 2] | 0) + (d << 2) >> 2] | 0, b); + d = d + 1 | 0 + } + _i(a, b); + return + } + + function Wi(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0.0, o = 0.0, p = 0.0, + q = 0.0, r = 0, s = 0, t = 0; + s = l; + l = l + 80 | 0; + e = s + 64 | 0; + d = s + 48 | 0; + f = s + 16 | 0; + m = s; + r = s + 32 | 0; + a = a + 16 | 0; + b = c[(c[a >> 2] | 0) + 8 >> 2] | 0; + t = b + 48 | 0; + c[f >> 2] = c[t >> 2]; + c[f + 4 >> 2] = c[t + 4 >> 2]; + c[f + 8 >> 2] = c[t + 8 >> 2]; + c[f + 12 >> 2] = c[t + 12 >> 2]; + if ((!(+h[f >> 3] < .001) ? (g = f + 8 | 0, !(+h[g >> 3] < .001)) : 0) ? (i = b + 32 | 0, c[m >> 2] = c[i >> 2], c[m + 4 >> 2] = c[i + 4 >> 2], c[m + 8 >> 2] = c[i + 8 >> 2], c[m + 12 >> 2] = c[i + 12 >> 2], c[d >> 2] = c[f >> 2], c[d + 4 >> 2] = c[f + 4 >> 2], c[d + 8 >> 2] = c[f + 8 >> 2], c[d + 12 >> 2] = c[f + 12 >> 2], c[e >> 2] = c[i >> 2], c[e + 4 >> 2] = c[i + 4 >> 2], c[e + 8 >> 2] = c[i + 8 >> 2], c[e + 12 >> 2] = c[i + 12 >> 2], Zi(r, d, e), 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], 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[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], Zi(f, d, e), i = c[a >> 2] | 0, j = +h[i + 32 >> 3], k = +h[i + 40 >> 3], n = +h[f >> 3], o = n / j, p = +h[g >> 3], q = p / k, !(o >= 1.0 & q >= 1.0)) : 0) { + o = o < q ? o : q; + o = o > .5 ? o : .5; + q = +N(+(o * k / p)) * p / k; + p = +N(+(o * j / n)) * n / j * j; + a = c[i + 8 >> 2] | 0; + h[a + 64 >> 3] = p; + h[a + 72 >> 3] = q * k; + a = 1 + } else a = 0; + l = s; + return a | 0 + } + + function Xi(a, b, d) { + a = a | 0; + b = +b; + d = +d; + var e = 0, f = 0; + e = a + 16 | 0; + a = 1; + while (1) { + f = c[e >> 2] | 0; + if ((a | 0) > (c[f + 180 >> 2] | 0)) break; + Xi(c[(c[f + 184 >> 2] | 0) + (a << 2) >> 2] | 0, b, d); + a = a + 1 | 0 + } + e = f + 16 | 0; + h[e >> 3] = +h[e >> 3] * b; + e = f + 24 | 0; + h[e >> 3] = +h[e >> 3] * d; + e = f + 32 | 0; + h[e >> 3] = +h[e >> 3] * b; + f = f + 40 | 0; + h[f >> 3] = +h[f >> 3] * d; + return + } + + function Yi(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 32 | 0; + j = m + 24 | 0; + g = m + 16 | 0; + f = m; + n = c[a + 16 >> 2] | 0; + e = +h[n + 32 >> 3] - +h[n + 16 >> 3]; + d = +h[n + 40 >> 3] - +h[n + 24 >> 3]; + i = e / d; + if (0) { + n = c[15686] | 0; + h[f >> 3] = i; + h[f + 8 >> 3] = e * .0001 * d; + g1(n, 86650, f) | 0; + c[g >> 2] = zk(a) | 0; + g1(n, 86675, g) | 0 + } + d = +h[b >> 3]; + do if (!(i > d * 1.1)) { + a = b + 24 | 0; + if (!(i <= d * .8)) { + c[a >> 2] = 0; + k = 9; + break + } + c[a >> 2] = -1; + if (0) { + E1(86685, 34, 1, c[15686] | 0) | 0; + k = 9 + } + } else { + c[b + 24 >> 2] = ~~(d * +((c[b + 20 >> 2] | 0) - (c[b + 16 >> 2] | 0) | 0) / i); + k = 9 + } while (0); + if ((k | 0) == 9 ? 0 : 0) { + n = c[15686] | 0; + c[j >> 2] = c[b + 24 >> 2]; + g1(n, 86720, j) | 0 + } + l = m; + return + } + + function Zi(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[b + 8 >> 3] - +h[c + 8 >> 3]; + h[a >> 3] = +h[b >> 3] - +h[c >> 3]; + h[a + 8 >> 3] = d; + return + } + + function _i(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0, k = 0, l = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, x = 0.0; + s = (ig(d) | 0) == (d | 0); + v = d + 16 | 0; + w = c[v >> 2] | 0; + a:do if (s) { + f = b[w + 236 >> 1] | 0; + d = b[w + 238 >> 1] | 0; + q = d << 16 >> 16; + r = w + 196 | 0; + s = w + 196 | 0; + p = f << 16 >> 16; + i = -2147483647.0; + g = 2147483647.0; + while (1) { + if ((p | 0) > (q | 0)) break; + j = c[r >> 2] | 0; + o = c[j + (p << 6) >> 2] | 0; + if ((o | 0) != 0 ? (t = c[j + (p << 6) + 4 >> 2] | 0, u = c[t >> 2] | 0, (u | 0) != 0) : 0) { + l = 1; + j = u; + while (1) { + j = c[j + 16 >> 2] | 0; + k = a[j + 156 >> 0] | 0; + if (!((l | 0) < (o | 0) & k << 24 >> 24 != 0)) break; + j = c[t + (l << 2) >> 2] | 0; + l = l + 1 | 0 + } + if (!(k << 24 >> 24)) { + m = +h[j + 16 >> 3] - +h[j + 88 >> 3]; + n = g < m; + l = c[(c[s >> 2] | 0) + (p << 6) + 4 >> 2] | 0; + k = o + -2 | 0; + j = o + -1 | 0; + while (1) { + j = c[(c[l + (j << 2) >> 2] | 0) + 16 >> 2] | 0; + if (!(a[j + 156 >> 0] | 0)) break; else { + j = k; + k = k + -1 | 0 + } + } + x = +h[j + 96 >> 3] + +h[j + 16 >> 3]; + i = i > x ? i : x; + g = n ? g : m + } + } + p = p + 1 | 0 + } + k = c[w + 180 >> 2] | 0; + l = w + 184 | 0; + j = 1; + while (1) { + if ((j | 0) > (k | 0)) break a; + u = c[(c[(c[l >> 2] | 0) + (j << 2) >> 2] | 0) + 16 >> 2] | 0; + x = +h[u + 16 >> 3] + -8.0; + m = +h[u + 32 >> 3] + 8.0; + j = j + 1 | 0; + i = i > m ? i : m; + g = g < x ? g : x + } + } else { + i = +(c[(c[(c[w + 260 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0); + g = +(c[(c[(c[w + 256 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0); + f = b[w + 236 >> 1] | 0; + d = b[w + 238 >> 1] | 0 + } while (0); + e = c[(c[e + 16 >> 2] | 0) + 196 >> 2] | 0; + m = +h[(c[(c[c[e + (d << 16 >> 16 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - +h[w + 120 >> 3]; + x = +h[w + 128 >> 3] + +h[(c[(c[c[e + (f << 16 >> 16 << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]; + h[w + 16 >> 3] = g; + h[w + 24 >> 3] = m; + e = c[v >> 2] | 0; + h[e + 32 >> 3] = i; + h[e + 40 >> 3] = x; + return + } + + function $i(a, d, e, f) { + a = a | 0; + d = d | 0; + e = +e; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + i = uH(96) | 0; + j = i + 48 | 0; + c[j >> 2] = c[j >> 2] | 3; + c[i >> 2] = c[i >> 2] & -4 | 2; + g = uH(176) | 0; + h = i + 16 | 0; + c[h >> 2] = g; + c[((c[i >> 2] & 3 | 0) == 3 ? i : j) + 40 >> 2] = a; + c[((c[i >> 2] & 3 | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] = d; + if (e > 65535.0) { + aj(e); + e = 65535.0; + g = c[h >> 2] | 0 + } + b[g + 170 >> 1] = ~~(e + (e >= 0.0 ? .5 : -.5)); + c[g + 156 >> 2] = f; + ih(i) | 0; + return i | 0 + } + + function aj(a) { + a = +a; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + h[d >> 3] = a; + c[d + 8 >> 2] = 65535; + Pw(1, 86750, d) | 0; + l = b; + return + } + + function bj(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + a = (c[a + 16 >> 2] | 0) + 192 | 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + f = a + 16 | 0; + e = c[f >> 2] | 0; + a = e + 172 | 0; + d = c[a + 4 >> 2] | 0; + e = e + 248 | 0; + c[e >> 2] = c[a >> 2]; + c[e + 4 >> 2] = d; + e = c[f >> 2] | 0; + d = e + 180 | 0; + a = c[d + 4 >> 2] | 0; + e = e + 256 | 0; + c[e >> 2] = c[d >> 2]; + c[e + 4 >> 2] = a; + e = c[f >> 2] | 0; + a = c[e + 180 >> 2] | 0; + d = 0; + while (1) if (!(c[a + (d << 2) >> 2] | 0)) break; else d = d + 1 | 0; + b = c[e + 172 >> 2] | 0; + a = 0; + while (1) if (!(c[b + (a << 2) >> 2] | 0)) break; else a = a + 1 | 0; + c[e + 176 >> 2] = 0; + a = uH((a + d << 2) + 16 | 0) | 0; + e = c[f >> 2] | 0; + c[e + 172 >> 2] = a; + c[e + 184 >> 2] = 0; + e = uH(16) | 0; + a = c[f >> 2] | 0; + c[a + 180 >> 2] = e; + a = a + 164 | 0 + } + return + } + + function cj(d) { + d = d | 0; + var f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0, r = 0, s = 0, t = 0.0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0.0, B = 0.0; + z = l; + l = l + 16 | 0; + w = z; + x = d + 16 | 0; + u = c[x >> 2] | 0; + y = c[u + 196 >> 2] | 0; + d = (a[(c[(c[d + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1) != 0; + v = c[u + 248 >> 2] | 0; + c[w >> 2] = v; + c[w + 4 >> 2] = d ? 5 : v; + v = b[u + 236 >> 1] | 0; + d = u; + while (1) { + if ((v | 0) > (b[d + 238 >> 1] | 0)) break; + r = y + (v << 6) + 4 | 0; + c[(c[(c[c[r >> 2] >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] = 0; + s = y + (v << 6) | 0; + t = +(c[w + ((v & 1) << 2) >> 2] | 0); + p = 0.0; + k = 0; + a:while (1) { + if ((k | 0) >= (c[s >> 2] | 0)) break; + f = c[r >> 2] | 0; + m = c[f + (k << 2) >> 2] | 0; + u = m + 16 | 0; + d = c[u >> 2] | 0; + i = +h[d + 96 >> 3]; + h[d + 240 >> 3] = i; + if ((c[d + 208 >> 2] | 0) > 0) { + j = 0; + f = 0; + while (1) { + g = c[(c[d + 204 >> 2] | 0) + (j << 2) >> 2] | 0; + if (!g) break; + q = c[g >> 2] & 3; + if ((c[((q | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) == (c[((q | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0)) { + f = (XK(g) | 0) + f | 0; + d = c[u >> 2] | 0 + } + j = j + 1 | 0 + } + q = d + 96 | 0; + i = +h[q >> 3] + +(f | 0); + h[q >> 3] = i; + f = c[r >> 2] | 0 + } + q = k + 1 | 0; + f = c[f + (q << 2) >> 2] | 0; + if (f) { + o = f + 16 | 0; + i = i + t + +h[(c[o >> 2] | 0) + 88 >> 3]; + $i(m, f, i, 0) | 0; + d = ~~(i + p); + c[(c[o >> 2] | 0) + 232 >> 2] = d; + p = +(d | 0); + d = c[u >> 2] | 0 + } + f = c[d + 112 >> 2] | 0; + if (f) { + j = c[d + 256 >> 2] | 0; + k = c[j >> 2] | 0; + j = c[j + 4 >> 2] | 0; + d = (c[(c[(c[((c[k >> 2] & 3 | 0) == 2 ? k : k + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) > (c[(c[(c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0); + g = d ? j : k; + j = d ? k : j; + k = f + 16 | 0; + d = c[k >> 2] | 0; + i = +((O(c[(c[x >> 2] | 0) + 248 >> 2] | 0, e[d + 170 >> 1] | 0) | 0) / 2 | 0 | 0); + o = c[g >> 2] & 3; + f = c[((o | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + g = c[((o | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0; + if (!(nj(g, f) | 0)) $i(f, g, +(~~(+h[(c[f + 16 >> 2] | 0) + 96 >> 3] + i + +h[(c[g + 16 >> 2] | 0) + 88 >> 3]) | 0), c[d + 156 >> 2] | 0) | 0; + d = c[j >> 2] & 3; + f = c[((d | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0; + d = c[((d | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0; + if (!(nj(d, f) | 0)) { + $i(f, d, +(~~(+h[(c[f + 16 >> 2] | 0) + 96 >> 3] + i + +h[(c[d + 16 >> 2] | 0) + 88 >> 3]) | 0), c[(c[k >> 2] | 0) + 156 >> 2] | 0) | 0; + o = 0 + } else o = 0 + } else o = 0; + while (1) { + d = c[u >> 2] | 0; + if ((o | 0) >= (c[d + 192 >> 2] | 0)) { + k = q; + continue a + } + m = c[(c[d + 188 >> 2] | 0) + (o << 2) >> 2] | 0; + k = c[m >> 2] & 3; + g = c[((k | 0) == 3 ? m : m + 48 | 0) + 40 >> 2] | 0; + k = c[((k | 0) == 2 ? m : m + -48 | 0) + 40 >> 2] | 0; + j = (c[(c[g + 16 >> 2] | 0) + 236 >> 2] | 0) < (c[(c[k + 16 >> 2] | 0) + 236 >> 2] | 0); + f = j ? g : k; + g = j ? k : g; + i = +h[(c[g + 16 >> 2] | 0) + 88 >> 3] + +h[(c[f + 16 >> 2] | 0) + 96 >> 3]; + k = m + 16 | 0; + j = ~~(i + +(O(c[(c[x >> 2] | 0) + 248 >> 2] | 0, e[(c[k >> 2] | 0) + 170 >> 1] | 0) | 0)); + n = fh(f, g) | 0; + if (!n) { + d = c[k >> 2] | 0; + if (!(c[d + 96 >> 2] | 0)) $i(f, g, +(j | 0), c[d + 156 >> 2] | 0) | 0 + } else { + A = +(j | 0); + d = c[k >> 2] | 0; + B = +h[d + 136 >> 3]; + i = i + +(c[(c[x >> 2] | 0) + 248 >> 2] | 0) + +(~~(B + (B >= 0.0 ? .5 : -.5)) | 0); + f = ~~(i < A ? A : i); + if ((f | 0) > 65535) { + aj(+(f | 0)); + f = 65535; + d = c[k >> 2] | 0 + } + k = c[n + 16 >> 2] | 0; + j = k + 170 | 0; + g = e[j >> 1] | 0; + b[j >> 1] = (f | 0) < (g | 0) ? g : f; + k = k + 156 | 0; + c[k >> 2] = c[(c[((c[k >> 2] | 0) > (c[d + 156 >> 2] | 0) ? n : m) + 16 >> 2] | 0) + 156 >> 2] + } + o = o + 1 | 0 + } + } + v = v + 1 | 0; + d = c[x >> 2] | 0 + } + l = z; + return + } + + function dj(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + d = (c[b + 16 >> 2] | 0) + 192 | 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + g = d + 16 | 0; + d = c[g >> 2] | 0; + e = c[d + 256 >> 2] | 0; + a:do if (e) { + f = 0; + while (1) { + e = c[e + (f << 2) >> 2] | 0; + if (!e) break a; + n = uh(b) | 0; + d = n + 16 | 0; + a[(c[d >> 2] | 0) + 156 >> 0] = 2; + l = e + 16 | 0; + k = c[l >> 2] | 0; + i = ~~(+h[k + 56 >> 3] - +h[k + 16 >> 3]); + m = (i | 0) > 0; + j = m ? 0 : 0 - i | 0; + i = m ? i : 0; + m = e + 48 | 0; + $i(n, c[((c[e >> 2] & 3 | 0) == 3 ? e : m) + 40 >> 2] | 0, +(i + 1 | 0), c[k + 156 >> 2] | 0) | 0; + k = e + -48 | 0; + $i(n, c[((c[e >> 2] & 3 | 0) == 2 ? e : k) + 40 >> 2] | 0, +(j + 1 | 0), c[(c[l >> 2] | 0) + 156 >> 2] | 0) | 0; + l = c[e >> 2] & 3; + i = (c[(c[(c[((l | 0) == 3 ? e : m) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - i | 0; + e = (c[(c[(c[((l | 0) == 2 ? e : k) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - j | 0; + c[(c[d >> 2] | 0) + 232 >> 2] = ((i | 0) < (e | 0) ? i : e) + -1; + d = c[g >> 2] | 0; + f = f + 1 | 0; + e = c[d + 256 >> 2] | 0 + } + } while (0); + d = d + 164 | 0 + } + return + } + + function ej(a) { + a = a | 0; + if ((c[(c[a + 16 >> 2] | 0) + 180 >> 2] | 0) > 0) { + ij(a); + jj(a); + kj(a); + lj(a) + } + return + } + + function fj(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0, f = 0; + e = a + 16 | 0; + f = c[(c[e >> 2] | 0) + 8 >> 2] | 0; + if ((c[f + 84 >> 2] | 0) == 3 ? (b = +h[f + 64 >> 3], d = +h[f + 72 >> 3], !(d * b <= 1.0)) : 0) { + gj(a); + f = c[e >> 2] | 0; + d = (c[f + 116 >> 2] & 1 | 0) == 0 ? b : d; + $i(c[f + 256 >> 2] | 0, c[f + 260 >> 2] | 0, d < 65535.0 ? d : 65535.0, 1e3) | 0 + } + return + } + + function gj(a) { + a = a | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + m = n; + e = KL(a, c[46374] | 0, 8, 0) | 0; + hj(a); + i = a + 16 | 0; + g = c[i >> 2] | 0; + j = c[g + 256 >> 2] | 0; + k = c[g + 260 >> 2] | 0; + f = +(e | 0); + e = b[g + 236 >> 1] | 0; + while (1) { + if ((e | 0) > (b[g + 238 >> 1] | 0)) break; + d = c[g + 196 >> 2] | 0; + do if (c[d + (e << 6) >> 2] | 0) { + d = c[c[d + (e << 6) + 4 >> 2] >> 2] | 0; + if (!d) { + c[m >> 2] = ry(a) | 0; + c[m + 4 >> 2] = e; + Pw(1, 86834, m) | 0; + break + } else { + $i(j, d, +h[(c[d + 16 >> 2] | 0) + 88 >> 3] + f + +h[g + 96 >> 3], 0) | 0; + g = c[i >> 2] | 0; + d = c[g + 196 >> 2] | 0; + d = c[(c[d + (e << 6) + 4 >> 2] | 0) + ((c[d + (e << 6) >> 2] | 0) + -1 << 2) >> 2] | 0; + $i(d, k, +h[(c[d + 16 >> 2] | 0) + 96 >> 3] + f + +h[g + 64 >> 3], 0) | 0; + break + } + } while (0); + e = e + 1 | 0; + g = c[i >> 2] | 0 + } + l = n; + return + } + + function hj(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + d = b + 16 | 0; + if (!(c[(c[d >> 2] | 0) + 256 >> 2] | 0)) { + f = uh(ig(b) | 0) | 0; + a[(c[f + 16 >> 2] | 0) + 156 >> 0] = 2; + e = uh(ig(b) | 0) | 0; + a[(c[e + 16 >> 2] | 0) + 156 >> 0] = 2; + if ((c[(c[d >> 2] | 0) + 12 >> 2] | 0 ? (ig(b) | 0) != (b | 0) : 0) ? (c[(c[(fz(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0 : 0) { + b = c[d >> 2] | 0; + $i(f, e, +(~~+h[b + 48 + ((+h[b + 48 >> 3] > +h[b + 80 >> 3] ? 0 : 2) << 4) >> 3] | 0), 0) | 0 + } + d = c[d >> 2] | 0; + c[d + 256 >> 2] = f; + c[d + 260 >> 2] = e + } + return + } + + function ij(a) { + a = a | 0; + var b = 0, d = 0; + do if ((ig(a) | 0) != (a | 0)) { + gj(a); + a = a + 16 | 0; + b = c[a >> 2] | 0; + b = fh(c[b + 256 >> 2] | 0, c[b + 260 >> 2] | 0) | 0; + if (!b) { + d = c[a >> 2] | 0; + $i(c[d + 256 >> 2] | 0, c[d + 260 >> 2] | 0, 1.0, 128) | 0; + break + } else { + d = (c[b + 16 >> 2] | 0) + 156 | 0; + c[d >> 2] = (c[d >> 2] | 0) + 128; + break + } + } else a = a + 16 | 0; while (0); + b = 1; + while (1) { + d = c[a >> 2] | 0; + if ((b | 0) > (c[d + 180 >> 2] | 0)) break; + ij(c[(c[d + 184 >> 2] | 0) + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + return + } + + function jj(d) { + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0, o = 0; + k = KL(d, c[46374] | 0, 8, 0) | 0; + o = d + 16 | 0; + e = c[o >> 2] | 0; + m = +(k | 0); + k = b[e + 236 >> 1] | 0; + while (1) { + if ((k | 0) > (b[e + 238 >> 1] | 0)) { + f = 1; + break + } + e = c[e + 196 >> 2] | 0; + a:do if (c[e + (k << 6) >> 2] | 0 ? (l = c[c[e + (k << 6) + 4 >> 2] >> 2] | 0, l | 0) : 0) { + i = l + 16 | 0; + f = c[(c[i >> 2] | 0) + 236 >> 2] | 0; + while (1) { + if ((f | 0) <= 0) break; + f = f + -1 | 0; + j = c[(c[(c[(c[(ig(d) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) + 4 >> 2] | 0) + (f << 2) >> 2] | 0; + g = j + 16 | 0; + e = c[g >> 2] | 0; + if (!(a[e + 156 >> 0] | 0)) { + n = 10; + break + } + if (mj(d, j) | 0) { + n = 9; + break + } + } + if ((n | 0) == 9) { + e = c[g >> 2] | 0; + n = 10 + } + if ((n | 0) == 10) { + n = 0; + $i(j, c[(c[o >> 2] | 0) + 256 >> 2] | 0, +h[e + 96 >> 3] + m, 0) | 0 + } + f = (c[(c[(c[o >> 2] | 0) + 196 >> 2] | 0) + (k << 6) >> 2] | 0) + (c[(c[i >> 2] | 0) + 236 >> 2] | 0) | 0; + while (1) { + if ((f | 0) >= (c[(c[(c[(ig(d) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) >> 2] | 0)) break a; + i = c[(c[(c[(c[(ig(d) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0) + (k << 6) + 4 >> 2] | 0) + (f << 2) >> 2] | 0; + g = i + 16 | 0; + e = c[g >> 2] | 0; + if (!(a[e + 156 >> 0] | 0)) break; + if (!(mj(d, i) | 0)) f = f + 1 | 0; else { + n = 15; + break + } + } + if ((n | 0) == 15) { + n = 0; + e = c[g >> 2] | 0 + } + $i(c[(c[o >> 2] | 0) + 260 >> 2] | 0, i, +h[e + 88 >> 3] + m, 0) | 0 + } while (0); + k = k + 1 | 0; + e = c[o >> 2] | 0 + } + while (1) { + if ((f | 0) > (c[e + 180 >> 2] | 0)) break; + jj(c[(c[e + 184 >> 2] | 0) + (f << 2) >> 2] | 0); + f = f + 1 | 0; + e = c[o >> 2] | 0 + } + return + } + + function kj(a) { + a = a | 0; + var b = 0, d = 0.0, e = 0, f = 0, g = 0; + e = KL(a, c[46374] | 0, 8, 0) | 0; + hj(a); + b = a + 16 | 0; + d = +(e | 0); + a = 1; + while (1) { + e = c[b >> 2] | 0; + if ((a | 0) > (c[e + 180 >> 2] | 0)) break; + e = c[(c[e + 184 >> 2] | 0) + (a << 2) >> 2] | 0; + hj(e); + f = c[b >> 2] | 0; + g = e + 16 | 0; + $i(c[f + 256 >> 2] | 0, c[(c[g >> 2] | 0) + 256 >> 2] | 0, +h[f + 96 >> 3] + d, 0) | 0; + f = c[b >> 2] | 0; + $i(c[(c[g >> 2] | 0) + 260 >> 2] | 0, c[f + 260 >> 2] | 0, +h[f + 64 >> 3] + d, 0) | 0; + kj(e); + a = a + 1 | 0 + } + return + } + + function lj(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0, o = 0; + d = KL(a, c[46374] | 0, 8, 0) | 0; + n = a + 16 | 0; + a = 1; + while (1) { + f = c[n >> 2] | 0; + e = c[f + 180 >> 2] | 0; + if ((a | 0) > (e | 0)) break; + hj(c[(c[f + 184 >> 2] | 0) + (a << 2) >> 2] | 0); + a = a + 1 | 0 + } + m = +(d | 0); + l = 1; + a = e; + d = f; + while (1) { + if ((l | 0) > (a | 0)) break; + k = l + 1 | 0; + j = k; + while (1) { + e = c[d + 184 >> 2] | 0; + f = c[e + (l << 2) >> 2] | 0; + if ((j | 0) > (a | 0)) break; + e = c[e + (j << 2) >> 2] | 0; + g = (b[(c[f + 16 >> 2] | 0) + 236 >> 1] | 0) > (b[(c[e + 16 >> 2] | 0) + 236 >> 1] | 0); + i = g ? e : f; + e = g ? f : e; + f = c[i + 16 >> 2] | 0; + g = c[e + 16 >> 2] | 0; + o = b[g + 236 >> 1] | 0; + h = o << 16 >> 16; + if ((b[f + 238 >> 1] | 0) >= o << 16 >> 16) { + a = (c[(c[(c[c[(c[f + 196 >> 2] | 0) + (h << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0) < (c[(c[(c[c[(c[g + 196 >> 2] | 0) + (h << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0); + $i(c[(c[(a ? i : e) + 16 >> 2] | 0) + 260 >> 2] | 0, c[(c[(a ? e : i) + 16 >> 2] | 0) + 256 >> 2] | 0, m, 0) | 0; + a = c[n >> 2] | 0; + d = a; + a = c[a + 180 >> 2] | 0 + } + j = j + 1 | 0 + } + lj(f); + d = c[n >> 2] | 0; + l = k; + a = c[d + 180 >> 2] | 0 + } + return + } + + function mj(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + d = c[d + 16 >> 2] | 0; + if ((a[d + 156 >> 0] | 0) == 1) { + d = c[c[d + 256 >> 2] >> 2] | 0; + while (1) { + e = c[(c[d + 16 >> 2] | 0) + 116 >> 2] | 0; + if (!e) break; else d = e + } + if (!(oz(b, c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) | 0)) d = (oz(b, c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0) == 0 & 1; else d = 0 + } else d = 0; + return d | 0 + } + + function nj(a, b) { + a = a | 0; + b = b | 0; + return oj(a, b) | 0 + } + + function oj(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + a:do if ((a | 0) == (b | 0)) a = 1; else { + d = c[(c[a + 16 >> 2] | 0) + 180 >> 2] | 0; + a = 0; + while (1) { + e = c[d + (a << 2) >> 2] | 0; + if (!e) { + a = 0; + break a + } + if (!(oj(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, b) | 0)) a = a + 1 | 0; else { + a = 1; + break + } + } + } while (0); + return a | 0 + } + + function pj(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = d + 16 | 0; + d = c[k >> 2] | 0; + j = b[d + 236 >> 1] | 0; + while (1) { + if ((j | 0) > (b[d + 238 >> 1] | 0)) break; + h = c[d + 196 >> 2] | 0; + g = c[h + (j << 6) >> 2] | 0; + h = h + (j << 6) + 4 | 0; + i = 0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + e = c[(c[(c[h >> 2] | 0) + (f << 2) >> 2] | 0) + 16 >> 2] | 0; + c[e + 236 >> 2] = i; + if ((a[e + 159 >> 0] | 0) == 6) e = c[e + 216 >> 2] | 0; else e = 1; + i = e + i | 0; + f = f + 1 | 0 + } + if ((i | 0) > (g | 0)) { + d = c[h >> 2] | 0; + if (!d) d = vH((i << 2) + 4 | 0) | 0; else d = xH(d, (i << 2) + 4 | 0) | 0; + f = c[(c[k >> 2] | 0) + 196 >> 2] | 0; + c[f + (j << 6) + 4 >> 2] = d; + e = c[f + (j << 6) >> 2] | 0; + while (1) { + d = e + -1 | 0; + if ((e | 0) <= 0) break; + h = c[f + (j << 6) + 4 >> 2] | 0; + e = c[h + (d << 2) >> 2] | 0; + c[h + (c[(c[e + 16 >> 2] | 0) + 236 >> 2] << 2) >> 2] = e; + e = d; + f = c[(c[k >> 2] | 0) + 196 >> 2] | 0 + } + c[f + (j << 6) >> 2] = i; + c[(c[f + (j << 6) + 4 >> 2] | 0) + (i << 2) >> 2] = 0; + d = c[k >> 2] | 0 + } + j = j + 1 | 0 + } + return + } + + function qj(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + o = l; + l = l + 48 | 0; + n = o + 32 | 0; + m = o + 8 | 0; + d = o + 24 | 0; + k = o + 16 | 0; + j = o; + e = b + 16 | 0; + f = c[e >> 2] | 0; + a:do if ((c[f + 216 >> 2] | 0) >= 2) { + c[m >> 2] = ~~(+h[f + 16 >> 3] - +h[f + 88 >> 3]); + c[m + 4 >> 2] = ~~+h[f + 24 >> 3]; + c[n >> 2] = c[m >> 2]; + c[n + 4 >> 2] = c[m + 4 >> 2]; + rj(d, b, n); + g = d; + i = c[g + 4 >> 2] | 0; + d = m; + c[d >> 2] = c[g >> 2]; + c[d + 4 >> 2] = i; + d = c[e >> 2] | 0; + if ((c[d + 184 >> 2] | 0) > 0) { + j = c[c[d + 180 >> 2] >> 2] | 0; + d = (c[d + 236 >> 2] | 0) + 1 | 0; + j = Hx(a, c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) | 0; + while (1) { + if (!j) break a; + i = (c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0; + e = i + 48 | 0; + f = c[((c[i >> 2] & 3 | 0) == 3 ? i : e) + 40 >> 2] | 0; + if ((f | 0) != (b | 0) ? (SL(f) | 0) == (b | 0) : 0) { + f = c[((c[i >> 2] & 3 | 0) == 3 ? i : e) + 40 >> 2] | 0; + c[n >> 2] = c[m >> 2]; + c[n + 4 >> 2] = c[m + 4 >> 2]; + sj(k, a, f, n, d); + f = k; + e = c[f + 4 >> 2] | 0; + g = m; + c[g >> 2] = c[f >> 2]; + c[g + 4 >> 2] = e; + zh(i); + g = i + -48 | 0; + e = c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 172 >> 2] | 0; + if (!f) e = vH((c[e + 176 >> 2] << 2) + 8 | 0) | 0; else e = xH(f, (c[e + 176 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 >> 2] = e; + p = c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + e = c[p + 172 >> 2] | 0; + p = p + 176 | 0; + f = c[p >> 2] | 0; + c[p >> 2] = f + 1; + c[e + (f << 2) >> 2] = i; + i = c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[i + 172 >> 2] | 0) + (c[i + 176 >> 2] << 2) >> 2] = 0; + d = d + 1 | 0 + } + j = Ix(a, j) | 0 + } + } else { + i = c[c[d + 172 >> 2] >> 2] | 0; + d = (c[d + 236 >> 2] | 0) + 1 | 0; + i = Ex(a, c[((c[i >> 2] & 3 | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0) | 0; + while (1) { + if (!i) break a; + e = i + -48 | 0; + f = c[((c[i >> 2] & 3 | 0) == 2 ? i : e) + 40 >> 2] | 0; + if ((f | 0) != (b | 0) ? (SL(f) | 0) == (b | 0) : 0) { + f = c[((c[i >> 2] & 3 | 0) == 2 ? i : e) + 40 >> 2] | 0; + c[n >> 2] = c[m >> 2]; + c[n + 4 >> 2] = c[m + 4 >> 2]; + sj(j, a, f, n, d); + f = j; + e = c[f + 4 >> 2] | 0; + g = m; + c[g >> 2] = c[f >> 2]; + c[g + 4 >> 2] = e; + zh(i); + g = i + 48 | 0; + e = c[(c[((c[i >> 2] & 3 | 0) == 3 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + f = c[e + 180 >> 2] | 0; + if (!f) e = vH((c[e + 184 >> 2] << 2) + 8 | 0) | 0; else e = xH(f, (c[e + 184 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[i >> 2] & 3 | 0) == 3 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] = e; + f = c[(c[((c[i >> 2] & 3 | 0) == 3 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + k = c[f + 180 >> 2] | 0; + f = f + 184 | 0; + p = c[f >> 2] | 0; + c[f >> 2] = p + 1; + c[k + (p << 2) >> 2] = i; + p = c[(c[((c[i >> 2] & 3 | 0) == 3 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[p + 180 >> 2] | 0) + (c[p + 184 >> 2] << 2) >> 2] = 0; + d = d + 1 | 0 + } + i = Gx(a, i) | 0 + } + } + } while (0); + l = o; + return + } + + function rj(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0; + bN(b, c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1); + e = c[b + 16 >> 2] | 0; + h[e + 24 >> 3] = +(c[d + 4 >> 2] | 0); + f = +h[e + 88 >> 3] + +(c[d >> 2] | 0); + h[e + 16 >> 3] = f; + f = f + +h[e + 96 >> 3]; + c[d >> 2] = ~~(f + +(c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 248 >> 2] | 0)); + e = d; + b = c[e + 4 >> 2] | 0; + d = a; + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = b; + return + } + + function sj(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + i = l; + l = l + 16 | 0; + h = i; + b = ig(b) | 0; + g = SL(d) | 0; + if ((g | 0) != (d | 0)) rh(g, d); + j = c[d + 16 >> 2] | 0; + c[j + 236 >> 2] = f; + g = c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0; + c[j + 232 >> 2] = g; + c[(c[(c[(c[b + 16 >> 2] | 0) + 196 >> 2] | 0) + (g << 6) + 4 >> 2] | 0) + (f << 2) >> 2] = d; + c[h >> 2] = c[e >> 2]; + c[h + 4 >> 2] = c[e + 4 >> 2]; + rj(a, d, h); + l = i; + return + } + + function tj(a) { + a = a | 0; + var d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0.0, k = 0, l = 0, m = 0, n = 0.0; + m = c[(c[(ig(a) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0; + if ((ig(a) | 0) == (a | 0)) j = 8.0; else j = +(KL(a, c[46374] | 0, 8, 0) | 0); + l = a + 16 | 0; + g = c[l >> 2] | 0; + f = 0; + k = 1; + e = +h[g + 120 >> 3]; + d = +h[g + 128 >> 3]; + while (1) { + if ((k | 0) > (c[g + 180 >> 2] | 0)) break; + i = c[(c[g + 184 >> 2] | 0) + (k << 2) >> 2] | 0; + f = tj(i) | 0 | f; + i = c[i + 16 >> 2] | 0; + g = c[l >> 2] | 0; + if ((b[i + 238 >> 1] | 0) == (b[g + 238 >> 1] | 0)) { + n = +h[i + 120 >> 3] + j; + e = e > n ? e : n + } + if ((b[i + 236 >> 1] | 0) == (b[g + 236 >> 1] | 0)) { + n = +h[i + 128 >> 3] + j; + d = d > n ? d : n + } + k = k + 1 | 0 + } + if ((ig(a) | 0) != (a | 0) ? (c[(c[l >> 2] | 0) + 12 >> 2] | 0) != 0 : 0) if (!(c[(c[(fz(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1)) { + k = c[l >> 2] | 0; + f = 1; + e = +h[k + 56 >> 3] + e; + d = +h[k + 88 >> 3] + d + } else f = 1; + k = c[l >> 2] | 0; + h[k + 120 >> 3] = e; + h[k + 128 >> 3] = d; + if ((ig(a) | 0) != (a | 0)) { + l = c[l >> 2] | 0; + a = m + (b[l + 236 >> 1] << 6) + 24 | 0; + n = +h[a >> 3]; + h[a >> 3] = n > d ? n : d; + m = m + (b[l + 238 >> 1] << 6) + 16 | 0; + n = +h[m >> 3]; + h[m >> 3] = n > e ? n : e + } + return f | 0 + } + + function uj(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0.0, l = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0; + o = c[(c[(ig(a) | 0) + 16 >> 2] | 0) + 196 >> 2] | 0; + if ((ig(a) | 0) == (a | 0)) e = 0; else e = KL(a, c[46374] | 0, 8, 0) | 0; + l = a + 16 | 0; + i = c[l >> 2] | 0; + m = e + d | 0; + k = +(e | 0); + j = 1; + f = +h[i + 128 >> 3]; + g = +h[i + 120 >> 3]; + e = i; + while (1) { + if ((j | 0) > (c[e + 180 >> 2] | 0)) break; + i = c[(c[e + 184 >> 2] | 0) + (j << 2) >> 2] | 0; + uj(i, m); + i = c[i + 16 >> 2] | 0; + e = c[l >> 2] | 0; + if ((b[i + 238 >> 1] | 0) == (b[e + 238 >> 1] | 0)) { + q = +h[i + 120 >> 3] + k; + g = g > q ? g : q + } + if ((b[i + 236 >> 1] | 0) == (b[e + 236 >> 1] | 0)) { + q = +h[i + 128 >> 3] + k; + f = f > q ? f : q + } + j = j + 1 | 0 + } + h[e + 120 >> 3] = g; + h[e + 128 >> 3] = f; + if (((ig(a) | 0) != (a | 0) ? (n = c[l >> 2] | 0, c[n + 12 >> 2] | 0) : 0) ? (p = -g - f + +h[n + 48 + ((+h[n + 104 >> 3] > +h[n + 72 >> 3] ? 3 : 1) << 4) + 8 >> 3] - +h[(c[(c[c[o + (b[n + 236 >> 1] << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] + +h[(c[(c[c[o + (b[n + 238 >> 1] << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3], p > 0.0) : 0) vj(a, ~~p, d); + if ((ig(a) | 0) != (a | 0)) { + n = c[l >> 2] | 0; + m = o + (b[n + 236 >> 1] << 6) + 24 | 0; + q = +h[m >> 3]; + p = +h[n + 128 >> 3]; + h[m >> 3] = q > p ? q : p; + o = o + (b[n + 238 >> 1] << 6) + 16 | 0; + p = +h[o >> 3]; + q = +h[n + 120 >> 3]; + h[o >> 3] = p > q ? p : q + } + return + } + + function vj(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0; + k = c[(ig(a) | 0) + 16 >> 2] | 0; + q = c[k + 196 >> 2] | 0; + p = c[a + 16 >> 2] | 0; + a = b[p + 238 >> 1] | 0; + f = b[p + 236 >> 1] | 0; + l = (d + 1 | 0) / 2 | 0; + m = p + 120 | 0; + n = +h[m >> 3]; + o = +(l | 0); + i = +(e | 0); + e = ~~(o + i + n - +h[q + (a << 6) + 16 >> 3]); + if ((e | 0) > 0) { + g = +(e | 0); + while (1) { + if ((a | 0) < (f | 0)) break; + if ((c[q + (a << 6) >> 2] | 0) > 0) { + r = (c[(c[c[q + (a << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 | 0; + h[r >> 3] = +h[r >> 3] + g + } + a = a + -1 | 0 + } + j = +h[p + 128 >> 3]; + a = e; + g = j + +(d - l | 0) + } else { + j = +h[p + 128 >> 3]; + a = d - l | 0; + g = j + } + a = ~~(+(a | 0) + i + g - +h[q + (f << 6) + 24 >> 3]); + a:do if ((a | 0) > 0) { + e = b[k + 236 >> 1] | 0; + g = +(a | 0); + while (1) { + a = f + -1 | 0; + if ((f | 0) <= (e | 0)) break a; + if ((c[q + (a << 6) >> 2] | 0) <= 0) { + f = a; + continue + } + f = (c[(c[c[q + (a << 6) + 4 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 24 | 0; + h[f >> 3] = +h[f >> 3] + g; + f = a + } + } while (0); + h[p + 128 >> 3] = j + +(d - l | 0); + h[m >> 3] = n + o; + return + } + + function wj(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = c[b + 16 >> 2] | 0; + f = a[e + 84 >> 0] | 0; + b = c[d + 16 >> 2] | 0; + do if (f << 24 >> 24 == (a[b + 84 >> 0] | 0)) { + if (+h[e + 56 >> 3] == +h[b + 56 >> 3]) { + if (!(f << 24 >> 24 == 0 ? 1 : +h[e + 64 >> 3] == +h[b + 64 >> 3])) { + b = 0; + break + } + } else if (f << 24 >> 24) { + b = 0; + break + } + if (+h[e + 16 >> 3] == +h[b + 16 >> 3] ? +h[e + 24 >> 3] == +h[b + 24 >> 3] : 0) { + b = 1; + break + } + b = (a[e + 44 >> 0] | 0) == 0 & 1 + } else b = 0; while (0); + return b | 0 + } + + function xj(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = a + 16 | 0; + d = c[i >> 2] | 0; + b[d + 236 >> 1] = 32767; + b[d + 238 >> 1] = -1; + d = 0; + h = Sy(a) | 0; + while (1) { + e = c[i >> 2] | 0; + if (!h) break; + f = e + 238 | 0; + g = c[(c[h + 16 >> 2] | 0) + 232 >> 2] | 0; + if ((g | 0) > (b[f >> 1] | 0)) b[f >> 1] = g; + e = e + 236 | 0; + if ((g | 0) < (b[e >> 1] | 0)) b[e >> 1] = g; + if (!d) d = h; else d = (g | 0) < (c[(c[d + 16 >> 2] | 0) + 232 >> 2] | 0) ? h : d; + h = Ty(a, h) | 0 + } + c[e + 264 >> 2] = d; + return + } + + function yj(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0.0; + b = xx(a, 86879) | 0; + if (!b) b = 2147483647; else { + g = +b2(b); + b = ~~(g * +(ay(a) | 0)) + } + e = a + 16 | 0; + d = 0; + while (1) { + f = c[e >> 2] | 0; + if ((d | 0) >= (c[f + 220 >> 2] | 0)) break; + c[f + 192 >> 2] = c[(c[f + 216 >> 2] | 0) + (d << 2) >> 2]; + fI(a, (c[f + 180 >> 2] | 0) == 0 & 1, b) | 0; + d = d + 1 | 0 + } + return + } + + function zj(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + e = f; + if (!(xx(a, 86888) | 0)) Bj(a, d); else { + g = (c[a + 16 >> 2] | 0) + 136 | 0; + b[g >> 1] = b[g >> 1] | 16; + Aj(a, d) + } + if (0) { + g = c[15686] | 0; + a = c[a + 16 >> 2] | 0; + d = b[a + 236 >> 1] | 0; + c[e >> 2] = b[a + 238 >> 1]; + c[e + 4 >> 2] = d; + g1(g, 86896, e) | 0 + } + l = f; + return + } + + function Aj(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0.0; + i = l; + l = l + 16 | 0; + h = i; + c[45977] = 0; + a[h >> 0] = a[18484] | 0; + a[h + 1 >> 0] = a[18485] | 0; + a[h + 2 >> 0] = a[18486] | 0; + a[h + 3 >> 0] = a[18487] | 0; + h = Xx(87106, h, 0) | 0; + Az(h, 87135, 280, 1) | 0; + mz(h, 17404, 17344); + Cj(b); + e = xx(b, 86879) | 0; + if (!e) f = 2147483647; else { + j = +b2(e); + f = ~~(j * +(ay(b) | 0)) + } + Sj(b, 0); + Tj(b, h); + Uj(b, h); + Vj(b, h, 0, 0); + Wj(h); + g = Xj(h) | 0; + Yj(h); + if (d | 0) { + Mk(h); + Ak(h) + } + e = xx(b, 99560) | 0; + if (!e) e = -1; else e = a2(e) | 0; + yH(h, 1, f, e) | 0; + Zj(b, h, g); + $x(h) | 0; + l = i; + return + } + + function Bj(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + g = l; + l = l + 32 | 0; + f = g + 16 | 0; + e = g + 8 | 0; + d = g; + Cj(a); + do if (!b) { + Dj(a, a); + Pk(a); + Ej(d, a); + h = d; + d = c[h + 4 >> 2] | 0; + b = e; + c[b >> 2] = c[h >> 2]; + c[b + 4 >> 2] = d; + Il(a, 0); + b = 0 + } else { + Mk(a); + Ak(a); + Dj(a, a); + Pk(a); + Ej(d, a); + i = d; + d = c[i + 4 >> 2] | 0; + h = e; + c[h >> 2] = c[i >> 2]; + c[h + 4 >> 2] = d; + Il(a, 0); + h = c[a + 16 >> 2] | 0; + if ((c[h + 220 >> 2] | 0) <= 1 ? (c[h + 180 >> 2] | 0) <= 0 : 0) break; + c[b + 32 >> 2] = 1; + b = 0 + } while (0); + xk(a); + c[f >> 2] = c[e >> 2]; + c[f + 4 >> 2] = c[e + 4 >> 2]; + if (Fj(a, f) | 0) Il(a, 0); + if (!b) yj(a); else Bk(a, b); + Gj(a, b); + Hj(a); + l = g; + return + } + + function Cj(d) { + d = d | 0; + var f = 0, g = 0, h = 0; + if (a[(c[(c[d + 60 >> 2] | 0) + 16 >> 2] | 0) + 113 >> 0] & 1) { + g = Sy(d) | 0; + while (1) { + if (!g) break; + f = Ex(d, g) | 0; + while (1) { + if (!f) break; + h = (c[f + 16 >> 2] | 0) + 170 | 0; + b[h >> 1] = (e[h >> 1] | 0) << 1; + f = Gx(d, f) | 0 + } + g = Ty(d, g) | 0 + } + h = (c[d + 16 >> 2] | 0) + 252 | 0; + c[h >> 2] = ((c[h >> 2] | 0) + 1 | 0) / 2 | 0 + } + return + } + + function Dj(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = wA(b) | 0; + while (1) { + if (!b) break; + d = Pj(b) | 0; + do if (d) if ((d | 0) == 7 & (c[46364] | 0) == 100) { + Lj(a, b); + break + } else { + Qj(a, b, d); + break + } else Dj(a, b); while (0); + b = xA(b) | 0 + } + return + } + + function Ej(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + i = d + 16 | 0; + e = c[i >> 2] | 0; + d = c[e + 228 >> 2] | 0; + e = c[e + 224 >> 2] | 0; + f = (e | 0) == 0; + if (!d) if (f) { + j = 0; + k = 0 + } else g = 4; else if (f) g = 5; else g = 4; + if ((g | 0) == 4) { + d = SL(e) | 0; + e = c[i >> 2] | 0; + c[e + 224 >> 2] = d; + d = c[e + 228 >> 2] | 0; + if (!d) { + h = 0; + d = e; + g = 12 + } else g = 5 + } + do if ((g | 0) == 5) { + d = SL(d) | 0; + e = c[i >> 2] | 0; + c[e + 228 >> 2] = d; + if (d) { + e = d + 16 | 0; + d = c[e >> 2] | 0; + f = (a[d + 159 >> 0] | 0) == 5 & 1; + while (1) { + d = c[c[d + 180 >> 2] >> 2] | 0; + if (!d) { + g = 11; + break + } + h = c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + if ((h | 0) != (SL(h) | 0)) { + g = 9; + break + } + wk(d); + d = c[e >> 2] | 0 + } + if ((g | 0) == 9) qa(86999, 86939, 346, 87031); else if ((g | 0) == 11) { + h = f; + d = c[i >> 2] | 0; + g = 12; + break + } + } else { + h = 0; + d = e; + g = 12 + } + } while (0); + a:do if ((g | 0) == 12) { + d = c[d + 224 >> 2] | 0; + if (!d) { + j = 0; + k = h + } else { + e = d + 16 | 0; + d = c[e >> 2] | 0; + f = (a[d + 159 >> 0] | 0) == 3 & 1; + while (1) { + d = c[c[d + 172 >> 2] >> 2] | 0; + if (!d) { + j = f; + k = h; + break a + } + i = c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + if ((i | 0) != (SL(i) | 0)) break; + wk(d); + d = c[e >> 2] | 0 + } + qa(87044, 86939, 353, 87031) + } + } while (0); + c[b >> 2] = j; + c[b + 4 >> 2] = k; + return + } + + function Fj(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + j = a + 16 | 0; + i = c[j >> 2] | 0; + if ((c[i + 228 >> 2] | 0) == 0 ? (c[i + 224 >> 2] | 0) == 0 : 0) d = 0; else e = 3; + a:do if ((e | 0) == 3) { + g = Sy(a) | 0; + i = d + 4 | 0; + h = c[d >> 2] & 65535; + d = 0; + while (1) { + if (!g) break a; + if ((g | 0) == (SL(g) | 0)) { + f = g + 16 | 0; + e = c[f >> 2] | 0; + if ((c[e + 184 >> 2] | 0) == 0 ? (k = c[(c[j >> 2] | 0) + 228 >> 2] | 0, !((k | 0) == 0 | (g | 0) == (k | 0))) : 0) { + d = ph(g, k, 0) | 0; + e = c[d + 16 >> 2] | 0; + b[e + 170 >> 1] = c[i >> 2]; + c[e + 156 >> 2] = 0; + e = c[f >> 2] | 0 + } + if ((c[e + 176 >> 2] | 0) == 0 ? (l = c[(c[j >> 2] | 0) + 224 >> 2] | 0, !((l | 0) == 0 | (g | 0) == (l | 0))) : 0) { + d = ph(l, g, 0) | 0; + f = c[d + 16 >> 2] | 0; + b[f + 170 >> 1] = h; + c[f + 156 >> 2] = 0 + } + } + g = Ty(a, g) | 0 + } + } while (0); + return (d | 0) != 0 | 0 + } + + function Gj(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + g = Sy(d) | 0; + k = d + 16 | 0; + f = c[k >> 2] | 0; + a:do if (g) { + b[f + 236 >> 1] = 32767; + b[f + 238 >> 1] = -1; + j = (e | 0) == 0; + while (1) { + if (!g) break; + f = SL(g) | 0; + i = c[g + 16 >> 2] | 0; + e = c[i + 232 >> 2] | 0; + do if ((f | 0) != (g | 0)) { + if (!j) if (!e) e = 0; else break; + e = e + (c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0) | 0; + c[i + 232 >> 2] = e + } while (0); + f = c[k >> 2] | 0; + h = f + 238 | 0; + if ((e | 0) > (b[h >> 1] | 0)) b[h >> 1] = e; + f = f + 236 | 0; + if ((e | 0) < (b[f >> 1] | 0)) b[f >> 1] = e; + switch (a[i + 159 >> 0] | 0) { + case 6: + case 0: + break; + default: + UL(g) + } + g = Ty(d, g) | 0 + } + if ((ig(d) | 0) == (d | 0)) { + if ((c[46364] | 0) == 100) e = 1; else { + Kj(d); + break + } + while (1) { + f = c[k >> 2] | 0; + if ((e | 0) > (c[f + 180 >> 2] | 0)) break a; + Jj(c[(c[f + 184 >> 2] | 0) + (e << 2) >> 2] | 0); + e = e + 1 | 0 + } + } + } else { + b[f + 238 >> 1] = 0; + b[f + 236 >> 1] = 0 + } while (0); + return + } + + function Hj(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + j = b + 16 | 0; + e = 0; + while (1) { + d = c[j >> 2] | 0; + if ((e | 0) >= (c[d + 220 >> 2] | 0)) break; + i = c[(c[d + 216 >> 2] | 0) + (e << 2) >> 2] | 0; + c[d + 192 >> 2] = i; + d = i; + while (1) { + if (!d) break; + i = d + 16 | 0; + Ij((c[i >> 2] | 0) + 172 | 0); + Ij((c[i >> 2] | 0) + 180 | 0); + i = c[i >> 2] | 0; + a[i + 157 >> 0] = 0; + d = c[i + 164 >> 2] | 0 + } + e = e + 1 | 0 + } + i = Sy(b) | 0; + while (1) { + if (!i) break; + h = Ex(b, i) | 0; + while (1) { + if (!h) break; + f = h + 16 | 0; + d = c[f >> 2] | 0; + g = c[d + 172 >> 2] | 0; + if ((g | 0) != 0 ? (k = g + 16 | 0, (h | 0) == (c[(c[k >> 2] | 0) + 116 >> 2] | 0)) : 0) { + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = Ex(b, d) | 0; + while (1) { + if (!e) break; + if ((h | 0) != (e | 0) ? (l = (c[e + 16 >> 2] | 0) + 172 | 0, m = c[l >> 2] | 0, (m | 0) != 0 & (g | 0) == (m | 0)) : 0) c[l >> 2] = 0; + e = Gx(b, e) | 0 + } + d = Ty(b, d) | 0 + } + D_(c[k >> 2] | 0); + D_(g); + d = c[f >> 2] | 0 + } + c[d + 172 >> 2] = 0; + h = Gx(b, h) | 0 + } + i = Ty(b, i) | 0 + } + D_(c[(c[j >> 2] | 0) + 216 >> 2] | 0); + m = c[j >> 2] | 0; + c[m + 216 >> 2] = 0; + c[m + 220 >> 2] = 0; + return + } + + function Ij(a) { + a = a | 0; + var b = 0, d = 0; + d = a + 4 | 0; + b = c[d >> 2] | 0; + while (1) { + if ((b | 0) <= -1) break; + c[(c[a >> 2] | 0) + (b << 2) >> 2] = 0; + b = b + -1 | 0 + } + c[d >> 2] = 0; + return + } + + function Jj(a) { + a = a | 0; + var d = 0, f = 0, g = 0; + d = a + 16 | 0; + f = c[d >> 2] | 0; + g = c[(c[(c[f + 264 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + a = f + 236 | 0; + b[a >> 1] = g + (e[a >> 1] | 0); + a = f + 238 | 0; + b[a >> 1] = g + (e[a >> 1] | 0); + a = 1; + while (1) { + if ((a | 0) > (c[f + 180 >> 2] | 0)) break; + Jj(c[(c[f + 184 >> 2] | 0) + (a << 2) >> 2] | 0); + a = a + 1 | 0; + f = c[d >> 2] | 0 + } + return + } + + function Kj(b) { + b = b | 0; + var d = 0; + d = wA(ig(b) | 0) | 0; + while (1) { + if (!d) break; + if ((a[(c[d + 16 >> 2] | 0) + 274 >> 0] | 0) == 7) Lj(b, d); + d = xA(d) | 0 + } + return + } + + function Lj(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = (c[b + 16 >> 2] | 0) + 200 | 0; + do if ((c[d >> 2] | 0) == 0 ? (c[d >> 2] = a, Mj(a, b), Sy(b) | 0) : 0) { + Nj(a, b); + if ((c[46364] | 0) == 100) { + Bj(b, 0); + Oj(b); + break + } else { + xj(b); + break + } + } while (0); + return + } + + function Mj(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + h = b + 16 | 0; + g = Sy(d) | 0; + while (1) { + if (!g) break; + i = Ty(d, g) | 0; + j = g + 16 | 0; + if (!(a[(c[j >> 2] | 0) + 159 >> 0] | 0)) f = 1; else { + dz(d, g) | 0; + g = i; + continue + } + while (1) { + e = c[h >> 2] | 0; + b = c[e + 180 >> 2] | 0; + if ((f | 0) >= (b | 0)) break; + if (oz(c[(c[e + 184 >> 2] | 0) + (f << 2) >> 2] | 0, g) | 0) { + k = 7; + break + } + f = f + 1 | 0 + } + if ((k | 0) == 7) { + k = 0; + b = c[(c[h >> 2] | 0) + 180 >> 2] | 0 + } + if ((f | 0) < (b | 0)) dz(d, g) | 0; + c[(c[j >> 2] | 0) + 212 >> 2] = 0; + g = i + } + e = Sy(d) | 0; + while (1) { + if (!e) break; + b = Ex(ig(d) | 0, e) | 0; + while (1) { + if (!b) break; + if (oz(d, c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0) Vx(d, b, 1) | 0; + b = Gx(ig(d) | 0, b) | 0 + } + e = Ty(d, e) | 0 + } + return + } + + function Nj(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = a + 16 | 0; + d = c[e >> 2] | 0; + g = d + 180 | 0; + a = c[g >> 2] | 0; + f = a + 1 | 0; + c[g >> 2] = f; + d = c[d + 184 >> 2] | 0; + if (!d) a = uH((a << 2) + 8 | 0) | 0; else a = wH(d, a + 2 | 0, 4, f) | 0; + c[(c[e >> 2] | 0) + 184 >> 2] = a; + c[a + (f << 2) >> 2] = b; + fH(b); + return + } + + function Oj(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + g = c[b + 16 >> 2] | 0; + d = g + 192 | 0; + h = 0; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + f = c[d + 16 >> 2] | 0; + if (!(c[f + 232 >> 2] | 0)) e = (a[f + 156 >> 0] | 0) == 0 ? d : h; else e = h; + d = f + 164 | 0; + h = e + } + if (!h) qa(86924, 86939, 238, 86946); + c[g + 264 >> 2] = h; + d = Sy(b) | 0; + while (1) { + if (!d) { + d = 13; + break + } + e = d + 16 | 0; + if (!((d | 0) == (h | 0) ? 1 : (c[(c[e >> 2] | 0) + 216 >> 2] | 0) < 2)) { + d = 11; + break + } + TL(d, h) | 0; + a[(c[e >> 2] | 0) + 159 >> 0] = 7; + d = Ty(b, d) | 0 + } + if ((d | 0) == 11) qa(86961, 86939, 242, 86946); else if ((d | 0) == 13) return + } + + function Pj(b) { + b = b | 0; + var d = 0; + if (!(Rj(b) | 0)) { + d = aM(xx(b, 87076) | 0, 17356, 17380) | 0; + a[(c[b + 16 >> 2] | 0) + 274 >> 0] = d; + b = d + } else b = 7; + return b | 0 + } + + function Qj(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + g = Sy(d) | 0; + a:do if (g | 0) { + j = e & 255; + i = g + 16 | 0; + f = g; + h = j; + while (1) { + a[(c[f + 16 >> 2] | 0) + 159 >> 0] = h; + f = Ty(d, f) | 0; + if (!f) break; + TL(g, f) | 0; + h = a[(c[i >> 2] | 0) + 159 >> 0] | 0 + } + switch (e | 0) { + case 3: + case 2: { + b = b + 16 | 0; + f = c[b >> 2] | 0; + h = c[f + 224 >> 2] | 0; + if (h) { + g = TL(h, g) | 0; + f = c[b >> 2] | 0 + } + c[f + 224 >> 2] = g; + break + } + case 5: + case 4: { + b = b + 16 | 0; + f = c[b >> 2] | 0; + h = c[f + 228 >> 2] | 0; + if (h) { + g = TL(h, g) | 0; + f = c[b >> 2] | 0 + } + c[f + 228 >> 2] = g; + break + } + default: + break a + } + switch (e | 0) { + case 3: { + f = f + 224 | 0; + break + } + case 5: { + f = f + 228 | 0; + break + } + default: + break a + } + a[(c[(c[f >> 2] | 0) + 16 >> 2] | 0) + 159 >> 0] = j + } while (0); + return + } + + function Rj(a) { + a = a | 0; + return (z$(ry(a) | 0, 104980, 7) | 0) == 0 | 0 + } + + function Sj(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + g = m; + if (!(lk(b) | 0)) { + do if (qM(b) | 0) if (!d) { + c[(c[b + 16 >> 2] | 0) + 204 >> 2] = 0; + d = b; + break + } else { + c[(c[b + 16 >> 2] | 0) + 204 >> 2] = (c[(c[d + 16 >> 2] | 0) + 204 >> 2] | 0) + 1; + mk(b, d); + d = b; + break + } while (0); + e = wA(b) | 0; + while (1) { + if (!e) break; + Sj(e, d); + e = xA(e) | 0 + } + a:do if (qM(b) | 0) { + e = Sy(b) | 0; + while (1) { + if (!e) break a; + f = (c[e + 16 >> 2] | 0) + 212 | 0; + if (!(c[f >> 2] | 0)) c[f >> 2] = b; + e = Ty(b, e) | 0 + } + } while (0); + switch (nk(b) | 0) { + case 3: { + d = d + 16 | 0; + a[(c[d >> 2] | 0) + 241 >> 0] = 1; + k = 19; + break + } + case 2: { + d = d + 16 | 0; + k = 19; + break + } + case 5: { + d = d + 16 | 0; + a[(c[d >> 2] | 0) + 242 >> 0] = 1; + k = 21; + break + } + case 4: { + d = d + 16 | 0; + k = 21; + break + } + case 1: { + ok(b) | 0; + break + } + case 6: + break; + default: { + e = ry(b) | 0; + f = xx(b, 87076) | 0; + c[g >> 2] = e; + c[g + 4 >> 2] = f; + Pw(0, 87259, g) | 0 + } + } + if ((k | 0) == 19) { + k = ok(b) | 0; + k = pk(k, c[(c[d >> 2] | 0) + 208 >> 2] | 0) | 0; + c[(c[d >> 2] | 0) + 208 >> 2] = k + } else if ((k | 0) == 21) { + k = ok(b) | 0; + k = pk(k, c[(c[d >> 2] | 0) + 212 >> 2] | 0) | 0; + c[(c[d >> 2] | 0) + 212 >> 2] = k + } + if ((qM(b) | 0 ? (h = b + 16 | 0, i = c[h >> 2] | 0, j = c[i + 208 >> 2] | 0, j | 0) : 0) ? (j | 0) == (c[i + 212 >> 2] | 0) : 0) { + j = ok(b) | 0; + k = c[h >> 2] | 0; + c[k + 208 >> 2] = j; + c[k + 212 >> 2] = j + } + } + l = m; + return + } + + function Tj(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + c[45977] = 0; + d = Sy(a) | 0; + while (1) { + if (!d) break; + if ((_j(d) | 0) == (d | 0)) { + e = bk(b, ry(d) | 0) | 0; + c[(c[d + 16 >> 2] | 0) + 148 >> 2] = e + } + d = Ty(a, d) | 0 + } + d = Sy(a) | 0; + while (1) { + if (!d) break; + b = d + 16 | 0; + if (!(c[(c[b >> 2] | 0) + 148 >> 2] | 0)) { + e = c[(c[(_j(d) | 0) + 16 >> 2] | 0) + 148 >> 2] | 0; + c[(c[b >> 2] | 0) + 148 >> 2] = e + } + d = Ty(a, d) | 0 + } + return + } + + function Uj(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; + h = Sy(a) | 0; + while (1) { + if (!h) break; + d = c[(c[h + 16 >> 2] | 0) + 148 >> 2] | 0; + i = Ex(a, h) | 0; + while (1) { + if (!i) break; + do if ((gk(i) | 0) == 0 ? (j = i + -48 | 0, k = c[(c[(_j(c[((c[i >> 2] & 3 | 0) == 2 ? i : j) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 148 >> 2] | 0, (d | 0) != (k | 0)) : 0) { + f = c[i >> 2] & 3; + g = i + 48 | 0; + e = ((f | 0) == 3 ? i : g) + 40 | 0; + f = c[(c[(c[((f | 0) == 2 ? i : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + if (!(hk(i) | 0)) { + if ((fk(c[(c[(c[e >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) | 0) == 0 ? (fk(f) | 0) == 0 : 0) { + ik(b, d, k, i); + break + } + jk(b, d, k, i); + break + } else { + f = _j(c[e >> 2] | 0) | 0; + e = c[i >> 2] & 3; + if ((f | 0) != (c[(c[(c[(c[(c[((e | 0) == 3 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) ? (g = _j(c[((e | 0) == 2 ? i : j) + 40 >> 2] | 0) | 0, (g | 0) != (c[(c[(c[(c[(c[((c[i >> 2] & 3 | 0) == 2 ? i : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0) + 16 >> 2] | 0) + 208 >> 2] | 0)) : 0) e = k; else { + e = d; + d = k + } + ik(b, d, e, i); + break + } + } while (0); + i = Gx(a, i) | 0 + } + h = Ty(a, h) | 0 + } + return + } + + function Vj(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + if ((qM(a) | 0) != 0 ? (fk(a) | 0) != 0 : 0) { + g = Sy(a) | 0; + while (1) { + if (!g) break; + if (!(Hx(a, g) | 0)) { + f = c[(c[(_j(g) | 0) + 16 >> 2] | 0) + 148 >> 2] | 0; + if (!d) d = bk(b, 87157) | 0; + Rx(b, d, f, 0, 1) | 0 + } + if (!(Ex(a, g) | 0)) { + f = c[(c[(_j(g) | 0) + 16 >> 2] | 0) + 148 >> 2] | 0; + if (!e) e = bk(b, 87162) | 0; + Rx(b, f, e, 0, 1) | 0 + } + g = Ty(a, g) | 0 + } + if ((e | 0) != 0 & (d | 0) != 0) { + ek(Rx(b, d, e, 0, 1) | 0, 0, 1e3); + f = d + } else f = d + } else f = d; + d = wA(a) | 0; + while (1) { + if (!d) break; + Vj(d, b, f, e); + d = xA(d) | 0 + } + return + } + + function Wj(b) { + b = b | 0; + var d = 0, e = 0; + d = Sy(b) | 0; + while (1) { + if (!d) break; + e = c[d + 16 >> 2] | 0; + a[e + 158 >> 0] = 0; + a[e + 157 >> 0] = 0; + d = Ty(b, d) | 0 + } + d = Sy(b) | 0; + while (1) { + if (!d) break; + ck(b, d); + d = Ty(b, d) | 0 + } + return + } + + function Xj(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + c[(c[b + 16 >> 2] | 0) + 128 >> 2] = 0; + b = Ty(a, b) | 0 + } + b = 0; + e = Sy(a) | 0; + while (1) { + if (!e) break; + d = b + 1 | 0; + if (!(c[(c[e + 16 >> 2] | 0) + 128 >> 2] | 0)) { + ak(a, e, d); + b = d + } + e = Ty(a, e) | 0 + } + a:do if ((b | 0) > 1) { + f = bk(a, 87151) | 0; + d = 1; + e = Sy(a) | 0; + while (1) { + if (!e) break a; + if ((c[(c[e + 16 >> 2] | 0) + 128 >> 2] | 0) == (d | 0)) { + Rx(a, f, e, 0, 1) | 0; + d = d + 1 | 0 + } + e = Ty(a, e) | 0 + } + } while (0); + return b | 0 + } + + function Yj(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + g = Sy(a) | 0; + while (1) { + if (!g) break; + h = g + 16 | 0; + f = Ex(a, g) | 0; + while (1) { + if (!f) break; + b = c[h >> 2] | 0; + d = c[b + 180 >> 2] | 0; + if (!d) b = vH((c[b + 184 >> 2] << 2) + 8 | 0) | 0; else b = xH(d, (c[b + 184 >> 2] << 2) + 8 | 0) | 0; + d = c[h >> 2] | 0; + c[d + 180 >> 2] = b; + d = d + 184 | 0; + e = c[d >> 2] | 0; + c[d >> 2] = e + 1; + c[b + (e << 2) >> 2] = f; + e = c[h >> 2] | 0; + c[(c[e + 180 >> 2] | 0) + (c[e + 184 >> 2] << 2) >> 2] = 0; + e = f + -48 | 0; + b = c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + d = c[b + 172 >> 2] | 0; + if (!d) b = vH((c[b + 176 >> 2] << 2) + 8 | 0) | 0; else b = xH(d, (c[b + 176 >> 2] << 2) + 8 | 0) | 0; + c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 172 >> 2] = b; + i = c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = c[i + 172 >> 2] | 0; + i = i + 176 | 0; + d = c[i >> 2] | 0; + c[i >> 2] = d + 1; + c[b + (d << 2) >> 2] = f; + e = c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + c[(c[e + 172 >> 2] | 0) + (c[e + 176 >> 2] << 2) >> 2] = 0; + f = Gx(a, f) | 0 + } + g = Ty(a, g) | 0 + } + return + } + + function Zj(a, d, f) { + a = a | 0; + d = d | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + n = a + 16 | 0; + o = c[n >> 2] | 0; + b[o + 236 >> 1] = 32767; + b[o + 238 >> 1] = -1; + a:do if ((f | 0) > 1) { + h = uH((f << 2) + 4 | 0) | 0; + g = f + 1 | 0; + f = 1; + while (1) { + if ((f | 0) == (g | 0)) { + m = h; + o = h; + break a + } + c[h + (f << 2) >> 2] = 32767; + f = f + 1 | 0 + } + } else { + m = 0; + o = 0 + } while (0); + i = (m | 0) == 0; + h = Sy(a) | 0; + while (1) { + if (!h) break; + j = c[(c[(c[(_j(h) | 0) + 16 >> 2] | 0) + 148 >> 2] | 0) + 16 >> 2] | 0; + k = c[j + 232 >> 2] | 0; + l = c[h + 16 >> 2] | 0; + c[l + 232 >> 2] = k; + f = c[n >> 2] | 0; + g = f + 238 | 0; + if ((k | 0) > (b[g >> 1] | 0)) b[g >> 1] = k; + f = f + 236 | 0; + if ((k | 0) < (b[f >> 1] | 0)) b[f >> 1] = k; + if (!i) { + j = c[j + 128 >> 2] | 0; + c[l + 128 >> 2] = j; + l = m + (j << 2) | 0; + j = c[l >> 2] | 0; + c[l >> 2] = (j | 0) < (k | 0) ? j : k + } + h = Ty(a, h) | 0 + } + j = (m | 0) != 0; + b:do if (!j) { + m = b[(c[n >> 2] | 0) + 236 >> 1] | 0; + g = m << 16 >> 16; + if (m << 16 >> 16 > 0) { + f = Sy(a) | 0; + while (1) { + if (!f) break; + m = (c[f + 16 >> 2] | 0) + 232 | 0; + c[m >> 2] = (c[m >> 2] | 0) - g; + f = Ty(a, f) | 0 + } + f = c[n >> 2] | 0; + n = f + 236 | 0; + b[n >> 1] = (e[n >> 1] | 0) - g; + f = f + 238 | 0; + b[f >> 1] = (e[f >> 1] | 0) - g; + f = 0 + } else f = 0 + } else { + f = Sy(a) | 0; + while (1) { + if (!f) { + f = 1; + break b + } + l = c[f + 16 >> 2] | 0; + n = l + 232 | 0; + c[n >> 2] = (c[n >> 2] | 0) - (c[m + (c[l + 128 >> 2] << 2) >> 2] | 0); + f = Ty(a, f) | 0 + } + } while (0); + $j(a, f); + i = Sy(d) | 0; + while (1) { + if (!i) break; + g = i + 16 | 0; + f = c[g >> 2] | 0; + h = c[f + 172 >> 2] | 0; + if (h) { + D_(h); + f = c[g >> 2] | 0 + } + f = c[f + 180 >> 2] | 0; + if (f | 0) D_(f); + i = Ty(d, i) | 0 + } + D_(c[(c[(Sy(a) | 0) + 16 >> 2] | 0) + 112 >> 2] | 0); + f = Sy(a) | 0; + while (1) { + if (!f) break; + c[(c[f + 16 >> 2] | 0) + 112 >> 2] = 0; + f = Ty(a, f) | 0 + } + if (j) D_(o); + return + } + + function _j(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = a + 16 | 0; + d = (c[b >> 2] | 0) + 152 | 0; + e = c[d >> 2] | 0; + if (e) { + if ((e | 0) != (a | 0)) { + e = _j(e) | 0; + c[(c[b >> 2] | 0) + 152 >> 2] = e; + return e | 0 + } + } else c[d >> 2] = a; + return a | 0 + } + + function $j(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = a + 16 | 0; + e = 1; + while (1) { + f = c[i >> 2] | 0; + if ((e | 0) > (c[f + 180 >> 2] | 0)) break; + $j(c[(c[f + 184 >> 2] | 0) + (e << 2) >> 2] | 0, 0); + e = e + 1 | 0 + } + if ((d | 0) != 0 | (c[f + 200 >> 2] | 0) != 0) { + b[f + 236 >> 1] = 32767; + b[f + 238 >> 1] = -1; + e = 0; + h = Sy(a) | 0; + while (1) { + if (!h) break; + g = c[(c[h + 16 >> 2] | 0) + 232 >> 2] | 0; + d = c[i >> 2] | 0; + f = d + 238 | 0; + if ((g | 0) > (b[f >> 1] | 0)) b[f >> 1] = g; + d = d + 236 | 0; + if ((g | 0) < (b[d >> 1] | 0)) { + b[d >> 1] = g; + e = h + } + h = Ty(a, h) | 0 + } + c[(c[i >> 2] | 0) + 264 >> 2] = e + } + return + } + + function ak(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = (c[b + 16 >> 2] | 0) + 128 | 0; + a:do if (!(c[e >> 2] | 0)) { + c[e >> 2] = d; + e = Ex(a, b) | 0; + while (1) { + if (!e) break; + ak(a, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, d); + e = Gx(a, e) | 0 + } + e = Hx(a, b) | 0; + while (1) { + if (!e) break a; + ak(a, c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0, d); + e = Ix(a, e) | 0 + } + } while (0); + return + } + + function bk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = az(a, b, 1) | 0; + b = f + 16 | 0; + c[(c[b >> 2] | 0) + 176 >> 2] = 0; + e = uH(20) | 0; + d = c[b >> 2] | 0; + c[d + 172 >> 2] = e; + c[d + 184 >> 2] = 0; + d = uH(20) | 0; + b = c[b >> 2] | 0; + c[b + 180 >> 2] = d; + d = c[45977] | 0; + e = b + 168 | 0; + if (!d) { + c[e >> 2] = 0; + c[(c[a + 16 >> 2] | 0) + 192 >> 2] = f + } else { + c[e >> 2] = d; + c[(c[d + 16 >> 2] | 0) + 164 >> 2] = f + } + c[45977] = f; + c[b + 164 >> 2] = 0; + return f | 0 + } + + function ck(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = d + 16 | 0; + e = c[h >> 2] | 0; + f = e + 157 | 0; + if (!(a[f >> 0] | 0)) { + a[f >> 0] = 1; + a[e + 158 >> 0] = 1; + d = Ex(b, d) | 0; + while (1) { + if (!d) break; + e = Gx(b, d) | 0; + f = c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + g = c[f + 16 >> 2] | 0; + if (a[g + 158 >> 0] | 0) { + dk(b, d); + d = e; + continue + } + if (a[g + 157 >> 0] | 0) { + d = e; + continue + } + ck(b, f); + d = e + } + a[(c[h >> 2] | 0) + 158 >> 0] = 0 + } + return + } + + function dk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, f = 0, g = 0; + d = c[b >> 2] & 3; + g = b + -48 | 0; + f = b + 48 | 0; + d = Rx(a, c[((d | 0) == 2 ? b : g) + 40 >> 2] | 0, c[((d | 0) == 3 ? b : f) + 40 >> 2] | 0, 0, 0) | 0; + if (!d) { + d = c[b >> 2] & 3; + d = Rx(a, c[((d | 0) == 2 ? b : g) + 40 >> 2] | 0, c[((d | 0) == 3 ? b : f) + 40 >> 2] | 0, 0, 1) | 0 + } + g = c[b + 16 >> 2] | 0; + ek(d, e[g + 170 >> 1] | 0, c[g + 156 >> 2] | 0); + dz(a, b) | 0; + return + } + + function ek(a, d, f) { + a = a | 0; + d = d | 0; + f = f | 0; + var g = 0, h = 0; + a = c[a + 16 >> 2] | 0; + g = a + 170 | 0; + h = e[g >> 1] | 0; + b[g >> 1] = (h | 0) > (d | 0) ? h : d; + d = a + 156 | 0; + c[d >> 2] = (c[d >> 2] | 0) + f; + return + } + + function fk(a) { + a = a | 0; + return (RL(xx(a, 87167) | 0, 0) | 0) & 255 | 0 + } + + function gk(b) { + b = b | 0; + var d = 0, e = 0; + d = c[46419] | 0; + if ((((d | 0) != 0 ? (e = yx(b, d) | 0, (e | 0) != 0) : 0) ? (a[e >> 0] | 0) != 0 : 0) ? (QL(e) | 0) << 24 >> 24 == 0 : 0) b = 1; else b = 0; + return b | 0 + } + + function hk(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a >> 2] & 3; + b = c[(c[(c[((d | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + a = c[(c[(c[((d | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 212 >> 2] | 0; + if ((b | 0) == (a | 0)) return 1; else { + d = kk(b, a) | 0; + return ((d | 0) == (b | 0) | (d | 0) == (a | 0)) & 1 | 0 + } + return 0 + } + + function ik(a, b, d, f) { + a = a | 0; + b = b | 0; + d = d | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + h = j; + g = Rx(a, b, d, 0, 0) | 0; + if (!g) { + g = Rx(a, d, b, 0, 0) | 0; + if (!g) { + g = Rx(a, b, d, 0, 1) | 0; + if (!g) { + b = ry(b) | 0; + f = ry(d) | 0; + c[h >> 2] = b; + c[h + 4 >> 2] = f; + Pw(1, 87184, h) | 0 + } else i = 4 + } else i = 4 + } else i = 4; + if ((i | 0) == 4) { + i = c[f + 16 >> 2] | 0; + ek(g, e[i + 170 >> 1] | 0, c[i + 156 >> 2] | 0) + } + l = j; + return + } + + function jk(a, d, f, g) { + a = a | 0; + d = d | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 112 | 0; + j = m; + i = m + 4 | 0; + h = Hx(a, d) | 0; + while (1) { + if (!h) { + k = 6; + break + } + n = Ex(a, c[((c[h >> 2] & 3 | 0) == 3 ? h : h + 48 | 0) + 40 >> 2] | 0) | 0; + if (n | 0 ? (c[((c[n >> 2] & 3 | 0) == 2 ? n : n + -48 | 0) + 40 >> 2] | 0) == (f | 0) : 0) break; + h = Ix(a, h) | 0 + } + if ((k | 0) == 6) { + n = c[45978] | 0; + c[45978] = n + 1; + c[j >> 2] = n; + Y0(i, 87175, j) | 0; + i = bk(a, i) | 0; + n = Rx(a, i, d, 0, 1) | 0; + i = Rx(a, i, f, 0, 1) | 0; + f = c[g + 16 >> 2] | 0; + k = f + 156 | 0; + n = (c[n + 16 >> 2] | 0) + 156 | 0; + c[n >> 2] = (c[n >> 2] | 0) + ((c[k >> 2] | 0) * 1e3 | 0); + n = c[i + 16 >> 2] | 0; + j = n + 170 | 0; + b[j >> 1] = b[(c[((e[j >> 1] | 0) > (e[f + 170 >> 1] | 0) ? i : g) + 16 >> 2] | 0) + 170 >> 1] | 0; + n = n + 156 | 0; + c[n >> 2] = (c[n >> 2] | 0) + (c[k >> 2] | 0) + } + l = m; + return + } + + function kk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + a:while (1) { + e = a + 16 | 0; + while (1) { + if ((a | 0) == (b | 0)) break a; + f = c[e >> 2] | 0; + d = c[b + 16 >> 2] | 0; + if ((c[f + 204 >> 2] | 0) >= (c[d + 204 >> 2] | 0)) break; + b = c[d + 200 >> 2] | 0 + } + a = c[f + 200 >> 2] | 0 + } + return a | 0 + } + + function lk(a) { + a = a | 0; + return (Sy(a) | 0) == 0 | 0 + } + + function mk(a, b) { + a = a | 0; + b = b | 0; + c[(c[a + 16 >> 2] | 0) + 200 >> 2] = b; + Nj(b, a); + Mj(b, a); + return + } + + function nk(b) { + b = b | 0; + var c = 0; + b = xx(b, 87076) | 0; + if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) if (b$(b, 87086) | 0) if (b$(b, 87090) | 0) if (b$(b, 87097) | 0) if (b$(b, 87101) | 0) if (!(b$(b, 87081) | 0)) b = 1; else c = 8; else b = 5; else b = 4; else b = 3; else b = 2; else c = 8; + if ((c | 0) == 8) b = 6; + return b | 0 + } + + function ok(a) { + a = a | 0; + var b = 0, c = 0; + c = Sy(a) | 0; + a:do if (!c) b = 0; else { + b = _j(c) | 0; + while (1) { + c = Ty(a, c) | 0; + if (!c) break a; + pk(b, c) | 0 + } + } while (0); + return b | 0 + } + + function pk(a, b) { + a = a | 0; + b = b | 0; + if (b) { + a = _j(a) | 0; + c[(c[(_j(b) | 0) + 16 >> 2] | 0) + 152 >> 2] = a + } + return a | 0 + } + + function qk(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Az(b, 87135, c[d >> 2] | 0, 1) | 0; + return + } + + function rk(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Az(b, 87302, c[d + 4 >> 2] | 0, 1) | 0; + return + } + + function sk(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + Az(b, 87287, c[d + 8 >> 2] | 0, 1) | 0; + return + } + + function tk(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 240 | 0; + m = p + 120 | 0; + n = p; + c[46423] = nx(b, 2, 87317, 0) | 0; + k = nx(b, 2, 87326, 0) | 0; + c[46424] = k; + a:do if ((k | 0) != 0 | (c[46423] | 0) != 0) { + k = Sy(b) | 0; + while (1) { + if (!k) break a; + j = 0; + d = 0; + i = Jx(b, k) | 0; + while (1) { + if (!i) { + f = 0; + break + } + e = c[i >> 2] | 0; + g = e & 3; + f = c[((g | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0; + h = i + 48 | 0; + b:do if ((f | 0) != (c[((g | 0) == 3 ? i : h) + 40 >> 2] | 0)) { + g = c[46423] | 0; + do if ((f | 0) == (k | 0) & (g | 0) != 0) { + f = yx(i, g) | 0; + if (!(a[f >> 0] | 0)) { + e = c[i >> 2] | 0; + break + } else { + e = j; + d = uk(m, d, k, i, f) | 0; + break b + } + } while (0); + f = c[46424] | 0; + if ((f | 0 ? (c[((e & 3 | 0) == 3 ? i : h) + 40 >> 2] | 0) == (k | 0) : 0) ? (o = yx(i, f) | 0, (a[o >> 0] | 0) != 0) : 0) e = uk(n, j, k, i, o) | 0; else e = j + } else e = j; while (0); + j = e; + i = Kx(b, i, k) | 0 + } + while (1) { + if ((f | 0) >= (d | 0)) { + e = 0; + break + } + e = m + (f * 24 | 0) + 4 | 0; + if ((c[m + (f * 24 | 0) + 8 >> 2] | 0) > 1) vk(k, e); + e = c[e >> 2] | 0; + if (e | 0) D_(e); + f = f + 1 | 0 + } + while (1) { + if ((e | 0) >= (j | 0)) break; + d = n + (e * 24 | 0) + 4 | 0; + if ((c[n + (e * 24 | 0) + 8 >> 2] | 0) > 1) vk(k, d); + d = c[d >> 2] | 0; + if (d | 0) D_(d); + e = e + 1 | 0 + } + k = Ty(b, k) | 0 + } + } while (0); + l = p; + return + } + + function uk(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + p = l; + l = l + 16 | 0; + k = p; + m = p + 12 | 0; + n = p + 8 | 0; + o = 0; + while (1) { + if ((o | 0) >= (d | 0)) { + j = 10; + break + } + j = c[b + (o * 24 | 0) >> 2] | 0; + if ((a[j >> 0] | 0) == (a[g >> 0] | 0) ? (b$(j, g) | 0) == 0 : 0) { + j = 5; + break + } + o = o + 1 | 0 + } + do if ((j | 0) == 5) { + k = b + (o * 24 | 0) + 4 | 0; + j = c[k >> 2] | 0; + if (!j) { + j = b + (o * 24 | 0) + 8 | 0; + g = j; + j = vH((c[j >> 2] << 2) + 8 | 0) | 0 + } else { + q = b + (o * 24 | 0) + 8 | 0; + g = q; + j = xH(j, (c[q >> 2] << 2) + 8 | 0) | 0 + } + c[k >> 2] = j; + r = c[g >> 2] | 0; + q = r + 1 | 0; + c[g >> 2] = q; + c[j + (r << 2) >> 2] = f; + c[(c[k >> 2] | 0) + (q << 2) >> 2] = 0; + j = 13 + } else if ((j | 0) == 10) if ((d | 0) > 4) { + r = ry(e) | 0; + c[k >> 2] = 5; + c[k + 4 >> 2] = r; + Pw(1, 87335, k) | 0; + break + } else { + s = b + (o * 24 | 0) + 8 | 0; + c[s >> 2] = 0; + k = uH(8) | 0; + r = b + (o * 24 | 0) + 4 | 0; + c[r >> 2] = k; + q = c[s >> 2] | 0; + j = q + 1 | 0; + c[s >> 2] = j; + c[k + (q << 2) >> 2] = f; + c[(c[r >> 2] | 0) + (j << 2) >> 2] = 0; + c[b + (o * 24 | 0) >> 2] = g; + c[b + (o * 24 | 0) + 12 >> 2] = 0; + h[b + (o * 24 | 0) + 16 >> 3] = 0.0; + d = d + 1 | 0; + j = 13; + break + } while (0); + if ((j | 0) == 13) { + sE(f, m, n); + j = (c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) == (e | 0) ? c[n >> 2] | 0 : c[m >> 2] | 0; + if (j) { + r = b + (o * 24 | 0) + 12 | 0; + s = c[r >> 2] | 0; + c[r >> 2] = s + 1; + if (!s) i = +wE(f, j); else i = 0.0; + h[b + (o * 24 | 0) + 16 >> 3] = i + } + } + l = p; + return d | 0 + } + + function vk(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0.0; + x = l; + l = l + 80 | 0; + t = x + 68 | 0; + u = x + 64 | 0; + r = x; + v = d + 4 | 0; + n = c[v >> 2] | 0; + w = b + 16 | 0; + i = 0; + p = 0.0; + q = 0.0; + while (1) { + if ((i | 0) >= (n | 0)) break; + f = c[(c[d >> 2] | 0) + (i << 2) >> 2] | 0; + g = c[f >> 2] & 3; + e = c[((g | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[((g | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0; + g = c[e + 16 >> 2] | 0; + s = c[w >> 2] | 0; + k = +h[g + 16 >> 3] - +h[s + 16 >> 3]; + m = +h[g + 24 >> 3] - +h[s + 24 >> 3]; + o = +u$(k, m); + i = i + 1 | 0; + p = k / o + p; + q = m / o + q + } + j = +u$(p, q); + s = c[w >> 2] | 0; + k = +h[s + 16 >> 3]; + m = +h[s + 24 >> 3]; + y = +h[s + 96 >> 3] + +h[s + 88 >> 3]; + o = +h[s + 80 >> 3]; + s = y > o + +(c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0); + e = c[w >> 2] | 0; + if (s) o = +h[e + 96 >> 3] + +h[e + 88 >> 3]; else { + o = +h[e + 80 >> 3]; + o = o + +(c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0); + e = c[w >> 2] | 0 + } + y = +h[e + 16 >> 3] + o * (p / j); + j = +h[e + 24 >> 3] + o * (q / j); + h[r >> 3] = k; + n = r + 8 | 0; + h[n >> 3] = m; + h[r + 16 >> 3] = (y + k * 2.0) * .3333333333333333; + h[r + 24 >> 3] = (j + m * 2.0) * .3333333333333333; + h[r + 32 >> 3] = (y * 2.0 + k) * .3333333333333333; + h[r + 40 >> 3] = (j * 2.0 + m) * .3333333333333333; + h[r + 48 >> 3] = y; + h[r + 56 >> 3] = j; + NK(b, r); + s = c[w >> 2] | 0; + j = +h[r >> 3] - +h[s + 16 >> 3]; + k = +h[n >> 3] - +h[s + 24 >> 3]; + j = +(~~(j + (j >= 0.0 ? .5 : -.5)) | 0); + k = +(~~(k + (k >= 0.0 ? .5 : -.5)) | 0); + y = +h[s + 88 >> 3]; + s = ~~((y + j) * 256.0 / (+h[s + 96 >> 3] + y)) & 255; + r = 0; + while (1) { + if ((r | 0) >= (c[v >> 2] | 0)) break; + n = c[(c[d >> 2] | 0) + (r << 2) >> 2] | 0; + sE(n, t, u); + while (1) { + if (!n) break; else g = n; + while (1) { + if (!g) { + i = n; + break + } + e = c[g >> 2] | 0; + i = g + -48 | 0; + if ((c[((e & 3 | 0) == 2 ? g : i) + 40 >> 2] | 0) == (b | 0)) { + e = c[g + 16 >> 2] | 0; + h[e + 56 >> 3] = j; + h[e + 64 >> 3] = k; + h[e + 72 >> 3] = 0.0; + c[e + 80 >> 2] = 0; + a[e + 84 >> 0] = 1; + a[e + 85 >> 0] = 0; + a[e + 86 >> 0] = 0; + a[e + 87 >> 0] = 0; + a[e + 88 >> 0] = s; + a[e + 89 >> 0] = 0; + c[e + 92 >> 2] = 0; + e = c[g >> 2] | 0 + } + f = g + 16 | 0; + if ((c[((e & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) == (b | 0)) { + e = c[f >> 2] | 0; + h[e + 16 >> 3] = j; + h[e + 24 >> 3] = k; + h[e + 32 >> 3] = 0.0; + c[e + 40 >> 2] = 0; + a[e + 44 >> 0] = 1; + a[e + 45 >> 0] = 0; + a[e + 46 >> 0] = 0; + a[e + 47 >> 0] = 0; + a[e + 48 >> 0] = s; + a[e + 49 >> 0] = 0; + c[e + 52 >> 2] = 0 + } + if ((a[(c[f >> 2] | 0) + 112 >> 0] | 0) != 1) { + g = 0; + continue + } + e = c[(c[((c[g >> 2] & 3 | 0) == 2 ? g : i) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[e + 156 >> 0] | 0) != 1) { + g = 0; + continue + } + if ((c[e + 184 >> 2] | 0) != 1) { + g = 0; + continue + } + g = c[c[e + 180 >> 2] >> 2] | 0 + } + while (1) { + if (!i) break; + e = c[i >> 2] | 0; + if ((c[((e & 3 | 0) == 2 ? i : i + -48 | 0) + 40 >> 2] | 0) == (b | 0)) { + e = c[i + 16 >> 2] | 0; + h[e + 56 >> 3] = j; + h[e + 64 >> 3] = k; + h[e + 72 >> 3] = 0.0; + c[e + 80 >> 2] = 0; + a[e + 84 >> 0] = 1; + a[e + 85 >> 0] = 0; + a[e + 86 >> 0] = 0; + a[e + 87 >> 0] = 0; + a[e + 88 >> 0] = s; + a[e + 89 >> 0] = 0; + c[e + 92 >> 2] = 0; + e = c[i >> 2] | 0 + } + f = i + 48 | 0; + g = i + 16 | 0; + if ((c[((e & 3 | 0) == 3 ? i : f) + 40 >> 2] | 0) == (b | 0)) { + e = c[g >> 2] | 0; + h[e + 16 >> 3] = j; + h[e + 24 >> 3] = k; + h[e + 32 >> 3] = 0.0; + c[e + 40 >> 2] = 0; + a[e + 44 >> 0] = 1; + a[e + 45 >> 0] = 0; + a[e + 46 >> 0] = 0; + a[e + 47 >> 0] = 0; + a[e + 48 >> 0] = s; + a[e + 49 >> 0] = 0; + c[e + 52 >> 2] = 0 + } + if ((a[(c[g >> 2] | 0) + 112 >> 0] | 0) != 1) { + i = 0; + continue + } + e = c[(c[((c[i >> 2] & 3 | 0) == 3 ? i : f) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[e + 156 >> 0] | 0) != 1) { + i = 0; + continue + } + if ((c[e + 176 >> 2] | 0) != 1) { + i = 0; + continue + } + i = c[c[e + 172 >> 2] >> 2] | 0 + } + n = c[(c[n + 16 >> 2] | 0) + 172 >> 2] | 0 + } + r = r + 1 | 0 + } + a[(c[w >> 2] | 0) + 145 >> 0] = 1; + l = x; + return + } + + function wk(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + kh(a); + b = c[a >> 2] & 3; + d = a + -48 | 0; + e = a + 48 | 0; + b = fh(c[((b | 0) == 2 ? a : d) + 40 >> 2] | 0, c[((b | 0) == 3 ? a : e) + 40 >> 2] | 0) | 0; + if (!b) { + b = c[a >> 2] & 3; + ph(c[((b | 0) == 2 ? a : d) + 40 >> 2] | 0, c[((b | 0) == 3 ? a : e) + 40 >> 2] | 0, a) | 0 + } else xh(a, b); + return + } + + function xk(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = b + 16 | 0; + e = 0; + while (1) { + b = c[f >> 2] | 0; + if ((e | 0) >= (c[b + 220 >> 2] | 0)) break; + d = c[(c[b + 216 >> 2] | 0) + (e << 2) >> 2] | 0; + c[b + 192 >> 2] = d; + b = d; + d = b; + while (1) { + if (!d) break; + g = c[d + 16 >> 2] | 0; + a[g + 157 >> 0] = 0; + d = c[g + 164 >> 2] | 0 + } + while (1) { + if (!b) break; + yk(b); + b = c[(c[b + 16 >> 2] | 0) + 164 >> 2] | 0 + } + e = e + 1 | 0 + } + return + } + + function yk(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = b + 16 | 0; + d = c[g >> 2] | 0; + b = d + 157 | 0; + if (!(a[b >> 0] | 0)) { + a[b >> 0] = 1; + a[d + 158 >> 0] = 1; + b = 0; + while (1) { + f = c[(c[d + 180 >> 2] | 0) + (b << 2) >> 2] | 0; + if (!f) break; + d = c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + e = c[d + 16 >> 2] | 0; + if (!(a[e + 158 >> 0] | 0)) { + if (!(a[e + 157 >> 0] | 0)) yk(d) + } else { + wk(f); + b = b + -1 | 0 + } + b = b + 1 | 0; + d = c[g >> 2] | 0 + } + a[d + 158 >> 0] = 0 + } + return + } + + function zk(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + e = Sy(a) | 0; + b = 0; + while (1) { + if (!e) break; + d = Ex(a, e) | 0; + while (1) { + if (!d) break; + g = c[d >> 2] & 3; + h = c[(c[(c[((g | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + g = c[(c[(c[((g | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + f = h - g | 0; + d = Gx(a, d) | 0; + b = ((h | 0) == (g | 0) ? 0 : ((f | 0) > -1 ? f : 0 - f | 0) + -1 | 0) + b | 0 + } + e = Ty(a, e) | 0 + } + return b | 0 + } + + function Ak(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = Sy(b) | 0; + while (1) { + if (!e) break; + g = c[e + 16 >> 2] | 0; + f = c[g + 176 >> 2] | 0; + g = g + 172 | 0; + d = 0; + while (1) { + if ((d | 0) >= (f | 0)) break; + a[(c[(c[(c[g >> 2] | 0) + (d << 2) >> 2] | 0) + 16 >> 2] | 0) + 112 >> 0] = 0; + d = d + 1 | 0 + } + e = Ty(b, e) | 0 + } + return + } + + function Bk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + o = q; + j = c[b + 24 >> 2] | 0; + Ck(a); + k = (j | 0) == -1; + m = b + 8 | 0; + i = k ^ 1; + n = c[15686] | 0; + f = 1797693134862315708145274.0e284; + g = 0; + while (1) { + if (!(k | (g | 0) < (j | 0))) break; + d = Sy(a) | 0; + while (1) { + if (!d) break; + c[(c[d + 16 >> 2] | 0) + 232 >> 2] = 0; + d = Ty(a, d) | 0 + } + yj(a); + e = +Dk(a); + h[m >> 3] = e; + if (0) { + h[o >> 3] = e; + g1(n, 87387, o) | 0; + e = +h[m >> 3] + } + if (!(!(e <= +h[b >> 3]) & (!(f <= e) | i))) { + p = 9; + break + } + Ek(a); + f = e; + g = g + 1 | 0 + } + if ((p | 0) == 9) { + p = b + 20 | 0; + c[b + 16 >> 2] = c[p >> 2]; + c[p >> 2] = g + } + yj(a); + Fk(a); + Gk(); + h[m >> 3] = +Dk(a); + l = q; + return + } + + function Ck(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0.0, n = 0; + c[45982] = vH((ay(a) | 0) * 24 | 0) | 0; + c[45981] = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + c[(c[b + 16 >> 2] | 0) + 120 >> 2] = -1; + b = Ty(a, b) | 0 + } + i = Sy(a) | 0; + while (1) { + if (!i) break; + j = i + 16 | 0; + do if (!(c[(c[j >> 2] | 0) + 216 >> 2] | 0)) { + f = uH(4) | 0; + g = c[45982] | 0; + k = c[45981] | 0; + c[g + (k * 24 | 0) >> 2] = f; + c[f >> 2] = i; + c[g + (k * 24 | 0) + 4 >> 2] = 1; + j = c[j >> 2] | 0; + h[g + (k * 24 | 0) + 8 >> 3] = +h[j + 32 >> 3]; + h[g + (k * 24 | 0) + 16 >> 3] = +h[j + 40 >> 3]; + c[j + 120 >> 2] = k; + c[45981] = k + 1 + } else { + g = SL(i) | 0; + k = g + 16 | 0; + b = c[k >> 2] | 0; + d = c[b + 120 >> 2] | 0; + if ((d | 0) > -1) { + g = c[45982] | 0; + f = c[g + (d * 24 | 0) >> 2] | 0; + e = g + (d * 24 | 0) + 4 | 0; + k = c[e >> 2] | 0; + c[e >> 2] = k + 1; + c[f + (k << 2) >> 2] = i; + k = c[j >> 2] | 0; + j = g + (d * 24 | 0) + 8 | 0; + h[j >> 3] = +h[j >> 3] + +h[k + 32 >> 3]; + j = g + (d * 24 | 0) + 16 | 0; + l = +h[j >> 3]; + m = +h[k + 40 >> 3]; + h[j >> 3] = l < m ? m : l; + c[k + 120 >> 2] = d; + break + } + d = uH(c[b + 216 >> 2] << 2) | 0; + e = c[45982] | 0; + f = c[45981] | 0; + b = e + (f * 24 | 0) | 0; + c[b >> 2] = d; + c[d >> 2] = g; + if ((g | 0) == (i | 0)) { + h[e + (f * 24 | 0) + 8 >> 3] = +h[(c[k >> 2] | 0) + 32 >> 3]; + d = 1; + b = i + } else { + c[(c[b >> 2] | 0) + 4 >> 2] = i; + n = c[k >> 2] | 0; + b = c[j >> 2] | 0; + h[e + (f * 24 | 0) + 8 >> 3] = +h[b + 32 >> 3] + +h[n + 32 >> 3]; + d = 2; + b = +h[n + 40 >> 3] < +h[b + 40 >> 3] ? i : g + } + c[e + (f * 24 | 0) + 4 >> 2] = d; + h[e + (f * 24 | 0) + 16 >> 3] = +h[(c[b + 16 >> 2] | 0) + 40 >> 3]; + c[(c[k >> 2] | 0) + 120 >> 2] = f; + c[(c[j >> 2] | 0) + 120 >> 2] = f; + c[45981] = f + 1 + } while (0); + i = Ty(a, i) | 0 + } + return + } + + function Dk(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0, f = 0, g = 0, i = 0.0, j = 0.0; + Fk(a); + g = c[45979] | 0; + e = c[a + 16 >> 2] | 0; + b = +(O(c[e + 252 >> 2] | 0, g + -1 | 0) | 0); + f = c[45980] | 0; + e = e + 248 | 0; + a = 0; + d = 0.0; + while (1) { + if ((a | 0) >= (g | 0)) break; + i = +h[f + (a * 40 | 0) + 24 >> 3] + +(O(c[e >> 2] | 0, c[f + (a * 40 | 0) + 16 >> 2] | 0) | 0); + j = +h[f + (a * 40 | 0) + 32 >> 3] + b; + a = a + 1 | 0; + b = j; + d = d < i ? i : d + } + return +(d / b) + } + + function Ek(a) { + a = a | 0; + var b = 0; + c[45983] = uH((ay(a) | 0) << 2) | 0; + b = 0; + while (1) { + if ((b | 0) >= (ay(a) | 0)) break; + c[(c[45983] | 0) + (b << 2) >> 2] = b; + b = b + 1 | 0 + } + Fk(a); + Hk(a); + Ik(a); + return + } + + function Fk(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0, l = 0; + c[45979] = 0; + b = c[45980] | 0; + if (b | 0) { + e = 0; + while (1) { + if ((e | 0) >= (c[45981] | 0)) break; + d = c[b + (e * 40 | 0) + 4 >> 2] | 0; + if (d) { + D_(d); + b = c[45980] | 0 + } + d = c[b + (e * 40 | 0) + 8 >> 2] | 0; + if (d) { + D_(d); + b = c[45980] | 0 + } + e = e + 1 | 0 + } + D_(b) + } + c[45980] = uH((c[45981] | 0) * 40 | 0) | 0; + b = 0; + while (1) { + d = c[45981] | 0; + if ((b | 0) >= (d | 0)) break; + k = uH(d << 2) | 0; + c[(c[45980] | 0) + (b * 40 | 0) + 4 >> 2] = k; + k = uH(c[45981] << 2) | 0; + l = c[45980] | 0; + c[l + (b * 40 | 0) + 8 >> 2] = k; + c[l + (b * 40 | 0) >> 2] = b; + c[l + (b * 40 | 0) + 12 >> 2] = 0; + c[l + (b * 40 | 0) + 16 >> 2] = 0; + l = l + (b * 40 | 0) + 24 | 0; + c[l >> 2] = 0; + c[l + 4 >> 2] = 0; + c[l + 8 >> 2] = 0; + c[l + 12 >> 2] = 0; + b = b + 1 | 0 + } + e = Sy(a) | 0; + while (1) { + if (!e) break; + d = Ex(a, e) | 0; + while (1) { + if (!d) break; + i = c[d >> 2] | 0; + f = d + -48 | 0; + g = c[45980] | 0; + b = c[(c[(c[((i & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + while (1) { + b = b + 1 | 0; + if ((b | 0) >= (c[(c[(c[((i & 3 | 0) == 2 ? d : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) break; + i = g + (b * 40 | 0) + 16 | 0; + c[i >> 2] = (c[i >> 2] | 0) + 1; + i = c[d >> 2] | 0 + } + d = Gx(a, d) | 0 + } + e = Ty(a, e) | 0 + } + i = c[45981] | 0; + k = c[45982] | 0; + l = c[45980] | 0; + d = a + 16 | 0; + b = 0; + while (1) { + if ((b | 0) >= (i | 0)) break; + e = (c[c[k + (b * 24 | 0) >> 2] >> 2] | 0) + 16 | 0; + f = c[(c[e >> 2] | 0) + 232 >> 2] | 0; + if ((f | 0) >= (c[45979] | 0)) c[45979] = f + 1; + g = l + (f * 40 | 0) + 24 | 0; + j = +h[g >> 3]; + h[g >> 3] = j + +h[k + (b * 24 | 0) + 8 >> 3] * 72.0 + (j > 0.0 ? +(c[(c[d >> 2] | 0) + 248 >> 2] | 0) : 0.0); + g = l + (f * 40 | 0) + 32 | 0; + j = +h[k + (b * 24 | 0) + 16 >> 3] * 72.0; + if (+h[g >> 3] < j) h[g >> 3] = j; + c[(c[l + (f * 40 | 0) + 4 >> 2] | 0) + (c[l + (f * 40 | 0) + 12 >> 2] << 2) >> 2] = k + (b * 24 | 0); + a = l + ((c[(c[e >> 2] | 0) + 232 >> 2] | 0) * 40 | 0) + 12 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + b = b + 1 | 0 + } + return + } + + function Gk() { + var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = c[45979] | 0; + l = c[45980] | 0; + j = 0; + b = 0; + a = 0; + while (1) { + if ((j | 0) >= (k | 0)) break; + d = l + (j * 40 | 0) | 0; + i = c[l + (j * 40 | 0) + 12 >> 2] | 0; + e = (b | 0) == 0; + a:do if (i) if (!e) { + if ((c[d >> 2] | 0) > (a | 0)) { + f = l + (j * 40 | 0) + 4 | 0; + d = 0; + while (1) { + if ((d | 0) >= (i | 0)) break a; + g = c[(c[f >> 2] | 0) + (d << 2) >> 2] | 0; + h = c[g + 4 >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (h | 0)) break; + m = (c[(c[(c[g >> 2] | 0) + (e << 2) >> 2] | 0) + 16 >> 2] | 0) + 232 | 0; + c[m >> 2] = (c[m >> 2] | 0) - b; + e = e + 1 | 0 + } + d = d + 1 | 0 + } + } + } else b = 0; else { + if (e) a = c[d >> 2] | 0; + b = b + 1 | 0 + } while (0); + j = j + 1 | 0 + } + return + } + + function Hk(a) { + a = a | 0; + var b = 0; + b = c[45983] | 0; + _0(b, ay(a) | 0, 4, 63); + return + } + + function Ik(b) { + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0, o = 0, p = 0, q = 0, + r = 0.0, s = 0; + j = c[45979] | 0; + k = c[45980] | 0; + g = c[45983] | 0; + i = 0; + while (1) { + if ((i | 0) >= (j | 0)) { + e = 0; + d = 0.0; + break + } + e = c[g + (i << 2) >> 2] | 0; + f = i + 1 | 0; + if ((c[k + (e * 40 | 0) + 12 >> 2] | 0) < 2) i = f; else { + l = 4; + break + } + } + if ((l | 0) == 4) if ((j | 0) > (f | 0)) d = +h[k + ((c[g + (f << 2) >> 2] | 0) * 40 | 0) + 24 >> 3]; else d = 0.0; + a:do if ((i | 0) != (j | 0)) { + _0(c[k + (e * 40 | 0) + 4 >> 2] | 0, c[k + (e * 40 | 0) + 12 >> 2] | 0, 4, 64); + g = c[45980] | 0; + r = +h[g + (e * 40 | 0) + 24 >> 3]; + r = !(d <= r * .25) & !(d >= r * .75) ? d : r * .5; + s = c[g + (e * 40 | 0) + 12 >> 2] | 0; + q = b + 16 | 0; + n = 0; + o = 0; + d = 0.0; + f = 0; + p = 0; + while (1) { + if ((p | 0) >= (f + s | 0)) break a; + do if (!(c[(c[g + (e * 40 | 0) + 8 >> 2] | 0) + (p << 2) >> 2] | 0)) { + l = c[(c[g + (e * 40 | 0) + 4 >> 2] | 0) + (p << 2) >> 2] | 0; + b = l + 8 | 0; + m = +h[b >> 3] * 72.0 + d + (d > 0.0 ? +(c[(c[q >> 2] | 0) + 248 >> 2] | 0) : 0.0); + i = (o | 0) != 0; + if (!(i & !(m <= r))) { + j = i ? n : l; + i = i ? o : 1; + d = m; + break + } + j = n + 4 | 0; + k = l + 4 | 0; + i = 0; + while (1) { + if ((i | 0) < (c[j >> 2] | 0)) g = 0; else break; + while (1) { + if ((g | 0) >= (c[k >> 2] | 0)) break; + a[(c[(ph(c[(c[n >> 2] | 0) + (i << 2) >> 2] | 0, c[(c[l >> 2] | 0) + (g << 2) >> 2] | 0, 0) | 0) + 16 >> 2] | 0) + 112 >> 0] = 1; + g = g + 1 | 0 + } + i = i + 1 | 0 + } + g = c[45980] | 0; + c[(c[g + (e * 40 | 0) + 8 >> 2] | 0) + (p << 2) >> 2] = 1; + j = g + (e * 40 | 0) + 12 | 0; + c[j >> 2] = (c[j >> 2] | 0) + -1; + j = g + (e * 40 | 0) + 16 | 0; + c[j >> 2] = (c[j >> 2] | 0) + 1; + j = g + (e * 40 | 0) + 24 | 0; + h[j >> 3] = +h[b >> 3] * -72.0 - +(c[(c[q >> 2] | 0) + 248 >> 2] | 0) + +h[j >> 3]; + j = n; + i = o + } else { + j = n; + i = o; + f = f + 1 | 0 + } while (0); + n = j; + o = i; + p = p + 1 | 0 + } + } while (0); + return + } + + function Jk(a, b) { + a = a | 0; + b = b | 0; + a = Kk(c[a >> 2] | 0) | 0; + b = Kk(c[b >> 2] | 0) | 0; + return ((b | 0) < (a | 0) & 1) - ((b | 0) > (a | 0) & 1) | 0 + } + + function Kk(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + f = a + 4 | 0; + d = 0; + b = 0; + while (1) { + if ((d | 0) >= (c[f >> 2] | 0)) break; + e = c[(c[a >> 2] | 0) + (d << 2) >> 2] | 0; + g = ez(e) | 0; + e = Ex(g, e) | 0; + while (1) { + if (!e) break; + e = Gx(g, e) | 0; + b = b + 1 | 0 + } + d = d + 1 | 0 + } + return b | 0 + } + + function Lk(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0; + f = c[45980] | 0; + e = +h[f + ((c[b >> 2] | 0) * 40 | 0) + 24 >> 3]; + d = +h[f + ((c[a >> 2] | 0) * 40 | 0) + 24 >> 3]; + return (e > d & 1) - (e < d & 1) | 0 + } + + function Mk(a) { + a = a | 0; + var b = 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + c[(c[b + 16 >> 2] | 0) + 216 >> 2] = 0; + b = Ty(a, b) | 0 + } + return + } + + function Nk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g + 16 | 0; + e = g + 8 | 0; + d = g + 20 | 0; + c[d >> 2] = 5; + a = xx(a, 96579) | 0; + if (a | 0 ? (c[e >> 2] = g, c[e + 4 >> 2] = d, (N1(a, 87402, e) | 0) >= 1) : 0) Pw(0, 87409, f) | 0; + c[b + 24 >> 2] = 0; + c[b + 32 >> 2] = 0; + l = g; + return 0 + } + + function Ok(b) { + b = b | 0; + var d = 0, e = 0; + d = c[46419] | 0; + if ((((d | 0) != 0 ? (e = yx(b, d) | 0, (e | 0) != 0) : 0) ? (a[e >> 0] | 0) != 0 : 0) ? (QL(e) | 0) << 24 >> 24 == 0 : 0) b = 1; else b = 0; + return b | 0 + } + + function Pk(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + il(a); + b = Sy(a) | 0; + while (1) { + if (!b) break; + d = Ex(a, b) | 0; + while (1) { + if (!d) break; + do if (((c[(c[d + 16 >> 2] | 0) + 172 >> 2] | 0) == 0 ? (Ok(d) | 0) == 0 : 0) ? (e = d + 48 | 0, f = SL(c[((c[d >> 2] & 3 | 0) == 3 ? d : e) + 40 >> 2] | 0) | 0, g = d + -48 | 0, h = SL(c[((c[d >> 2] & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) | 0, (f | 0) != (h | 0)) : 0) { + if ((c[(c[f + 16 >> 2] | 0) + 212 >> 2] | 0) == 0 ? (c[(c[h + 16 >> 2] | 0) + 212 >> 2] | 0) == 0 : 0) { + i = fh(f, h) | 0; + if (!i) { + ph(f, h, d) | 0; + break + } else { + xh(d, i); + break + } + } + i = c[d >> 2] & 3; + Qk(a, c[((i | 0) == 3 ? d : e) + 40 >> 2] | 0, c[((i | 0) == 2 ? d : g) + 40 >> 2] | 0, d) + } while (0); + d = Gx(a, d) | 0 + } + b = Ty(a, b) | 0 + } + return + } + + function Qk(b, d, f, g) { + b = b | 0; + d = d | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = c[g >> 2] & 3; + h = c[(c[((j | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + i = c[h + 212 >> 2] | 0; + if (!i) k = 0; else k = (c[h + 232 >> 2] | 0) - (c[(c[(c[(c[i + 16 >> 2] | 0) + 264 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0; + h = c[(c[((j | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + i = c[h + 212 >> 2] | 0; + if (!i) h = 0; else h = (c[(c[(c[(c[i + 16 >> 2] | 0) + 264 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[h + 232 >> 2] | 0) | 0; + j = g + 16 | 0; + k = h + k + (e[(c[j >> 2] | 0) + 170 >> 1] | 0) | 0; + b = uh(b) | 0; + a[(c[b + 16 >> 2] | 0) + 156 >> 0] = 2; + i = SL(d) | 0; + d = SL(f) | 0; + f = $i(b, i, (k | 0) > 0 ? 0.0 : +(0 - k | 0), (c[(c[j >> 2] | 0) + 156 >> 2] | 0) * 10 | 0) | 0; + c[(c[($i(b, d, +(((k | 0) > 0 ? k : 0) | 0), c[(c[j >> 2] | 0) + 156 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] = g; + c[(c[f + 16 >> 2] | 0) + 116 >> 2] = g; + return + } + + function Rk(a, d, f, g) { + a = a | 0; + d = d | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = c[d >> 2] & 3; + i = (j | 0) == 3 ? d : d + 48 | 0; + j = (j | 0) == 2 ? d : d + -48 | 0; + j = c[(c[(c[((c[(c[(c[i + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (c[(c[(c[j + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) ? i : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + i = d + 16 | 0; + d = (c[i >> 2] | 0) + 172 | 0; + if (c[d >> 2] | 0) qa(87498, 87520, 148, 87529); + c[d >> 2] = f; + h = (g | 0) == 0; + do { + d = c[i >> 2] | 0; + if (h) g = c[f + 16 >> 2] | 0; else { + g = c[f + 16 >> 2] | 0; + k = g + 168 | 0; + b[k >> 1] = (e[k >> 1] | 0) + (e[d + 168 >> 1] | 0) + } + k = g + 154 | 0; + b[k >> 1] = (e[k >> 1] | 0) + (e[d + 154 >> 1] | 0); + g = g + 156 | 0; + c[g >> 2] = (c[g >> 2] | 0) + (c[d + 156 >> 2] | 0); + d = f + -48 | 0; + g = c[((c[f >> 2] & 3 | 0) == 2 ? f : d) + 40 >> 2] | 0; + if ((c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0) == (j | 0)) break; + Sk(a, g); + f = c[c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : d) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } while ((f | 0) != 0); + return + } + + function Sk(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0; + d = +((c[(c[a + 16 >> 2] | 0) + 248 >> 2] | 0) / 2 | 0 | 0); + b = c[b + 16 >> 2] | 0; + a = b + 88 | 0; + h[a >> 3] = +h[a >> 3] + d; + b = b + 96 | 0; + h[b >> 3] = +h[b >> 3] + d; + return + } + + function Tk(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (((((a | 0) != 0 & (b | 0) != 0 ? (e = c[a >> 2] & 3, d = c[b >> 2] & 3, (c[((e | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) == (c[((d | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0)) : 0) ? (c[((e | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) == (c[((d | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) : 0) ? (c[(c[a + 16 >> 2] | 0) + 96 >> 2] | 0) == (c[(c[b + 16 >> 2] | 0) + 96 >> 2] | 0) : 0) ? (wj(a, b) | 0) != 0 : 0) a = 1; else a = 0; + return a | 0 + } + + function Uk(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0; + r = b + 16 | 0; + d = c[r >> 2] | 0; + c[d + 192 >> 2] = 0; + c[d + 232 >> 2] = 0; + il(b); + d = 1; + while (1) { + e = c[r >> 2] | 0; + if ((d | 0) > (c[e + 180 >> 2] | 0)) break; + jl(b, c[(c[e + 184 >> 2] | 0) + (d << 2) >> 2] | 0); + d = d + 1 | 0 + } + h = Sy(b) | 0; + while (1) { + if (!h) break; + g = Ex(b, h) | 0; + while (1) { + if (!g) break; + d = c[g >> 2] | 0; + e = (c[(c[((d & 3 | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 160 | 0; + f = a[e >> 0] | 0; + if (f << 24 >> 24 < 3) { + a[e >> 0] = f + 1 << 24 >> 24; + d = c[g >> 2] | 0 + } + d = (c[(c[((d & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 160 | 0; + e = a[d >> 0] | 0; + if (e << 24 >> 24 < 3) a[d >> 0] = e + 1 << 24 >> 24; + g = Gx(b, g) | 0 + } + h = Ty(b, h) | 0 + } + m = Sy(b) | 0; + while (1) { + if (!m) break; + if ((c[(c[m + 16 >> 2] | 0) + 212 >> 2] | 0) == 0 ? (m | 0) == (SL(m) | 0) : 0) { + qh(b, m); + l = (c[r >> 2] | 0) + 232 | 0; + c[l >> 2] = (c[l >> 2] | 0) + 1 + } + d = 0; + l = Ex(b, m) | 0; + while (1) { + if (!l) break; + k = l + 16 | 0; + h = c[k >> 2] | 0; + a:do if (!(c[h + 172 >> 2] | 0)) { + if (Vk(l) | 0) { + if (!(Tk(d, l) | 0)) { + Wk(b, l); + d = l; + break + } + e = c[(c[d + 16 >> 2] | 0) + 172 >> 2] | 0; + if (e | 0) { + Rk(b, l, e, 0); + lh(l); + break + } + k = c[l >> 2] & 3; + if ((c[(c[(c[((k | 0) == 3 ? l : l + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) != (c[(c[(c[((k | 0) == 2 ? l : l + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) break; + xh(l, d); + lh(l); + break + } + if (d) { + i = c[l >> 2] & 3; + e = l + 48 | 0; + f = c[((i | 0) == 3 ? l : e) + 40 >> 2] | 0; + g = c[d >> 2] & 3; + if ((f | 0) == (c[((g | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) ? (n = c[((i | 0) == 2 ? l : l + -48 | 0) + 40 >> 2] | 0, (n | 0) == (c[((g | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0)) : 0) { + if ((c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0) == (c[(c[n + 16 >> 2] | 0) + 232 >> 2] | 0)) { + xh(l, d); + lh(l); + break + } + if (((c[h + 96 >> 2] | 0) == 0 ? (o = d + 16 | 0, (c[(c[o >> 2] | 0) + 96 >> 2] | 0) == 0) : 0) ? (wj(l, d) | 0) != 0 : 0) if (!(a[191874] | 0)) { + Rk(b, l, c[(c[o >> 2] | 0) + 172 >> 2] | 0, 1); + lh(l); + break + } else { + a[(c[k >> 2] | 0) + 112 >> 0] = 6; + break + } else i = e + } else i = e + } else i = l + 48 | 0; + h = c[l >> 2] & 3; + e = c[((h | 0) == 3 ? l : i) + 40 >> 2] | 0; + j = l + -48 | 0; + if ((e | 0) == (c[((h | 0) == 2 ? l : j) + 40 >> 2] | 0)) { + lh(l); + d = l; + break + } + e = SL(e) | 0; + f = SL(c[((c[l >> 2] & 3 | 0) == 2 ? l : j) + 40 >> 2] | 0) | 0; + h = c[l >> 2] & 3; + if ((c[((h | 0) == 3 ? l : i) + 40 >> 2] | 0) == (e | 0) ? (c[((h | 0) == 2 ? l : j) + 40 >> 2] | 0) == (f | 0) : 0) { + g = c[(c[e + 16 >> 2] | 0) + 232 >> 2] | 0; + h = c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0; + if ((g | 0) == (h | 0)) { + vh(b, l); + d = l; + break + } + if ((h | 0) > (g | 0)) { + Xk(b, e, f, l); + d = l; + break + } + e = Rx(b, f, e, 0, 0) | 0; + do if (e | 0 ? (p = c[e >> 2] & 3, q = c[((p | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, (q | 0) != (c[((c[l >> 2] & 3 | 0) == 2 ? l : j) + 40 >> 2] | 0)) : 0) { + f = e + 16 | 0; + if (!(c[(c[f >> 2] | 0) + 172 >> 2] | 0)) Xk(b, c[((p | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0, q, e); + if ((c[(c[k >> 2] | 0) + 96 >> 2] | 0) == 0 ? (c[(c[f >> 2] | 0) + 96 >> 2] | 0) == 0 : 0) { + if (!(wj(l, e) | 0)) break; + if (!(a[191874] | 0)) { + lh(l); + Rk(b, l, c[(c[f >> 2] | 0) + 172 >> 2] | 0, 1); + break a + } else { + a[(c[k >> 2] | 0) + 112 >> 0] = 6; + a[(c[f >> 2] | 0) + 153 >> 0] = 1; + break a + } + } + } while (0); + d = c[l >> 2] & 3; + Xk(b, c[((d | 0) == 2 ? l : j) + 40 >> 2] | 0, c[((d | 0) == 3 ? l : i) + 40 >> 2] | 0, l); + d = l + } + } else d = l; while (0); + l = Gx(b, l) | 0 + } + m = Ty(b, m) | 0 + } + if ((ig(b) | 0) != (b | 0)) { + d = c[(c[r >> 2] | 0) + 216 >> 2] | 0; + if (!d) d = vH(4) | 0; else d = xH(d, 4) | 0; + r = c[r >> 2] | 0; + c[r + 216 >> 2] = d; + c[d >> 2] = c[r + 192 >> 2] + } + return + } + + function Vk(b) { + b = b | 0; + var d = 0; + d = c[b >> 2] & 3; + if ((a[(c[(c[((d | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 159 >> 0] | 0) == 7) b = 1; else b = (a[(c[(c[((d | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 159 >> 0] | 0) == 7 & 1; + return b | 0 + } + + function Wk(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + f = _k(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) | 0; + g = _k(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) | 0; + i = (c[(c[f + 16 >> 2] | 0) + 232 >> 2] | 0) > (c[(c[g + 16 >> 2] | 0) + 232 >> 2] | 0); + e = i ? f : g; + f = i ? g : f; + g = f + 16 | 0; + i = e + 16 | 0; + a:do if ((c[(c[g >> 2] | 0) + 212 >> 2] | 0) != (c[(c[i >> 2] | 0) + 212 >> 2] | 0)) { + h = fh(f, e) | 0; + if (h | 0) { + Rk(b, d, h, 1); + break + } + if ((c[(c[g >> 2] | 0) + 232 >> 2] | 0) != (c[(c[i >> 2] | 0) + 232 >> 2] | 0)) { + Xk(b, f, e, d); + e = (c[d + 16 >> 2] | 0) + 172 | 0; + while (1) { + e = c[e >> 2] | 0; + if (!e) break a; + f = e + -48 | 0; + if ((c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) > (c[(c[i >> 2] | 0) + 232 >> 2] | 0)) break a; + a[(c[e + 16 >> 2] | 0) + 112 >> 0] = 5; + e = c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : f) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] | 0 + } + } + } while (0); + 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, i = 0, j = 0, k = 0; + k = e + 16 | 0; + f = c[k >> 2] | 0; + if (!(c[f + 96 >> 2] | 0)) j = -1; else j = ((c[(c[d + 16 >> 2] | 0) + 232 >> 2] | 0) + (c[(c[b + 16 >> 2] | 0) + 232 >> 2] | 0) | 0) / 2 | 0; + if (c[f + 172 >> 2] | 0) qa(87541, 87520, 89, 87566); + i = d + 16 | 0; + h = c[(c[b + 16 >> 2] | 0) + 232 >> 2] | 0; + while (1) { + g = h + 1 | 0; + f = c[(c[i >> 2] | 0) + 232 >> 2] | 0; + if ((h | 0) >= (f | 0)) break; + if ((g | 0) < (f | 0)) { + if ((g | 0) == (j | 0)) f = Yk(a, e) | 0; else f = Zk(a) | 0; + c[(c[f + 16 >> 2] | 0) + 232 >> 2] = g + } else f = d; + Ki(ph(b, f, e) | 0); + h = g; + b = f + } + if (!(c[(c[k >> 2] | 0) + 172 >> 2] | 0)) qa(87577, 87520, 103, 87566); else return + } + + function Yk(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0.0; + i = d + 16 | 0; + g = c[(c[i >> 2] | 0) + 96 >> 2] | 0; + e = +h[g + 24 >> 3]; + f = +h[g + 32 >> 3]; + g = uh(b) | 0; + d = g + 16 | 0; + c[(c[d >> 2] | 0) + 104 >> 2] = c[(c[i >> 2] | 0) + 96 >> 2]; + j = +(c[(c[(fz(g) | 0) + 16 >> 2] | 0) + 248 >> 2] | 0); + h[(c[d >> 2] | 0) + 88 >> 3] = j; + if (!(a[(c[i >> 2] | 0) + 114 >> 0] | 0)) { + b = (c[(c[(fz(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + i = c[d >> 2] | 0; + h[i + 80 >> 3] = b ? f : e; + h[i + 96 >> 3] = b ? e : f + } + return g | 0 + } + + function Zk(a) { + a = a | 0; + var b = 0; + b = uh(a) | 0; + Sk(a, b); + return b | 0 + } + + function _k(b) { + b = b | 0; + var d = 0; + d = c[b + 16 >> 2] | 0; + if ((a[d + 159 >> 0] | 0) == 7) b = c[(c[(c[(c[d + 212 >> 2] | 0) + 16 >> 2] | 0) + 268 >> 2] | 0) + (c[d + 232 >> 2] << 2) >> 2] | 0; else b = SL(b) | 0; + return b | 0 + } + + function $k(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; + j = ig(a) | 0; + h = Sy(a) | 0; + while (1) { + if (!h) break; + b = Jx(j, h) | 0; + i = 0; + while (1) { + if (!b) break; + l = Kx(j, b, h) | 0; + if (oz(a, b) | 0) { + k = i; + b = l; + i = k; + continue + } + k = (c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0; + m = (Tk(i, k) | 0) == 0; + e = c[k >> 2] & 3; + b = c[((e | 0) == 3 ? k : k + 48 | 0) + 40 >> 2] | 0; + d = c[(c[b + 16 >> 2] | 0) + 232 >> 2] | 0; + e = c[((e | 0) == 2 ? k : k + -48 | 0) + 40 >> 2] | 0; + f = c[(c[e + 16 >> 2] | 0) + 232 >> 2] | 0; + g = (d | 0) == (f | 0); + if (!m) { + c[(c[k + 16 >> 2] | 0) + 172 >> 2] = g ? i : 0; + b = c[(c[i + 16 >> 2] | 0) + 172 >> 2] | 0; + if (!b) { + m = i; + b = l; + i = m; + continue + } + Rk(a, k, b, 0); + mh(k); + m = i; + b = l; + i = m; + continue + } + if (!g) if ((f | 0) > (d | 0)) { + al(b, e, k); + b = l; + i = k; + continue + } else { + al(e, b, k); + b = l; + i = k; + continue + } + b = hh(b, e) | 0; + if (!b) { + vh(j, k); + b = l; + i = k; + continue + } + if ((k | 0) == (b | 0)) { + m = i; + b = l; + i = m; + continue + } + mh(k); + if (c[(c[k + 16 >> 2] | 0) + 172 >> 2] | 0) { + m = i; + b = l; + i = m; + continue + } + xh(k, b); + m = i; + b = l; + i = m + } + h = Ty(a, h) | 0 + } + return + } + + function al(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + f = bl(a) | 0; + e = bl(b) | 0; + cl(f, e, d, c[(c[d + 16 >> 2] | 0) + 172 >> 2] | 0, (f | 0) == (a | 0) & (e | 0) == (b | 0) ? 1 : 5); + return + } + + function bl(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + d = c[b + 16 >> 2] | 0; + e = c[d + 212 >> 2] | 0; + if ((e | 0) != 0 ? (f = c[e + 16 >> 2] | 0, (a[f + 272 >> 0] | 0) == 0) : 0) b = c[(c[f + 268 >> 2] | 0) + (c[d + 232 >> 2] << 2) >> 2] | 0; + return b | 0 + } + + function cl(d, e, f, g, h) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + n = d + 16 | 0; + k = c[(c[n >> 2] | 0) + 232 >> 2] | 0; + o = e + 16 | 0; + i = c[(c[o >> 2] | 0) + 232 >> 2] | 0; + if ((i | 0) <= (k | 0)) qa(87602, 87630, 81, 87640); + m = c[g >> 2] & 3; + if (!((c[((m | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) == (d | 0) ? (c[((m | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) == (e | 0) : 0)) l = 5; + a:do if ((l | 0) == 5) { + if ((b[(c[g + 16 >> 2] | 0) + 168 >> 1] | 0) > 1) { + c[(c[f + 16 >> 2] | 0) + 172 >> 2] = 0; + if (((i - k | 0) == 1 ? (j = fh(d, e) | 0, j | 0) : 0) ? wj(f, j) | 0 : 0) { + xh(f, j); + if (a[(c[n >> 2] | 0) + 156 >> 0] | 0) break; + if (a[(c[o >> 2] | 0) + 156 >> 0] | 0) break; + lh(f); + break + } + m = h & 255; + h = d; + l = c[(c[n >> 2] | 0) + 232 >> 2] | 0; + while (1) { + i = c[(c[o >> 2] | 0) + 232 >> 2] | 0; + if ((l | 0) >= (i | 0)) break a; + if ((l | 0) < (i + -1 | 0)) { + i = ig(d) | 0; + j = g + -48 | 0; + i = dl(i, c[((c[g >> 2] & 3 | 0) == 2 ? g : j) + 40 >> 2] | 0) | 0; + k = g + } else { + i = e; + j = g + -48 | 0; + k = g + } + a[(c[(ph(h, i, f) | 0) + 16 >> 2] | 0) + 112 >> 0] = m; + n = (c[g + 16 >> 2] | 0) + 168 | 0; + b[n >> 1] = (b[n >> 1] | 0) + -1 << 16 >> 16; + h = i; + l = l + 1 | 0; + g = c[c[(c[(c[((c[k >> 2] & 3 | 0) == 2 ? g : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } + } + do if ((i - k | 0) == 1) { + g = fh(d, e) | 0; + if (g | 0 ? wj(f, g) | 0 : 0) { + c[(c[f + 16 >> 2] | 0) + 172 >> 2] = g; + m = c[g + 16 >> 2] | 0; + a[m + 112 >> 0] = h; + m = m + 168 | 0; + b[m >> 1] = (b[m >> 1] | 0) + 1 << 16 >> 16; + if (a[(c[n >> 2] | 0) + 156 >> 0] | 0) break; + if (a[(c[o >> 2] | 0) + 156 >> 0] | 0) break; + lh(f); + break + } + c[(c[f + 16 >> 2] | 0) + 172 >> 2] = 0; + g = ph(d, e, f) | 0; + a[(c[g + 16 >> 2] | 0) + 112 >> 0] = h + } while (0); + i = c[(c[o >> 2] | 0) + 232 >> 2] | 0; + if ((i - (c[(c[n >> 2] | 0) + 232 >> 2] | 0) | 0) > 1) { + if ((c[((c[g >> 2] & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) == (d | 0)) l = i; else { + n = f + 16 | 0; + c[(c[n >> 2] | 0) + 172 >> 2] = 0; + l = ph(d, c[((c[g >> 2] & 3 | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0, f) | 0; + c[(c[n >> 2] | 0) + 172 >> 2] = l; + kh(g); + g = l; + l = c[(c[o >> 2] | 0) + 232 >> 2] | 0 + } + while (1) { + i = c[g >> 2] & 3; + j = c[((i | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0; + k = c[j + 16 >> 2] | 0; + if ((c[k + 232 >> 2] | 0) == (l | 0)) break; + g = c[c[k + 180 >> 2] >> 2] | 0 + } + if ((j | 0) != (e | 0)) { + a[(c[(ph(c[((i | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0, e, f) | 0) + 16 >> 2] | 0) + 112 >> 0] = h; + kh(g) + } + } + } while (0); + return + } + + function dl(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = b + 16 | 0; + b = c[d >> 2] | 0; + e = c[b + 232 >> 2] | 0; + el(a, e, c[b + 236 >> 2] | 0, 2); + b = uh(a) | 0; + d = c[d >> 2] | 0; + f = c[b + 16 >> 2] | 0; + h[f + 88 >> 3] = +h[d + 88 >> 3]; + h[f + 96 >> 3] = +h[d + 96 >> 3]; + c[f + 232 >> 2] = c[d + 232 >> 2]; + d = (c[d + 236 >> 2] | 0) + 1 | 0; + c[f + 236 >> 2] = d; + c[(c[(c[(c[a + 16 >> 2] | 0) + 196 >> 2] | 0) + (e << 6) + 4 >> 2] | 0) + (d << 2) >> 2] = b; + return b | 0 + } + + function el(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + h = a + 16 | 0; + f = c[(c[h >> 2] | 0) + 196 >> 2] | 0; + i = c[f + (b << 6) + 4 >> 2] | 0; + a:do if ((e | 0) < 1) { + d = d - e | 0; + while (1) { + g = d + 1 | 0; + a = c[f + (b << 6) >> 2] | 0; + if ((g | 0) >= (a | 0)) break; + a = c[i + (g << 2) >> 2] | 0; + f = d + e | 0; + c[(c[a + 16 >> 2] | 0) + 236 >> 2] = f; + c[i + (f << 2) >> 2] = a; + d = g; + f = c[(c[h >> 2] | 0) + 196 >> 2] | 0 + } + g = e + -1 | 0; + d = g + a | 0; + while (1) { + if ((d | 0) >= (a | 0)) break a; + c[i + (d << 2) >> 2] = 0; + f = c[(c[h >> 2] | 0) + 196 >> 2] | 0; + d = d + 1 | 0; + a = c[f + (b << 6) >> 2] | 0 + } + } else { + g = e + -1 | 0; + a = c[f + (b << 6) >> 2] | 0; + while (1) { + a = a + -1 | 0; + if ((a | 0) <= (d | 0)) break; + j = c[i + (a << 2) >> 2] | 0; + f = g + a | 0; + c[(c[j + 16 >> 2] | 0) + 236 >> 2] = f; + c[i + (f << 2) >> 2] = j + } + f = e + d | 0; + a = d; + while (1) { + a = a + 1 | 0; + if ((a | 0) >= (f | 0)) break; + c[i + (a << 2) >> 2] = 0 + } + a = c[(c[h >> 2] | 0) + 196 >> 2] | 0; + f = a; + a = c[a + (b << 6) >> 2] | 0 + } while (0); + c[f + (b << 6) >> 2] = g + a; + return + } + + function fl(a) { + a = a | 0; + var b = 0; + Uk(a); + b = c[a + 16 >> 2] | 0; + c[b + 220 >> 2] = 1; + c[c[b + 216 >> 2] >> 2] = c[b + 192 >> 2]; + Hi(a); + mi(a, 0); + gl(a); + $k(a); + hl(a); + return + } + + function gl(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = ig(d) | 0; + l = d + 16 | 0; + f = c[l >> 2] | 0; + j = b[f + 236 >> 1] | 0; + e = j << 16 >> 16; + m = k + 16 | 0; + if (j << 16 >> 16 > 0) a[(c[(c[m >> 2] | 0) + 196 >> 2] | 0) + (e + -1 << 6) + 49 >> 0] = 0; + j = e; + while (1) { + if ((j | 0) > (b[f + 238 >> 1] | 0)) break; + i = c[(c[(c[(c[f + 268 >> 2] | 0) + (j << 2) >> 2] | 0) + 16 >> 2] | 0) + 236 >> 2] | 0; + el(k, j, i, c[(c[f + 196 >> 2] | 0) + (j << 6) >> 2] | 0); + g = 0; + h = i; + while (1) { + f = c[l >> 2] | 0; + e = c[f + 196 >> 2] | 0; + if ((g | 0) >= (c[e + (j << 6) >> 2] | 0)) break; + e = c[(c[e + (j << 6) + 4 >> 2] | 0) + (g << 2) >> 2] | 0; + c[(c[(c[(c[m >> 2] | 0) + 196 >> 2] | 0) + (j << 6) + 4 >> 2] | 0) + (h << 2) >> 2] = e; + f = c[e + 16 >> 2] | 0; + c[f + 236 >> 2] = h; + if ((a[f + 156 >> 0] | 0) == 1) c[e + 24 >> 2] = fz(k) | 0; + sh(d, e); + qh(k, e); + f = (c[m >> 2] | 0) + 232 | 0; + c[f >> 2] = (c[f >> 2] | 0) + 1; + g = g + 1 | 0; + h = h + 1 | 0 + } + h = c[(c[m >> 2] | 0) + 196 >> 2] | 0; + c[e + (j << 6) + 4 >> 2] = (c[h + (j << 6) + 4 >> 2] | 0) + (i << 2); + a[h + (j << 6) + 49 >> 0] = 0; + j = j + 1 | 0 + } + e = c[m >> 2] | 0; + if ((j | 0) < (b[e + 238 >> 1] | 0)) a[(c[e + 196 >> 2] | 0) + (j << 6) + 49 >> 0] = 0; + a[f + 272 >> 0] = 1; + return + } + + function hl(a) { + a = a | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = a + 16 | 0; + d = c[i >> 2] | 0; + h = b[d + 236 >> 1] | 0; + while (1) { + if ((h | 0) > (b[d + 238 >> 1] | 0)) break; + f = c[(c[d + 268 >> 2] | 0) + (h << 2) >> 2] | 0; + g = f + 16 | 0; + while (1) { + d = c[g >> 2] | 0; + e = c[c[d + 180 >> 2] >> 2] | 0; + if (!e) break; + kh(e) + } + while (1) { + d = c[c[d + 172 >> 2] >> 2] | 0; + if (!d) break; + kh(d); + d = c[g >> 2] | 0 + } + sh(ig(a) | 0, f); + c[(c[(c[i >> 2] | 0) + 268 >> 2] | 0) + (h << 2) >> 2] = 0; + h = h + 1 | 0; + d = c[i >> 2] | 0 + } + return + } + + function il(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o; + f = Sy(b) | 0; + while (1) { + if (!f) break; + e = f + 16 | 0; + d = c[e >> 2] | 0; + if ((a[d + 159 >> 0] | 0) == 7) { + UL(f); + d = c[e >> 2] | 0 + } + c[d + 212 >> 2] = 0; + f = Ty(b, f) | 0 + } + m = b + 16 | 0; + k = 1; + while (1) { + d = c[m >> 2] | 0; + if ((k | 0) > (c[d + 180 >> 2] | 0)) break; + h = c[(c[d + 184 >> 2] | 0) + (k << 2) >> 2] | 0; + i = h + 16 | 0; + d = Sy(h) | 0; + a:while (1) { + if (!d) break; + j = Ty(h, d) | 0; + e = d + 16 | 0; + if (a[(c[e >> 2] | 0) + 159 >> 0] | 0) { + f = ry(d) | 0; + g = ry(b) | 0; + c[n >> 2] = f; + c[n + 4 >> 2] = g; + Pw(0, 87649, n) | 0; + dz(h, d) | 0; + d = j; + continue + } + VL(d, c[(c[i >> 2] | 0) + 264 >> 2] | 0); + g = c[e >> 2] | 0; + c[g + 212 >> 2] = h; + a[g + 159 >> 0] = 7; + g = Ex(h, d) | 0; + while (1) { + if (!g) { + d = j; + continue a + } + d = c[(c[g + 16 >> 2] | 0) + 172 >> 2] | 0; + b:do if (d | 0) do { + e = d + -48 | 0; + f = c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[f + 156 >> 0] | 0) != 1) break b; + c[f + 212 >> 2] = h; + d = c[c[(c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } while ((d | 0) != 0); while (0); + g = Gx(h, g) | 0 + } + } + k = k + 1 | 0 + } + l = o; + return + } + + function jl(d, e) { + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = e + 16 | 0; + g = uH((b[(c[k >> 2] | 0) + 238 >> 1] << 2) + 8 | 0) | 0; + f = c[k >> 2] | 0; + c[f + 268 >> 2] = g; + g = 0; + h = b[f + 236 >> 1] | 0; + while (1) { + if ((h | 0) > (b[f + 238 >> 1] | 0)) break; + f = uh(d) | 0; + c[(c[(c[k >> 2] | 0) + 268 >> 2] | 0) + (h << 2) >> 2] = f; + j = c[f + 16 >> 2] | 0; + c[j + 232 >> 2] = h; + a[j + 159 >> 0] = 7; + c[j + 212 >> 2] = e; + if (g | 0) { + j = (c[(ph(g, f, 0) | 0) + 16 >> 2] | 0) + 154 | 0; + b[j >> 1] = (b[j >> 1] | 0) * 1e3 + } + g = f; + h = h + 1 | 0; + f = c[k >> 2] | 0 + } + j = Sy(e) | 0; + while (1) { + f = c[k >> 2] | 0; + if (!j) break; + h = (c[(c[f + 268 >> 2] | 0) + (c[(c[j + 16 >> 2] | 0) + 232 >> 2] << 2) >> 2] | 0) + 16 | 0; + f = (c[h >> 2] | 0) + 216 | 0; + c[f >> 2] = (c[f >> 2] | 0) + 1; + f = Ex(e, j) | 0; + while (1) { + if (!f) break; + i = c[f >> 2] | 0; + d = f + -48 | 0; + g = c[(c[(c[((i & 3 | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0; + while (1) { + if ((g | 0) >= (c[(c[(c[((i & 3 | 0) == 2 ? f : d) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0)) break; + i = (c[(c[c[(c[h >> 2] | 0) + 180 >> 2] >> 2] | 0) + 16 >> 2] | 0) + 168 | 0; + b[i >> 1] = (b[i >> 1] | 0) + 1 << 16 >> 16; + g = g + 1 | 0; + i = c[f >> 2] | 0 + } + f = Gx(e, f) | 0 + } + j = Ty(e, j) | 0 + } + d = b[f + 238 >> 1] | 0; + i = f + 268 | 0; + f = b[f + 236 >> 1] | 0; + while (1) { + if ((f | 0) > (d | 0)) break; + g = (c[(c[(c[i >> 2] | 0) + (f << 2) >> 2] | 0) + 16 >> 2] | 0) + 216 | 0; + h = c[g >> 2] | 0; + if ((h | 0) > 1) c[g >> 2] = h + -1; + f = f + 1 | 0 + } + return + } + + function kl(d, e, f, g) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + k = (c[(c[e + 16 >> 2] | 0) + 212 >> 2] | 0) + 16 | 0; + e = c[k >> 2] | 0; + j = f + 1 | 0; + if ((j | 0) != (a[e + 273 >> 0] | 0)) { + i = b[e + 236 >> 1] | 0; + while (1) { + h = b[e + 238 >> 1] | 0; + if ((i | 0) > (h << 16 >> 16 | 0)) break; + Bi(d, c[(c[e + 268 >> 2] | 0) + (i << 2) >> 2] | 0); + i = i + 1 | 0; + e = c[k >> 2] | 0 + } + i = b[e + 236 >> 1] | 0; + while (1) { + if ((i | 0) > (h << 16 >> 16 | 0)) break; + Ci(g, c[(c[e + 268 >> 2] | 0) + (i << 2) >> 2] | 0, f); + d = c[k >> 2] | 0; + i = i + 1 | 0; + h = b[d + 238 >> 1] | 0; + e = d + } + a[e + 273 >> 0] = j + } + return + } + + function ll(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = Sy(b) | 0; + while (1) { + if (!h) break; + c[(c[h + 16 >> 2] | 0) + 212 >> 2] = 0; + g = Ex(b, h) | 0; + while (1) { + if (!g) break; + d = c[(c[g + 16 >> 2] | 0) + 172 >> 2] | 0; + a:do if (d | 0) do { + e = d + -48 | 0; + f = c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[f + 156 >> 0] | 0) != 1) break a; + c[f + 212 >> 2] = 0; + d = c[c[(c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } while ((d | 0) != 0); while (0); + g = Gx(b, g) | 0 + } + h = Ty(b, h) | 0 + } + ml(b); + return + } + + function ml(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + e = b + 16 | 0; + d = 1; + while (1) { + f = c[e >> 2] | 0; + if ((d | 0) > (c[f + 180 >> 2] | 0)) break; + ml(c[(c[f + 184 >> 2] | 0) + (d << 2) >> 2] | 0); + d = d + 1 | 0 + } + i = Sy(b) | 0; + while (1) { + if (!i) break; + d = (c[i + 16 >> 2] | 0) + 212 | 0; + if (!(c[d >> 2] | 0)) c[d >> 2] = b; + h = Ex(b, i) | 0; + while (1) { + if (!h) break; + d = c[(c[h + 16 >> 2] | 0) + 172 >> 2] | 0; + a:do if (d | 0) do { + e = c[d >> 2] | 0; + g = d + -48 | 0; + f = c[(c[((e & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0; + if ((a[f + 156 >> 0] | 0) != 1) break a; + f = f + 212 | 0; + if (!(c[f >> 2] | 0)) { + c[f >> 2] = b; + e = c[d >> 2] | 0 + } + d = c[c[(c[(c[((e & 3 | 0) == 2 ? d : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 180 >> 2] >> 2] | 0 + } while ((d | 0) != 0); while (0); + h = Gx(b, h) | 0 + } + i = Ty(b, i) | 0 + } + return + } + + function nl(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + d = tM(a) | 0; + c = Sy(a) | 0; + while (1) { + if (!c) break; + b = Ex(a, c) | 0; + while (1) { + if (!b) break; + ol(b, d); + b = Gx(a, b) | 0 + } + c = Ty(a, c) | 0 + } + yw(d) | 0; + return + } + + function yH(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 80 | 0; + r = u + 40 | 0; + q = u + 32 | 0; + n = u + 24 | 0; + m = u; + s = 4; + t = C_(40) | 0; + c[t >> 2] = 0; + f = u + 68 | 0; + g = u + 64 | 0; + if (0) { + o = 0; + ka(62, a | 0, f | 0, g | 0); + i = o; + o = 0; + if ((i | 0) != 0 & (p | 0) != 0) { + j = E3(c[i >> 2] | 0, t | 0, s | 0) | 0; + if (!j) bb(i | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) != 1) { + j = c[15686] | 0; + i = c[f >> 2] | 0; + f = c[g >> 2] | 0; + o = 0; + c[m >> 2] = 99176; + c[m + 4 >> 2] = i; + c[m + 8 >> 2] = f; + c[m + 12 >> 2] = d; + c[m + 16 >> 2] = b; + ca(29, j | 0, 99132, m | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) != 1) { + o = 0; + ha(1); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) != 1) j = 6; else { + f = z; + j = 15 + } + } else { + f = z; + j = 15 + } + } else { + f = z; + j = 15 + } + } else j = 6; + do if ((j | 0) == 6) { + o = 0; + f = $(27, a | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + i = E3(c[g >> 2] | 0, t | 0, s | 0) | 0; + if (!i) bb(g | 0, p | 0); + z = p + } else i = -1; + if ((i | 0) != 1) { + if (!f) { + o = 0; + ha(2); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + break + } + } + if ((d | 0) < 1) { + o = 0; + ha(3); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + break + } + f = 0; + break + } else { + c[46441] = (e | 0) > -1 ? e : 30; + t = D3(185768, 1, t | 0, s | 0) | 0; + s = z; + o = 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + break + } + f = 0; + j = 15; + break + } + } else { + f = z; + j = 15 + } + } while (0); + a:do if ((j | 0) == 15) { + b:while (1) { + if (f | 0) { + f = 2; + break a + } + o = 0; + ha(4); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue + } + a = c[15686] | 0; + m = 0; + while (1) { + o = 0; + j = _(2) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + if (!j) break; + o = 0; + f = $(28, j | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + i = E3(c[g >> 2] | 0, t | 0, s | 0) | 0; + if (!i) bb(g | 0, p | 0); + z = p + } else i = -1; + if ((i | 0) == 1) { + f = z; + j = 15; + continue b + } + o = 0; + ja(25, j | 0, f | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + m = m + 1 | 0; + do if (((m | 0) % 100 | 0 | 0) == 0 & 0 != 0) { + f = (m | 0) % 1e3 | 0; + if ((f | 0) == 100) { + o = 0; + aa(91, 99176, a | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + o = 0; + c[n >> 2] = m; + ca(29, a | 0, 99194, n | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + break + } + o = 0; + c[q >> 2] = m; + ca(29, a | 0, 99194, q | 0) | 0; + g = o; + o = 0; + if ((g | 0) != 0 & (p | 0) != 0) { + i = E3(c[g >> 2] | 0, t | 0, s | 0) | 0; + if (!i) bb(g | 0, p | 0); + z = p + } else i = -1; + if ((i | 0) == 1) { + f = z; + j = 15; + continue b + } + if (!f) { + o = 0; + aa(92, 10, a | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + } + } while (0); + if ((m | 0) >= (d | 0)) break + } + switch (b | 0) { + case 1: { + o = 0; + ha(5); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + break + } + case 2: { + o = 0; + ha(6); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + break + } + default: { + o = 0; + ha(7); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + o = 0; + ha(3); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue b + } + } + } + if (!0) { + f = 0; + break a + } + if ((m | 0) > 99) { + o = 0; + aa(92, 10, a | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15; + continue + } + } + f = c[46481] | 0; + g = c[46482] | 0; + o = 0; + k = +X(1); + i = o; + o = 0; + if ((i | 0) != 0 & (p | 0) != 0) { + j = E3(c[i >> 2] | 0, t | 0, s | 0) | 0; + if (!j) bb(i | 0, p | 0); + z = p + } else j = -1; + if ((j | 0) == 1) { + f = z; + j = 15; + continue + } + o = 0; + c[r >> 2] = 99176; + c[r + 4 >> 2] = f; + c[r + 8 >> 2] = g; + c[r + 12 >> 2] = m; + h[r + 16 >> 3] = k; + ca(29, a | 0, 99198, r | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, t | 0, s | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + f = z; + j = 15 + } else break + } + f = 0 + } while (0); + D_(t | 0); + l = u; + return f | 0 + } + + function zH(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + a = (c[a + 16 >> 2] | 0) + 192 | 0; + e = 0; + h = 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + g = c[a + 16 >> 2] | 0; + f = c[g + 180 >> 2] | 0; + a = 0; + while (1) { + if (!(c[f + (a << 2) >> 2] | 0)) break; + a = a + 1 | 0; + e = e + 1 | 0 + } + a = g + 164 | 0; + h = h + 1 | 0 + } + c[b >> 2] = h; + c[d >> 2] = e; + return + } + + function AH(b) { + b = b | 0; + var d = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0; + c[46484] = b; + c[46491] = 0; + c[46482] = 0; + c[46481] = 0; + i = b + 16 | 0; + b = (c[i >> 2] | 0) + 192 | 0; + h = 0; + f = 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + g = c[b + 16 >> 2] | 0; + a[g + 157 >> 0] = 0; + h = h + 1 | 0; + c[46481] = h; + d = c[g + 180 >> 2] | 0; + b = 0; + while (1) { + if (!(c[d + (b << 2) >> 2] | 0)) break; + k = f + 1 | 0; + c[46482] = k; + b = b + 1 | 0; + f = k + } + b = g + 164 | 0 + } + b = c[46492] | 0; + if (!b) b = vH(h << 2) | 0; else b = xH(b, h << 2) | 0; + c[46492] = b; + c[46493] = 0; + b = c[46486] | 0; + if (!b) b = vH(c[46481] << 2) | 0; else b = xH(b, c[46481] << 2) | 0; + c[46486] = b; + c[46485] = 0; + d = 1; + b = (c[i >> 2] | 0) + 192 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + k = b + 16 | 0; + i = c[k >> 2] | 0; + j = i + 292 | 0; + c[j >> 2] = 0; + i = c[i + 172 >> 2] | 0; + h = d; + g = 0; + b = 0; + while (1) { + d = c[i + (g << 2) >> 2] | 0; + if (!d) break; + f = b + 1 | 0; + c[j >> 2] = f; + b = c[d + 16 >> 2] | 0; + c[b + 160 >> 2] = 0; + c[b + 164 >> 2] = -1; + if (!h) b = 0; else { + l = c[d >> 2] & 3; + b = ((c[(c[(c[((l | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((l | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0) < (e[b + 170 >> 1] | 0 | 0) ? 0 : h + } + h = b; + g = g + 1 | 0; + b = f + } + b = uH((g << 2) + 4 | 0) | 0; + d = c[k >> 2] | 0; + c[d + 264 >> 2] = b; + c[d + 268 >> 2] = 0; + d = c[d + 180 >> 2] | 0; + b = 0; + do { + l = b; + b = b + 1 | 0 + } while ((c[d + (l << 2) >> 2] | 0) != 0); + d = uH(b << 2) | 0; + b = c[k >> 2] | 0; + c[b + 272 >> 2] = d; + c[b + 276 >> 2] = 0; + d = h; + b = b + 164 | 0 + } + return d | 0 + } + + function BH() { + var a = 0, b = 0, d = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o + 8 | 0; + k = o; + m = GL(c[46481] | 0) | 0; + a = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + while (1) { + b = c[a >> 2] | 0; + if (!b) { + j = 0; + break + } + d = b + 16 | 0; + a = c[d >> 2] | 0; + if (!(c[a + 292 >> 2] | 0)) { + IL(m, b); + a = c[d >> 2] | 0 + } + a = a + 164 | 0 + } + while (1) { + a = JL(m) | 0; + if (!a) break; + i = a + 16 | 0; + a = c[i >> 2] | 0; + f = a + 232 | 0; + c[f >> 2] = 0; + d = c[a + 172 >> 2] | 0; + b = 0; + h = 0; + while (1) { + g = c[d + (b << 2) >> 2] | 0; + if (!g) { + f = 0; + break + } + g = (c[(c[(c[((c[g >> 2] & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) + (e[(c[g + 16 >> 2] | 0) + 170 >> 1] | 0) | 0; + g = (h | 0) > (g | 0) ? h : g; + c[f >> 2] = g; + b = b + 1 | 0; + h = g + } + while (1) { + b = c[(c[a + 180 >> 2] | 0) + (f << 2) >> 2] | 0; + if (!b) break; + d = b + -48 | 0; + g = (c[(c[((c[b >> 2] & 3 | 0) == 2 ? b : d) + 40 >> 2] | 0) + 16 >> 2] | 0) + 292 | 0; + h = c[g >> 2] | 0; + c[g >> 2] = h + -1; + if ((h | 0) < 2) { + IL(m, c[((c[b >> 2] & 3 | 0) == 2 ? b : d) + 40 >> 2] | 0); + a = c[i >> 2] | 0 + } + f = f + 1 | 0 + } + j = j + 1 | 0 + } + a:do if ((j | 0) != (c[46481] | 0)) { + Pw(1, 99530, k) | 0; + a = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + while (1) { + b = c[a >> 2] | 0; + if (!b) break a; + d = b + 16 | 0; + a = c[d >> 2] | 0; + if (c[a + 292 >> 2] | 0) { + k = ry(b) | 0; + a = c[(c[d >> 2] | 0) + 292 >> 2] | 0; + c[n >> 2] = k; + c[n + 4 >> 2] = a; + Pw(3, 99552, n) | 0; + a = c[d >> 2] | 0 + } + a = a + 164 | 0 + } + } while (0); + HL(m); + l = o; + return + } + + function CH() { + var b = 0, d = 0, e = 0; + b = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + e = b + 16 | 0; + b = c[e >> 2] | 0; + d = c[b + 264 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 272 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + a[b + 157 >> 0] = 0; + b = b + 164 | 0 + } + return + } + + function DH() { + var a = 0, b = 0, d = 0, e = 0, f = 0; + a = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; + a = c[a + 16 >> 2] | 0; + c[a + 280 >> 2] = 0; + a = a + 164 | 0 + } + f = uH(c[46481] << 2) | 0; + e = 0; + a = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + while (1) { + b = c[a >> 2] | 0; + if (!b) break; + d = b + 16 | 0; + a = c[d >> 2] | 0; + if (!(c[a + 280 >> 2] | 0)) { + c[f + (e << 2) >> 2] = QH(b) | 0; + b = e + 1 | 0; + a = c[d >> 2] | 0 + } else b = e; + e = b; + a = a + 164 | 0 + } + a = RH(f, e) | 0; + while (1) { + if ((SH(a) | 0) <= 1) break; + WH(a, c[(VH(UH(TH(a) | 0) | 0) | 0) + 8 >> 2] | 0) + } + D_(a); + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break; + D_(c[f + (a << 2) >> 2] | 0); + a = a + 1 | 0 + } + D_(f); + if ((c[46485] | 0) == ((c[46481] | 0) + -1 | 0)) { + XH(); + return + } else qa(99275, 99305, 523, 99310) + } + + function EH() { + var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + i = c[46491] | 0; + f = c[46485] | 0; + j = c[46486] | 0; + k = c[46441] | 0; + b = 0; + a = 0; + g = i; + while (1) { + if ((g | 0) >= (f | 0)) { + h = 8; + break + } + e = c[j + (g << 2) >> 2] | 0; + d = c[(c[e + 16 >> 2] | 0) + 160 >> 2] | 0; + if ((d | 0) < 0) { + if (!a) a = e; else a = (c[(c[a + 16 >> 2] | 0) + 160 >> 2] | 0) > (d | 0) ? e : a; + b = b + 1 | 0; + if ((b | 0) >= (k | 0)) break + } + e = g + 1 | 0; + c[46491] = e; + g = e + } + if ((h | 0) == 8) if ((i | 0) > 0) { + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) break; + d = c[j + (f << 2) >> 2] | 0; + e = c[(c[d + 16 >> 2] | 0) + 160 >> 2] | 0; + if ((e | 0) < 0) { + if (!a) a = d; else a = (c[(c[a + 16 >> 2] | 0) + 160 >> 2] | 0) > (e | 0) ? d : a; + b = b + 1 | 0; + if ((b | 0) >= (k | 0)) break + } + f = f + 1 | 0 + } + c[46491] = f + } + return a | 0 + } + + function FH(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a >> 2] & 3; + d = c[((b | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + a = c[((b | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + b = (c[(c[d + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[(c[a + 16 >> 2] | 0) + 288 >> 2] | 0); + a = b ? d : a; + c[46487] = 0; + c[46488] = 2147483647; + d = c[a + 16 >> 2] | 0; + c[46489] = c[d + 284 >> 2]; + c[46490] = c[d + 288 >> 2]; + if (b) PH(a); else OH(a); + return c[46487] | 0 + } + + function GH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + n = o; + g = c[b >> 2] & 3; + m = b + -48 | 0; + j = b + 48 | 0; + k = b + 16 | 0; + g = (c[(c[(c[((g | 0) == 2 ? b : m) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((g | 0) == 3 ? b : j) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[k >> 2] | 0) + 170 >> 1] | 0) | 0; + do if ((g | 0) > 0) { + d = c[a >> 2] & 3; + h = c[((d | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + i = c[h + 16 >> 2] | 0; + if (((c[i + 276 >> 2] | 0) + (c[i + 268 >> 2] | 0) | 0) == 1) { + KH(h, g); + break + } + d = c[((d | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + f = c[d + 16 >> 2] | 0; + if (((c[f + 276 >> 2] | 0) + (c[f + 268 >> 2] | 0) | 0) == 1) { + KH(d, 0 - g | 0); + break + } + if ((c[i + 288 >> 2] | 0) < (c[f + 288 >> 2] | 0)) { + KH(h, g); + break + } else { + KH(d, 0 - g | 0); + break + } + } while (0); + d = a + 16 | 0; + f = c[(c[d >> 2] | 0) + 160 >> 2] | 0; + g = c[b >> 2] & 3; + g = LH(c[((g | 0) == 3 ? b : j) + 40 >> 2] | 0, c[((g | 0) == 2 ? b : m) + 40 >> 2] | 0, f, 1) | 0; + i = c[b >> 2] & 3; + if ((LH(c[((i | 0) == 2 ? b : m) + 40 >> 2] | 0, c[((i | 0) == 3 ? b : j) + 40 >> 2] | 0, f, 0) | 0) == (g | 0)) { + c[(c[k >> 2] | 0) + 160 >> 2] = 0 - f; + c[(c[d >> 2] | 0) + 160 >> 2] = 0; + MH(a, b); + n = c[g + 16 >> 2] | 0; + NH(g, c[n + 280 >> 2] | 0, c[n + 284 >> 2] | 0) | 0; + l = o; + return + } else { + Pw(1, 99236, n) | 0; + bb(185768, 1) + } + } + + function HH() { + var b = 0, d = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + JH(); + m = uH((c[46483] << 2) + 4 | 0) | 0; + d = c[46483] | 0; + b = 0; + while (1) { + if ((b | 0) > (d | 0)) break; + c[m + (b << 2) >> 2] = 0; + b = b + 1 | 0 + } + b = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + d = b; + while (1) { + d = c[d >> 2] | 0; + if (!d) break; + d = c[d + 16 >> 2] | 0; + if (!(a[d + 156 >> 0] | 0)) { + l = m + (c[d + 232 >> 2] << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + 1 + } + d = d + 164 | 0 + } + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + l = b + 16 | 0; + b = c[l >> 2] | 0; + if (!(a[b + 156 >> 0] | 0)) { + h = c[46483] | 0; + f = c[b + 172 >> 2] | 0; + k = 0; + j = 0; + d = 0; + while (1) { + g = c[f + (d << 2) >> 2] | 0; + if (!g) break; + n = c[g + 16 >> 2] | 0; + i = (c[(c[(c[((c[g >> 2] & 3 | 0) == 3 ? g : g + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) + (e[n + 170 >> 1] | 0) | 0; + k = (c[n + 156 >> 2] | 0) + k | 0; + j = (j | 0) > (i | 0) ? j : i; + d = d + 1 | 0 + } + g = c[b + 180 >> 2] | 0; + i = 0; + d = 0; + while (1) { + f = c[g + (d << 2) >> 2] | 0; + if (!f) break; + o = c[f + 16 >> 2] | 0; + n = (c[(c[(c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[o + 170 >> 1] | 0) | 0; + i = (c[o + 156 >> 2] | 0) + i | 0; + h = (h | 0) < (n | 0) ? h : n; + d = d + 1 | 0 + } + d = (j | 0) > 0 ? j : 0; + if ((k | 0) == (i | 0)) { + g = d; + f = d; + while (1) { + d = f + 1 | 0; + if ((f | 0) >= (h | 0)) break; + g = (c[m + (d << 2) >> 2] | 0) < (c[m + (g << 2) >> 2] | 0) ? d : g; + f = d + } + o = b + 232 | 0; + n = m + (c[o >> 2] << 2) | 0; + c[n >> 2] = (c[n >> 2] | 0) + -1; + n = m + (g << 2) | 0; + c[n >> 2] = (c[n >> 2] | 0) + 1; + c[o >> 2] = g + } + d = c[b + 264 >> 2] | 0; + if (d) { + D_(d); + b = c[l >> 2] | 0 + } + d = c[b + 272 >> 2] | 0; + if (d) { + D_(d); + b = c[l >> 2] | 0 + } + a[b + 157 >> 0] = 0 + } + b = b + 164 | 0 + } + D_(m); + return + } + + function IH() { + var a = 0, b = 0, d = 0, f = 0, g = 0, h = 0; + b = 0; + while (1) { + if ((b | 0) >= (c[46485] | 0)) break; + a = c[(c[46486] | 0) + (b << 2) >> 2] | 0; + do if (((c[(c[a + 16 >> 2] | 0) + 160 >> 2] | 0) == 0 ? (d = FH(a) | 0, d | 0) : 0) ? (f = c[d >> 2] & 3, f = (c[(c[(c[((f | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((f | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[d + 16 >> 2] | 0) + 170 >> 1] | 0) | 0, (f | 0) >= 2) : 0) { + h = c[a >> 2] & 3; + g = c[((h | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + a = c[((h | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + if ((c[(c[g + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[(c[a + 16 >> 2] | 0) + 288 >> 2] | 0)) { + KH(g, f >>> 1); + break + } else { + KH(a, (f | 0) / -2 | 0); + break + } + } while (0); + b = b + 1 | 0 + } + CH(); + return + } + + function JH() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = l; + l = l + 16 | 0; + h = i; + c[h >> 2] = 0; + c[h >> 2] = 2147483647; + c[46483] = -2147483647; + b = (c[(c[46484] | 0) + 16 >> 2] | 0) + 192 | 0; + e = b; + g = 2147483647; + f = -2147483647; + while (1) { + d = c[e >> 2] | 0; + if (!d) break; + e = c[d + 16 >> 2] | 0; + if (!(a[e + 156 >> 0] | 0)) { + j = c[e + 232 >> 2] | 0; + d = (g | 0) < (j | 0) ? g : j; + c[h >> 2] = d; + f = (f | 0) > (j | 0) ? f : j; + c[46483] = f + } else d = g; + e = e + 164 | 0; + g = d + } + if (g | 0) { + while (1) { + b = c[b >> 2] | 0; + if (!b) break; + b = c[b + 16 >> 2] | 0; + j = b + 232 | 0; + c[j >> 2] = (c[j >> 2] | 0) - g; + b = b + 164 | 0 + } + c[46483] = f - g; + c[h >> 2] = 0 + } + l = i; + return + } + + function KH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 16 | 0; + a = c[f >> 2] | 0; + e = a + 232 | 0; + c[e >> 2] = (c[e >> 2] | 0) - b; + e = 0; + while (1) { + d = c[(c[a + 272 >> 2] | 0) + (e << 2) >> 2] | 0; + if (!d) { + e = 0; + break + } + if ((d | 0) != (c[a + 280 >> 2] | 0)) { + KH(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, b); + a = c[f >> 2] | 0 + } + e = e + 1 | 0 + } + while (1) { + d = c[(c[a + 264 >> 2] | 0) + (e << 2) >> 2] | 0; + if (!d) break; + if ((d | 0) != (c[a + 280 >> 2] | 0)) { + KH(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0, b); + a = c[f >> 2] | 0 + } + e = e + 1 | 0 + } + return + } + + function LH(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + g = (e | 0) == 0 & 1; + h = 0 - d | 0; + f = c[(c[b + 16 >> 2] | 0) + 288 >> 2] | 0; + b = a; + while (1) { + a = c[b + 16 >> 2] | 0; + if ((c[a + 284 >> 2] | 0) <= (f | 0) ? (f | 0) <= (c[a + 288 >> 2] | 0) : 0) break; + a = c[a + 280 >> 2] | 0; + i = a + 48 | 0; + j = (c[a + 16 >> 2] | 0) + 160 | 0; + c[j >> 2] = (((b | 0) == (c[((c[a >> 2] & 3 | 0) == 3 ? a : i) + 40 >> 2] | 0) ? e : g) | 0 ? d : h) + (c[j >> 2] | 0); + j = c[a >> 2] & 3; + i = c[((j | 0) == 3 ? a : i) + 40 >> 2] | 0; + a = c[((j | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + b = (c[(c[i + 16 >> 2] | 0) + 288 >> 2] | 0) > (c[(c[a + 16 >> 2] | 0) + 288 >> 2] | 0) ? i : a + } + return b | 0 + } + + function MH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + i = a + 16 | 0; + e = (c[i >> 2] | 0) + 164 | 0; + c[(c[b + 16 >> 2] | 0) + 164 >> 2] = c[e >> 2]; + c[(c[46486] | 0) + (c[e >> 2] << 2) >> 2] = b; + c[(c[i >> 2] | 0) + 164 >> 2] = -1; + i = (c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + e = c[i >> 2] | 0; + g = e + 276 | 0; + f = c[g >> 2] | 0; + j = f + -1 | 0; + c[g >> 2] = j; + g = e + 272 | 0; + h = 0; + while (1) { + if ((h | 0) >= (f | 0)) { + k = 3; + break + } + d = c[g >> 2] | 0; + if ((c[d + (h << 2) >> 2] | 0) == (a | 0)) break; + h = h + 1 | 0 + } + if ((k | 0) == 3) d = c[e + 272 >> 2] | 0; + c[d + (h << 2) >> 2] = c[d + (j << 2) >> 2]; + c[(c[(c[i >> 2] | 0) + 272 >> 2] | 0) + (j << 2) >> 2] = 0; + i = (c[((c[a >> 2] & 3 | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 | 0; + e = c[i >> 2] | 0; + g = e + 268 | 0; + f = c[g >> 2] | 0; + j = f + -1 | 0; + c[g >> 2] = j; + g = e + 264 | 0; + h = 0; + while (1) { + if ((h | 0) >= (f | 0)) { + k = 8; + break + } + d = c[g >> 2] | 0; + if ((c[d + (h << 2) >> 2] | 0) == (a | 0)) break; + h = h + 1 | 0 + } + if ((k | 0) == 8) d = c[e + 264 >> 2] | 0; + c[d + (h << 2) >> 2] = c[d + (j << 2) >> 2]; + c[(c[(c[i >> 2] | 0) + 264 >> 2] | 0) + (j << 2) >> 2] = 0; + k = (c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + a = c[k >> 2] | 0; + j = c[a + 272 >> 2] | 0; + a = a + 276 | 0; + i = c[a >> 2] | 0; + c[a >> 2] = i + 1; + c[j + (i << 2) >> 2] = b; + k = c[k >> 2] | 0; + c[(c[k + 272 >> 2] | 0) + (c[k + 276 >> 2] << 2) >> 2] = 0; + k = (c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) + 16 | 0; + i = c[k >> 2] | 0; + j = c[i + 264 >> 2] | 0; + i = i + 268 | 0; + a = c[i >> 2] | 0; + c[i >> 2] = a + 1; + c[j + (a << 2) >> 2] = b; + k = c[k >> 2] | 0; + c[(c[k + 264 >> 2] | 0) + (c[k + 268 >> 2] << 2) >> 2] = 0; + return + } + + function NH(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = a + 16 | 0; + a = c[g >> 2] | 0; + c[a + 280 >> 2] = b; + c[a + 284 >> 2] = d; + f = 0; + while (1) { + e = c[(c[a + 272 >> 2] | 0) + (f << 2) >> 2] | 0; + if (!e) { + f = 0; + break + } + if ((e | 0) != (b | 0)) { + d = NH(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, e, d) | 0; + a = c[g >> 2] | 0 + } + f = f + 1 | 0 + } + while (1) { + e = c[(c[a + 264 >> 2] | 0) + (f << 2) >> 2] | 0; + if (!e) break; + if ((e | 0) != (b | 0)) { + d = NH(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0, e, d) | 0; + a = c[g >> 2] | 0 + } + f = f + 1 | 0 + } + c[a + 288 >> 2] = d; + return d + 1 | 0 + } + + function OH(a) { + a = a | 0; + var b = 0, d = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = a + 16 | 0; + g = 0; + while (1) { + a = c[i >> 2] | 0; + d = c[(c[a + 180 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!d) { + d = 0; + break + } + f = c[d + 16 >> 2] | 0; + if ((c[f + 164 >> 2] | 0) < 0) { + a = c[d >> 2] & 3; + b = c[(c[((a | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + j = c[b + 288 >> 2] | 0; + if ((c[46489] | 0) > (j | 0) | (j | 0) > (c[46490] | 0) ? (h = (c[b + 232 >> 2] | 0) - (c[(c[(c[((a | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[f + 170 >> 1] | 0) | 0, (h | 0) < (c[46488] | 0) | (c[46487] | 0) == 0) : 0) { + c[46487] = d; + c[46488] = h + } + } else { + b = c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0; + if ((c[(c[b + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[a + 288 >> 2] | 0)) OH(b) + } + g = g + 1 | 0 + } + while (1) { + b = c[(c[a + 264 >> 2] | 0) + (d << 2) >> 2] | 0; + if (!((b | 0) != 0 & (c[46488] | 0) > 0)) break; + b = c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + if ((c[(c[b + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[a + 288 >> 2] | 0)) { + OH(b); + a = c[i >> 2] | 0 + } + d = d + 1 | 0 + } + return + } + + function PH(a) { + a = a | 0; + var b = 0, d = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + i = a + 16 | 0; + g = 0; + while (1) { + a = c[i >> 2] | 0; + d = c[(c[a + 172 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!d) { + d = 0; + break + } + f = c[d + 16 >> 2] | 0; + if ((c[f + 164 >> 2] | 0) < 0) { + a = c[d >> 2] & 3; + b = c[(c[((a | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + j = c[b + 288 >> 2] | 0; + if ((c[46489] | 0) > (j | 0) | (j | 0) > (c[46490] | 0) ? (h = (c[(c[(c[((a | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[b + 232 >> 2] | 0) - (e[f + 170 >> 1] | 0) | 0, (h | 0) < (c[46488] | 0) | (c[46487] | 0) == 0) : 0) { + c[46487] = d; + c[46488] = h + } + } else { + b = c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0; + if ((c[(c[b + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[a + 288 >> 2] | 0)) PH(b) + } + g = g + 1 | 0 + } + while (1) { + b = c[(c[a + 272 >> 2] | 0) + (d << 2) >> 2] | 0; + if (!((b | 0) != 0 & (c[46488] | 0) > 0)) break; + b = c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + if ((c[(c[b + 16 >> 2] | 0) + 288 >> 2] | 0) < (c[a + 288 >> 2] | 0)) { + PH(b); + a = c[i >> 2] | 0 + } + d = d + 1 | 0 + } + return + } + + function QH(a) { + a = a | 0; + var b = 0; + b = uH(16) | 0; + c[b >> 2] = a; + c[b + 4 >> 2] = eI(a, b) | 0; + c[b + 12 >> 2] = b; + return b | 0 + } + + function RH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + e = uH(8) | 0; + c[e >> 2] = a; + c[e + 4 >> 2] = b; + d = 0; + while (1) { + if ((d | 0) >= (b | 0)) break; + c[(c[a + (d << 2) >> 2] | 0) + 8 >> 2] = d; + d = d + 1 | 0 + } + d = (b | 0) / 2 | 0; + while (1) { + if ((d | 0) <= -1) break; + WH(e, d); + d = d + -1 | 0 + } + return e | 0 + } + + function SH(a) { + a = a | 0; + return c[a + 4 >> 2] | 0 + } + + function TH(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + f = c[a >> 2] | 0; + b = c[f >> 2] | 0; + c[b + 8 >> 2] = -1; + d = a + 4 | 0; + e = (c[d >> 2] | 0) + -1 | 0; + c[f >> 2] = c[f + (e << 2) >> 2]; + f = c[a >> 2] | 0; + c[(c[f >> 2] | 0) + 8 >> 2] = 0; + c[f + (e << 2) >> 2] = b; + c[d >> 2] = e; + WH(a, 0); + return b | 0 + } + + function UH(a) { + a = a | 0; + return dI(c[a >> 2] | 0, 0, 0) | 0 + } + + function VH(a) { + a = a | 0; + var b = 0, d = 0, f = 0, g = 0, h = 0, i = 0; + b = a + 16 | 0; + if ((c[(c[b >> 2] | 0) + 164 >> 2] | 0) > -1) qa(99324, 99305, 463, 99338); + g = a + 48 | 0; + d = $H(c[((c[a >> 2] & 3 | 0) == 3 ? a : g) + 40 >> 2] | 0) | 0; + i = a + -48 | 0; + f = $H(c[((c[a >> 2] & 3 | 0) == 2 ? a : i) + 40 >> 2] | 0) | 0; + h = c[a >> 2] & 3; + b = (c[(c[(c[((h | 0) == 2 ? a : i) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((h | 0) == 3 ? a : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[b >> 2] | 0) + 170 >> 1] | 0) | 0; + if ((c[d + 8 >> 2] | 0) == -1) aI(c[d >> 2] | 0, 0, b); else aI(c[f >> 2] | 0, 0, 0 - b | 0); + bI(a); + return cI(d, f) | 0 + } + + function WH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = c[a >> 2] | 0; + g = c[a + 4 >> 2] | 0; + while (1) { + a = b << 1; + f = a + 2 | 0; + a = a | 1; + if (!((a | 0) < (g | 0) ? (c[(c[h + (a << 2) >> 2] | 0) + 4 >> 2] | 0) < (c[(c[h + (b << 2) >> 2] | 0) + 4 >> 2] | 0) : 0)) a = b; + if ((f | 0) >= (g | 0)) break; + d = h + (f << 2) | 0; + e = c[d >> 2] | 0; + if ((f | 0) == (b | 0) ? 1 : (c[e + 4 >> 2] | 0) >= (c[(c[h + (a << 2) >> 2] | 0) + 4 >> 2] | 0)) break; + i = h + (b << 2) | 0; + a = c[i >> 2] | 0; + c[i >> 2] = e; + c[d >> 2] = a; + c[(c[i >> 2] | 0) + 8 >> 2] = b; + c[a + 8 >> 2] = f; + b = f + } + return + } + + function XH() { + NH(c[(c[(c[46484] | 0) + 16 >> 2] | 0) + 192 >> 2] | 0, 0, 1) | 0; + YH(c[(c[(c[46484] | 0) + 16 >> 2] | 0) + 192 >> 2] | 0, 0); + return + } + + function YH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 16 | 0; + d = 0; + while (1) { + a = c[f >> 2] | 0; + e = c[(c[a + 272 >> 2] | 0) + (d << 2) >> 2] | 0; + if (!e) { + e = 0; + break + } + if ((e | 0) != (b | 0)) YH(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, e); + d = d + 1 | 0 + } + while (1) { + d = c[(c[a + 264 >> 2] | 0) + (e << 2) >> 2] | 0; + if (!d) break; + if ((d | 0) != (b | 0)) { + YH(c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0, d); + a = c[f >> 2] | 0 + } + e = e + 1 | 0 + } + if (b | 0) ZH(b); + return + } + + function ZH(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + b = c[a >> 2] & 3; + d = c[((b | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0; + e = c[d + 16 >> 2] | 0; + if ((c[e + 280 >> 2] | 0) == (a | 0)) i = 1; else { + e = c[((b | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + i = -1; + d = e; + e = c[e + 16 >> 2] | 0 + } + g = c[e + 180 >> 2] | 0; + b = 0; + f = 0; + while (1) { + h = c[g + (f << 2) >> 2] | 0; + if (!h) break; + b = (_H(h, d, i) | 0) + b | 0; + f = f + 1 | 0 + } + g = c[e + 172 >> 2] | 0; + e = 0; + while (1) { + f = c[g + (e << 2) >> 2] | 0; + if (!f) break; + b = (_H(f, d, i) | 0) + b | 0; + e = e + 1 | 0 + } + c[(c[a + 16 >> 2] | 0) + 160 >> 2] = b; + return + } + + function _H(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = c[a >> 2] & 3; + i = (h | 0) == 3 ? a : a + 48 | 0; + e = c[i + 40 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[((h | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0; + g = c[b + 16 >> 2] | 0; + f = c[(c[e + 16 >> 2] | 0) + 288 >> 2] | 0; + if ((c[g + 284 >> 2] | 0) <= (f | 0) ? (f | 0) <= (c[g + 288 >> 2] | 0) : 0) { + f = c[a + 16 >> 2] | 0; + if ((c[f + 164 >> 2] | 0) > -1) e = c[f + 160 >> 2] | 0; else e = 0; + g = 1; + e = e - (c[f + 156 >> 2] | 0) | 0 + } else { + g = 0; + e = c[(c[a + 16 >> 2] | 0) + 156 >> 2] | 0 + } + i = (c[((d | 0) > 0 ? ((h | 0) == 2 ? a : a + -48 | 0) : i) + 40 >> 2] | 0) == (b | 0) ? 1 : -1; + return (((g ? i : 0 - i | 0) | 0) < 0 ? 0 - e | 0 : e) | 0 + } + + function $H(a) { + a = a | 0; + var b = 0, d = 0; + a = c[(c[a + 16 >> 2] | 0) + 280 >> 2] | 0; + while (1) { + b = a + 12 | 0; + d = c[b >> 2] | 0; + if (!((d | 0) != (a | 0) & (d | 0) != 0)) break; + a = c[d + 12 >> 2] | 0; + if (!a) { + a = d; + continue + } + c[b >> 2] = a + } + return a | 0 + } + + function aI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = a + 16 | 0; + e = c[h >> 2] | 0; + g = e + 232 | 0; + c[g >> 2] = (c[g >> 2] | 0) + d; + g = 0; + while (1) { + f = c[(c[e + 264 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!f) { + g = 0; + break + } + f = c[((c[f >> 2] & 3 | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0; + if ((f | 0) != (b | 0)) { + aI(f, a, d); + e = c[h >> 2] | 0 + } + g = g + 1 | 0 + } + while (1) { + f = c[(c[e + 272 >> 2] | 0) + (g << 2) >> 2] | 0; + if (!f) break; + f = c[((c[f >> 2] & 3 | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0; + if ((f | 0) != (b | 0)) { + aI(f, a, d); + e = c[h >> 2] | 0 + } + g = g + 1 | 0 + } + return + } + + function bI(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 32 | 0; + d = (c[b + 16 >> 2] | 0) + 164 | 0; + if ((c[d >> 2] | 0) > -1) { + Pw(1, 99427, h) | 0; + bb(185768, 1) + } + g = c[46485] | 0; + c[d >> 2] = g; + d = c[46486] | 0; + c[46485] = g + 1; + c[d + (g << 2) >> 2] = b; + d = c[b >> 2] | 0; + g = b + 48 | 0; + e = c[((d & 3 | 0) == 3 ? b : g) + 40 >> 2] | 0; + if (!(a[(c[e + 16 >> 2] | 0) + 157 >> 0] | 0)) { + f = c[46492] | 0; + d = c[46493] | 0; + c[46493] = d + 1; + c[f + (d << 2) >> 2] = e; + d = c[b >> 2] | 0 + } + f = b + -48 | 0; + e = c[((d & 3 | 0) == 2 ? b : f) + 40 >> 2] | 0; + if (!(a[(c[e + 16 >> 2] | 0) + 157 >> 0] | 0)) { + i = c[46492] | 0; + d = c[46493] | 0; + c[46493] = d + 1; + c[i + (d << 2) >> 2] = e; + d = c[b >> 2] | 0 + } + i = (c[((d & 3 | 0) == 3 ? b : g) + 40 >> 2] | 0) + 16 | 0; + d = c[i >> 2] | 0; + a[d + 157 >> 0] = 1; + e = c[d + 272 >> 2] | 0; + d = d + 276 | 0; + g = c[d >> 2] | 0; + c[d >> 2] = g + 1; + c[e + (g << 2) >> 2] = b; + g = c[i >> 2] | 0; + c[(c[g + 272 >> 2] | 0) + (c[g + 276 >> 2] << 2) >> 2] = 0; + i = c[i >> 2] | 0; + if (!(c[(c[i + 180 >> 2] | 0) + ((c[i + 276 >> 2] | 0) + -1 << 2) >> 2] | 0)) { + Pw(1, 99461, h + 8 | 0) | 0; + bb(185768, 1) + } + i = (c[((c[b >> 2] & 3 | 0) == 2 ? b : f) + 40 >> 2] | 0) + 16 | 0; + e = c[i >> 2] | 0; + a[e + 157 >> 0] = 1; + f = c[e + 264 >> 2] | 0; + e = e + 268 | 0; + g = c[e >> 2] | 0; + c[e >> 2] = g + 1; + c[f + (g << 2) >> 2] = b; + b = c[i >> 2] | 0; + c[(c[b + 264 >> 2] | 0) + (c[b + 268 >> 2] << 2) >> 2] = 0; + i = c[i >> 2] | 0; + if (!(c[(c[i + 172 >> 2] | 0) + ((c[i + 268 >> 2] | 0) + -1 << 2) >> 2] | 0)) { + Pw(1, 99496, h + 16 | 0) | 0; + bb(185768, 1) + } else { + l = h; + return + } + } + + function cI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + while (1) { + g = a + 12 | 0; + d = c[g >> 2] | 0; + if ((d | 0) == 0 | (d | 0) == (a | 0)) break; else a = d + } + while (1) { + f = b + 12 | 0; + d = c[f >> 2] | 0; + if ((d | 0) == 0 | (d | 0) == (b | 0)) break; else b = d + } + if ((a | 0) != (b | 0)) { + e = c[a + 8 >> 2] | 0; + d = c[b + 8 >> 2] | 0; + do if ((e | 0) > -1) if ((d | 0) == -1) h = a; else j = 10; else if ((d | 0) > -1) if ((e | 0) == -1) { + h = b; + break + } else { + j = 10; + break + } else qa(99350, 99305, 327, 99397); while (0); + if ((j | 0) == 10) h = (c[b + 4 >> 2] | 0) < (c[a + 4 >> 2] | 0) ? a : b; + c[f >> 2] = h; + c[g >> 2] = h; + c[h + 4 >> 2] = (c[b + 4 >> 2] | 0) + (c[a + 4 >> 2] | 0); + if ((c[h + 8 >> 2] | 0) > -1) i = h; else qa(99408, 99305, 335, 99397) + } else i = a; + return i | 0 + } + + function dI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + l = $H(a) | 0; + if (d) { + k = c[d >> 2] & 3; + if (((c[(c[(c[((k | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((k | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0) != (e[(c[d + 16 >> 2] | 0) + 170 >> 1] | 0 | 0)) f = 3 + } else { + d = 0; + f = 3 + } + a:do if ((f | 0) == 3) { + k = a + 16 | 0; + j = 0; + while (1) { + f = c[k >> 2] | 0; + i = c[(c[f + 180 >> 2] | 0) + (j << 2) >> 2] | 0; + if (!i) { + j = 0; + break + } + f = i + 16 | 0; + g = i + -48 | 0; + h = c[((c[i >> 2] & 3 | 0) == 2 ? i : g) + 40 >> 2] | 0; + do if ((c[(c[f >> 2] | 0) + 164 >> 2] | 0) > -1) { + if ((h | 0) != (b | 0)) d = dI(h, a, d) | 0 + } else if (($H(h) | 0) != (l | 0)) { + if (d | 0 ? (m = c[i >> 2] & 3, h = c[d >> 2] & 3, ((c[(c[(c[((m | 0) == 2 ? i : g) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((m | 0) == 3 ? i : i + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[f >> 2] | 0) + 170 >> 1] | 0) | 0) >= ((c[(c[(c[((h | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((h | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[d + 16 >> 2] | 0) + 170 >> 1] | 0) | 0)) : 0) break; + d = i + } while (0); + j = j + 1 | 0 + } + while (1) { + f = c[(c[f + 172 >> 2] | 0) + (j << 2) >> 2] | 0; + if (!f) break a; + g = f + 16 | 0; + h = f + 48 | 0; + i = c[((c[f >> 2] & 3 | 0) == 3 ? f : h) + 40 >> 2] | 0; + do if ((c[(c[g >> 2] | 0) + 164 >> 2] | 0) > -1) { + if ((i | 0) != (b | 0)) d = dI(i, a, d) | 0 + } else if (($H(i) | 0) != (l | 0)) { + if (d | 0 ? (i = c[f >> 2] & 3, m = c[d >> 2] & 3, ((c[(c[(c[((i | 0) == 2 ? f : f + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((i | 0) == 3 ? f : h) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[g >> 2] | 0) + 170 >> 1] | 0) | 0) >= ((c[(c[(c[((m | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[(c[(c[((m | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (e[(c[d + 16 >> 2] | 0) + 170 >> 1] | 0) | 0)) : 0) break; + d = f + } while (0); + j = j + 1 | 0; + f = c[k >> 2] | 0 + } + } while (0); + return d | 0 + } + + function eI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + l = a + 16 | 0; + d = c[l >> 2] | 0; + c[d + 280 >> 2] = b; + a = 1; + h = 0; + while (1) { + g = c[(c[d + 172 >> 2] | 0) + (h << 2) >> 2] | 0; + if (!g) { + h = 0; + break + } + f = c[g + 16 >> 2] | 0; + if (((c[f + 164 >> 2] | 0) <= -1 ? (i = c[g >> 2] & 3, j = g + 48 | 0, k = c[(c[((i | 0) == 3 ? g : j) + 40 >> 2] | 0) + 16 >> 2] | 0, (c[k + 280 >> 2] | 0) == 0) : 0) ? ((c[(c[(c[((i | 0) == 2 ? g : g + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) - (c[k + 232 >> 2] | 0) | 0) == (e[f + 170 >> 1] | 0 | 0) : 0) { + bI(g); + a = (eI(c[((c[g >> 2] & 3 | 0) == 3 ? g : j) + 40 >> 2] | 0, b) | 0) + a | 0; + d = c[l >> 2] | 0 + } + h = h + 1 | 0 + } + while (1) { + f = c[(c[d + 180 >> 2] | 0) + (h << 2) >> 2] | 0; + if (!f) break; + g = c[f + 16 >> 2] | 0; + if (((c[g + 164 >> 2] | 0) <= -1 ? (m = c[f >> 2] & 3, n = f + -48 | 0, o = c[(c[((m | 0) == 2 ? f : n) + 40 >> 2] | 0) + 16 >> 2] | 0, (c[o + 280 >> 2] | 0) == 0) : 0) ? ((c[o + 232 >> 2] | 0) - (c[(c[(c[((m | 0) == 3 ? f : f + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 232 >> 2] | 0) | 0) == (e[g + 170 >> 1] | 0 | 0) : 0) { + bI(f); + a = (eI(c[((c[f >> 2] & 3 | 0) == 2 ? f : n) + 40 >> 2] | 0, b) | 0) + a | 0; + d = c[l >> 2] | 0 + } + h = h + 1 | 0 + } + return a | 0 + } + + function fI(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + d = xx(a, 99560) | 0; + if (!d) d = 30; else d = a2(d) | 0; + return yH(a, b, c, d) | 0 + } + + function gI(a) { + a = +a; + return +((c[46369] | 0) == 0 ? a : +h[22916] - a) + } + + function hI(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0.0, u = 0; + r = l; + l = l + 16 | 0; + q = r; + c[46494] = c[(c[(c[d + 64 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2]; + iI(d); + i = c[d + 16 >> 2] | 0; + t = +h[i + 32 >> 3]; + s = +h[i + 40 >> 3]; + jI(e, 99571, +h[b + 352 >> 3]); + jI(e, 99578, t * .013888888888888888); + jI(e, 99578, s * .013888888888888888); + kI(e); + i = Sy(d) | 0; + while (1) { + if (!i) break; + g = i + 16 | 0; + if (!(a[(c[g >> 2] | 0) + 118 >> 0] | 0)) { + lI(e, 99580, JA(ry(i) | 0) | 0); + p = (c[g >> 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]; + mI(e, q); + if (!(a[(c[(c[g >> 2] | 0) + 104 >> 2] | 0) + 82 >> 0] | 0)) { + b = ez(i) | 0; + b = nI(b, c[c[(c[g >> 2] | 0) + 104 >> 2] >> 2] | 0) | 0 + } else b = JA(yx(i, c[46384] | 0) | 0) | 0; + jI(e, 99578, +h[(c[g >> 2] | 0) + 32 >> 3]); + jI(e, 99578, +h[(c[g >> 2] | 0) + 40 >> 3]); + lI(e, 99578, b); + lI(e, 99578, OL(i, c[46387] | 0, 108041) | 0); + lI(e, 99578, c[c[(c[g >> 2] | 0) + 8 >> 2] >> 2] | 0); + lI(e, 99578, OL(i, c[46378] | 0, 134232) | 0); + b = OL(i, c[46379] | 0, 191979) | 0; + if (!(a[b >> 0] | 0)) b = OL(i, c[46378] | 0, 131718) | 0; + lI(e, 99578, b); + kI(e) + } + i = Ty(d, i) | 0 + } + o = f << 24 >> 24 == 0; + n = Sy(d) | 0; + while (1) { + if (!n) break; + m = Ex(d, n) | 0; + while (1) { + if (!m) break; + if (o) { + f = 191979; + j = 191979 + } else { + j = xx(m, 108373) | 0; + f = xx(m, 108382) | 0; + f = f | 0 ? f : 191979; + j = j | 0 ? j : 191979 + } + p = m + 16 | 0; + b = c[p >> 2] | 0; + k = c[b + 8 >> 2] | 0; + a:do if (k) { + i = c[k + 4 >> 2] | 0; + b = 0; + g = 0; + while (1) { + if ((b | 0) >= (i | 0)) break; + u = (c[(c[k >> 2] | 0) + (b * 48 | 0) + 4 >> 2] | 0) + g | 0; + b = b + 1 | 0; + g = u + } + lI(e, 0, 108368); + oI(e, c[((c[m >> 2] & 3 | 0) == 3 ? m : m + 48 | 0) + 40 >> 2] | 0, j); + oI(e, c[((c[m >> 2] & 3 | 0) == 2 ? m : m + -48 | 0) + 40 >> 2] | 0, f); + pI(e, g); + f = 0; + while (1) { + b = c[p >> 2] | 0; + g = c[b + 8 >> 2] | 0; + if ((f | 0) >= (c[g + 4 >> 2] | 0)) break a; + i = c[g >> 2] | 0; + g = c[i + (f * 48 | 0) >> 2] | 0; + i = c[i + (f * 48 | 0) + 4 >> 2] | 0; + b = 0; + while (1) { + if ((b | 0) >= (i | 0)) break; + u = g + (b << 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]; + mI(e, q); + b = b + 1 | 0 + } + f = f + 1 | 0 + } + } while (0); + if (c[b + 96 >> 2] | 0) { + u = ez(c[((c[m >> 2] & 3 | 0) == 3 ? m : m + 48 | 0) + 40 >> 2] | 0) | 0; + lI(e, 99578, nI(u, c[c[(c[p >> 2] | 0) + 96 >> 2] >> 2] | 0) | 0); + u = (c[(c[p >> 2] | 0) + 96 >> 2] | 0) + 56 | 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]; + mI(e, q) + } + lI(e, 99578, OL(m, c[46415] | 0, 108041) | 0); + lI(e, 99578, OL(m, c[46406] | 0, 134232) | 0); + kI(e); + m = Gx(d, m) | 0 + } + n = Ty(d, n) | 0 + } + qI(99586, e); + l = r; + return + } + + function iI(a) { + a = a | 0; + var b = 0.0; + if (c[46369] | 0) { + a = c[a + 16 >> 2] | 0; + b = +h[a + 24 >> 3] + +h[a + 40 >> 3]; + h[22916] = b; + h[22917] = b * .013888888888888888 + } + return + } + + function jI(a, b, c) { + a = a | 0; + b = b | 0; + c = +c; + var d = 0, e = 0, f = 0; + f = l; + l = l + 1040 | 0; + e = f; + d = f + 8 | 0; + if (b | 0) qI(b, a); + h[e >> 3] = c; + Y0(d, 99592, e) | 0; + qI(d, a); + l = f; + return + } + + function kI(b) { + b = b | 0; + a[191875] = 10; + lb[c[46494] & 127](b, 191875) | 0; + return + } + + function lI(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if (b | 0) qI(b, a); + qI(c, a); + return + } + + function mI(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0; + jI(a, 99578, +h[b >> 3] * .013888888888888888); + if (!(c[46369] | 0)) d = +h[b + 8 >> 3]; else d = +h[22916] - +h[b + 8 >> 3]; + jI(a, 99578, d * .013888888888888888); + return + } + + function nI(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = Oz(a, b) | 0; + b = JA(c) | 0; + Qz(a, c) | 0; + return b | 0 + } + + function oI(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + if (!(a[(c[d + 16 >> 2] | 0) + 118 >> 0] | 0)) d = JA(ry(d) | 0) | 0; else { + f = ez(d) | 0; + d = nI(f, (A$(ry(d) | 0, 58) | 0) + 1 | 0) | 0 + } + lI(b, 99578, d); + if (e | 0 ? a[e >> 0] | 0 : 0) lI(b, 104958, JA(e) | 0); + return + } + + function pI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 1040 | 0; + f = d; + e = d + 8 | 0; + qI(99578, a); + c[f >> 2] = b; + Y0(e, 134313, f) | 0; + qI(e, a); + l = d; + return + } + + function qI(a, b) { + a = a | 0; + b = b | 0; + lb[c[46494] & 127](b, a) | 0; + return + } + + function rI(d, f, g) { + d = d | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0, o = 0.0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, + M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0; + Y = l; + l = l + 2288 | 0; + W = Y + 208 | 0; + V = Y + 192 | 0; + U = Y + 176 | 0; + T = Y + 160 | 0; + S = Y + 144 | 0; + R = Y + 128 | 0; + P = Y + 112 | 0; + O = Y + 96 | 0; + N = Y + 80 | 0; + M = Y + 64 | 0; + L = Y + 56 | 0; + K = Y + 48 | 0; + X = Y + 32 | 0; + Q = Y + 24 | 0; + J = Y; + G = Y + 1264 | 0; + H = Y + 224 | 0; + I = d + 16 | 0; + C = (e[(c[I >> 2] | 0) + 178 >> 1] | 0) > 2; + CG(1); + iI(d); + Tw(H, 1024, Y + 240 | 0); + LM(d, 1, 99597, 191979) | 0; + LM(d, 1, 99601, 191979) | 0; + c[46376] = LM(d, 1, 138034, 191979) | 0; + c[46375] = LM(d, 1, 137966, 191979) | 0; + LM(d, 2, 99597, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0; + if (i & 16) { + LM(d, 1, 99607, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0 + } + if (i & 1) { + LM(d, 2, 99611, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0 + } + if (i & 32) { + LM(d, 2, 99607, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0 + } + if (i & 2) { + LM(d, 2, 99614, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0 + } + if (i & 4) { + LM(d, 2, 99622, 191979) | 0; + i = a[(c[I >> 2] | 0) + 113 >> 0] | 0 + } + if (!(i & 8)) { + v = 0; + w = 0; + x = 0 + } else { + x = LM(d, 0, 99611, 191979) | 0; + w = LM(d, 0, 99630, 191979) | 0; + v = LM(d, 0, 99637, 191979) | 0 + } + z = LM(d, 0, 99645, 191979) | 0; + A = H + 4 | 0; + B = H + 8 | 0; + u = 0; + i = 0; + y = Sy(d) | 0; + while (1) { + if (!y) break; + t = y + 16 | 0; + k = c[t >> 2] | 0; + o = +h[k + 16 >> 3]; + j = (c[46369] | 0) == 0; + if (C) { + if (j) m = +h[k + 24 >> 3]; else m = +h[22916] - +h[k + 24 >> 3]; + q = +h[(c[k + 132 >> 2] | 0) + 16 >> 3] * 72.0; + h[J >> 3] = o; + h[J + 8 >> 3] = m; + h[J + 16 >> 3] = q; + Y0(G, 99648, J) | 0; + Ww(H, G) | 0; + j = 3; + while (1) { + if ((j | 0) >= (e[(c[I >> 2] | 0) + 178 >> 1] | 0)) break; + h[Q >> 3] = +h[(c[(c[t >> 2] | 0) + 132 >> 2] | 0) + (j << 3) >> 3] * 72.0; + Y0(G, 99663, Q) | 0; + Ww(H, G) | 0; + j = j + 1 | 0 + } + j = c[A >> 2] | 0; + if (j >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + j = c[A >> 2] | 0 + } + a[j >> 0] = 0; + s = c[H >> 2] | 0; + c[A >> 2] = s; + zx(y, 99597, s) | 0; + s = y + } else { + if (j) m = +h[k + 24 >> 3]; else m = +h[22916] - +h[k + 24 >> 3]; + h[X >> 3] = o; + h[X + 8 >> 3] = m; + Y0(G, 99669, X) | 0; + zx(y, 99597, G) | 0; + s = y + } + h[K >> 3] = +h[(c[t >> 2] | 0) + 80 >> 3] * .013888888888888888; + Y0(G, 99592, K) | 0; + rx(s, c[46375] | 0, G) | 0; + j = c[t >> 2] | 0; + h[L >> 3] = (+h[j + 96 >> 3] + +h[j + 88 >> 3]) * .013888888888888888; + Y0(G, 99592, L) | 0; + rx(s, c[46376] | 0, G) | 0; + j = c[t >> 2] | 0; + k = c[j + 108 >> 2] | 0; + if ((k | 0) != 0 ? (a[k + 81 >> 0] | 0) != 0 : 0) { + q = +h[k + 64 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[M >> 3] = +h[k + 56 >> 3]; + h[M + 8 >> 3] = q; + Y0(G, 99669, M) | 0; + zx(s, 99607, G) | 0; + j = c[t >> 2] | 0 + } + if (b$(c[c[j + 8 >> 2] >> 2] | 0, 103194) | 0) { + if (c[46400] | 0 ? (UJ(y) | 0) << 24 >> 24 : 0) { + k = c[(c[t >> 2] | 0) + 12 >> 2] | 0; + r = k + 8 | 0; + j = c[r >> 2] | 0; + if ((j | 0) < 3) { + j = xx(s, 99679) | 0; + if (!j) j = 8; else j = a2(j) | 0; + j = (j | 0) < 3 ? 8 : j + } + p = k + 44 | 0; + q = 1.0 / +(j | 0); + n = 0; + while (1) { + if ((n | 0) >= (j | 0)) break; + if ((n | 0) > 0) { + k = c[A >> 2] | 0; + if (k >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + k = c[A >> 2] | 0 + } + c[A >> 2] = k + 1; + a[k >> 0] = 32 + } + if ((c[r >> 2] | 0) > 2) { + k = c[p >> 2] | 0; + if (!(c[46369] | 0)) m = +h[k + (n << 4) + 8 >> 3] * .013888888888888888; else m = +h[22917] - +h[k + (n << 4) + 8 >> 3] * .013888888888888888; + h[N >> 3] = +h[k + (n << 4) >> 3] * .013888888888888888; + h[N + 8 >> 3] = m; + Y0(G, 99692, N) | 0 + } else { + k = c[t >> 2] | 0; + m = q * +(n | 0) * 6.283185307179586; + o = +h[k + 32 >> 3] * .5 * +E(+m); + if (!(c[46369] | 0)) m = +h[k + 40 >> 3] * .5 * +F(+m); else m = +h[22917] - +h[k + 40 >> 3] * .5 * +F(+m); + h[O >> 3] = o; + h[O + 8 >> 3] = m; + Y0(G, 99692, O) | 0 + } + Ww(H, G) | 0; + n = n + 1 | 0 + } + k = c[46400] | 0; + j = c[A >> 2] | 0; + if (j >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + j = c[A >> 2] | 0 + } + a[j >> 0] = 0; + t = c[H >> 2] | 0; + c[A >> 2] = t; + rx(s, k, t) | 0 + } + } else { + sI(y, c[j + 12 >> 2] | 0, H); + Yw(H) | 0; + j = c[A >> 2] | 0; + if (j >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + j = c[A >> 2] | 0 + } + a[j >> 0] = 0; + t = c[H >> 2] | 0; + c[A >> 2] = t; + zx(s, 99601, t) | 0 + } + a:do if ((c[46367] | 0) > 0) { + t = Ex(d, y) | 0; + j = u; + while (1) { + if (!t) break a; + s = t + 16 | 0; + k = c[s >> 2] | 0; + do if ((a[k + 112 >> 0] | 0) != 6 ? (D = c[k + 8 >> 2] | 0, (D | 0) != 0) : 0) { + r = 0; + k = D; + while (1) { + if ((r | 0) >= (c[k + 4 >> 2] | 0)) break; + if ((r | 0) > 0) { + k = c[A >> 2] | 0; + if (k >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + k = c[A >> 2] | 0 + } + c[A >> 2] = k + 1; + a[k >> 0] = 59; + k = c[(c[s >> 2] | 0) + 8 >> 2] | 0 + } + k = c[k >> 2] | 0; + if (c[k + (r * 48 | 0) + 8 >> 2] | 0) { + if (!(c[46369] | 0)) m = +h[k + (r * 48 | 0) + 24 >> 3]; else m = +h[22916] - +h[k + (r * 48 | 0) + 24 >> 3]; + h[P >> 3] = +h[k + (r * 48 | 0) + 16 >> 3]; + h[P + 8 >> 3] = m; + Y0(G, 99702, P) | 0; + Ww(H, G) | 0; + i = 1; + k = c[c[(c[s >> 2] | 0) + 8 >> 2] >> 2] | 0 + } + if (c[k + (r * 48 | 0) + 12 >> 2] | 0) { + if (!(c[46369] | 0)) m = +h[k + (r * 48 | 0) + 40 >> 3]; else m = +h[22916] - +h[k + (r * 48 | 0) + 40 >> 3]; + h[R >> 3] = +h[k + (r * 48 | 0) + 32 >> 3]; + h[R + 8 >> 3] = m; + Y0(G, 99715, R) | 0; + Ww(H, G) | 0; + j = 1 + } + p = 0; + while (1) { + k = c[(c[s >> 2] | 0) + 8 >> 2] | 0; + n = c[k >> 2] | 0; + if ((p | 0) >= (c[n + (r * 48 | 0) + 4 >> 2] | 0)) break; + if ((p | 0) > 0) { + k = c[A >> 2] | 0; + if (k >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + k = c[A >> 2] | 0 + } + c[A >> 2] = k + 1; + a[k >> 0] = 32; + k = c[c[(c[s >> 2] | 0) + 8 >> 2] >> 2] | 0 + } else k = n; + u = c[k + (r * 48 | 0) >> 2] | 0; + q = +h[u + (p << 4) + 8 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[S >> 3] = +h[u + (p << 4) >> 3]; + h[S + 8 >> 3] = q; + Y0(G, 99669, S) | 0; + Ww(H, G) | 0; + p = p + 1 | 0 + } + r = r + 1 | 0 + } + k = c[A >> 2] | 0; + if (k >>> 0 >= (c[B >> 2] | 0) >>> 0) { + Uw(H, 1) | 0; + k = c[A >> 2] | 0 + } + a[k >> 0] = 0; + k = c[H >> 2] | 0; + c[A >> 2] = k; + zx(t, 99597, k) | 0; + k = c[s >> 2] | 0; + n = c[k + 96 >> 2] | 0; + if (n) { + q = +h[n + 64 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[T >> 3] = +h[n + 56 >> 3]; + h[T + 8 >> 3] = q; + Y0(G, 99669, T) | 0; + zx(t, 99611, G) | 0; + k = c[s >> 2] | 0 + } + n = c[k + 108 >> 2] | 0; + do if (n) { + if (!(a[n + 81 >> 0] | 0)) break; + q = +h[n + 64 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[U >> 3] = +h[n + 56 >> 3]; + h[U + 8 >> 3] = q; + Y0(G, 99669, U) | 0; + zx(t, 99607, G) | 0; + k = c[s >> 2] | 0 + } while (0); + n = c[k + 100 >> 2] | 0; + if (n) { + q = +h[n + 64 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[V >> 3] = +h[n + 56 >> 3]; + h[V + 8 >> 3] = q; + Y0(G, 99669, V) | 0; + zx(t, 99614, G) | 0; + k = c[s >> 2] | 0 + } + k = c[k + 104 >> 2] | 0; + if (!k) break; + q = +h[k + 64 >> 3]; + q = (c[46369] | 0) == 0 ? q : +h[22916] - q; + h[W >> 3] = +h[k + 56 >> 3]; + h[W + 8 >> 3] = q; + Y0(G, 99669, W) | 0; + zx(t, 99622, G) | 0 + } while (0); + t = Gx(d, t) | 0 + } + } else j = u; while (0); + u = j; + y = Ty(d, y) | 0 + } + tI(d, z, x, w, v); + Xw(H); + if (b[(c[I >> 2] | 0) + 136 >> 1] & 1) FM(d); + c[f >> 2] = i; + c[g >> 2] = u; + CG(0); + l = Y; + return + } + + function sI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0.0; + n = l; + l = l + 1056 | 0; + k = n; + j = n + 32 | 0; + m = b + 48 | 0; + if (!(c[m >> 2] | 0)) { + e = c[a + 16 >> 2] | 0; + i = +h[e + 16 >> 3]; + if (!(c[46369] | 0)) { + g = +h[e + 24 >> 3]; + f = g + +h[b + 24 >> 3]; + g = g + +h[b + 40 >> 3] + } else { + g = +h[e + 24 >> 3]; + f = +h[22916] - +h[b + 24 >> 3] - g; + g = +h[22916] - +h[b + 40 >> 3] - g + } + o = i + +h[b + 32 >> 3]; + h[k >> 3] = i + +h[b + 16 >> 3]; + h[k + 8 >> 3] = f; + h[k + 16 >> 3] = o; + h[k + 24 >> 3] = g; + Y0(j, 99753, k) | 0; + Ww(d, j) | 0 + } + b = b + 56 | 0; + e = 0; + while (1) { + if ((e | 0) >= (c[m >> 2] | 0)) break; + sI(a, c[(c[b >> 2] | 0) + (e << 2) >> 2] | 0, d); + e = e + 1 | 0 + } + l = n; + return + } + + function tI(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0; + s = l; + l = l + 1088 | 0; + o = s + 56 | 0; + q = s + 48 | 0; + p = s + 32 | 0; + j = s; + n = s + 64 | 0; + r = b + 16 | 0; + i = c[r >> 2] | 0; + if (!(c[46369] | 0)) { + k = +h[i + 24 >> 3]; + m = +h[i + 40 >> 3] + } else { + m = +h[22916]; + k = m - +h[i + 24 >> 3]; + m = m - +h[i + 40 >> 3] + } + t = +h[i + 32 >> 3]; + h[j >> 3] = +h[i + 16 >> 3]; + h[j + 8 >> 3] = k; + h[j + 16 >> 3] = t; + h[j + 24 >> 3] = m; + Y0(n, 99728, j) | 0; + rx(b, d, n) | 0; + i = c[(c[r >> 2] | 0) + 12 >> 2] | 0; + if ((i | 0) != 0 ? (a[c[i >> 2] >> 0] | 0) != 0 : 0) { + t = +h[i + 64 >> 3]; + t = (c[46369] | 0) == 0 ? t : +h[22916] - t; + h[p >> 3] = +h[i + 56 >> 3]; + h[p + 8 >> 3] = t; + Y0(n, 99669, p) | 0; + rx(b, e, n) | 0; + i = c[(c[r >> 2] | 0) + 12 >> 2] | 0; + t = +h[i + 32 >> 3]; + h[q >> 3] = +h[i + 24 >> 3] * .013888888888888888; + Y0(n, 99748, q) | 0; + rx(b, f, n) | 0; + h[o >> 3] = t * .013888888888888888; + Y0(n, 99748, o) | 0; + rx(b, g, n) | 0; + i = 1 + } else i = 1; + while (1) { + j = c[r >> 2] | 0; + if ((i | 0) > (c[j + 180 >> 2] | 0)) break; + tI(c[(c[j + 184 >> 2] | 0) + (i << 2) >> 2] | 0, d, e, f, g); + i = i + 1 | 0 + } + l = s; + return + } + + function uI(a) { + a = a | 0; + var b = 0; + b = l; + l = l + 16 | 0; + rI(a, b, b + 4 | 0); + l = b; + return + } + + function vI() { + return Cw(20636, c[4555] | 0) | 0 + } + + function wI(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function xI(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[b >> 2] | 0; + e = c[d >> 2] | 0; + if ((a | 0) <= (e | 0)) if ((a | 0) < (e | 0)) a = -1; else { + b = c[b + 4 >> 2] | 0; + d = c[d + 4 >> 2] | 0; + return ((b | 0) > (d | 0) ? 1 : ((b | 0) < (d | 0)) << 31 >> 31) | 0 + } else a = 1; + return a | 0 + } + + function yI(a) { + a = a | 0; + yw(a) | 0; + return + } + + function zI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = c[b >> 2]; + c[e + 4 >> 2] = c[b + 4 >> 2]; + b = AI(e) | 0; + if ((nb[c[a >> 2] & 63](a, b, 1) | 0) != (b | 0)) D_(b); + l = d; + return + } + + function AI(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = uH(16) | 0; + e = a; + d = c[e + 4 >> 2] | 0; + a = b + 8 | 0; + c[a >> 2] = c[e >> 2]; + c[a + 4 >> 2] = d; + return b | 0 + } + + function BI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = l; + l = l + 16 | 0; + f = e + 8 | 0; + g = e; + c[g >> 2] = b; + c[g + 4 >> 2] = d; + c[f >> 2] = c[g >> 2]; + c[f + 4 >> 2] = c[g + 4 >> 2]; + b = AI(f) | 0; + if ((nb[c[a >> 2] & 63](a, b, 1) | 0) != (b | 0)) D_(b); + l = e; + return + } + + function CI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = l; + l = l + 16 | 0; + e = d; + g = b; + f = c[g + 4 >> 2] | 0; + b = e + 8 | 0; + c[b >> 2] = c[g >> 2]; + c[b + 4 >> 2] = f; + b = (nb[c[a >> 2] & 63](a, e, 4) | 0) != 0 & 1; + l = d; + return b | 0 + } + + function DI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f + 8 >> 2] = b; + c[f + 12 >> 2] = d; + d = (nb[c[a >> 2] & 63](a, f, 4) | 0) != 0 & 1; + l = e; + return d | 0 + } + + function EI(a) { + a = a | 0; + return Ew(a) | 0 + } + + function FI(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + d = uH((Ew(a) | 0) << 3) | 0; + b = d; + a = Aw(a) | 0; + while (1) { + if (!a) break; + g = a + 8 | 0; + f = c[g + 4 >> 2] | 0; + e = b; + c[e >> 2] = c[g >> 2]; + c[e + 4 >> 2] = f; + b = b + 8 | 0; + a = c[a >> 2] | 0 + } + return d | 0 + } + + function GI() { + var a = 0, b = 0, d = 0, e = 0; + a = vH(40) | 0; + b = a; + d = 20672; + e = b + 36 | 0; + do { + c[b >> 2] = c[d >> 2]; + b = b + 4 | 0; + d = d + 4 | 0 + } while ((b | 0) < (e | 0)); + c[a + 36 >> 2] = 0; + return Cw(a, c[4555] | 0) | 0 + } + + function HI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + d = d + 36 | 0; + a = c[d >> 2] | 0; + if (!a) a = vH(20) | 0; else c[d >> 2] = c[a >> 2]; + f = b + 8 | 0; + e = c[f + 4 >> 2] | 0; + d = a + 8 | 0; + c[d >> 2] = c[f >> 2]; + c[d + 4 >> 2] = e; + c[a + 16 >> 2] = c[b + 16 >> 2]; + return a | 0 + } + + function II(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = d + 36 | 0; + c[b >> 2] = c[d >> 2]; + c[d >> 2] = b; + return + } + + function JI(a) { + a = a | 0; + nb[c[a >> 2] & 63](a, 0, 64) | 0; + return + } + + function KI(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 4 >> 2] | 0; + yw(a) | 0; + a = c[b + 36 >> 2] | 0; + while (1) { + if (!a) break; + d = c[a >> 2] | 0; + D_(a); + a = d + } + D_(b); + return + } + + function LI(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = l; + l = l + 32 | 0; + g = f; + c[g + 8 >> 2] = b; + c[g + 12 >> 2] = d; + c[g + 16 >> 2] = e; + e = c[(nb[c[a >> 2] & 63](a, g, 1) | 0) + 16 >> 2] | 0; + l = f; + return e | 0 + } + + function MI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0; + t = l; + l = l + 160 | 0; + q = t + 144 | 0; + d = t + 48 | 0; + j = t + 128 | 0; + k = t + 112 | 0; + m = t + 96 | 0; + n = t + 80 | 0; + o = t + 32 | 0; + p = t + 16 | 0; + r = t; + s = a + 16 | 0; + a = c[s >> 2] | 0; + e = +h[a + 16 >> 3]; + f = +h[a + 24 >> 3]; + g = +h[a + 32 >> 3]; + i = +h[a + 40 >> 3]; + if ((b + -1 | 0) >>> 0 < 2) { + NI(j, e, i); + 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]; + OI(d, q); + p = d + 16 | 0; + NI(k, g, f); + 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]; + OI(m, q); + 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] + } else { + NI(n, e, f); + 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]; + OI(d, q); + n = d + 16 | 0; + NI(o, g, i); + 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]; + OI(p, q); + c[n >> 2] = c[p >> 2]; + c[n + 4 >> 2] = c[p + 4 >> 2]; + c[n + 8 >> 2] = c[p + 8 >> 2]; + c[n + 12 >> 2] = c[p + 12 >> 2] + } + a = (c[s >> 2] | 0) + 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]; + 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]; + a = c[(c[s >> 2] | 0) + 12 >> 2] | 0; + if (!a) a = 1; else { + a = a + 56 | 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]; + OI(r, q); + 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]; + a = 1 + } + while (1) { + d = c[s >> 2] | 0; + if ((a | 0) > (c[d + 180 >> 2] | 0)) break; + MI(c[(c[d + 184 >> 2] | 0) + (a << 2) >> 2] | 0, b); + a = a + 1 | 0 + } + l = t; + return + } + + function NI(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function OI(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = l; + l = l + 32 | 0; + g = d + 16 | 0; + e = d; + f = (c[46495] | 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]; + ZG(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[22918]; + e = b + 8 | 0; + h[e >> 3] = +h[e >> 3] - +h[22919]; + c[a >> 2] = c[b >> 2]; + c[a + 4 >> 2] = c[b + 4 >> 2]; + c[a + 8 >> 2] = c[b + 8 >> 2]; + c[a + 12 >> 2] = c[b + 12 >> 2]; + l = d; + return + } + + function PI(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0, j = 0.0, k = 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; + w = l; + l = l + 1168 | 0; + s = w + 144 | 0; + v = w + 96 | 0; + u = w + 64 | 0; + t = w + 48 | 0; + o = w + 32 | 0; + p = w + 16 | 0; + q = w; + c[t >> 2] = 0; + c[t + 4 >> 2] = 0; + c[t + 8 >> 2] = 0; + c[t + 12 >> 2] = 0; + r = b + 16 | 0; + m = c[(c[r >> 2] | 0) + 116 >> 2] | 0; + c[46495] = m & 3; + m = m & 1; + a[191877] = m; + if (!(m << 24 >> 24)) RI(b); else QI(b); + SI(b); + m = c[r >> 2] | 0; + e = c[m + 12 >> 2] | 0; + do if (e | 0 ? (a[e + 81 >> 0] | 0) == 0 : 0) { + g = e + 24 | 0; + c[t >> 2] = c[g >> 2]; + c[t + 4 >> 2] = c[g + 4 >> 2]; + c[t + 8 >> 2] = c[g + 8 >> 2]; + c[t + 12 >> 2] = c[g + 12 >> 2]; + n = +h[t >> 3] + 16.0; + h[t >> 3] = n; + g = t + 8 | 0; + f = +h[g >> 3] + 8.0; + h[g >> 3] = f; + g = (a[m + 275 >> 0] & 1) != 0; + if (a[191877] | 0) { + if (g) { + i = m + 32 | 0; + h[i >> 3] = +h[i >> 3] + f + } else { + i = m + 16 | 0; + h[i >> 3] = +h[i >> 3] - f + } + g = m + 40 | 0; + f = +h[g >> 3]; + i = m + 24 | 0; + j = +h[i >> 3]; + k = f - j; + if (!(n > k)) break; + n = (n - k) * .5; + h[i >> 3] = j - n; + h[g >> 3] = f + n; + break + } + i = (c[46495] | 0) == 0; + do if (g) if (i) { + i = m + 40 | 0; + h[i >> 3] = +h[i >> 3] + f; + break + } else { + i = m + 24 | 0; + h[i >> 3] = +h[i >> 3] - f; + break + } else if (i) { + i = m + 24 | 0; + h[i >> 3] = +h[i >> 3] - f; + break + } else { + i = m + 40 | 0; + h[i >> 3] = +h[i >> 3] + f; + break + } while (0); + g = m + 32 | 0; + f = +h[g >> 3]; + i = m + 16 | 0; + j = +h[i >> 3]; + k = f - j; + if (n > k) { + n = (n - k) * .5; + h[i >> 3] = j - n; + h[g >> 3] = f + n + } + } while (0); + if (d) { + switch (c[46495] | 0) { + case 0: { + q = m + 16 | 0; + c[45836] = c[q >> 2]; + c[45837] = c[q + 4 >> 2]; + c[45838] = c[q + 8 >> 2]; + c[45839] = c[q + 12 >> 2]; + break + } + case 1: { + NI(o, -+h[m + 40 >> 3], +h[m + 16 >> 3]); + c[45836] = c[o >> 2]; + c[45837] = c[o + 4 >> 2]; + c[45838] = c[o + 8 >> 2]; + c[45839] = c[o + 12 >> 2]; + break + } + case 2: { + NI(p, +h[m + 16 >> 3], -+h[m + 40 >> 3]); + c[45836] = c[p >> 2]; + c[45837] = c[p + 4 >> 2]; + c[45838] = c[p + 8 >> 2]; + c[45839] = c[p + 12 >> 2]; + break + } + case 3: { + NI(q, +h[m + 24 >> 3], +h[m + 16 >> 3]); + c[45836] = c[q >> 2]; + c[45837] = c[q + 4 >> 2]; + c[45838] = c[q + 8 >> 2]; + c[45839] = c[q + 12 >> 2]; + break + } + default: { + } + } + TI(b); + e = c[(c[r >> 2] | 0) + 12 >> 2] | 0 + } + if (e | 0 ? (a[e + 81 >> 0] | 0) == 0 : 0) { + 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]; + UI(b, s) + } + if (!0) { + l = w; + return + } + if (!(a[191877] | 0)) { + n = +h[22919]; + k = +h[22918]; + h[v >> 3] = n; + h[v + 8 >> 3] = k; + h[v + 16 >> 3] = n; + h[v + 24 >> 3] = k; + h[v + 32 >> 3] = -k; + h[v + 40 >> 3] = -n; + Y0(s, 99989, v) | 0 + } else { + k = +h[22918]; + n = +h[22919]; + h[u >> 3] = k; + h[u + 8 >> 3] = n; + h[u + 16 >> 3] = k; + h[u + 24 >> 3] = n; + Y0(s, 99774, u) | 0 + } + n1(s) | 0; + ab() + } + + function QI(b) { + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0; + j = b + 16 | 0; + if (((fz(b) | 0) != (b | 0) ? (g = c[j >> 2] | 0, i = c[g + 12 >> 2] | 0, (i | 0) != 0) : 0) ? (a[i + 81 >> 0] | 0) == 0 : 0) { + d = a[g + 275 >> 0] | 0; + if (!(d & 1)) { + f = +h[g + 16 >> 3] + +h[g + 96 >> 3] * .5; + b = g + 104 | 0 + } else { + f = +h[g + 32 >> 3] - +h[g + 64 >> 3] * .5; + b = g + 72 | 0 + } + e = +h[b >> 3]; + b = d << 24 >> 24; + do if (!(b & 4)) if (!(b & 2)) { + e = (+h[g + 40 >> 3] + +h[g + 24 >> 3]) * .5; + break + } else { + e = +h[g + 40 >> 3] - e * .5; + break + } else e = +h[g + 24 >> 3] + e * .5; while (0); + h[i + 56 >> 3] = f; + h[i + 64 >> 3] = e; + a[(c[(c[j >> 2] | 0) + 12 >> 2] | 0) + 81 >> 0] = 1; + b = 1 + } else b = 1; + while (1) { + d = c[j >> 2] | 0; + if ((b | 0) > (c[d + 180 >> 2] | 0)) break; + QI(c[(c[d + 184 >> 2] | 0) + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + return + } + + function RI(b) { + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0; + k = b + 16 | 0; + if (((fz(b) | 0) != (b | 0) ? (i = c[k >> 2] | 0, j = c[i + 12 >> 2] | 0, (j | 0) != 0) : 0) ? (a[j + 81 >> 0] | 0) == 0 : 0) { + d = a[i + 275 >> 0] | 0; + if (!(d & 1)) { + g = +h[i + 24 >> 3] + +h[i + 56 >> 3] * .5; + b = i + 48 | 0 + } else { + g = +h[i + 40 >> 3] - +h[i + 88 >> 3] * .5; + b = i + 80 | 0 + } + f = +h[b >> 3]; + b = d << 24 >> 24; + do if (!(b & 4)) { + e = +h[i + 16 >> 3]; + if (!(b & 2)) { + e = (+h[i + 32 >> 3] + e) * .5; + break + } else { + e = e + f * .5; + break + } + } else e = +h[i + 32 >> 3] - f * .5; while (0); + h[j + 56 >> 3] = e; + h[j + 64 >> 3] = g; + a[(c[(c[k >> 2] | 0) + 12 >> 2] | 0) + 81 >> 0] = 1; + b = 1 + } else b = 1; + while (1) { + d = c[k >> 2] | 0; + if ((b | 0) > (c[d + 180 >> 2] | 0)) break; + RI(c[(c[d + 184 >> 2] | 0) + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + return + } + + function SI(e) { + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, + I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0; + S = l; + l = l + 544 | 0; + L = S + 504 | 0; + R = S + 416 | 0; + Q = S + 376 | 0; + K = S + 352 | 0; + J = S + 312 | 0; + I = S + 288 | 0; + H = S + 248 | 0; + M = S + 200 | 0; + B = S + 152 | 0; + O = S + 96 | 0; + p = S + 488 | 0; + C = S + 456 | 0; + D = S + 424 | 0; + E = S + 384 | 0; + F = S + 360 | 0; + G = S + 320 | 0; + w = S + 296 | 0; + x = S + 256 | 0; + y = S + 232 | 0; + z = S + 168 | 0; + A = S + 136 | 0; + f = S + 56 | 0; + N = S + 16 | 0; + P = S; + o = e + 16 | 0; + u = c[o >> 2] | 0; + g = b[u + 136 >> 1] & 14; + u = d[u + 113 >> 0] | 0; + if (!((u & 54 | 0) == 0 ? (u & 1 | 0) == 0 | (c[46368] | 0) != 0 : 0)) { + u = g << 16 >> 16 == 0; + n = Sy(e) | 0; + h = 0; + j = 0; + i = 0; + while (1) { + if (!n) break; + g = c[(c[n + 16 >> 2] | 0) + 108 >> 2] | 0; + do if (g) if (!(a[g + 81 >> 0] | 0)) { + i = i + 1 | 0; + break + } else { + h = h + 1 | 0; + break + } while (0); + m = Ex(e, n) | 0; + g = j; + while (1) { + if (!m) break; + k = c[m + 16 >> 2] | 0; + j = c[k + 108 >> 2] | 0; + do if (j) { + if (a[j + 81 >> 0] | 0) { + h = h + 1 | 0; + break + } + if (!u) g = g + ((c[k + 8 >> 2] | 0) != 0 & 1) | 0 + } while (0); + j = c[k + 100 >> 2] | 0; + do if (j) { + if (a[j + 81 >> 0] | 0) { + h = h + 1 | 0; + break + } + if (!u) g = g + ((c[k + 8 >> 2] | 0) != 0 & 1) | 0 + } while (0); + j = c[k + 104 >> 2] | 0; + do if (j) { + if (a[j + 81 >> 0] | 0) { + h = h + 1 | 0; + break + } + if (!u) g = g + ((c[k + 8 >> 2] | 0) != 0 & 1) | 0 + } while (0); + j = c[k + 96 >> 2] | 0; + do if (j) { + if (a[j + 81 >> 0] | 0) { + h = h + 1 | 0; + break + } + if (!u) g = g + ((c[k + 8 >> 2] | 0) != 0 & 1) | 0 + } while (0); + m = Gx(e, m) | 0 + } + n = Ty(e, n) | 0; + j = g + } + if (!(a[(c[o >> 2] | 0) + 113 >> 0] & 8)) o = 0; else o = WI(e) | 0; + t = j + i | 0; + if (t | 0) { + q = h + j + o + (ay(e) | 0) | 0; + r = uH(q * 40 | 0) | 0; + s = uH(t * 40 | 0) | 0; + NI(M, 2147483647.0, 2147483647.0); + g = M + 16 | 0; + NI(p, -2147483647.0, -2147483647.0); + c[g >> 2] = c[p >> 2]; + c[g + 4 >> 2] = c[p + 4 >> 2]; + c[g + 8 >> 2] = c[p + 8 >> 2]; + c[g + 12 >> 2] = c[p + 12 >> 2]; + g = s; + i = r; + n = Sy(e) | 0; + while (1) { + if (!n) break; + 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]; + XI(C, n, i, L); + c[M >> 2] = c[C >> 2]; + c[M + 4 >> 2] = c[C + 4 >> 2]; + c[M + 8 >> 2] = c[C + 8 >> 2]; + c[M + 12 >> 2] = c[C + 12 >> 2]; + c[M + 16 >> 2] = c[C + 16 >> 2]; + c[M + 20 >> 2] = c[C + 20 >> 2]; + c[M + 24 >> 2] = c[C + 24 >> 2]; + c[M + 28 >> 2] = c[C + 28 >> 2]; + h = c[(c[n + 16 >> 2] | 0) + 108 >> 2] | 0; + do if (h) if (!(a[h + 81 >> 0] | 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]; + ZI(h, i, g, 0, L); + g = g + 40 | 0; + break + } else { + i = i + 40 | 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]; + YI(D, h, i, L); + 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[M + 16 >> 2] = c[D + 16 >> 2]; + c[M + 20 >> 2] = c[D + 20 >> 2]; + c[M + 24 >> 2] = c[D + 24 >> 2]; + c[M + 28 >> 2] = c[D + 28 >> 2]; + break + } while (0); + m = Ex(e, n) | 0; + i = i + 40 | 0; + while (1) { + if (!m) break; + k = m + 16 | 0; + h = c[k >> 2] | 0; + j = c[h + 96 >> 2] | 0; + a:do if (!j) v = 52; else { + do if (!(a[j + 81 >> 0] | 0)) { + if (!u ? c[h + 8 >> 2] | 0 : 0) { + gL(F, e, m); + 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]; + ZI(j, i, g, 1, L); + g = g + 40 | 0; + break + } + c[H >> 2] = c[j >> 2]; + Pw(0, 100801, H) | 0; + break a + } else { + 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]; + YI(E, j, i, L); + 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]; + c[M + 16 >> 2] = c[E + 16 >> 2]; + c[M + 20 >> 2] = c[E + 20 >> 2]; + c[M + 24 >> 2] = c[E + 24 >> 2]; + c[M + 28 >> 2] = c[E + 28 >> 2] + } while (0); + i = i + 40 | 0; + h = c[k >> 2] | 0; + v = 52 + } while (0); + b:do if ((v | 0) == 52) { + v = 0; + j = c[h + 104 >> 2] | 0; + if (j) { + do if (!(a[j + 81 >> 0] | 0)) { + if (!u ? c[h + 8 >> 2] | 0 : 0) { + _I(w, m); + 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]; + ZI(j, i, g, 1, L); + g = g + 40 | 0; + break + } + c[I >> 2] = c[j >> 2]; + Pw(0, 100836, I) | 0; + break b + } else { + 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]; + YI(G, j, i, L); + 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[M + 16 >> 2] = c[G + 16 >> 2]; + c[M + 20 >> 2] = c[G + 20 >> 2]; + c[M + 24 >> 2] = c[G + 24 >> 2]; + c[M + 28 >> 2] = c[G + 28 >> 2] + } while (0); + i = i + 40 | 0; + h = c[k >> 2] | 0 + } + j = c[h + 100 >> 2] | 0; + if (j) { + do if (!(a[j + 81 >> 0] | 0)) { + if (!u ? c[h + 8 >> 2] | 0 : 0) { + $I(y, m); + 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]; + ZI(j, i, g, 1, L); + g = g + 40 | 0; + break + } + c[J >> 2] = c[j >> 2]; + Pw(0, 100876, J) | 0; + break b + } else { + 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]; + YI(x, j, i, L); + 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]; + c[M + 16 >> 2] = c[x + 16 >> 2]; + c[M + 20 >> 2] = c[x + 20 >> 2]; + c[M + 24 >> 2] = c[x + 24 >> 2]; + c[M + 28 >> 2] = c[x + 28 >> 2] + } while (0); + i = i + 40 | 0; + h = c[k >> 2] | 0 + } + j = c[h + 108 >> 2] | 0; + if (j) { + do if (!(a[j + 81 >> 0] | 0)) { + if (!u ? c[h + 8 >> 2] | 0 : 0) { + gL(A, e, m); + 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]; + ZI(j, i, g, 1, L); + g = g + 40 | 0; + break + } + c[K >> 2] = c[j >> 2]; + Pw(0, 100916, K) | 0; + break b + } else { + 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]; + YI(z, j, i, L); + c[M >> 2] = c[z >> 2]; + c[M + 4 >> 2] = c[z + 4 >> 2]; + c[M + 8 >> 2] = c[z + 8 >> 2]; + c[M + 12 >> 2] = c[z + 12 >> 2]; + c[M + 16 >> 2] = c[z + 16 >> 2]; + c[M + 20 >> 2] = c[z + 20 >> 2]; + c[M + 24 >> 2] = c[z + 24 >> 2]; + c[M + 28 >> 2] = c[z + 28 >> 2] + } while (0); + i = i + 40 | 0 + } + } while (0); + m = Gx(e, m) | 0 + } + n = Ty(e, n) | 0 + } + if (o | 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[f + 32 >> 2] = i; + h = L; + g = h + 40 | 0; + do { + c[h >> 2] = c[f >> 2]; + h = h + 4 | 0; + f = f + 4 | 0 + } while ((h | 0) < (g | 0)); + aJ(N, e, L); + 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] + } + a[O + 32 >> 0] = PL(e, nx(e, 0, 100952, 0) | 0, 1) | 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]; + SP(r, q, s, t, O) | 0; + if (0) bJ(r, q, s, t, O); + f = 0; + g = 0; + h = s; + while (1) { + if ((g | 0) >= (t | 0)) break; + if (a[h + 36 >> 0] | 0) { + O = c[h + 32 >> 2] | 0; + a[O + 81 >> 0] = 1; + N = O + 56 | 0; + cJ(P, h); + c[N >> 2] = c[P >> 2]; + c[N + 4 >> 2] = c[P + 4 >> 2]; + c[N + 8 >> 2] = c[P + 8 >> 2]; + c[N + 12 >> 2] = c[P + 12 >> 2]; + kM(e, O); + f = f + 1 | 0 + } + g = g + 1 | 0; + h = h + 40 | 0 + } + if (!0) { + if ((f | 0) != (t | 0)) { + c[R >> 2] = f; + c[R + 4 >> 2] = t; + Pw(0, 100997, R) | 0 + } + } else { + R = c[15686] | 0; + c[Q >> 2] = f; + c[Q + 4 >> 2] = t; + g1(R, 100964, Q) | 0 + } + D_(r); + D_(s) + } + } + l = S; + return + } + + function TI(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + i = l; + l = l + 48 | 0; + e = i + 32 | 0; + f = i + 16 | 0; + g = i; + if (+h[22918] != 0.0 | +h[22919] != 0.0 | (c[46495] | 0) != 0) { + d = Sy(a) | 0; + while (1) { + if (!d) break; + if (c[46495] | 0) bN(d, 0); + b = d + 16 | 0; + j = (c[b >> 2] | 0) + 16 | 0; + c[e >> 2] = c[j >> 2]; + c[e + 4 >> 2] = c[j + 4 >> 2]; + c[e + 8 >> 2] = c[j + 8 >> 2]; + c[e + 12 >> 2] = c[j + 12 >> 2]; + OI(f, e); + c[j >> 2] = c[f >> 2]; + c[j + 4 >> 2] = c[f + 4 >> 2]; + c[j + 8 >> 2] = c[f + 8 >> 2]; + c[j + 12 >> 2] = c[f + 12 >> 2]; + b = c[(c[b >> 2] | 0) + 108 >> 2] | 0; + if (b | 0) { + j = b + 56 | 0; + c[e >> 2] = c[j >> 2]; + c[e + 4 >> 2] = c[j + 4 >> 2]; + c[e + 8 >> 2] = c[j + 8 >> 2]; + c[e + 12 >> 2] = c[j + 12 >> 2]; + OI(g, e); + c[j >> 2] = c[g >> 2]; + c[j + 4 >> 2] = c[g + 4 >> 2]; + c[j + 8 >> 2] = c[g + 8 >> 2]; + c[j + 12 >> 2] = c[g + 12 >> 2] + } + a:do if ((c[46367] | 0) == 1) { + b = Ex(a, d) | 0; + while (1) { + if (!b) break a; + VI(b); + b = Gx(a, b) | 0 + } + } while (0); + d = Ty(a, d) | 0 + } + MI(a, c[(c[a + 16 >> 2] | 0) + 116 >> 2] & 3) + } + l = i; + return + } + + function UI(b, d) { + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0, i = 0, j = 0; + i = b + 16 | 0; + j = c[i >> 2] | 0; + g = a[j + 275 >> 0] | 0; + b = g << 24 >> 24; + do if (!(b & 4)) { + e = +h[j + 16 >> 3]; + if (!(b & 2)) { + f = (+h[j + 32 >> 3] + e) * .5; + break + } else { + f = +h[d >> 3] * .5 + e; + break + } + } else f = +h[j + 32 >> 3] - +h[d >> 3] * .5; while (0); + if (!(g & 1)) e = +h[d + 8 >> 3] * .5 + +h[j + 24 >> 3]; else e = +h[j + 40 >> 3] - +h[d + 8 >> 3] * .5; + j = c[j + 12 >> 2] | 0; + h[j + 56 >> 3] = f; + h[j + 64 >> 3] = e; + a[(c[(c[i >> 2] | 0) + 12 >> 2] | 0) + 81 >> 0] = 1; + return + } + + function VI(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0; + s = l; + l = l + 144 | 0; + q = s + 120 | 0; + e = s + 16 | 0; + i = s + 104 | 0; + j = s + 88 | 0; + k = s + 72 | 0; + m = s + 56 | 0; + n = s + 40 | 0; + o = s + 24 | 0; + r = s; + p = b + 16 | 0; + d = c[p >> 2] | 0; + f = c[d + 8 >> 2] | 0; + if (!f) { + if ((a[191874] | 0) == 0 ? (a[d + 112 >> 0] | 0) != 6 : 0) { + q = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + r = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + c[e >> 2] = q; + c[e + 4 >> 2] = r; + Pw(1, 100784, e) | 0 + } + } else { + h = 0; + b = f; + while (1) { + if ((h | 0) >= (c[b + 4 >> 2] | 0)) break; + g = c[b >> 2] | 0; + b = c[g + (h * 48 | 0) >> 2] | 0; + e = c[g + (h * 48 | 0) + 4 >> 2] | 0; + f = c[g + (h * 48 | 0) + 8 >> 2] | 0; + g = c[g + (h * 48 | 0) + 12 >> 2] | 0; + d = 0; + while (1) { + if ((d | 0) >= (e | 0)) break; + t = b + (d << 4) | 0; + c[q >> 2] = c[t >> 2]; + c[q + 4 >> 2] = c[t + 4 >> 2]; + c[q + 8 >> 2] = c[t + 8 >> 2]; + c[q + 12 >> 2] = c[t + 12 >> 2]; + OI(i, q); + c[t >> 2] = c[i >> 2]; + c[t + 4 >> 2] = c[i + 4 >> 2]; + c[t + 8 >> 2] = c[i + 8 >> 2]; + c[t + 12 >> 2] = c[i + 12 >> 2]; + d = d + 1 | 0 + } + if (f | 0) { + t = (c[c[(c[p >> 2] | 0) + 8 >> 2] >> 2] | 0) + (h * 48 | 0) + 16 | 0; + c[q >> 2] = c[t >> 2]; + c[q + 4 >> 2] = c[t + 4 >> 2]; + c[q + 8 >> 2] = c[t + 8 >> 2]; + c[q + 12 >> 2] = c[t + 12 >> 2]; + OI(j, q); + c[t >> 2] = c[j >> 2]; + c[t + 4 >> 2] = c[j + 4 >> 2]; + c[t + 8 >> 2] = c[j + 8 >> 2]; + c[t + 12 >> 2] = c[j + 12 >> 2] + } + if (g | 0) { + t = (c[c[(c[p >> 2] | 0) + 8 >> 2] >> 2] | 0) + (h * 48 | 0) + 32 | 0; + c[q >> 2] = c[t >> 2]; + c[q + 4 >> 2] = c[t + 4 >> 2]; + c[q + 8 >> 2] = c[t + 8 >> 2]; + c[q + 12 >> 2] = c[t + 12 >> 2]; + OI(k, q); + c[t >> 2] = c[k >> 2]; + c[t + 4 >> 2] = c[k + 4 >> 2]; + c[t + 8 >> 2] = c[k + 8 >> 2]; + c[t + 12 >> 2] = c[k + 12 >> 2] + } + d = c[p >> 2] | 0; + h = h + 1 | 0; + b = c[d + 8 >> 2] | 0 + } + b = c[d + 96 >> 2] | 0; + if (b) { + d = b + 56 | 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]; + OI(m, q); + c[d >> 2] = c[m >> 2]; + c[d + 4 >> 2] = c[m + 4 >> 2]; + c[d + 8 >> 2] = c[m + 8 >> 2]; + c[d + 12 >> 2] = c[m + 12 >> 2]; + d = c[p >> 2] | 0 + } + b = c[d + 108 >> 2] | 0; + if (b) { + d = b + 56 | 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]; + OI(n, q); + 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[p >> 2] | 0 + } + b = c[d + 100 >> 2] | 0; + if (b) { + d = b + 56 | 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]; + OI(o, q); + 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]; + d = c[p >> 2] | 0 + } + d = c[d + 104 >> 2] | 0; + if (d | 0) { + t = d + 56 | 0; + c[q >> 2] = c[t >> 2]; + c[q + 4 >> 2] = c[t + 4 >> 2]; + c[q + 8 >> 2] = c[t + 8 >> 2]; + c[q + 12 >> 2] = c[t + 12 >> 2]; + OI(r, q); + 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] + } + } + l = s; + return + } + + function WI(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = b + 16 | 0; + if ((fz(b) | 0) != (b | 0) ? (d = c[(c[f >> 2] | 0) + 12 >> 2] | 0, (d | 0) != 0) : 0) { + e = 1; + b = (a[d + 81 >> 0] | 0) != 0 & 1 + } else { + e = 1; + b = 0 + } + while (1) { + d = c[f >> 2] | 0; + if ((e | 0) > (c[d + 180 >> 2] | 0)) break; + d = (WI(c[(c[d + 184 >> 2] | 0) + (e << 2) >> 2] | 0) | 0) + b | 0; + e = e + 1 | 0; + b = d + } + return b | 0 + } + + function XI(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0; + g = l; + l = l + 32 | 0; + i = g; + n = (a[191877] | 0) == 0; + d = d + 16 | 0; + m = c[d >> 2] | 0; + k = +h[(n ? m + 32 | 0 : m + 40 | 0) >> 3]; + h[e + 16 >> 3] = k * 72.0; + j = +h[(n ? m + 40 | 0 : m + 32 | 0) >> 3]; + h[e + 24 >> 3] = j * 72.0; + d = (c[d >> 2] | 0) + 16 | 0; + c[e >> 2] = c[d >> 2]; + c[e + 4 >> 2] = c[d + 4 >> 2]; + c[e + 8 >> 2] = c[d + 8 >> 2]; + c[e + 12 >> 2] = c[d + 12 >> 2]; + h[e >> 3] = +h[e >> 3] - k * 36.0; + d = e + 8 | 0; + h[d >> 3] = +h[d >> 3] - j * 36.0; + c[i >> 2] = c[f >> 2]; + c[i + 4 >> 2] = c[f + 4 >> 2]; + c[i + 8 >> 2] = c[f + 8 >> 2]; + c[i + 12 >> 2] = c[f + 12 >> 2]; + c[i + 16 >> 2] = c[f + 16 >> 2]; + c[i + 20 >> 2] = c[f + 20 >> 2]; + c[i + 24 >> 2] = c[f + 24 >> 2]; + c[i + 28 >> 2] = c[f + 28 >> 2]; + dJ(b, e, i); + l = g; + return + } + + function YI(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0.0, k = 0.0, m = 0, n = 0; + g = l; + l = l + 32 | 0; + i = g; + n = (a[191877] | 0) == 0; + m = d + 24 | 0; + k = +h[(n ? m : d + 32 | 0) >> 3]; + h[e + 16 >> 3] = k; + j = +h[(n ? d + 32 | 0 : m) >> 3]; + h[e + 24 >> 3] = j; + d = d + 56 | 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]; + h[e >> 3] = +h[e >> 3] - k * .5; + d = e + 8 | 0; + h[d >> 3] = +h[d >> 3] - j * .5; + c[i >> 2] = c[f >> 2]; + c[i + 4 >> 2] = c[f + 4 >> 2]; + c[i + 8 >> 2] = c[f + 8 >> 2]; + c[i + 12 >> 2] = c[f + 12 >> 2]; + c[i + 16 >> 2] = c[f + 16 >> 2]; + c[i + 20 >> 2] = c[f + 20 >> 2]; + c[i + 24 >> 2] = c[f + 24 >> 2]; + c[i + 28 >> 2] = c[f + 28 >> 2]; + dJ(b, e, i); + l = g; + return + } + + function ZI(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + if (f | 0) { + f = d + 16 | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[f + 8 >> 2] = 0; + c[f + 12 >> 2] = 0; + c[d >> 2] = c[g >> 2]; + c[d + 4 >> 2] = c[g + 4 >> 2]; + c[d + 8 >> 2] = c[g + 8 >> 2]; + c[d + 12 >> 2] = c[g + 12 >> 2] + } + if (!(a[191877] | 0)) { + g = b + 24 | 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] + } else { + h[e >> 3] = +h[b + 32 >> 3]; + h[e + 8 >> 3] = +h[b + 24 >> 3] + } + c[e + 32 >> 2] = b; + a[e + 36 >> 0] = 0; + c[d + 32 >> 2] = e; + return + } + + function _I(a, b) { + a = a | 0; + b = b | 0; + b = fL(b) | 0; + do if (b) { + b = c[b >> 2] | 0; + if (!(c[b + 8 >> 2] | 0)) { + b = c[b >> 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]; + break + } else { + b = b + 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]; + break + } + } else { + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + c[a + 12 >> 2] = 0 + } while (0); + return + } + + function $I(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = fL(b) | 0; + do if (b) { + d = c[b >> 2] | 0; + b = (c[b + 4 >> 2] | 0) + -1 | 0; + if (!(c[d + (b * 48 | 0) + 12 >> 2] | 0)) { + d = (c[d + (b * 48 | 0) >> 2] | 0) + ((c[d + (b * 48 | 0) + 4 >> 2] | 0) + -1 << 4) | 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]; + break + } else { + d = d + (b * 48 | 0) + 32 | 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]; + break + } + } else { + c[a >> 2] = 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 0; + c[a + 12 >> 2] = 0 + } while (0); + return + } + + function aJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 112 | 0; + k = q + 72 | 0; + n = q + 32 | 0; + o = q; + p = d + 16 | 0; + j = 1; + while (1) { + f = c[p >> 2] | 0; + if ((j | 0) > (c[f + 180 >> 2] | 0)) break; + f = c[(c[f + 184 >> 2] | 0) + (j << 2) >> 2] | 0; + g = k; + h = e; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)); + aJ(n, f, k); + g = e; + h = n; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)); + j = j + 1 | 0 + } + if (((fz(d) | 0) != (d | 0) ? (m = c[(c[p >> 2] | 0) + 12 >> 2] | 0, m | 0) : 0) ? a[m + 81 >> 0] | 0 : 0) { + p = e + 32 | 0; + n = 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]; + YI(o, m, n, k); + c[e >> 2] = c[o >> 2]; + c[e + 4 >> 2] = c[o + 4 >> 2]; + c[e + 8 >> 2] = c[o + 8 >> 2]; + c[e + 12 >> 2] = c[o + 12 >> 2]; + c[e + 16 >> 2] = c[o + 16 >> 2]; + c[e + 20 >> 2] = c[o + 20 >> 2]; + c[e + 24 >> 2] = c[o + 24 >> 2]; + c[e + 28 >> 2] = c[o + 28 >> 2]; + c[p >> 2] = (c[p >> 2] | 0) + 40 + } + g = b; + h = e; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)); + l = q; + return + } + + function bJ(a, b, e, f, g) { + a = a | 0; + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 160 | 0; + r = s + 96 | 0; + p = s + 48 | 0; + o = s; + q = c[15686] | 0; + n = d[g + 32 >> 0] | 0; + i = +h[g >> 3]; + j = +h[g + 8 >> 3]; + k = +h[g + 16 >> 3]; + m = +h[g + 24 >> 3]; + c[o >> 2] = b; + c[o + 4 >> 2] = f; + c[o + 8 >> 2] = n; + h[o + 16 >> 3] = i; + h[o + 24 >> 3] = j; + h[o + 32 >> 3] = k; + h[o + 40 >> 3] = m; + g1(q, 101039, o) | 0; + a:do if (0 >= 2) { + E1(101099, 8, 1, q) | 0; + o = 0; + while (1) { + if ((o | 0) >= (b | 0)) break; + g = c[a + 32 >> 2] | 0; + i = +h[a >> 3]; + j = +h[a + 8 >> 3]; + k = +h[a + 16 >> 3]; + m = +h[a + 24 >> 3]; + if (!g) n = 191979; else n = c[c[g + 32 >> 2] >> 2] | 0; + c[p >> 2] = o; + h[p + 8 >> 3] = i; + h[p + 16 >> 3] = j; + h[p + 24 >> 3] = k; + h[p + 32 >> 3] = m; + c[p + 40 >> 2] = g; + c[p + 44 >> 2] = n; + g1(q, 101108, p) | 0; + o = o + 1 | 0; + a = a + 40 | 0 + } + E1(101151, 8, 1, q) | 0; + g = 0; + while (1) { + if ((g | 0) >= (f | 0)) break a; + b = d[e + 36 >> 0] | 0; + i = +h[e + 16 >> 3]; + j = +h[e + 24 >> 3]; + k = +h[e >> 3]; + m = +h[e + 8 >> 3]; + p = c[c[e + 32 >> 2] >> 2] | 0; + c[r >> 2] = g; + c[r + 4 >> 2] = e; + c[r + 8 >> 2] = b; + h[r + 16 >> 3] = i; + h[r + 24 >> 3] = j; + h[r + 32 >> 3] = k; + h[r + 40 >> 3] = m; + c[r + 48 >> 2] = p; + g1(q, 101160, r) | 0; + e = e + 40 | 0; + g = g + 1 | 0 + } + } while (0); + l = s; + return + } + + function cJ(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0; + c = +h[b + 8 >> 3] * .5 + +h[b + 24 >> 3]; + h[a >> 3] = +h[b >> 3] * .5 + +h[b + 16 >> 3]; + h[a + 8 >> 3] = c; + return + } + + function dJ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0.0, j = 0.0; + e = l; + l = l + 16 | 0; + f = e; + j = +h[b >> 3]; + h[d >> 3] = +h[(+h[d >> 3] < j ? d : b) >> 3]; + g = d + 8 | 0; + i = +h[b + 8 >> 3]; + h[g >> 3] = +h[(+h[g >> 3] < i ? d : b) + 8 >> 3]; + j = +h[b + 16 >> 3] + j; + h[f >> 3] = j; + i = +h[b + 24 >> 3] + i; + h[f + 8 >> 3] = i; + g = d + 16 | 0; + h[g >> 3] = +h[(+h[g >> 3] > j ? g : f) >> 3]; + b = d + 24 | 0; + h[b >> 3] = +h[(+h[b >> 3] > i ? g : f) + 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]; + l = e; + return + } + + function eJ(a) { + a = a | 0; + PI(a, 1); + return + } + + function fJ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + e = l; + l = l + 16 | 0; + d = e; + b = ZL(xx(a, 102500) | 0) | 0; + if (b) { + b = gJ(b) | 0; + if (b | 0) { + f = c[b + 40 >> 2] | 0; + d = c[b + 44 >> 2] | 0; + g = a + 16 | 0; + a = c[g >> 2] | 0; + h[a + 32 >> 3] = +(f | 0) * .013888888888888888; + h[a + 40 >> 3] = +(d | 0) * .013888888888888888; + a = uH(12) | 0; + c[(c[g >> 2] | 0) + 12 >> 2] = a; + c[a >> 2] = c[b + 12 >> 2]; + c[a + 4 >> 2] = ((f | 0) / -2 | 0) - (c[b + 32 >> 2] | 0); + c[a + 8 >> 2] = ((d | 0) / -2 | 0) - (c[b + 36 >> 2] | 0) + } + } else { + c[d >> 2] = ry(a) | 0; + Pw(0, 101208, d) | 0 + } + l = e; + return + } + + function gJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 1152 | 0; + i = p + 24 | 0; + h = p + 8 | 0; + e = p; + f = p + 120 | 0; + j = p + 44 | 0; + k = p + 40 | 0; + m = p + 36 | 0; + n = p + 32 | 0; + o = p + 28 | 0; + d = c[46496] | 0; + if (!d) { + d = Cw(20708, c[4555] | 0) | 0; + c[46496] = d + } + d = nb[c[d >> 2] & 63](d, b, 512) | 0; + do if (!d) { + g = L1(b, 135739) | 0; + if (!g) { + c[e >> 2] = b; + Pw(0, 101257, e) | 0; + d = 0; + break + } else { + d = 0; + e = 0 + } + while (1) { + if (!(O0(f, 1024, g) | 0)) { + f = 11; + break + } + c[h >> 2] = k; + c[h + 4 >> 2] = m; + c[h + 8 >> 2] = n; + c[h + 12 >> 2] = o; + q = (N1(f, 101285, h) | 0) == 4; + e = q ? 1 : e; + if ((a[f >> 0] | 0) != 37) { + q = (P0(f, 101314) | 0) == 0; + d = q ? d : 1 + } + if ((e | 0) != 0 & (d | 0) != 0) { + f = 12; + break + } + } + if ((f | 0) == 11) if (!e) { + c[i >> 2] = b; + Pw(0, 101319, i) | 0; + d = 0 + } else f = 12; + if ((f | 0) == 12) { + q = vH(64) | 0; + k = c[k >> 2] | 0; + c[q + 32 >> 2] = k; + m = c[m >> 2] | 0; + c[q + 40 >> 2] = (c[n >> 2] | 0) - k; + c[q + 36 >> 2] = (c[o >> 2] | 0) - m; + c[q + 8 >> 2] = b; + o = c[46497] | 0; + c[46497] = o + 1; + c[q + 12 >> 2] = o; + J1(j3(g) | 0, j) | 0; + o = c[j + 36 >> 2] | 0; + n = vH(o + 1 | 0) | 0; + c[q + 52 >> 2] = n; + Z1(g, 0, 0) | 0; + g3(n, o, 1, g) | 0; + a[n + o >> 0] = 0; + o = c[46496] | 0; + nb[c[o >> 2] & 63](o, q, 1) | 0; + a[q + 16 >> 0] = d; + d = q + } + s1(g) | 0 + } while (0); + l = p; + return d | 0 + } + + function hJ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + D_(c[b + 52 >> 2] | 0); + return + } + + function iJ(a) { + a = a | 0; + D_(c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0); + return + } + + function jJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + m = n + 8 | 0; + k = n; + j = (d | 0) != 0; + a:do if (j) { + h = 0; + f = 0; + b:while (1) while (1) { + if (h) break a; + g = c[d + (f << 2) >> 2] | 0; + if (!g) { + i = 6; + break a + } + f = f + 1 | 0; + if (!(a[g >> 0] | 0)) { + h = 1; + continue b + } + } + } else i = 6; while (0); + c:do if ((i | 0) == 6) while (1) { + f = c[e >> 2] | 0; + if (!f) break c; + $B(b, f) | 0; + $B(b, 150517) | 0; + e = e + 4 | 0; + i = 6 + } while (0); + d:do if (j) { + h = 0; + while (1) { + f = c[d + (h << 2) >> 2] | 0; + if (!f) break d; + do if (a[f >> 0] | 0) { + e = ZL(f) | 0; + if (!e) { + c[k >> 2] = f; + Pw(0, 101358, k) | 0; + break + } + g = L1(e, 135739) | 0; + if (!g) { + c[m >> 2] = e; + Pw(0, 101386, m) | 0; + break + } + while (1) { + f = YL(g) | 0; + if (!f) break; + $B(b, f) | 0 + } + $B(b, 150517) | 0; + s1(g) | 0 + } while (0); + h = h + 1 | 0 + } + } while (0); + l = n; + return + } + + function kJ(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + d = c[d + 52 >> 2] | 0; + a:while (1) { + e = a[d >> 0] | 0; + b:do switch (e << 24 >> 24) { + case 0: + break a; + case 37: { + if ((a[d + 1 >> 0] | 0) == 37) { + e = d + 2 | 0; + if ((((V$(e, 101414, 3) | 0) != 0 ? (V$(e, 101418, 5) | 0) != 0 : 0) ? (V$(e, 101424, 3) | 0) != 0 : 0) ? (V$(e, 101428, 7) | 0) != 0 : 0) { + e = 37; + break b + } else g = 37; + c:while (1) { + switch (g << 24 >> 24) { + case 13: { + f = 10; + break c + } + case 10: + case 0: { + f = 12; + break c + } + default: { + } + } + g = d + 1 | 0; + d = g; + g = a[g >> 0] | 0 + } + if ((f | 0) == 10) { + e = d + 1 | 0; + if ((a[e >> 0] | 0) == 10) { + d = d + 2 | 0; + continue a + } + } else if ((f | 0) == 12) e = d + 1 | 0; + d = g << 24 >> 24 == 0 ? d : e; + continue a + } else e = 37; + break + } + default: { + } + } while (0); + d:while (1) { + switch (e << 24 >> 24) { + case 10: + case 13: + case 0: + break d; + default: { + } + } + aC(b, e << 24 >> 24) | 0; + g = d + 1 | 0; + d = g; + e = a[g >> 0] | 0 + } + f = d + 1 | 0; + if (e << 24 >> 24 == 13 ? (a[f >> 0] | 0) == 10 : 0) d = d + 2 | 0; else d = e << 24 >> 24 == 0 ? d : f; + aC(b, 10) | 0 + } + return + } + + function lJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = l; + l = l + 16 | 0; + e = f; + d = c[46496] | 0; + a:do if (d | 0) { + d = nb[c[d >> 2] & 63](d, 0, 128) | 0; + while (1) { + if (!d) break a; + if (!(a[d + 16 >> 0] | 0)) { + c[e >> 2] = c[d + 12 >> 2]; + fC(b, 101436, e); + $B(b, 101454) | 0; + kJ(b, d); + $B(b, 101472) | 0; + $B(b, 101487) | 0 + } + g = c[46496] | 0; + d = nb[c[g >> 2] & 63](g, d, 8) | 0 + } + } while (0); + l = f; + return + } + + function mJ(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + e = g; + a:do switch (d | 0) { + case 0: { + f = b; + break + } + case 1: { + f = SM(b) | 0; + break + } + default: { + switch (nJ(b) | 0) { + case 2: + break; + case 1: { + f = SM(b) | 0; + break a + } + default: { + f = b; + break a + } + } + if (!(c[46498] | 0)) { + Pw(0, 101499, e) | 0; + c[46498] = 1; + f = b + } else f = b + } + } while (0); + if (!(c[46499] | 0)) Tw(185996, 0, 0); + d = c[46500] | 0; + if (d >>> 0 >= (c[46501] | 0) >>> 0) { + Uw(185996, 1) | 0; + d = c[46500] | 0 + } + c[46500] = d + 1; + a[d >> 0] = 40; + e = f; + b:while (1) { + switch (a[e >> 0] | 0) { + case 0: + break b; + case 92: + case 41: + case 40: { + d = c[46500] | 0; + if (d >>> 0 >= (c[46501] | 0) >>> 0) { + Uw(185996, 1) | 0; + d = c[46500] | 0 + } + c[46500] = d + 1; + a[d >> 0] = 92; + break + } + default: { + } + } + d = c[46500] | 0; + if (d >>> 0 >= (c[46501] | 0) >>> 0) { + Uw(185996, 1) | 0; + d = c[46500] | 0 + } + h = a[e >> 0] | 0; + c[46500] = d + 1; + a[d >> 0] = h; + e = e + 1 | 0 + } + d = c[46500] | 0; + if (d >>> 0 >= (c[46501] | 0) >>> 0) { + Uw(185996, 1) | 0; + d = c[46500] | 0 + } + c[46500] = d + 1; + a[d >> 0] = 41; + if ((f | 0) != (b | 0)) D_(f); + d = c[46500] | 0; + if (d >>> 0 >= (c[46501] | 0) >>> 0) { + Uw(185996, 1) | 0; + d = c[46500] | 0 + } + a[d >> 0] = 0; + h = c[46499] | 0; + c[46500] = h; + l = g; + return h | 0 + } + + function nJ(b) { + b = b | 0; + var c = 0, d = 0; + c = 0; + a:while (1) { + while (1) { + d = a[b >> 0] | 0; + if (!(d << 24 >> 24)) break a; + if ((d & 255) < 127) b = b + 1 | 0; else break + } + if ((d & -4) << 24 >> 24 == -64) { + c = 1; + b = b + 2 | 0 + } else { + c = 2; + break + } + } + return c | 0 + } + + function oJ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + n = l; + l = l + 96 | 0; + i = n + 80 | 0; + j = n + 72 | 0; + m = n + 64 | 0; + g = n + 32 | 0; + k = n; + h[g >> 3] = +h[a >> 3]; + h[g + 8 >> 3] = +h[a + 8 >> 3]; + h[g + 16 >> 3] = +h[b >> 3]; + h[g + 24 >> 3] = +h[b + 8 >> 3]; + do if ((TU(d, g, j) | 0) >= 0) { + if (!f) { + b = d + 4 | 0; + a = c[b >> 2] | 0; + f = c[46504] | 0; + if ((a | 0) > (c[46503] | 0)) { + if (!f) a = vH(a << 5) | 0; else a = xH(f, a << 5) | 0; + c[46504] = a; + g = c[b >> 2] | 0; + c[46503] = g; + f = a + } else g = a; + b = c[d >> 2] | 0; + a = 0; + while (1) { + if ((a | 0) >= (g | 0)) break; + o = f + (a << 5) | 0; + d = b + (a << 4) | 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]; + o = f + (a << 5) + 16 | 0; + d = a + 1 | 0; + p = b + (((d | 0) % (g | 0) | 0) << 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]; + a = d + } + 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; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + if ((xU(f, g, i, k, m) | 0) < 0) { + a = 0; + break + } + } else { + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + oV(i, m) + } + a = m + 4 | 0; + if (!(pJ(c[a >> 2] | 0) | 0)) { + g = c[a >> 2] | 0; + a = c[46505] | 0; + f = c[m >> 2] | 0; + b = 0; + while (1) { + if ((b | 0) >= (g | 0)) break; + p = a + (b << 4) | 0; + o = f + (b << 4) | 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]; + b = b + 1 | 0 + } + c[e >> 2] = g + } else a = 0 + } else a = 0; while (0); + l = n; + return a | 0 + } + + function pJ(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = l; + l = l + 16 | 0; + d = e; + b = c[46506] | 0; + do if ((b | 0) < (a | 0)) { + a = a + 300 - ((a | 0) % 300 | 0) + b | 0; + b = xH(c[46505] | 0, a << 4) | 0; + c[46505] = b; + if (!b) { + Pw(1, 101589, d) | 0; + a = 1; + break + } else { + c[46506] = a; + a = 0; + break + } + } else a = 0; while (0); + l = e; + return a | 0 + } + + function qJ() { + var a = 0, b = 0, d = 0; + b = l; + l = l + 16 | 0; + a = b; + d = c[46507] | 0; + c[46507] = d + 1; + do if ((d | 0) <= 0) { + d = vH(4800) | 0; + c[46505] = d; + if (!d) { + Pw(1, 101612, a) | 0; + a = 1; + break + } + c[46506] = 300; + c[46508] = 0; + c[46509] = 0; + if (0) { + EL(); + a = 0 + } else a = 0 + } else a = 0; while (0); + l = b; + return a | 0 + } + + function rJ() { + var a = 0, b = 0, d = 0, e = 0.0, f = 0, g = 0; + b = l; + l = l + 16 | 0; + a = b; + d = c[46507] | 0; + c[46507] = d + -1; + if ((d | 0) <= 1 ? (D_(c[46505] | 0), 0) : 0) { + d = c[15686] | 0; + g = c[46508] | 0; + f = c[46509] | 0; + e = +FL(); + c[a >> 2] = g; + c[a + 4 >> 2] = f; + h[a + 8 >> 3] = e; + g1(d, 101650, a) | 0 + } + l = b; + return + } + + function sJ(a, b) { + a = a | 0; + b = b | 0; + return tJ(a, b, 0) | 0 + } + + function tJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, G = 0, H = 0, I = 0, J = 0, + K = 0, L = 0, M = 0, N = 0; + L = l; + l = l + 176 | 0; + G = L + 168 | 0; + K = L + 128 | 0; + x = L + 120 | 0; + v = L + 112 | 0; + i = L + 104 | 0; + s = L + 88 | 0; + n = L + 72 | 0; + g = L + 64 | 0; + t = L + 160 | 0; + I = L + 152 | 0; + y = L + 144 | 0; + u = L + 32 | 0; + w = L; + J = L + 136 | 0; + c[46508] = (c[46508] | 0) + 1; + H = c[b + 80 >> 2] | 0; + c[46509] = (c[46509] | 0) + H; + f = b + 88 | 0; + while (1) { + C = c[f >> 2] | 0; + if (!C) { + D = 4; + break + } + f = c[C + 16 >> 2] | 0; + if (!(a[f + 112 >> 0] | 0)) { + D = 5; + break + } else f = f + 116 | 0 + } + do if ((D | 0) == 4) { + Pw(1, 101693, g) | 0; + f = 0 + } else if ((D | 0) == 5) { + B = c[b + 84 >> 2] | 0; + if (!(uJ(H, B, b) | 0)) { + g = H << 3; + if ((g | 0) > (c[46510] | 0)) { + f = c[46511] | 0; + if (!f) f = vH(H << 7) | 0; else f = xH(f, H << 7) | 0; + c[46511] = f; + c[46510] = g + } + a:do if ((H | 0) > 1 ? +h[B + 8 >> 3] > +h[B + 40 >> 3] : 0) { + f = 0; + while (1) { + if ((f | 0) == (H | 0)) { + p = 1; + break a + } + z = B + (f << 5) + 24 | 0; + m = +h[z >> 3]; + A = B + (f << 5) + 8 | 0; + h[z >> 3] = -+h[A >> 3]; + h[A >> 3] = -m; + f = f + 1 | 0 + } + } else p = 0; while (0); + r = c[C >> 2] & 3; + z = C + 48 | 0; + f = c[((r | 0) == 3 ? C : z) + 40 >> 2] | 0; + A = C + -48 | 0; + if ((f | 0) == (c[((r | 0) == 2 ? C : A) + 40 >> 2] | 0)) { + c[i >> 2] = ry(f) | 0; + Pw(1, 101800, i) | 0; + f = 0; + break + } + o = H + -1 | 0; + q = c[46511] | 0; + r = q; + f = 0; + j = 0; + b:while (1) { + if ((j | 0) >= (H | 0)) { + j = o; + n = f; + break + } + if ((j | 0) > 0) g = +h[B + (j << 5) + 8 >> 3] > +h[B + (j + -1 << 5) + 8 >> 3] ? -1 : 1; else g = 0; + if ((j | 0) < (o | 0)) i = +h[B + (j + 1 << 5) + 8 >> 3] > +h[B + (j << 5) + 8 >> 3] ? 1 : -1; else i = 0; + c:do if ((g | 0) != (i | 0)) if ((g | 0) == 1 | (i | 0) == -1) { + g = B + (j << 5) | 0; + h[q + (f << 4) >> 3] = +h[g >> 3]; + i = f + 1 | 0; + h[q + (f << 4) + 8 >> 3] = +h[B + (j << 5) + 24 >> 3]; + h[q + (i << 4) >> 3] = +h[g >> 3]; + g = B + (j << 5) + 8 | 0; + D = 29; + break + } else { + g = B + (j << 5) + 16 | 0; + h[q + (f << 4) >> 3] = +h[g >> 3]; + i = f + 1 | 0; + h[q + (f << 4) + 8 >> 3] = +h[B + (j << 5) + 8 >> 3]; + h[q + (i << 4) >> 3] = +h[g >> 3]; + g = B + (j << 5) + 24 | 0; + D = 29; + break + } else { + switch (g | 0) { + case -1: + break c; + case 0: + break; + default: { + D = 28; + break b + } + } + g = B + (j << 5) | 0; + h[q + (f << 4) >> 3] = +h[g >> 3]; + i = f + 1 | 0; + h[q + (f << 4) + 8 >> 3] = +h[B + (j << 5) + 24 >> 3]; + h[q + (i << 4) >> 3] = +h[g >> 3]; + g = B + (j << 5) + 8 | 0; + D = 29 + } while (0); + if ((D | 0) == 29) { + D = 0; + h[q + (i << 4) + 8 >> 3] = +h[g >> 3]; + f = f + 2 | 0 + } + j = j + 1 | 0 + } + if ((D | 0) == 28) { + c[n >> 2] = g; + c[n + 4 >> 2] = g; + c[n + 8 >> 2] = 480; + Pw(1, 101735, n) | 0; + f = 0; + break + } + d:while (1) { + if ((j | 0) <= -1) break; + if ((j | 0) < (o | 0)) f = +h[B + (j << 5) + 8 >> 3] > +h[B + (j + 1 << 5) + 8 >> 3] ? -1 : 1; else f = 0; + if ((j | 0) > 0) g = +h[B + (j + -1 << 5) + 8 >> 3] > +h[B + (j << 5) + 8 >> 3] ? 1 : -1; else g = 0; + e:do if ((f | 0) != (g | 0)) if ((f | 0) == 1 | (g | 0) == -1) { + f = B + (j << 5) | 0; + h[q + (n << 4) >> 3] = +h[f >> 3]; + g = n + 1 | 0; + h[q + (n << 4) + 8 >> 3] = +h[B + (j << 5) + 24 >> 3]; + h[q + (g << 4) >> 3] = +h[f >> 3]; + f = B + (j << 5) + 8 | 0; + i = 2; + break + } else { + f = B + (j << 5) + 16 | 0; + h[q + (n << 4) >> 3] = +h[f >> 3]; + g = n + 1 | 0; + h[q + (n << 4) + 8 >> 3] = +h[B + (j << 5) + 8 >> 3]; + h[q + (g << 4) >> 3] = +h[f >> 3]; + f = B + (j << 5) + 24 | 0; + i = 2; + break + } else switch (f | 0) { + case 0: { + f = B + (j << 5) + 16 | 0; + h[q + (n << 4) >> 3] = +h[f >> 3]; + g = n + 1 | 0; + h[q + (n << 4) + 8 >> 3] = +h[B + (j << 5) + 8 >> 3]; + h[q + (g << 4) >> 3] = +h[f >> 3]; + f = B + (j << 5) + 24 | 0; + i = 2; + break e + } + case -1: { + N = B + (j << 5) + 16 | 0; + h[q + (n << 4) >> 3] = +h[N >> 3]; + f = B + (j << 5) + 8 | 0; + i = n + 1 | 0; + h[q + (n << 4) + 8 >> 3] = +h[f >> 3]; + h[q + (i << 4) >> 3] = +h[N >> 3]; + N = B + (j << 5) + 24 | 0; + M = n + 2 | 0; + h[q + (i << 4) + 8 >> 3] = +h[N >> 3]; + i = B + (j << 5) | 0; + h[q + (M << 4) >> 3] = +h[i >> 3]; + g = n + 3 | 0; + h[q + (M << 4) + 8 >> 3] = +h[N >> 3]; + h[q + (g << 4) >> 3] = +h[i >> 3]; + i = 4; + break e + } + default: { + D = 42; + break d + } + } while (0); + h[q + (g << 4) + 8 >> 3] = +h[f >> 3]; + j = j + -1 | 0; + n = n + i | 0 + } + if ((D | 0) == 42) { + c[s >> 2] = f; + c[s + 4 >> 2] = f; + c[s + 8 >> 2] = 513; + Pw(1, 101735, s) | 0; + f = 0; + break + } + f:do if (!p) f = 0; else { + f = 0; + while (1) { + if ((f | 0) >= (H | 0)) { + f = 0; + break + } + M = B + (f << 5) + 24 | 0; + m = +h[M >> 3]; + N = B + (f << 5) + 8 | 0; + h[M >> 3] = -+h[N >> 3]; + h[N >> 3] = -m; + f = f + 1 | 0 + } + while (1) { + if ((f | 0) >= (n | 0)) { + f = 0; + break f + } + N = q + (f << 4) + 8 | 0; + h[N >> 3] = -+h[N >> 3]; + f = f + 1 | 0 + } + } while (0); + while (1) { + if ((f | 0) >= (H | 0)) break; + h[B + (f << 5) >> 3] = 2147483647.0; + h[B + (f << 5) + 16 >> 3] = -2147483648.0; + f = f + 1 | 0 + } + c[t >> 2] = r; + i = t + 4 | 0; + c[i >> 2] = n; + h[u >> 3] = +h[b >> 3]; + h[u + 8 >> 3] = +h[b + 8 >> 3]; + h[u + 16 >> 3] = +h[b + 40 >> 3]; + h[u + 24 >> 3] = +h[b + 48 >> 3]; + if ((TU(t, u, I) | 0) < 0) { + Pw(1, 101839, v) | 0; + f = 0; + break + } + if (!e) { + g = c[i >> 2] | 0; + f = c[46504] | 0; + if ((g | 0) > (c[46503] | 0)) { + if (!f) f = vH(g << 5) | 0; else f = xH(f, g << 5) | 0; + c[46504] = f; + g = c[i >> 2] | 0; + c[46503] = g + } + j = c[46511] | 0; + i = 0; + while (1) { + if ((i | 0) >= (g | 0)) break; + M = f + (i << 5) | 0; + N = j + (i << 4) | 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]; + M = f + (i << 5) + 16 | 0; + N = i + 1 | 0; + v = j + (((N | 0) % (g | 0) | 0) << 4) | 0; + 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]; + i = N + } + if (!(a[b + 29 >> 0] | 0)) { + k = 0.0; + m = 0.0 + } else { + m = +h[b + 16 >> 3]; + k = +E(+m); + m = +F(+m) + } + h[w + 8 >> 3] = m; + h[w >> 3] = k; + if (!(a[b + 69 >> 0] | 0)) { + k = 0.0; + m = 0.0 + } else { + m = +h[b + 56 >> 3]; + k = -+E(+m); + m = -+F(+m) + } + h[w + 24 >> 3] = m; + h[w + 16 >> 3] = k; + c[G >> 2] = c[I >> 2]; + c[G + 4 >> 2] = c[I + 4 >> 2]; + if ((xU(f, g, G, w, y) | 0) < 0) { + Pw(1, 101878, x) | 0; + f = 0; + break + } + } else { + c[G >> 2] = c[I >> 2]; + c[G + 4 >> 2] = c[I + 4 >> 2]; + oV(G, y) + } + n = y + 4 | 0; + if (!(pJ(c[n >> 2] | 0) | 0)) { + f = 0; + while (1) { + if ((f | 0) >= (H | 0)) break; + h[B + (f << 5) >> 3] = 2147483647.0; + h[B + (f << 5) + 16 >> 3] = -2147483648.0; + f = f + 1 | 0 + } + i = c[n >> 2] | 0; + j = c[46505] | 0; + g = c[y >> 2] | 0; + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) { + i = 1; + f = 10; + g = 0; + break + } + N = j + (f << 4) | 0; + M = g + (f << 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]; + f = f + 1 | 0 + } + while (1) { + if (!((g | 0) < 15 & i << 24 >> 24 != 0)) break; + vJ(B, H, c[46505] | 0, c[n >> 2] | 0, f); + j = 0; + while (1) { + if ((j | 0) >= (H | 0)) break; + if (+h[B + (j << 5) >> 3] == 2147483647.0) { + D = 82; + break + } + if (+h[B + (j << 5) + 16 >> 3] == -2147483648.0) { + D = 82; + break + } + j = j + 1 | 0 + } + if ((D | 0) == 82) { + D = 0; + N = f << 1; + f = N; + g = (N | 0) > (2147483647 / (H | 0) | 0 | 0) ? 15 : g + } + i = (j | 0) == (H | 0) ? 0 : i; + g = g + 1 | 0 + } + if (i << 24 >> 24) { + M = ry(c[((c[C >> 2] & 3 | 0) == 3 ? C : z) + 40 >> 2] | 0) | 0; + N = ry(c[((c[C >> 2] & 3 | 0) == 2 ? C : A) + 40 >> 2] | 0) | 0; + c[K >> 2] = M; + c[K + 4 >> 2] = N; + Pw(0, 101916, K) | 0; + c[G >> 2] = c[I >> 2]; + c[G + 4 >> 2] = c[I + 4 >> 2]; + oV(G, J); + vJ(B, H, c[J >> 2] | 0, c[J + 4 >> 2] | 0, 10); + D_(c[J >> 2] | 0) + } + c[d >> 2] = c[n >> 2]; + f = c[46505] | 0 + } else f = 0 + } else f = 0 + } while (0); + l = L; + return f | 0 + } + + function uJ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0.0, q = 0.0, r = 0.0, + s = 0.0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, + G = 0, H = 0, I = 0, J = 0, K = 0.0, L = 0, M = 0, N = 0, O = 0.0, P = 0, Q = 0, R = 0; + R = l; + l = l + 32 | 0; + I = R + 16 | 0; + H = R + 8 | 0; + k = R; + e = 0; + j = 0; + while (1) { + if ((j | 0) >= (a | 0)) break; + i = b + (j << 5) | 0; + s = +h[b + (j << 5) + 8 >> 3] - +h[b + (j << 5) + 24 >> 3]; + if (!((s >= 0.0 ? s : -s) < .01) ? (s = +h[i >> 3] - +h[b + (j << 5) + 16 >> 3], !((s >= 0.0 ? s : -s) < .01)) : 0) { + if ((e | 0) != (j | 0)) { + P = b + (e << 5) | 0; + c[P >> 2] = c[i >> 2]; + c[P + 4 >> 2] = c[i + 4 >> 2]; + c[P + 8 >> 2] = c[i + 8 >> 2]; + c[P + 12 >> 2] = c[i + 12 >> 2]; + c[P + 16 >> 2] = c[i + 16 >> 2]; + c[P + 20 >> 2] = c[i + 20 >> 2]; + c[P + 24 >> 2] = c[i + 24 >> 2]; + c[P + 28 >> 2] = c[i + 28 >> 2] + } + e = e + 1 | 0 + } + j = j + 1 | 0 + } + J = b + 16 | 0; + do if (!(+h[b >> 3] > +h[J >> 3]) ? (L = b + 8 | 0, N = b + 24 | 0, !(+h[L >> 3] > +h[N >> 3])) : 0) { + P = e + -1 | 0; + M = c[15686] | 0; + w = 0; + while (1) { + if ((w | 0) >= (P | 0)) break; + D = w + 1 | 0; + E = b + (D << 5) | 0; + f = +h[E >> 3]; + F = b + (D << 5) + 16 | 0; + g = +h[F >> 3]; + if (f > g) { + Q = 16; + break + } + A = b + (D << 5) + 8 | 0; + m = +h[A >> 3]; + B = b + (D << 5) + 24 | 0; + n = +h[B >> 3]; + if (m > n) { + Q = 16; + break + } + G = b + (w << 5) + 16 | 0; + v = +h[G >> 3] < f; + e = v & 1; + C = b + (w << 5) | 0; + u = +h[C >> 3] > g; + a = u & 1; + z = b + (w << 5) + 24 | 0; + t = +h[z >> 3] < m; + j = t & 1; + y = b + (w << 5) + 8 | 0; + k = +h[y >> 3] > n; + i = k & 1; + x = a + e + j + i | 0; + o = (x | 0) != 0; + if (!(0 == 0 | o ^ 1)) { + c[I >> 2] = w; + c[I + 4 >> 2] = D; + g1(M, 102116, I) | 0; + wJ(d) + } + a:do if (o) { + if (!v) if (!u) if (!t) { + if (k) { + k = 0; + o = e; + e = B; + i = y; + Q = 24 + } + } else { + k = i; + j = 0; + o = e; + e = A; + i = z; + Q = 24 + } else { + k = i; + a = 0; + o = e; + e = F; + i = C; + Q = 24 + } else { + k = i; + o = 0; + e = E; + i = G; + Q = 24 + } + if ((Q | 0) == 24) { + Q = 0; + w = ~~+h[i >> 3]; + h[i >> 3] = +h[e >> 3]; + h[e >> 3] = +(w | 0); + i = k; + e = o + } + o = x + -1 | 0; + k = 0; + while (1) { + if ((k | 0) >= (o | 0)) break a; + do if ((e | 0) != 1) { + if ((a | 0) == 1) { + s = +(~~((+h[F >> 3] + +h[C >> 3]) * .5 + .5) | 0); + h[F >> 3] = s; + h[C >> 3] = s; + a = 0; + break + } + if ((j | 0) == 1) { + s = +(~~((+h[A >> 3] + +h[z >> 3]) * .5 + .5) | 0); + h[A >> 3] = s; + h[z >> 3] = s; + j = 0; + break + } + if ((i | 0) == 1) { + s = +(~~((+h[B >> 3] + +h[y >> 3]) * .5 + .5) | 0); + h[B >> 3] = s; + h[y >> 3] = s; + i = 0 + } + } else { + s = +(~~((+h[E >> 3] + +h[G >> 3]) * .5 + .5) | 0); + h[E >> 3] = s; + h[G >> 3] = s; + e = 0 + } while (0); + k = k + 1 | 0 + } + } while (0); + p = +h[C >> 3]; + q = +h[G >> 3]; + r = +h[E >> 3]; + s = +h[F >> 3]; + i = xJ(~~p, ~~q, ~~r, ~~s) | 0; + n = +h[y >> 3]; + m = +h[z >> 3]; + g = +h[A >> 3]; + f = +h[B >> 3]; + e = xJ(~~n, ~~m, ~~g, ~~f) | 0; + if (!((i | 0) != 0 & (e | 0) != 0)) { + w = D; + continue + } + if ((i | 0) < (e | 0)) { + B = q - p > s - r; + w = q < s; + h[(B ? (w ? G : C) : w ? E : F) >> 3] = B ? (w ? r : s) : w ? q : p; + w = D; + continue + } else { + B = m - n > f - g; + w = m < f; + h[(B ? (w ? G : C) : w ? E : F) + 8 >> 3] = B ? (w ? g : f) : w ? m : n; + w = D; + continue + } + } + if ((Q | 0) == 16) { + c[H >> 2] = D; + Pw(1, 102070, H) | 0; + wJ(d); + e = 1; + break + } + f = +h[d >> 3]; + g = +h[b >> 3]; + if (!(((!(f < g) ? !(f > +h[J >> 3]) : 0) ? (K = +h[d + 8 >> 3], !(K < +h[L >> 3])) : 0) ? !(K > +h[N >> 3]) : 0)) { + if (0) { + E1(102159, 42, 1, M) | 0; + wJ(d); + g = +h[b >> 3]; + f = +h[d >> 3] + } + if (f < g) h[d >> 3] = g; else g = f; + f = +h[J >> 3]; + if (g > f) h[d >> 3] = f; + e = d + 8 | 0; + g = +h[e >> 3]; + f = +h[L >> 3]; + if (g < f) { + h[e >> 3] = f; + g = f + } + f = +h[N >> 3]; + if (g > f) h[e >> 3] = f + } + i = d + 40 | 0; + f = +h[i >> 3]; + e = b + (P << 5) | 0; + g = +h[e >> 3]; + if (((!(f < g) ? !(f > +h[b + (P << 5) + 16 >> 3]) : 0) ? (O = +h[d + 48 >> 3], !(O < +h[b + (P << 5) + 8 >> 3])) : 0) ? !(O > +h[b + (P << 5) + 24 >> 3]) : 0) { + e = 0; + break + } + if (0) { + E1(102202, 39, 1, M) | 0; + wJ(d); + g = +h[e >> 3]; + f = +h[i >> 3] + } + if (f < g) { + h[i >> 3] = g; + f = g + } + g = +h[b + (P << 5) + 16 >> 3]; + if (f > g) h[i >> 3] = g; + e = d + 48 | 0; + f = +h[e >> 3]; + g = +h[b + (P << 5) + 8 >> 3]; + if (f < g) h[e >> 3] = g; else g = f; + f = +h[b + (P << 5) + 24 >> 3]; + if (g > f) { + h[e >> 3] = f; + e = 0 + } else e = 0 + } else Q = 12; while (0); + if ((Q | 0) == 12) { + Pw(1, 102025, k) | 0; + wJ(d); + e = 1 + } + l = R; + return e | 0 + } + + function vJ(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, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0.0, u = 0, v = 0.0, w = 0.0, x = 0.0, y = 0.0, z = 0.0; + s = O(e, b) | 0; + t = 1.0 / +(s | 0); + e = 0; + a:while (1) { + u = e + 3 | 0; + if ((u | 0) >= (d | 0)) break; + o = c + (e << 4) | 0; + p = c + (e << 4) + 8 | 0; + r = e + 1 | 0; + q = c + (r << 4) | 0; + r = c + (r << 4) + 8 | 0; + j = e + 2 | 0; + i = c + (j << 4) | 0; + j = c + (j << 4) + 8 | 0; + k = c + (u << 4) | 0; + l = c + (u << 4) + 8 | 0; + g = 0; + while (1) { + if ((g | 0) > (s | 0)) { + e = u; + continue a + } + v = t * +(g | 0); + m = +h[o >> 3]; + n = +h[p >> 3]; + y = +h[q >> 3]; + w = +h[r >> 3]; + z = +h[i >> 3]; + x = +h[j >> 3]; + m = (y - m) * v + m; + n = (w - n) * v + n; + y = (z - y) * v + y; + w = (x - w) * v + w; + m = (y - m) * v + m; + n = (w - n) * v + n; + m = ((z - y + (+h[k >> 3] - z) * v) * v + y - m) * v + m; + n = ((x - w + (+h[l >> 3] - x) * v) * v + w - n) * v + n; + f = 0; + while (1) { + if ((f | 0) >= (b | 0)) break; + if (n <= +h[a + (f << 5) + 24 >> 3] + .0001 ? n >= +h[a + (f << 5) + 8 >> 3] + -.0001 : 0) { + e = a + (f << 5) | 0; + if (+h[e >> 3] > m) h[e >> 3] = m; + e = a + (f << 5) + 16 | 0; + if (+h[e >> 3] < m) h[e >> 3] = m + } + f = f + 1 | 0 + } + g = g + 1 | 0 + } + } + return + } + + function wJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0; + m = l; + l = l + 112 | 0; + j = m + 80 | 0; + k = m + 48 | 0; + i = m + 8 | 0; + g = m; + e = c[15686] | 0; + f = b + 80 | 0; + c[g >> 2] = c[f >> 2]; + g1(e, 102242, g) | 0; + g = b + 84 | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[f >> 2] | 0)) break; + r = c[g >> 2] | 0; + q = +h[r + (d << 5) >> 3]; + p = +h[r + (d << 5) + 8 >> 3]; + o = +h[r + (d << 5) + 16 >> 3]; + n = +h[r + (d << 5) + 24 >> 3]; + c[i >> 2] = d; + h[i + 8 >> 3] = q; + h[i + 16 >> 3] = p; + h[i + 24 >> 3] = o; + h[i + 32 >> 3] = n; + g1(e, 102253, i) | 0; + d = d + 1 | 0 + } + q = +h[b + 8 >> 3]; + p = +h[b + 16 >> 3]; + r = a[b + 29 >> 0] | 0 ? 102284 : 102296; + h[k >> 3] = +h[b >> 3]; + h[k + 8 >> 3] = q; + h[k + 16 >> 3] = p; + c[k + 24 >> 2] = r; + g1(e, 102312, k) | 0; + p = +h[b + 48 >> 3]; + q = +h[b + 56 >> 3]; + r = a[b + 69 >> 0] | 0 ? 102284 : 102296; + h[j >> 3] = +h[b + 40 >> 3]; + h[j + 8 >> 3] = p; + h[j + 16 >> 3] = q; + c[j + 24 >> 2] = r; + g1(e, 102363, j) | 0; + l = m; + return + } + + function xJ(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + do if ((b | 0) > (c | 0) & (d | 0) > (a | 0)) { + if (!((c | 0) > (a | 0) | (d | 0) < (a | 0))) { + a = d - a | 0; + break + } + if ((b | 0) < (c | 0) | (b | 0) > (d | 0)) { + b = b - a | 0; + a = d - c | 0; + a = (b | 0) < (a | 0) ? b : a; + break + } else { + a = b - c | 0; + break + } + } else a = 0; while (0); + return a | 0 + } + + function yJ(a, b) { + a = a | 0; + b = b | 0; + return tJ(a, b, 1) | 0 + } + + function zJ(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 80 | 0; + g = j; + i = 1; + f = b; + while (1) { + h = f; + f = c[(c[f + 16 >> 2] | 0) + 172 >> 2] | 0; + if (!((f | 0) != 0 & (h | 0) != (f | 0))) break; else i = i + 1 | 0 + } + if ((i | 0) >= 21) g = uH(i << 2) | 0; + h = 0; + f = b; + while (1) { + if ((h | 0) >= (i | 0)) break; + c[g + (h << 2) >> 2] = f; + h = h + 1 | 0; + f = c[(c[f + 16 >> 2] | 0) + 172 >> 2] | 0 + } + AJ(a, g, i, d, e); + if ((i | 0) > 20) D_(g); + l = j; + return + } + + function AJ(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0.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.0, M = 0.0, N = 0.0, P = 0, Q = 0; + K = l; + l = l + 304 | 0; + A = K + 272 | 0; + z = K + 208 | 0; + G = K + 96 | 0; + H = K + 32 | 0; + I = K + 16 | 0; + J = K; + r = K + 192 | 0; + y = K + 176 | 0; + i = K + 160 | 0; + B = K + 296 | 0; + D = K + 288 | 0; + j = c[d >> 2] | 0; + w = c[j >> 2] & 3; + k = j + -48 | 0; + E = c[((w | 0) == 2 ? j : k) + 40 >> 2] | 0; + t = G + 16 | 0; + w = (c[(c[((w | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + x = j + 16 | 0; + F = (c[x >> 2] | 0) + 16 | 0; + c[z >> 2] = c[w >> 2]; + c[z + 4 >> 2] = c[w + 4 >> 2]; + c[z + 8 >> 2] = c[w + 8 >> 2]; + c[z + 12 >> 2] = c[w + 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]; + BJ(r, z, A); + c[G >> 2] = c[r >> 2]; + c[G + 4 >> 2] = c[r + 4 >> 2]; + c[G + 8 >> 2] = c[r + 8 >> 2]; + c[G + 12 >> 2] = c[r + 12 >> 2]; + c[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[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]; + r = G + 32 | 0; + F = G + 48 | 0; + w = (c[E + 16 >> 2] | 0) + 16 | 0; + x = (c[x >> 2] | 0) + 56 | 0; + c[z >> 2] = c[w >> 2]; + c[z + 4 >> 2] = c[w + 4 >> 2]; + c[z + 8 >> 2] = c[w + 8 >> 2]; + c[z + 12 >> 2] = c[w + 12 >> 2]; + 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]; + BJ(y, z, A); + 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]; + c[r >> 2] = c[y >> 2]; + c[r + 4 >> 2] = c[y + 4 >> 2]; + c[r + 8 >> 2] = c[y + 8 >> 2]; + c[r + 12 >> 2] = c[y + 12 >> 2]; + c[J >> 2] = c[y >> 2]; + c[J + 4 >> 2] = c[y + 4 >> 2]; + c[J + 8 >> 2] = c[y + 8 >> 2]; + c[J + 12 >> 2] = c[y + 12 >> 2]; + a:do if ((e | 0) != 1 & (a[191874] | 0) == 0) { + m = +h[G >> 3]; + n = +h[F >> 3]; + L = m - n; + o = +h[G + 8 >> 3]; + p = +h[G + 56 >> 3]; + s = o - p; + q = s * s; + if (q + L * L < 1.0e-06) { + c[t >> 2] = c[G >> 2]; + c[t + 4 >> 2] = c[G + 4 >> 2]; + c[t + 8 >> 2] = c[G + 8 >> 2]; + c[t + 12 >> 2] = c[G + 12 >> 2]; + c[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]; + y = G + 24 | 0; + x = G + 40 | 0; + n = 0.0; + m = 0.0 + } else { + M = n - m; + L = +C(+(q + M * M)); + w = c[(c[(c[b + 60 >> 2] | 0) + 16 >> 2] | 0) + 248 >> 2] | 0; + N = +((O(w, e + -1 | 0) | 0) / 2 | 0 | 0); + q = s * N / L; + h[t >> 3] = q + m; + m = M * N / L; + y = G + 24 | 0; + h[y >> 3] = m + o; + h[r >> 3] = q + n; + x = G + 40 | 0; + h[x >> 3] = p + m; + m = +(0 - w | 0); + n = M * m / L; + m = s * m / L + } + f = (f | 0) == 6; + u = D + 4 | 0; + v = B + 4 | 0; + j = 0; + while (1) { + if ((j | 0) >= (e | 0)) break a; + w = c[d + (j << 2) >> 2] | 0; + k = w + -48 | 0; + b:do if ((c[((c[w >> 2] & 3 | 0) == 2 ? w : k) + 40 >> 2] | 0) == (E | 0)) { + c[I >> 2] = c[G >> 2]; + c[I + 4 >> 2] = c[G + 4 >> 2]; + c[I + 8 >> 2] = c[G + 8 >> 2]; + c[I + 12 >> 2] = c[G + 12 >> 2]; + c[J >> 2] = c[F >> 2]; + c[J + 4 >> 2] = c[F + 4 >> 2]; + c[J + 8 >> 2] = c[F + 8 >> 2]; + c[J + 12 >> 2] = c[F + 12 >> 2]; + i = 0; + while (1) { + if ((i | 0) == 4) break b; + P = H + (i << 4) | 0; + Q = G + (i << 4) | 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]; + i = i + 1 | 0 + } + } else { + c[I >> 2] = c[F >> 2]; + c[I + 4 >> 2] = c[F + 4 >> 2]; + c[I + 8 >> 2] = c[F + 8 >> 2]; + c[I + 12 >> 2] = c[F + 12 >> 2]; + c[J >> 2] = c[G >> 2]; + c[J + 4 >> 2] = c[G + 4 >> 2]; + c[J + 8 >> 2] = c[G + 8 >> 2]; + c[J + 12 >> 2] = c[G + 12 >> 2]; + i = 0; + while (1) { + if ((i | 0) == 4) break b; + Q = H + (3 - i << 4) | 0; + P = G + (i << 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]; + i = i + 1 | 0 + } + } while (0); + if (f) { + c[u >> 2] = 4; + c[D >> 2] = z; + i = 0; + while (1) { + if ((i | 0) == 4) break; + Q = z + (i << 4) | 0; + P = H + (i << 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]; + i = i + 1 | 0 + } + c[A >> 2] = c[D >> 2]; + c[A + 4 >> 2] = c[D + 4 >> 2]; + oV(A, B); + QK(w, c[((c[w >> 2] & 3 | 0) == 2 ? w : k) + 40 >> 2] | 0, c[B >> 2] | 0, c[v >> 2] | 0, g) + } else QK(w, c[((c[w >> 2] & 3 | 0) == 2 ? w : k) + 40 >> 2] | 0, H, 4, g); + 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[A >> 2] = c[J >> 2]; + c[A + 4 >> 2] = c[J + 4 >> 2]; + c[A + 8 >> 2] = c[J + 8 >> 2]; + c[A + 12 >> 2] = c[J + 12 >> 2]; + jL(b, w, z, A); + h[t >> 3] = +h[t >> 3] + m; + h[y >> 3] = +h[y >> 3] + n; + h[r >> 3] = +h[r >> 3] + m; + h[x >> 3] = +h[x >> 3] + n; + j = j + 1 | 0 + } + } else { + if ((f | 0) == 4) { + CJ(i, b); + 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]; + DJ(G, A) + } + QK(j, c[((c[j >> 2] & 3 | 0) == 2 ? j : k) + 40 >> 2] | 0, G, 4, g); + 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[A >> 2] = c[J >> 2]; + c[A + 4 >> 2] = c[J + 4 >> 2]; + c[A + 8 >> 2] = c[J + 8 >> 2]; + c[A + 12 >> 2] = c[J + 12 >> 2]; + jL(b, j, z, A) + } while (0); + l = K; + return + } + + function BJ(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function CJ(a, b) { + a = a | 0; + b = b | 0; + b = c[b + 16 >> 2] | 0; + h[22920] = (+h[b + 32 >> 3] + +h[b + 16 >> 3]) * .5; + h[22921] = (+h[b + 40 >> 3] + +h[b + 24 >> 3]) * .5; + c[a >> 2] = c[45840]; + c[a + 4 >> 2] = c[45841]; + c[a + 8 >> 2] = c[45842]; + c[a + 12 >> 2] = c[45843]; + return + } + + function DJ(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0, e = 0.0, f = 0.0, g = 0.0, i = 0.0; + f = +h[a >> 3]; + d = +h[a + 48 >> 3]; + i = (d + f) * .5; + g = +h[a + 8 >> 3]; + c = +h[a + 56 >> 3]; + e = (c + g) * .5; + f = d - f; + g = c - g; + f = +C(+(g * g + f * f)) * .2; + g = +h[b >> 3] - i; + c = +h[b + 8 >> 3] - e; + d = +C(+(c * c + g * g)); + if (!(d == 0.0)) { + g = i - g / d * f; + i = e - c / d * f; + h[a + 32 >> 3] = g; + h[a + 16 >> 3] = g; + h[a + 40 >> 3] = i; + h[a + 24 >> 3] = i + } + return + } + + function EJ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0.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, D = 0, E = 0, F = 0.0, G = 0, H = 0.0, I = 0.0, + J = 0.0; + E = l; + l = l + 208 | 0; + t = E + 192 | 0; + s = E + 176 | 0; + B = E + 32 | 0; + w = E + 16 | 0; + x = E; + y = E + 160 | 0; + z = E + 144 | 0; + u = E + 128 | 0; + v = E + 112 | 0; + g = e & 2130706432; + A = (e & 8 | 0) == 0 ? ((g | 0) == 0 ? 4 : g) : 8; + if ((A | 0) == 436207616) FJ(a, b, d, f); else { + D = uH((d << 6) + 64 | 0) | 0; + p = d + -1 | 0; + q = x + 8 | 0; + r = w + 8 | 0; + o = 12.0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break; + n = b + (e << 4) | 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]; + if ((e | 0) < (p | 0)) { + e = e + 1 | 0; + n = b + (e << 4) | 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[x >> 2] = c[b >> 2]; + c[x + 4 >> 2] = c[b + 4 >> 2]; + c[x + 8 >> 2] = c[b + 8 >> 2]; + c[x + 12 >> 2] = c[b + 12 >> 2]; + e = e + 1 | 0 + } + m = +h[x >> 3] - +h[w >> 3]; + F = +h[q >> 3] - +h[r >> 3]; + m = +C(+(F * F + m * m)) * .3333333333333333; + o = o < m ? o : m + } + k = (g | 16777216 | 0) == 83886080; + n = (A | 0) == 4; + j = (g | 0) == 16777216; + e = 0; + i = 0; + while (1) { + if ((i | 0) >= (d | 0)) break; + g = b + (i << 4) | 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]; + if ((i | 0) < (p | 0)) { + g = b + (i + 1 << 4) | 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] + } else { + c[x >> 2] = c[b >> 2]; + c[x + 4 >> 2] = c[b + 4 >> 2]; + c[x + 8 >> 2] = c[b + 8 >> 2]; + c[x + 12 >> 2] = c[b + 12 >> 2] + } + m = +h[x >> 3] - +h[w >> 3]; + F = +h[q >> 3] - +h[r >> 3]; + m = o / +C(+(F * F + m * m)); + m = k ? m * .3333333333333333 : j ? m * .5 : m; + g = D + (e << 4) | 0; + if (n) { + 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]; + c[t >> 2] = c[x >> 2]; + c[t + 4 >> 2] = c[x + 4 >> 2]; + c[t + 8 >> 2] = c[x + 8 >> 2]; + c[t + 12 >> 2] = c[x + 12 >> 2]; + GJ(y, m * .5, s, t); + 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] + } else { + c[g >> 2] = c[w >> 2]; + c[g + 4 >> 2] = c[w + 4 >> 2]; + c[g + 8 >> 2] = c[w + 8 >> 2]; + c[g + 12 >> 2] = c[w + 12 >> 2] + } + g = D + (e + 1 << 4) | 0; + 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]; + c[t >> 2] = c[x >> 2]; + c[t + 4 >> 2] = c[x + 4 >> 2]; + c[t + 8 >> 2] = c[x + 8 >> 2]; + c[t + 12 >> 2] = c[x + 12 >> 2]; + GJ(z, m, s, t); + 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]; + g = e + 3 | 0; + G = D + (e + 2 << 4) | 0; + 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]; + c[t >> 2] = c[x >> 2]; + c[t + 4 >> 2] = c[x + 4 >> 2]; + c[t + 8 >> 2] = c[x + 8 >> 2]; + c[t + 12 >> 2] = c[x + 12 >> 2]; + GJ(u, 1.0 - m, s, t); + c[G >> 2] = c[u >> 2]; + c[G + 4 >> 2] = c[u + 4 >> 2]; + c[G + 8 >> 2] = c[u + 8 >> 2]; + c[G + 12 >> 2] = c[u + 12 >> 2]; + if (n) { + G = D + (g << 4) | 0; + 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]; + c[t >> 2] = c[x >> 2]; + c[t + 4 >> 2] = c[x + 4 >> 2]; + c[t + 8 >> 2] = c[x + 8 >> 2]; + c[t + 12 >> 2] = c[x + 12 >> 2]; + GJ(v, 1.0 - m * .5, s, t); + 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]; + e = e + 4 | 0 + } else e = g; + i = i + 1 | 0 + } + k = D + (e << 4) | 0; + c[k >> 2] = c[D >> 2]; + c[k + 4 >> 2] = c[D + 4 >> 2]; + c[k + 8 >> 2] = c[D + 8 >> 2]; + c[k + 12 >> 2] = c[D + 12 >> 2]; + k = D + (e + 1 << 4) | 0; + j = D + 16 | 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]; + e = D + (e + 2 << 4) | 0; + k = D + 32 | 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]; + e = A & 2147483647; + a:do if ((e | 0) < 201326592) { + if ((e | 0) >= 83886080) { + if ((e | 0) < 134217728) { + if ((e | 0) < 100663296) { + switch (e | 0) { + case 83886080: + break; + default: + break a + } + if ((d | 0) == 4) { + G = uH(192) | 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]; + p = G + 16 | 0; + t = b + 16 | 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]; + p = D + 48 | 0; + t = D + 64 | 0; + o = +h[t >> 3]; + n = G + 32 | 0; + h[n >> 3] = o; + q = D + 56 | 0; + r = D + 72 | 0; + H = +h[r >> 3]; + z = G + 40 | 0; + h[z >> 3] = H; + F = +h[p >> 3] + o - +h[k >> 3]; + u = G + 48 | 0; + h[u >> 3] = F; + J = +h[q >> 3] + H - +h[D + 40 >> 3]; + x = G + 56 | 0; + h[x >> 3] = J; + I = +h[t >> 3] + F - +h[p >> 3]; + p = G + 64 | 0; + h[p >> 3] = I; + m = +h[r >> 3] + J - +h[q >> 3]; + q = G + 72 | 0; + h[q >> 3] = m; + r = G + 80 | 0; + h[r >> 3] = o + I - F; + h[G + 88 >> 3] = H + m - J; + t = D + 96 | 0; + v = D + 80 | 0; + J = +h[v >> 3]; + d = G + 144 | 0; + h[d >> 3] = J; + w = D + 104 | 0; + s = D + 88 | 0; + m = +h[s >> 3]; + h[G + 152 >> 3] = m; + H = +h[t >> 3] + J - +h[D + 112 >> 3]; + y = G + 128 | 0; + h[y >> 3] = H; + F = +h[w >> 3] + m - +h[D + 120 >> 3]; + A = G + 136 | 0; + h[A >> 3] = F; + I = +h[v >> 3] + H - +h[t >> 3]; + t = G + 112 | 0; + h[t >> 3] = I; + o = +h[s >> 3] + F - +h[w >> 3]; + w = G + 120 | 0; + h[w >> 3] = o; + s = G + 96 | 0; + h[s >> 3] = J + I - H; + v = G + 104 | 0; + h[v >> 3] = m + o - F; + k = G + 160 | 0; + j = b + 32 | 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]; + k = G + 176 | 0; + b = b + 48 | 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]; + _O(a, G, 12, f); + 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]; + F = +h[n >> 3]; + o = +h[u >> 3]; + F = F + F - o; + u = B + 16 | 0; + h[u >> 3] = F; + m = +h[z >> 3]; + H = +h[x >> 3]; + m = m + m - H; + x = B + 24 | 0; + h[x >> 3] = m; + z = B + 32 | 0; + h[z >> 3] = +h[p >> 3] + F - o; + b = B + 40 | 0; + h[b >> 3] = +h[q >> 3] + m - H; + f = B + 48 | 0; + 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]; + bP(a, B, 4); + 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]; + H = +h[s >> 3]; + m = +h[t >> 3]; + H = H - (m - H); + h[u >> 3] = H; + o = +h[v >> 3]; + F = +h[w >> 3]; + o = o - (F - o); + h[x >> 3] = o; + h[z >> 3] = +h[y >> 3] + H - m; + h[b >> 3] = +h[A >> 3] + o - F; + 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]; + bP(a, B, 4); + D_(G); + break + } else qa(102412, 102423, 737, 102432) + } + if ((e | 0) < 117440512) { + switch (e | 0) { + case 100663296: + break; + default: + break a + } + y = d + 5 | 0; + G = uH(y << 4) | 0; + z = b + 16 | 0; + H = +h[z >> 3]; + H = (+h[b >> 3] - H) * .625 + H; + h[G >> 3] = H; + A = b + 40 | 0; + J = +h[A >> 3]; + d = b + 24 | 0; + v = D + 48 | 0; + w = D + 56 | 0; + x = D + 72 | 0; + J = (+h[d >> 3] - J) * .5 + J + (+h[w >> 3] - +h[x >> 3]) * 1.5; + h[G + 8 >> 3] = J; + I = +h[z >> 3]; + I = (+h[b >> 3] - I) * .25 + I; + h[G + 16 >> 3] = I; + h[G + 24 >> 3] = J; + h[G + 32 >> 3] = I; + F = +h[A >> 3]; + h[G + 40 >> 3] = (+h[d >> 3] - F) * .5 + F; + I = (+h[k >> 3] - +h[v >> 3]) * .5 + I; + h[G + 48 >> 3] = I; + F = +h[A >> 3]; + h[G + 56 >> 3] = (+h[d >> 3] - F) * .5 + F; + h[G + 64 >> 3] = I; + I = +h[A >> 3]; + I = (+h[d >> 3] - I) * .5 + I + (+h[w >> 3] - +h[x >> 3]); + h[G + 72 >> 3] = I; + h[G + 80 >> 3] = H; + h[G + 88 >> 3] = I; + h[G + 96 >> 3] = H; + I = I - (+h[w >> 3] - +h[x >> 3]) * .25; + h[G + 104 >> 3] = I; + h[G + 112 >> 3] = +h[k >> 3] + H - +h[v >> 3]; + h[G + 120 >> 3] = (+h[w >> 3] - +h[x >> 3]) * .5 + I; + h[G + 128 >> 3] = +h[G >> 3]; + h[G + 136 >> 3] = (+h[w >> 3] - +h[x >> 3]) * .25 + J; + _O(a, G, y, f); + h[B >> 3] = +h[z >> 3]; + J = +h[A >> 3]; + h[B + 8 >> 3] = (+h[d >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[b >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 117440512: + break; + default: + break a + } + d = d + 1 | 0; + G = uH(d << 4) | 0; + h[G >> 3] = +h[j >> 3]; + z = D + 56 | 0; + A = D + 72 | 0; + h[G + 8 >> 3] = +h[D + 24 >> 3] - (+h[z >> 3] - +h[A >> 3]) * .5; + h[G + 16 >> 3] = +h[D + 48 >> 3]; + J = +h[z >> 3]; + h[G + 24 >> 3] = J - (J - +h[A >> 3]) * .5; + h[G + 32 >> 3] = +h[b + 32 >> 3]; + B = b + 40 | 0; + h[G + 40 >> 3] = (+h[z >> 3] - +h[A >> 3]) * .5 + +h[B >> 3]; + h[G + 48 >> 3] = +h[j >> 3]; + h[G + 56 >> 3] = (+h[z >> 3] - +h[A >> 3]) * .5 + +h[B >> 3]; + J = +h[b + 8 >> 3]; + h[G + 72 >> 3] = J - (J - +h[b + 56 >> 3]) * .5; + h[G + 64 >> 3] = +h[b >> 3]; + _O(a, G, d, f); + D_(G); + break + } + } + if ((e | 0) < 167772160) if ((e | 0) < 150994944) { + switch (e | 0) { + case 134217728: + break; + default: + break a + } + y = d + 4 | 0; + G = uH(y << 4) | 0; + z = b + 16 | 0; + F = +h[z >> 3]; + x = D + 48 | 0; + F = (+h[b >> 3] - F) * .5 + F + (+h[k >> 3] - +h[x >> 3]) * .25; + h[G >> 3] = F; + A = b + 40 | 0; + J = +h[A >> 3]; + d = b + 24 | 0; + J = (+h[d >> 3] - J) * .5 + J; + h[G + 8 >> 3] = J; + h[G + 16 >> 3] = F; + v = D + 56 | 0; + w = D + 72 | 0; + H = (+h[v >> 3] - +h[w >> 3]) * .5 + J; + h[G + 24 >> 3] = H; + F = (+h[k >> 3] - +h[x >> 3]) * .5 + F; + h[G + 32 >> 3] = F; + h[G + 40 >> 3] = H; + h[G + 48 >> 3] = F; + F = (+h[v >> 3] - +h[w >> 3]) * .5 + H; + h[G + 56 >> 3] = F; + I = +h[z >> 3]; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[x >> 3]) * -.75; + h[G + 64 >> 3] = I; + h[G + 72 >> 3] = F; + h[G + 80 >> 3] = I; + h[G + 88 >> 3] = H; + I = +h[z >> 3]; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[x >> 3]) * -.25; + h[G + 96 >> 3] = I; + h[G + 104 >> 3] = H; + h[G + 112 >> 3] = I; + h[G + 120 >> 3] = J; + _O(a, G, y, f); + h[B >> 3] = +h[z >> 3]; + J = +h[A >> 3]; + h[B + 8 >> 3] = (+h[d >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[b >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 150994944: + break; + default: + break a + } + y = d + 2 | 0; + G = uH(y << 4) | 0; + z = b + 16 | 0; + H = +h[z >> 3]; + x = D + 48 | 0; + H = (+h[b >> 3] - H) * .5 + H + (+h[k >> 3] - +h[x >> 3]) * .75; + h[G >> 3] = H; + A = b + 40 | 0; + J = +h[A >> 3]; + d = b + 24 | 0; + J = (+h[d >> 3] - J) * .5 + J; + h[G + 8 >> 3] = J; + h[G + 16 >> 3] = H; + v = D + 56 | 0; + w = D + 72 | 0; + H = (+h[v >> 3] - +h[w >> 3]) * .25 + J; + h[G + 24 >> 3] = H; + I = +h[z >> 3]; + h[G + 32 >> 3] = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[x >> 3]) * .25; + I = (+h[v >> 3] - +h[w >> 3]) * .5 + H; + h[G + 40 >> 3] = I; + F = +h[z >> 3]; + h[G + 48 >> 3] = (+h[b >> 3] - F) * .5 + F + (+h[k >> 3] - +h[x >> 3]) * -.25; + h[G + 56 >> 3] = I; + I = +h[z >> 3]; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[x >> 3]) * -.75; + h[G + 64 >> 3] = I; + h[G + 72 >> 3] = H; + h[G + 80 >> 3] = I; + h[G + 88 >> 3] = J; + _O(a, G, y, f); + h[B >> 3] = +h[z >> 3]; + J = +h[A >> 3]; + h[B + 8 >> 3] = (+h[d >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[b >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else if ((e | 0) < 184549376) { + switch (e | 0) { + case 167772160: + break; + default: + break a + } + y = d + 1 | 0; + G = uH(y << 4) | 0; + z = b + 16 | 0; + H = +h[z >> 3]; + v = D + 48 | 0; + H = +h[k >> 3] + H + (+h[b >> 3] - H) * .5 - +h[v >> 3]; + h[G >> 3] = H; + A = b + 40 | 0; + J = +h[A >> 3]; + d = b + 24 | 0; + w = D + 56 | 0; + x = D + 72 | 0; + J = (+h[d >> 3] - J) * .5 + J + (+h[w >> 3] - +h[x >> 3]) * .25; + h[G + 8 >> 3] = J; + H = H - +h[k >> 3] + +h[v >> 3]; + h[G + 16 >> 3] = H; + h[G + 24 >> 3] = +h[w >> 3] + J - +h[x >> 3]; + h[G + 32 >> 3] = H; + H = (+h[w >> 3] - +h[x >> 3]) * .5 + J; + h[G + 40 >> 3] = H; + I = +h[z >> 3]; + I = (+h[b >> 3] - I) * .25 + I; + h[G + 48 >> 3] = I; + h[G + 56 >> 3] = H; + h[G + 64 >> 3] = I; + h[G + 72 >> 3] = J; + _O(a, G, y, f); + h[B >> 3] = +h[z >> 3]; + J = +h[A >> 3]; + h[B + 8 >> 3] = (+h[d >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[b >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 184549376: + break; + default: + break a + } + z = d + 4 | 0; + G = uH(z << 4) | 0; + y = b + 16 | 0; + H = +h[y >> 3]; + I = +h[b >> 3] - H; + u = D + 48 | 0; + I = I * .125 + H + (+h[k >> 3] - +h[u >> 3] + I) * .5; + h[G >> 3] = I; + w = b + 40 | 0; + H = +h[w >> 3]; + x = b + 24 | 0; + d = D + 56 | 0; + v = D + 72 | 0; + H = (+h[x >> 3] - H) * .5 + H + (+h[d >> 3] - +h[v >> 3]) * .25; + h[G + 8 >> 3] = H; + J = +h[y >> 3]; + J = (+h[b >> 3] - J) * .375 + J; + h[G + 16 >> 3] = J; + h[G + 24 >> 3] = H; + h[G + 32 >> 3] = J; + H = (+h[d >> 3] - +h[v >> 3]) * .5 + H; + h[G + 40 >> 3] = H; + J = J - (+h[k >> 3] - +h[u >> 3]) * .5; + h[G + 48 >> 3] = J; + h[G + 56 >> 3] = H; + A = G + 64 | 0; + h[A >> 3] = J; + J = +h[w >> 3]; + J = (+h[x >> 3] - J) * .5 + J + (+h[d >> 3] - +h[v >> 3]) * -.25; + h[G + 72 >> 3] = J; + H = I - (+h[k >> 3] - +h[u >> 3]) * .5; + h[G + 80 >> 3] = H; + h[G + 88 >> 3] = J; + h[G + 96 >> 3] = H; + J = J - (+h[d >> 3] - +h[v >> 3]) * .5; + h[G + 104 >> 3] = J; + v = G + 112 | 0; + h[v >> 3] = I; + h[G + 120 >> 3] = J; + _O(a, G, z, f); + h[B >> 3] = +h[y >> 3]; + J = +h[w >> 3]; + y = B + 8 | 0; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + z = B + 16 | 0; + h[z >> 3] = +h[A >> 3]; + A = b + 8 | 0; + d = b + 56 | 0; + f = B + 24 | 0; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + J; + bP(a, B, 2); + h[B >> 3] = +h[v >> 3]; + J = +h[w >> 3]; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + h[z >> 3] = +h[b >> 3]; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + } + if ((e | 0) < 33554432) { + if ((e | 0) < 8) { + switch (e | 0) { + case 4: + break; + default: + break a + } + i = vH((d * 96 | 0) + 32 | 0) | 0; + e = 0; + g = 0; + while (1) { + j = g | 1; + k = i + (g << 4) | 0; + if ((e | 0) >= (d | 0)) break; + b = e << 2; + G = D + (b << 4) | 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]; + G = i + (j << 4) | 0; + B = D + ((b | 1) << 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]; + G = i + (g + 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]; + G = i + (g + 3 << 4) | 0; + B = D + ((b | 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]; + G = i + (g + 4 << 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]; + G = i + (g + 5 << 4) | 0; + b = D + ((b | 3) << 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]; + e = e + 1 | 0; + g = g + 6 | 0 + } + c[k >> 2] = c[i >> 2]; + c[k + 4 >> 2] = c[i + 4 >> 2]; + c[k + 8 >> 2] = c[i + 8 >> 2]; + c[k + 12 >> 2] = c[i + 12 >> 2]; + d = i + (j << 4) | 0; + G = i + 16 | 0; + c[d >> 2] = c[G >> 2]; + c[d + 4 >> 2] = c[G + 4 >> 2]; + c[d + 8 >> 2] = c[G + 8 >> 2]; + c[d + 12 >> 2] = c[G + 12 >> 2]; + aP(a, G, j, 0, 0, f & 255); + D_(i); + break + } + if ((e | 0) < 16777216) { + switch (e | 0) { + case 8: + break; + default: + break a + } + _O(a, b, d, f); + g = B + 16 | 0; + e = 0; + while (1) { + if ((e | 0) >= (d | 0)) break a; + G = e * 3 | 0; + f = D + (G + 2 << 4) | 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]; + G = D + (G + 4 << 4) | 0; + 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]; + bP(a, B, 2); + e = e + 1 | 0 + } + } + switch (e | 0) { + case 16777216: + break; + default: + break a + } + g = d + 1 | 0; + i = uH(g << 4) | 0; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) break; + G = i + (e << 4) | 0; + A = b + (e << 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]; + e = e + 1 | 0 + } + b = d * 3 | 0; + A = D + (b + 1 << 4) | 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]; + d = i + (d << 4) | 0; + G = D + (b + -1 << 4) | 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]; + _O(a, i, g, f); + D_(i); + 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]; + G = B + 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]; + f = B + 32 | 0; + h[f >> 3] = +h[B >> 3] + +h[G >> 3] - +h[D + (b << 4) >> 3]; + h[B + 40 >> 3] = +h[B + 8 >> 3] + +h[B + 24 >> 3] - +h[D + (b << 4) + 8 >> 3]; + bP(a, G, 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]; + bP(a, B, 2); + break + } else { + if ((e | 0) < 50331648) { + switch (e | 0) { + case 33554432: + break; + default: + break a + } + g = d + 2 | 0; + i = uH(g << 4) | 0; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + j = i + 16 | 0; + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + j = D + 48 | 0; + d = D + 64 | 0; + h[i + 32 >> 3] = (+h[j >> 3] - +h[d >> 3]) * .3333333333333333 + +h[k >> 3]; + G = D + 56 | 0; + e = D + 72 | 0; + h[i + 40 >> 3] = (+h[G >> 3] - +h[e >> 3]) * .3333333333333333 + +h[D + 40 >> 3]; + J = +h[j >> 3]; + h[i + 48 >> 3] = (J - +h[d >> 3]) * .3333333333333333 + J; + J = +h[G >> 3]; + h[i + 56 >> 3] = (J - +h[e >> 3]) * .3333333333333333 + J; + e = 4; + while (1) { + if ((e | 0) >= (g | 0)) break; + G = i + (e << 4) | 0; + d = b + (e + -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]; + e = e + 1 | 0 + } + _O(a, i, g, f); + D_(i); + c[B >> 2] = c[j >> 2]; + c[B + 4 >> 2] = c[j + 4 >> 2]; + c[B + 8 >> 2] = c[j + 8 >> 2]; + c[B + 12 >> 2] = c[j + 12 >> 2]; + G = B + 16 | 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]; + bP(a, B, 2); + break + } + if ((e | 0) >= 67108864) { + switch (e | 0) { + case 67108864: + break; + default: + break a + } + if ((d | 0) == 4) { + G = uH(96) | 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]; + d = G + 16 | 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]; + d = G + 32 | 0; + A = D + 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]; + d = G + 48 | 0; + b = b + 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]; + b = G + 64 | 0; + d = D + 128 | 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]; + b = G + 80 | 0; + z = D + 160 | 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]; + _O(a, G, 6, f); + D_(G); + h[B >> 3] = +h[D + 176 >> 3] + +h[j >> 3] - +h[D >> 3]; + h[B + 8 >> 3] = +h[D + 184 >> 3] + +h[D + 24 >> 3] - +h[D + 8 >> 3]; + G = B + 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]; + bP(a, B, 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]; + bP(a, B, 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]; + bP(a, B, 2); + break + } else qa(102412, 102423, 714, 102432) + } + switch (e | 0) { + case 50331648: + break; + default: + break a + } + g = d + 3 | 0; + i = uH(g << 4) | 0; + c[i >> 2] = c[b >> 2]; + c[i + 4 >> 2] = c[b + 4 >> 2]; + c[i + 8 >> 2] = c[b + 8 >> 2]; + c[i + 12 >> 2] = c[b + 12 >> 2]; + J = +h[b >> 3]; + h[i + 16 >> 3] = J - (J - +h[j >> 3]) * .25; + e = D + 56 | 0; + J = (+h[e >> 3] - +h[D + 72 >> 3]) * .3333333333333333 + +h[b + 8 >> 3]; + h[i + 24 >> 3] = J; + I = +h[b >> 3]; + h[i + 32 >> 3] = I - (I - +h[j >> 3]) * 2.0; + h[i + 40 >> 3] = J; + J = +h[b >> 3]; + h[i + 48 >> 3] = J - (J - +h[j >> 3]) * 2.25; + h[i + 56 >> 3] = +h[e >> 3]; + h[i + 64 >> 3] = +h[D + 48 >> 3]; + h[i + 72 >> 3] = +h[e >> 3]; + e = 4; + while (1) { + if ((e | 0) >= (g | 0)) break; + G = i + (e << 4) | 0; + d = b + (e + -3 << 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]; + e = e + 1 | 0 + } + _O(a, i, g, f); + D_(i); + break + } + } else if ((e | 0) < 318767104) { + if ((e | 0) < 251658240) { + if ((e | 0) < 218103808) { + switch (e | 0) { + case 201326592: + break; + default: + break a + } + G = d << 4; + u = uH(G) | 0; + v = b + 16 | 0; + J = +h[v >> 3]; + h[u >> 3] = J; + z = b + 40 | 0; + I = +h[z >> 3]; + A = b + 24 | 0; + y = D + 48 | 0; + w = D + 56 | 0; + x = D + 72 | 0; + I = (+h[A >> 3] - I) * .5 + I + (+h[w >> 3] - +h[x >> 3]) * .125; + h[u + 8 >> 3] = I; + H = (+h[k >> 3] - +h[y >> 3]) * 2.0 + J; + h[u + 16 >> 3] = H; + h[u + 24 >> 3] = I; + h[u + 32 >> 3] = H; + I = (+h[w >> 3] - +h[x >> 3]) * .5 + I; + h[u + 40 >> 3] = I; + h[u + 48 >> 3] = J; + h[u + 56 >> 3] = I; + _O(a, u, d, f); + D_(u); + G = uH(G) | 0; + I = +h[k >> 3] + +h[v >> 3] - +h[y >> 3]; + h[G >> 3] = I; + J = +h[z >> 3]; + J = (+h[A >> 3] - J) * .5 + J + (+h[w >> 3] - +h[x >> 3]) * -.625; + h[G + 8 >> 3] = J; + H = +h[k >> 3] - +h[y >> 3] + I; + y = G + 16 | 0; + h[y >> 3] = H; + h[G + 24 >> 3] = J; + h[G + 32 >> 3] = H; + J = (+h[w >> 3] - +h[x >> 3]) * .5 + J; + h[G + 40 >> 3] = J; + h[G + 48 >> 3] = I; + h[G + 56 >> 3] = J; + _O(a, G, d, f); + h[B >> 3] = +h[y >> 3]; + J = +h[z >> 3]; + h[B + 8 >> 3] = (+h[A >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[b >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + if ((e | 0) < 234881024) { + switch (e | 0) { + case 218103808: + break; + default: + break a + } + G = d << 4; + w = uH(G) | 0; + J = +h[b >> 3]; + h[w >> 3] = J; + y = b + 40 | 0; + I = +h[y >> 3]; + z = b + 24 | 0; + x = D + 56 | 0; + A = D + 72 | 0; + I = (+h[z >> 3] - I) * .5 + I + (+h[x >> 3] - +h[A >> 3]) * .125; + h[w + 8 >> 3] = I; + h[w + 16 >> 3] = J; + H = (+h[x >> 3] - +h[A >> 3]) * .5 + I; + h[w + 24 >> 3] = H; + J = J - (+h[x >> 3] - +h[A >> 3]) * 2.0; + h[w + 32 >> 3] = J; + h[w + 40 >> 3] = H; + h[w + 48 >> 3] = J; + h[w + 56 >> 3] = I; + _O(a, w, d, f); + D_(w); + G = uH(G) | 0; + I = +h[b >> 3] - +h[k >> 3] + +h[D + 48 >> 3]; + h[G >> 3] = I; + J = +h[y >> 3]; + J = (+h[z >> 3] - J) * .5 + J + (+h[x >> 3] - +h[A >> 3]) * -.625; + h[G + 8 >> 3] = J; + h[G + 16 >> 3] = I; + H = (+h[x >> 3] - +h[A >> 3]) * .5 + J; + h[G + 24 >> 3] = H; + I = I - (+h[x >> 3] - +h[A >> 3]); + h[G + 32 >> 3] = I; + h[G + 40 >> 3] = H; + A = G + 48 | 0; + h[A >> 3] = I; + h[G + 56 >> 3] = J; + _O(a, G, d, f); + h[B >> 3] = +h[b + 16 >> 3]; + J = +h[y >> 3]; + h[B + 8 >> 3] = (+h[z >> 3] - J) * .5 + J; + h[B + 16 >> 3] = +h[A >> 3]; + h[B + 24 >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 234881024: + break; + default: + break a + } + G = d << 4; + y = uH(G) | 0; + u = b + 16 | 0; + I = +h[u >> 3]; + v = D + 48 | 0; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[v >> 3]) * -1.125; + h[y >> 3] = I; + w = b + 40 | 0; + J = +h[w >> 3]; + x = b + 24 | 0; + A = D + 56 | 0; + z = D + 72 | 0; + J = (+h[x >> 3] - J) * .5 + J + (+h[A >> 3] - +h[z >> 3]) * .125; + h[y + 8 >> 3] = J; + H = +h[k >> 3] - +h[v >> 3] + I; + h[y + 16 >> 3] = H; + h[y + 24 >> 3] = J; + h[y + 32 >> 3] = H; + J = (+h[A >> 3] - +h[z >> 3]) * .5 + J; + h[y + 40 >> 3] = J; + h[y + 48 >> 3] = I; + h[y + 56 >> 3] = J; + _O(a, y, d, f); + D_(y); + y = uH(G) | 0; + J = +h[u >> 3]; + J = (+h[b >> 3] - J) * .5 + J + (+h[k >> 3] - +h[v >> 3]) * -1.125; + h[y >> 3] = J; + I = +h[w >> 3]; + I = (+h[x >> 3] - I) * .5 + I + (+h[A >> 3] - +h[z >> 3]) * -.625; + h[y + 8 >> 3] = I; + H = +h[k >> 3] - +h[v >> 3] + J; + h[y + 16 >> 3] = H; + h[y + 24 >> 3] = I; + h[y + 32 >> 3] = H; + I = (+h[A >> 3] - +h[z >> 3]) * .5 + I; + h[y + 40 >> 3] = I; + h[y + 48 >> 3] = J; + h[y + 56 >> 3] = I; + _O(a, y, d, f); + D_(y); + y = uH(G) | 0; + I = +h[u >> 3]; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[v >> 3]) * .125; + h[y >> 3] = I; + J = +h[w >> 3]; + J = (+h[x >> 3] - J) * .5 + J + (+h[A >> 3] - +h[z >> 3]) * -.625; + h[y + 8 >> 3] = J; + H = +h[k >> 3] - +h[v >> 3] + I; + h[y + 16 >> 3] = H; + h[y + 24 >> 3] = J; + h[y + 32 >> 3] = H; + J = (+h[A >> 3] - +h[z >> 3]) * .5 + J; + h[y + 40 >> 3] = J; + h[y + 48 >> 3] = I; + h[y + 56 >> 3] = J; + _O(a, y, d, f); + D_(y); + G = uH(G) | 0; + J = +h[u >> 3]; + J = (+h[b >> 3] - J) * .5 + J + (+h[k >> 3] - +h[v >> 3]) * .125; + h[G >> 3] = J; + I = +h[w >> 3]; + I = (+h[x >> 3] - I) * .5 + I + (+h[A >> 3] - +h[z >> 3]) * .125; + h[G + 8 >> 3] = I; + H = +h[k >> 3] - +h[v >> 3] + J; + y = G + 16 | 0; + h[y >> 3] = H; + h[G + 24 >> 3] = I; + h[G + 32 >> 3] = H; + I = (+h[A >> 3] - +h[z >> 3]) * .5 + I; + h[G + 40 >> 3] = I; + h[G + 48 >> 3] = J; + h[G + 56 >> 3] = I; + _O(a, G, d, f); + h[B >> 3] = +h[y >> 3]; + I = +h[w >> 3]; + y = B + 8 | 0; + h[y >> 3] = (+h[x >> 3] - I) * .5 + I; + z = B + 16 | 0; + h[z >> 3] = +h[b >> 3]; + A = b + 8 | 0; + d = b + 56 | 0; + f = B + 24 | 0; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + I; + bP(a, B, 2); + I = +h[u >> 3]; + h[B >> 3] = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[v >> 3]) * -1.125; + J = +h[w >> 3]; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + h[z >> 3] = I; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + } + if ((e | 0) < 285212672) if ((e | 0) < 268435456) { + switch (e | 0) { + case 251658240: + break; + default: + break a + } + G = d << 4; + u = uH(G) | 0; + v = b + 16 | 0; + J = +h[v >> 3]; + y = D + 48 | 0; + J = J - +h[k >> 3] + (+h[b >> 3] - J) * .5 + +h[y >> 3]; + h[u >> 3] = J; + w = b + 40 | 0; + I = +h[w >> 3]; + x = b + 24 | 0; + A = D + 56 | 0; + z = D + 72 | 0; + I = (+h[x >> 3] - I) * .5 + I + (+h[A >> 3] - +h[z >> 3]) * .125; + h[u + 8 >> 3] = I; + H = (+h[k >> 3] - +h[y >> 3]) * 2.0 + J; + h[u + 16 >> 3] = H; + h[u + 24 >> 3] = I; + h[u + 32 >> 3] = H; + I = (+h[A >> 3] - +h[z >> 3]) * .5 + I; + h[u + 40 >> 3] = I; + h[u + 48 >> 3] = J; + h[u + 56 >> 3] = I; + _O(a, u, d, f); + D_(u); + G = uH(G) | 0; + I = +h[v >> 3]; + I = I - +h[k >> 3] + (+h[b >> 3] - I) * .5 + +h[y >> 3]; + h[G >> 3] = I; + J = +h[w >> 3]; + J = (+h[x >> 3] - J) * .5 + J + (+h[A >> 3] - +h[z >> 3]) * -.625; + h[G + 8 >> 3] = J; + H = (+h[k >> 3] - +h[y >> 3]) * 2.0 + I; + y = G + 16 | 0; + h[y >> 3] = H; + h[G + 24 >> 3] = J; + h[G + 32 >> 3] = H; + J = (+h[A >> 3] - +h[z >> 3]) * .5 + J; + h[G + 40 >> 3] = J; + h[G + 48 >> 3] = I; + h[G + 56 >> 3] = J; + _O(a, G, d, f); + h[B >> 3] = +h[y >> 3]; + J = +h[w >> 3]; + y = B + 8 | 0; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + z = B + 16 | 0; + h[z >> 3] = +h[b >> 3]; + A = b + 8 | 0; + d = b + 56 | 0; + f = B + 24 | 0; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + J; + bP(a, B, 2); + h[B >> 3] = +h[v >> 3]; + J = +h[w >> 3]; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + h[z >> 3] = +h[G >> 3]; + h[f >> 3] = (+h[A >> 3] - +h[d >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 268435456: + break; + default: + break a + } + G = uH(d << 4) | 0; + h[G >> 3] = +h[b >> 3]; + v = D + 48 | 0; + x = D + 56 | 0; + y = D + 72 | 0; + h[G + 8 >> 3] = +h[D + 24 >> 3] - (+h[x >> 3] - +h[y >> 3]) * .5; + h[G + 16 >> 3] = +h[v >> 3]; + J = +h[x >> 3]; + h[G + 24 >> 3] = J - (J - +h[y >> 3]) * .5; + h[G + 32 >> 3] = +h[b + 32 >> 3]; + z = b + 40 | 0; + h[G + 40 >> 3] = (+h[x >> 3] - +h[y >> 3]) * .5 + +h[z >> 3]; + h[G + 48 >> 3] = +h[b >> 3]; + h[G + 56 >> 3] = (+h[x >> 3] - +h[y >> 3]) * .5 + +h[z >> 3]; + _O(a, G, d, f); + w = b + 16 | 0; + J = (+h[k >> 3] - +h[v >> 3]) * .25; + I = J + +h[w >> 3]; + h[B >> 3] = I; + H = +h[z >> 3]; + u = b + 24 | 0; + F = +h[x >> 3] - +h[y >> 3]; + H = (+h[u >> 3] - H) * .5 + H + F * .125; + A = B + 8 | 0; + h[A >> 3] = H; + d = B + 16 | 0; + h[d >> 3] = J + I; + f = B + 24 | 0; + h[f >> 3] = H - F * .25; + bP(a, B, 2); + F = (+h[k >> 3] - +h[v >> 3]) * .25; + H = F + +h[w >> 3]; + h[B >> 3] = H; + I = +h[z >> 3]; + J = +h[x >> 3] - +h[y >> 3]; + I = (+h[u >> 3] - I) * .5 + I + J * -.125; + h[A >> 3] = I; + h[d >> 3] = F + H; + h[f >> 3] = J * .25 + I; + bP(a, B, 2); + I = (+h[k >> 3] - +h[v >> 3]) * .25; + h[B >> 3] = I + +h[w >> 3]; + J = (+h[x >> 3] - +h[y >> 3]) * .75 + +h[z >> 3]; + h[A >> 3] = J; + h[d >> 3] = +h[b >> 3] - I; + h[f >> 3] = J; + bP(a, B, 2); + D_(G); + break + } else if ((e | 0) < 301989888) { + switch (e | 0) { + case 285212672: + break; + default: + break a + } + y = uH(d << 4) | 0; + v = b + 16 | 0; + I = +h[v >> 3]; + z = D + 48 | 0; + I = (+h[k >> 3] - +h[z >> 3] + (+h[b >> 3] - I)) * .5 + I; + h[y >> 3] = I; + w = b + 40 | 0; + F = +h[w >> 3]; + x = b + 24 | 0; + F = (+h[k >> 3] - +h[z >> 3] + (+h[x >> 3] - F)) * .5 + F; + h[y + 8 >> 3] = F; + h[y + 16 >> 3] = I; + I = +h[w >> 3]; + o = +h[k >> 3] - +h[z >> 3]; + I = (+h[x >> 3] - I - o) * .5 + I; + h[y + 24 >> 3] = I; + J = +h[v >> 3]; + J = (+h[b >> 3] - J - o) * .5 + J; + h[y + 32 >> 3] = J; + h[y + 40 >> 3] = I; + h[y + 48 >> 3] = J; + h[y + 56 >> 3] = F; + _O(a, y, d, f); + D_(y); + F = +h[v >> 3]; + F = (+h[b >> 3] - F) * .5 + F; + J = +h[k >> 3] - +h[z >> 3]; + I = J * .75; + o = F + I; + h[B >> 3] = o; + H = +h[w >> 3]; + H = (+h[x >> 3] - H) * .5 + H; + I = H + I; + y = B + 8 | 0; + h[y >> 3] = I; + A = B + 16 | 0; + h[A >> 3] = o; + J = J * -.75; + H = H + J; + G = B + 24 | 0; + h[G >> 3] = H; + J = F + J; + h[B + 32 >> 3] = J; + h[B + 40 >> 3] = H; + h[B + 48 >> 3] = J; + h[B + 56 >> 3] = I; + d = B + 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]; + bP(a, B, 5); + I = +h[v >> 3]; + J = +h[b >> 3]; + h[B >> 3] = (J - I) * .5 + I + (+h[k >> 3] - +h[z >> 3]) * .75; + I = +h[w >> 3]; + h[y >> 3] = (+h[x >> 3] - I) * .5 + I; + h[A >> 3] = J; + d = b + 8 | 0; + f = b + 56 | 0; + h[G >> 3] = (+h[d >> 3] - +h[f >> 3]) * .5 + I; + bP(a, B, 2); + I = +h[v >> 3]; + h[B >> 3] = I; + J = +h[w >> 3]; + h[y >> 3] = (+h[x >> 3] - J) * .5 + J; + h[A >> 3] = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[z >> 3]) * -.75; + h[G >> 3] = (+h[d >> 3] - +h[f >> 3]) * .5 + J; + bP(a, B, 2); + break + } else { + switch (e | 0) { + case 301989888: + break; + default: + break a + } + A = d + 12 | 0; + G = uH(A << 4) | 0; + x = b + 16 | 0; + m = +h[x >> 3]; + s = D + 48 | 0; + m = (+h[b >> 3] - m) * .5 + m + (+h[k >> 3] - +h[s >> 3]) * .25; + h[G >> 3] = m; + y = b + 40 | 0; + F = +h[y >> 3]; + z = b + 24 | 0; + v = D + 56 | 0; + w = D + 72 | 0; + F = (+h[v >> 3] - +h[w >> 3] + (+h[z >> 3] - F)) * .5 + F; + u = G + 8 | 0; + h[u >> 3] = F; + h[G + 16 >> 3] = m; + F = (+h[v >> 3] - +h[w >> 3]) * .125 + F; + t = G + 24 | 0; + h[t >> 3] = F; + H = m - (+h[k >> 3] - +h[s >> 3]) * .125; + d = G + 32 | 0; + h[d >> 3] = H; + o = (+h[v >> 3] - +h[w >> 3]) * .125 + F; + h[G + 40 >> 3] = o; + h[G + 48 >> 3] = m; + I = (+h[v >> 3] - +h[w >> 3]) * .125 + o; + h[G + 56 >> 3] = I; + h[G + 64 >> 3] = m; + m = (+h[v >> 3] - +h[w >> 3]) * .125 + I; + h[G + 72 >> 3] = m; + h[G + 80 >> 3] = H; + h[G + 88 >> 3] = m; + H = +h[x >> 3]; + H = (+h[b >> 3] - H) * .5 + H; + h[G + 96 >> 3] = H; + h[G + 104 >> 3] = I; + J = H - (+h[k >> 3] - +h[s >> 3]) * .125; + h[G + 112 >> 3] = J; + h[G + 120 >> 3] = m; + J = J - (+h[k >> 3] - +h[s >> 3]) * .125; + h[G + 128 >> 3] = J; + h[G + 136 >> 3] = m; + h[G + 144 >> 3] = J; + h[G + 152 >> 3] = I; + I = (+h[k >> 3] - +h[s >> 3]) * .125 + J; + h[G + 160 >> 3] = I; + h[G + 168 >> 3] = o; + h[G + 176 >> 3] = J; + h[G + 184 >> 3] = F; + h[G + 192 >> 3] = J; + J = +h[u >> 3]; + h[G + 200 >> 3] = J; + h[G + 208 >> 3] = I; + h[G + 216 >> 3] = J; + u = G + 224 | 0; + h[u >> 3] = H; + h[G + 232 >> 3] = +h[t >> 3]; + h[G + 240 >> 3] = +h[d >> 3]; + h[G + 248 >> 3] = J; + _O(a, G, A, f); + J = +h[u >> 3]; + h[B >> 3] = J; + H = +h[y >> 3]; + H = (+h[z >> 3] - H) * .5 + H; + A = B + 8 | 0; + h[A >> 3] = H; + d = B + 16 | 0; + h[d >> 3] = J; + f = B + 24 | 0; + h[f >> 3] = (+h[v >> 3] - +h[w >> 3]) * .125 + H; + bP(a, B, 2); + H = +h[u >> 3]; + h[B >> 3] = H; + J = +h[y >> 3]; + I = +h[v >> 3] - +h[w >> 3]; + J = (+h[z >> 3] - J) * .5 + J + I * .25; + h[A >> 3] = J; + h[d >> 3] = H; + h[f >> 3] = I * .125 + J; + bP(a, B, 2); + h[B >> 3] = +h[x >> 3]; + J = +h[y >> 3]; + h[A >> 3] = (+h[z >> 3] - J) * .5 + J; + h[d >> 3] = +h[b >> 3]; + h[f >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + } else { + if ((e | 0) < 369098752) { + if ((e | 0) < 335544320) { + switch (e | 0) { + case 318767104: + break; + default: + break a + } + A = d + 4 | 0; + G = uH(A << 4) | 0; + x = b + 16 | 0; + H = +h[x >> 3]; + d = D + 48 | 0; + H = (+h[b >> 3] - H) * .5 + H + (+h[k >> 3] - +h[d >> 3]) * .125; + h[G >> 3] = H; + y = b + 40 | 0; + J = +h[y >> 3]; + z = b + 24 | 0; + v = D + 56 | 0; + w = D + 72 | 0; + J = (+h[v >> 3] - +h[w >> 3] + (+h[z >> 3] - J)) * .5 + J; + h[G + 8 >> 3] = J; + o = (+h[k >> 3] - +h[d >> 3]) * .125 + H; + h[G + 16 >> 3] = o; + I = (+h[v >> 3] - +h[w >> 3]) * .125 + J; + h[G + 24 >> 3] = I; + h[G + 32 >> 3] = o; + o = (+h[v >> 3] - +h[w >> 3]) * .25 + I; + h[G + 40 >> 3] = o; + h[G + 48 >> 3] = H; + F = (+h[v >> 3] - +h[w >> 3]) * .125 + o; + h[G + 56 >> 3] = F; + H = H - (+h[k >> 3] - +h[d >> 3]) * .25; + h[G + 64 >> 3] = H; + h[G + 72 >> 3] = F; + F = H - (+h[k >> 3] - +h[d >> 3]) * .125; + h[G + 80 >> 3] = F; + h[G + 88 >> 3] = o; + h[G + 96 >> 3] = F; + h[G + 104 >> 3] = I; + h[G + 112 >> 3] = H; + h[G + 120 >> 3] = J; + _O(a, G, A, f); + J = +h[x >> 3]; + J = (+h[b >> 3] - J) * .5 + J; + h[B >> 3] = J; + H = +h[y >> 3]; + H = (+h[z >> 3] - H) * .5 + H; + A = B + 8 | 0; + h[A >> 3] = H; + d = B + 16 | 0; + h[d >> 3] = J; + f = B + 24 | 0; + h[f >> 3] = (+h[v >> 3] - +h[w >> 3]) * .125 + H; + bP(a, B, 2); + H = +h[x >> 3]; + H = (+h[b >> 3] - H) * .5 + H; + h[B >> 3] = H; + J = +h[y >> 3]; + I = +h[v >> 3] - +h[w >> 3]; + J = (+h[z >> 3] - J) * .5 + J + I * .25; + h[A >> 3] = J; + h[d >> 3] = H; + h[f >> 3] = I * .125 + J; + bP(a, B, 2); + h[B >> 3] = +h[x >> 3]; + J = +h[y >> 3]; + h[A >> 3] = (+h[z >> 3] - J) * .5 + J; + h[d >> 3] = +h[b >> 3]; + h[f >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + if ((e | 0) < 352321536) { + switch (e | 0) { + case 335544320: + break; + default: + break a + } + x = d + 12 | 0; + G = uH(x << 4) | 0; + y = b + 16 | 0; + m = +h[y >> 3]; + u = D + 48 | 0; + m = (+h[b >> 3] - m) * .5 + m + (+h[k >> 3] - +h[u >> 3]) * .25; + h[G >> 3] = m; + z = b + 40 | 0; + F = +h[z >> 3]; + A = b + 24 | 0; + s = D + 56 | 0; + t = D + 72 | 0; + F = (+h[s >> 3] - +h[t >> 3] + (+h[A >> 3] - F)) * .5 + F; + d = G + 8 | 0; + h[d >> 3] = F; + h[G + 16 >> 3] = m; + F = (+h[s >> 3] - +h[t >> 3]) * .125 + F; + v = G + 24 | 0; + h[v >> 3] = F; + I = m - (+h[k >> 3] - +h[u >> 3]) * .125; + w = G + 32 | 0; + h[w >> 3] = I; + o = (+h[s >> 3] - +h[t >> 3]) * .125 + F; + h[G + 40 >> 3] = o; + h[G + 48 >> 3] = m; + H = (+h[s >> 3] - +h[t >> 3]) * .125 + o; + h[G + 56 >> 3] = H; + h[G + 64 >> 3] = m; + m = (+h[s >> 3] - +h[t >> 3]) * .125 + H; + h[G + 72 >> 3] = m; + h[G + 80 >> 3] = I; + h[G + 88 >> 3] = m; + I = +h[y >> 3]; + I = (+h[b >> 3] - I) * .5 + I; + h[G + 96 >> 3] = I; + h[G + 104 >> 3] = H; + J = I - (+h[k >> 3] - +h[u >> 3]) * .125; + h[G + 112 >> 3] = J; + h[G + 120 >> 3] = m; + J = J - (+h[k >> 3] - +h[u >> 3]) * .125; + h[G + 128 >> 3] = J; + h[G + 136 >> 3] = m; + h[G + 144 >> 3] = J; + h[G + 152 >> 3] = H; + H = (+h[k >> 3] - +h[u >> 3]) * .125 + J; + h[G + 160 >> 3] = H; + h[G + 168 >> 3] = o; + h[G + 176 >> 3] = J; + h[G + 184 >> 3] = F; + h[G + 192 >> 3] = J; + J = +h[d >> 3]; + h[G + 200 >> 3] = J; + h[G + 208 >> 3] = H; + h[G + 216 >> 3] = J; + d = G + 224 | 0; + h[d >> 3] = I; + h[G + 232 >> 3] = +h[v >> 3]; + h[G + 240 >> 3] = +h[w >> 3]; + h[G + 248 >> 3] = J; + _O(a, G, x, f); + 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]; + d = B + 16 | 0; + h[d >> 3] = +h[B >> 3]; + J = +h[z >> 3]; + f = B + 24 | 0; + h[f >> 3] = (+h[A >> 3] - J) * .5 + J; + bP(a, B, 2); + h[B >> 3] = +h[y >> 3]; + J = +h[z >> 3]; + h[B + 8 >> 3] = (+h[A >> 3] - J) * .5 + J; + h[d >> 3] = +h[b >> 3]; + h[f >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } else { + switch (e | 0) { + case 352321536: + break; + default: + break a + } + A = d + 4 | 0; + G = uH(A << 4) | 0; + x = b + 16 | 0; + I = +h[x >> 3]; + w = D + 48 | 0; + I = (+h[b >> 3] - I) * .5 + I + (+h[k >> 3] - +h[w >> 3]) * .125; + h[G >> 3] = I; + y = b + 40 | 0; + J = +h[y >> 3]; + z = b + 24 | 0; + u = D + 56 | 0; + v = D + 72 | 0; + J = (+h[u >> 3] - +h[v >> 3] + (+h[z >> 3] - J)) * .5 + J; + d = G + 8 | 0; + h[d >> 3] = J; + o = (+h[k >> 3] - +h[w >> 3]) * .125 + I; + h[G + 16 >> 3] = o; + H = (+h[u >> 3] - +h[v >> 3]) * .125 + J; + h[G + 24 >> 3] = H; + h[G + 32 >> 3] = o; + o = (+h[u >> 3] - +h[v >> 3]) * .25 + H; + h[G + 40 >> 3] = o; + h[G + 48 >> 3] = I; + F = (+h[u >> 3] - +h[v >> 3]) * .125 + o; + h[G + 56 >> 3] = F; + I = I - (+h[k >> 3] - +h[w >> 3]) * .25; + h[G + 64 >> 3] = I; + h[G + 72 >> 3] = F; + F = I - (+h[k >> 3] - +h[w >> 3]) * .125; + h[G + 80 >> 3] = F; + h[G + 88 >> 3] = o; + h[G + 96 >> 3] = F; + h[G + 104 >> 3] = H; + h[G + 112 >> 3] = I; + h[G + 120 >> 3] = J; + _O(a, G, A, f); + J = +h[x >> 3]; + J = (+h[b >> 3] - J) * .5 + J; + h[B >> 3] = J; + A = B + 8 | 0; + h[A >> 3] = +h[d >> 3]; + d = B + 16 | 0; + h[d >> 3] = J; + J = +h[y >> 3]; + f = B + 24 | 0; + h[f >> 3] = (+h[z >> 3] - J) * .5 + J; + bP(a, B, 2); + h[B >> 3] = +h[x >> 3]; + J = +h[y >> 3]; + h[A >> 3] = (+h[z >> 3] - J) * .5 + J; + h[d >> 3] = +h[b >> 3]; + h[f >> 3] = (+h[b + 8 >> 3] - +h[b + 56 >> 3]) * .5 + J; + bP(a, B, 2); + D_(G); + break + } + } + if ((e | 0) < 402653184) if ((e | 0) < 385875968) { + switch (e | 0) { + case 369098752: + break; + default: + break a + } + d = d + 5 | 0; + G = uH(d << 4) | 0; + B = D + 48 | 0; + h[G >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + y = D + 56 | 0; + A = D + 72 | 0; + h[G + 8 >> 3] = +h[D + 24 >> 3] - (+h[y >> 3] - +h[A >> 3]) * .5; + h[G + 16 >> 3] = +h[B >> 3]; + J = +h[y >> 3]; + h[G + 24 >> 3] = J - (J - +h[A >> 3]) * .5; + h[G + 32 >> 3] = +h[b + 32 >> 3]; + z = b + 40 | 0; + h[G + 40 >> 3] = +h[z >> 3]; + J = +h[k >> 3]; + h[G + 48 >> 3] = (J - +h[B >> 3]) * .5 + J; + h[G + 56 >> 3] = +h[z >> 3]; + J = +h[k >> 3]; + h[G + 64 >> 3] = (J - +h[B >> 3]) * .5 + J; + h[G + 72 >> 3] = (+h[y >> 3] - +h[A >> 3]) * .5 + +h[z >> 3]; + h[G + 80 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + h[G + 88 >> 3] = (+h[y >> 3] - +h[A >> 3]) * .5 + +h[z >> 3]; + h[G + 96 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + z = b + 56 | 0; + h[G + 104 >> 3] = +h[z >> 3]; + A = b + 8 | 0; + J = +h[A >> 3]; + h[G + 120 >> 3] = J - (J - +h[z >> 3]) * .5; + h[G + 112 >> 3] = +h[b >> 3]; + h[G + 136 >> 3] = +h[A >> 3]; + h[G + 128 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + _O(a, G, d, f); + D_(G); + break + } else { + switch (e | 0) { + case 385875968: + break; + default: + break a + } + d = d + 3 | 0; + G = uH(d << 4) | 0; + B = D + 48 | 0; + h[G >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + y = D + 56 | 0; + A = D + 72 | 0; + h[G + 8 >> 3] = +h[D + 24 >> 3] - (+h[y >> 3] - +h[A >> 3]) * .5; + h[G + 16 >> 3] = +h[B >> 3]; + J = +h[y >> 3]; + h[G + 24 >> 3] = J - (J - +h[A >> 3]) * .5; + h[G + 32 >> 3] = +h[b + 32 >> 3]; + z = b + 40 | 0; + h[G + 40 >> 3] = (+h[y >> 3] - +h[A >> 3]) * .5 + +h[z >> 3]; + h[G + 48 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + h[G + 56 >> 3] = (+h[y >> 3] - +h[A >> 3]) * .5 + +h[z >> 3]; + h[G + 64 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + z = b + 56 | 0; + h[G + 72 >> 3] = +h[z >> 3]; + A = b + 8 | 0; + J = +h[A >> 3]; + h[G + 88 >> 3] = J - (J - +h[z >> 3]) * .5; + h[G + 80 >> 3] = +h[b >> 3]; + h[G + 104 >> 3] = +h[A >> 3]; + h[G + 96 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[B >> 3]) * .5; + _O(a, G, d, f); + D_(G); + break + } else if ((e | 0) < 419430400) { + switch (e | 0) { + case 402653184: + break; + default: + break a + } + d = d + 3 | 0; + G = uH(d << 4) | 0; + h[G >> 3] = +h[b >> 3]; + y = b + 8 | 0; + z = D + 48 | 0; + A = D + 56 | 0; + B = D + 72 | 0; + h[G + 8 >> 3] = +h[y >> 3] - (+h[A >> 3] - +h[B >> 3]) * .5; + J = +h[k >> 3]; + h[G + 16 >> 3] = (J - +h[z >> 3]) * .5 + J; + h[G + 24 >> 3] = +h[y >> 3] - (+h[A >> 3] - +h[B >> 3]) * .5; + J = +h[k >> 3]; + h[G + 32 >> 3] = (J - +h[z >> 3]) * .5 + J; + h[G + 40 >> 3] = +h[D + 40 >> 3]; + h[G + 48 >> 3] = +h[b + 16 >> 3]; + J = +h[b + 24 >> 3]; + y = b + 40 | 0; + h[G + 56 >> 3] = J - (J - +h[y >> 3]) * .5; + J = +h[k >> 3]; + h[G + 64 >> 3] = (J - +h[z >> 3]) * .5 + J; + h[G + 72 >> 3] = +h[y >> 3]; + h[G + 88 >> 3] = (+h[A >> 3] - +h[B >> 3]) * .5 + +h[y >> 3]; + J = +h[k >> 3]; + h[G + 80 >> 3] = (J - +h[z >> 3]) * .5 + J; + h[G + 104 >> 3] = (+h[A >> 3] - +h[B >> 3]) * .5 + +h[b + 56 >> 3]; + h[G + 96 >> 3] = +h[b >> 3]; + _O(a, G, d, f); + D_(G); + break + } else { + switch (e | 0) { + case 419430400: + break; + default: + break a + } + d = d + 5 | 0; + G = uH(d << 4) | 0; + h[G >> 3] = +h[b >> 3]; + B = b + 8 | 0; + A = D + 48 | 0; + y = D + 56 | 0; + z = D + 72 | 0; + h[G + 8 >> 3] = +h[B >> 3] - (+h[y >> 3] - +h[z >> 3]) * .5; + J = +h[k >> 3]; + h[G + 16 >> 3] = (J - +h[A >> 3]) * .5 + J; + h[G + 24 >> 3] = +h[B >> 3] - (+h[y >> 3] - +h[z >> 3]) * .5; + J = +h[k >> 3]; + h[G + 32 >> 3] = (J - +h[A >> 3]) * .5 + J; + h[G + 40 >> 3] = +h[D + 40 >> 3]; + h[G + 48 >> 3] = +h[b + 16 >> 3]; + J = +h[b + 24 >> 3]; + B = b + 40 | 0; + h[G + 56 >> 3] = J - (J - +h[B >> 3]) * .5; + J = +h[k >> 3]; + h[G + 64 >> 3] = (J - +h[A >> 3]) * .5 + J; + h[G + 72 >> 3] = +h[B >> 3]; + h[G + 88 >> 3] = (+h[y >> 3] - +h[z >> 3]) * .5 + +h[B >> 3]; + J = +h[k >> 3]; + h[G + 80 >> 3] = (J - +h[A >> 3]) * .5 + J; + B = b + 56 | 0; + h[G + 104 >> 3] = (+h[y >> 3] - +h[z >> 3]) * .5 + +h[B >> 3]; + h[G + 96 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[A >> 3]) * .5; + h[G + 112 >> 3] = +h[j >> 3] - (+h[k >> 3] - +h[A >> 3]) * .5; + h[G + 120 >> 3] = +h[B >> 3]; + h[G + 128 >> 3] = +h[b + 48 >> 3]; + h[G + 136 >> 3] = +h[B >> 3]; + _O(a, G, d, f); + D_(G); + break + } + } while (0); + D_(D) + } + l = E; + return + } + + function FJ(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0; + f = l; + l = l + 112 | 0; + g = f; + k = +h[b + 8 >> 3] * 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]; + h[g + 16 >> 3] = +h[b + 16 >> 3]; + h[g + 24 >> 3] = k - +h[b + 24 >> 3]; + h[g + 32 >> 3] = +h[b + 32 >> 3]; + h[g + 40 >> 3] = k - +h[b + 40 >> 3]; + h[g + 48 >> 3] = +h[b + 48 >> 3]; + h[g + 56 >> 3] = k - +h[b + 56 >> 3]; + h[g + 64 >> 3] = +h[b + 64 >> 3]; + h[g + 72 >> 3] = k - +h[b + 72 >> 3]; + h[g + 80 >> 3] = +h[b + 80 >> 3]; + h[g + 88 >> 3] = k - +h[b + 88 >> 3]; + i = g + 96 | 0; + j = b + 96 | 0; + c[i >> 2] = c[j >> 2]; + c[i + 4 >> 2] = c[j + 4 >> 2]; + c[i + 8 >> 2] = c[j + 8 >> 2]; + c[i + 12 >> 2] = c[j + 12 >> 2]; + aP(a, b, d, 0, 0, e & 255); + aP(a, g, 7, 0, 0, 0); + l = f; + return + } + + function GJ(a, b, c, d) { + a = a | 0; + b = +b; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0; + f = +h[c >> 3]; + e = +h[c + 8 >> 3]; + e = (+h[d + 8 >> 3] - e) * b + e; + h[a >> 3] = (+h[d >> 3] - f) * b + f; + h[a + 8 >> 3] = e; + return + } + + function HJ(a) { + a = a | 0; + a = c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0; + if (a) { + a = c[c[a + 4 >> 2] >> 2] | 0; + if ((a | 0) != 89) if ((a | 0) == 92) a = 2; else return ((a | 0) == 91 ? 3 : (a | 0) == 94 ? 4 : 0) | 0; else a = 1 + } else a = 0; + return a | 0 + } + + function IJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0.0, + r = 0.0, s = 0.0, t = 0.0, u = 0.0, v = 0.0, w = 0.0, x = 0.0, y = 0.0, z = 0.0, A = 0, D = 0, + G = 0, H = 0, I = 0, J = 0, L = 0, M = 0, N = 0, P = 0.0, Q = 0.0, R = 0, S = 0, T = 0.0, U = 0.0, + V = 0.0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ba = 0.0; + aa = l; + l = l + 144 | 0; + J = aa + 112 | 0; + N = aa + 104 | 0; + G = aa + 96 | 0; + H = aa + 88 | 0; + i = aa + 80 | 0; + Y = aa + 64 | 0; + _ = aa + 48 | 0; + R = aa + 40 | 0; + S = aa + 32 | 0; + j = aa + 24 | 0; + p = aa + 16 | 0; + D = aa + 136 | 0; + A = aa + 128 | 0; + L = aa; + $ = uH(48) | 0; + Z = b + 16 | 0; + W = c[(c[(c[Z >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0; + g = (W | 0) == 1616; + X = c[W >> 2] | 0; + d = c[W + 4 >> 2] | 0; + e = c[W + 8 >> 2] | 0; + m = +h[W + 16 >> 3]; + n = +h[W + 32 >> 3]; + o = +h[W + 24 >> 3]; + X = X | (QL(xx(b, 102485) | 0) | 0) & 255; + do if (!g) { + if (!X) { + W = c[Z >> 2] | 0; + k = +h[W + 32 >> 3] * 72.0; + f = +h[W + 40 >> 3] * 72.0; + f = +(~~(f + (f >= 0.0 ? .5 : -.5)) | 0); + k = +(~~(k + (k >= 0.0 ? .5 : -.5)) | 0); + break + } + k = +SJ(b); + if (k > 0.0) f = k; else { + W = c[Z >> 2] | 0; + f = +h[W + 32 >> 3]; + k = +h[W + 40 >> 3]; + k = (f < k ? f : k) * 72.0; + k = +(~~(k + (k >= 0.0 ? .5 : -.5)) | 0); + f = k + } + } else { + f = 0.0; + k = 0.0 + } while (0); + W = KL(b, c[46390] | 0, d, 0) | 0; + V = +LL(b, c[46392] | 0, 0.0, -360.0) + m; + if (!e) { + U = +LL(b, c[46393] | 0, 0.0, -100.0); + I = KL(b, c[46389] | 0, 4, 0) | 0; + T = +LL(b, c[46394] | 0, 0.0, -100.0) + } else { + I = e; + U = n; + T = o + } + d = c[(c[Z >> 2] | 0) + 104 >> 2] | 0; + e = d + 24 | 0; + c[Y >> 2] = c[e >> 2]; + c[Y + 4 >> 2] = c[e + 4 >> 2]; + c[Y + 8 >> 2] = c[e + 8 >> 2]; + c[Y + 12 >> 2] = c[e + 12 >> 2]; + q = +h[Y >> 3]; + if (q > 0.0) { + if (!g) M = 11 + } else if (!(g | !(+h[Y + 8 >> 3] > 0.0))) M = 11; + if ((M | 0) == 11) { + d = xx(b, 102470) | 0; + do if (d) { + h[p >> 3] = 0.0; + h[j >> 3] = 0.0; + c[i >> 2] = j; + c[i + 4 >> 2] = p; + d = N1(d, 102477, i) | 0; + m = +h[j >> 3]; + if (m < 0.0) { + h[j >> 3] = 0.0; + m = 0.0 + } + n = +h[p >> 3]; + if (n < 0.0) { + h[p >> 3] = 0.0; + o = 0.0 + } else o = n; + if ((d | 0) <= 0) { + n = q + 16.0; + h[Y >> 3] = n; + m = 8.0; + break + } + m = m * 72.0; + m = +(~~(m + (m >= 0.0 ? .5 : -.5)) << 1 | 0); + n = q + m; + h[Y >> 3] = n; + if ((d | 0) != 1) { + m = o * 72.0; + m = +(~~(m + (m >= 0.0 ? .5 : -.5)) << 1 | 0) + } + } else { + n = q + 16.0; + h[Y >> 3] = n; + m = 8.0 + } while (0); + d = Y + 8 | 0; + h[d >> 3] = +h[d >> 3] + m; + d = c[(c[Z >> 2] | 0) + 104 >> 2] | 0; + q = n + } + s = +h[d + 24 >> 3]; + m = +h[c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 8 >> 2] >> 3]; + if (m > 0.0) { + P = m * 72.0; + P = +(~~(P + (P >= 0.0 ? .5 : -.5)) | 0); + Q = +TJ(q, P); + h[Y >> 3] = Q; + p = Y + 8 | 0; + h[p >> 3] = +TJ(+h[p >> 3], P) + } else Q = q; + d = c[(c[Z >> 2] | 0) + 8 >> 2] | 0; + do if (!(a[d + 12 >> 0] | 0)) { + e = xx(b, 105999) | 0; + if ((e | 0) != 0 ? (a[e >> 0] | 0) != 0 : 0) { + CC(A, ez(b) | 0, e); + d = c[A >> 2] | 0; + g = c[A + 4 >> 2] | 0; + if ((g & d | 0) == -1) { + d = ry(b) | 0; + c[G >> 2] = e; + c[G + 4 >> 2] = d; + Pw(0, 102561, G) | 0; + e = 0; + d = 0; + break + } else { + a[(c[(ez(b) | 0) + 16 >> 2] | 0) + 114 >> 0] = 1; + e = d + 2 | 0; + d = g + 2 | 0; + break + } + } else { + e = 0; + d = 0 + } + } else { + d = c[d >> 2] | 0; + if ((a[d >> 0] | 0) == 99 ? (b$(d, 102493) | 0) == 0 : 0) { + e = xx(b, 102500) | 0; + CC(D, ez(b) | 0, e); + d = c[D >> 2] | 0; + g = c[D + 4 >> 2] | 0; + if ((g & d | 0) == -1) { + d = ry(b) | 0; + c[H >> 2] = e | 0 ? e : 102510; + c[H + 4 >> 2] = d; + Pw(0, 102516, H) | 0; + e = 0; + d = 0; + break + } else { + a[(c[(ez(b) | 0) + 16 >> 2] | 0) + 114 >> 0] = 1; + e = d + 2 | 0; + d = g + 2 | 0; + break + } + } else { + e = 0; + d = 0 + } + } while (0); + P = +(e | 0); + h[_ >> 3] = Q > P ? Q : P; + P = +h[Y + 8 >> 3]; + r = +(d | 0); + d = _ + 8 | 0; + h[d >> 3] = P > r ? P : r; + e = (I | 0) < 3 & (T != 0.0 | U != 0.0) ? 120 : I; + g = xx(b, 102602) | 0; + if (!g) i = 99; else { + i = a[g >> 0] | 0; + i = i << 24 >> 24 == 116 ? 116 : i << 24 >> 24 == 98 ? 98 : 99 + } + g = c[Z >> 2] | 0; + a[(c[g + 104 >> 2] | 0) + 80 >> 0] = i; + if ((e | 0) == 4 ? (T == 0.0 ? ((~~(V + (V >= 0.0 ? .5 : -.5)) | 0) % 90 | 0 | 0) == 0 : 0) & U == 0.0 : 0) p = 1; else M = 39; + do if ((M | 0) == 39) { + g = c[(c[(c[g + 8 >> 2] | 0) + 8 >> 2] | 0) + 44 >> 2] | 0; + if (g | 0) { + p = c[g >> 2] | 0; + c[J >> 2] = c[_ >> 2]; + c[J + 4 >> 2] = c[_ + 4 >> 2]; + c[J + 8 >> 2] = c[_ + 8 >> 2]; + c[J + 12 >> 2] = c[_ + 12 >> 2]; + ub[p & 63](L, J); + c[_ >> 2] = c[L >> 2]; + c[_ + 4 >> 2] = c[L + 4 >> 2]; + c[_ + 8 >> 2] = c[L + 8 >> 2]; + c[_ + 12 >> 2] = c[L + 12 >> 2]; + p = 0; + break + } + m = +h[d >> 3]; + n = m * 1.4142135623730951; + if (f > n & i << 24 >> 24 == 99) { + o = m / f; + o = +C(+(1.0 / (1.0 - o * o))); + o = +h[_ >> 3] * o; + h[_ >> 3] = o + } else { + o = +h[_ >> 3] * 1.4142135623730951; + h[_ >> 3] = o; + h[d >> 3] = n; + m = n + } + if ((e | 0) > 2) { + z = +E(+(3.141592653589793 / +(e | 0))); + h[_ >> 3] = o / z; + h[d >> 3] = m / z; + p = 0 + } else p = 0 + } while (0); + m = +h[d >> 3]; + g = NL(b, c[46395] | 0, 134226) | 0; + if ((a[g >> 0] | 0) == 115 ? (b$(g, 105204) | 0) == 0 : 0) { + h[_ >> 3] = k; + h[d >> 3] = f; + N = $ + 40 | 0; + c[N >> 2] = c[N >> 2] | 2048 + } else { + if (!((QL(g) | 0) << 24 >> 24)) { + z = +h[_ >> 3]; + k = k > z ? k : z; + h[_ >> 3] = k; + z = +h[d >> 3]; + f = f > z ? f : z + } else { + M = c[(c[Z >> 2] | 0) + 104 >> 2] | 0; + if (!(!(k < +h[M + 24 >> 3]) ? !(f < +h[M + 32 >> 3]) : 0)) { + L = ry(b) | 0; + M = ry(ez(b) | 0) | 0; + c[N >> 2] = L; + c[N + 4 >> 2] = M; + Pw(0, 102611, N) | 0 + } + h[_ >> 3] = k + } + h[d >> 3] = f + } + if (!X) { + z = f; + y = k + } else { + y = k > f ? k : f; + h[d >> 3] = y; + h[_ >> 3] = y; + z = y + } + do if (!((QL(NL(b, c[46386] | 0, 134226) | 0) | 0) << 24 >> 24)) { + if (p) { + f = +h[(Q > +h[_ >> 3] ? Y : _) >> 3]; + break + } + f = +h[d >> 3]; + if (P < f) { + f = +h[_ >> 3] * +C(+(1.0 - P * P / (f * f))); + f = Q > f ? Q : f + } else f = Q + } else f = Q; while (0); + g = c[(c[Z >> 2] | 0) + 104 >> 2] | 0; + h[g + 40 >> 3] = s - q + f; + A = $ + 40 | 0; + if (!(c[A >> 2] & 2048)) { + x = +h[d >> 3] - m; + h[g + 48 >> 3] = (P < r ? r - P + x : x) + P + } + j = (W | 0) > 1; + g = j ? W : 1; + a:do if ((e | 0) < 3) { + g = uH(g << 5) | 0; + k = +h[_ >> 3] * .5; + f = +h[d >> 3] * .5; + h[g >> 3] = -k; + h[g + 8 >> 3] = -f; + h[g + 16 >> 3] = k; + h[g + 24 >> 3] = f; + if (j) { + e = 1; + i = 2; + while (1) { + if ((e | 0) == (W | 0)) break; + y = k + 4.0; + z = f + 4.0; + h[g + (i << 4) >> 3] = -y; + h[g + (i << 4) + 8 >> 3] = -z; + S = i | 1; + h[g + (S << 4) >> 3] = y; + h[g + (S << 4) + 8 >> 3] = z; + e = e + 1 | 0; + i = i + 2 | 0; + k = y; + f = z + } + h[_ >> 3] = k * 2.0; + h[d >> 3] = f * 2.0; + e = 2 + } else e = 2 + } else { + g = uH(O(g << 4, e) | 0) | 0; + i = c[(c[(c[(c[Z >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0) + 44 >> 2] | 0; + b:do if (!i) { + q = 6.283185307179586 / +(e | 0); + t = q * .5; + r = +F(+t); + s = +u$(+B(+U) + +B(+T), 1.0); + t = T * 1.4142135623730951 / +E(+t); + u = U * .5; + w$((q + -3.141592653589793) * .5, R, S); + v = V * .017453292519943295; + k = 0.0; + f = 0.0; + m = 0.0; + i = 0; + n = +h[S >> 3] * .5; + o = +h[R >> 3] * .5; + while (1) { + if ((i | 0) >= (e | 0)) break b; + m = m + q; + w$(m, R, S); + n = +h[S >> 3] * r + n; + o = +h[R >> 3] * r + o; + x = (o * t + s) * n + u * o; + w$(+K(+o, +x) + v, R, S); + x = +u$(x, o); + w = +h[S >> 3] * x * +h[_ >> 3]; + x = +h[R >> 3] * x * +h[d >> 3]; + ba = +B(+w); + f = ba > f ? ba : f; + ba = +B(+x); + k = ba > k ? ba : k; + h[g + (i << 4) >> 3] = w; + h[g + (i << 4) + 8 >> 3] = x; + if (p) break; else i = i + 1 | 0 + } + ba = -w; + h[g + 16 >> 3] = ba; + h[g + 24 >> 3] = x; + h[g + 32 >> 3] = ba; + ba = -x; + h[g + 40 >> 3] = ba; + h[g + 48 >> 3] = w; + h[g + 56 >> 3] = ba + } else { + ub[c[i + 4 >> 2] & 63](g, _); + k = +h[d >> 3] * .5; + f = +h[_ >> 3] * .5 + } while (0); + f = f * 2.0; + k = k * 2.0; + y = y > f ? y : f; + h[_ >> 3] = y; + ba = z > k ? z : k; + h[d >> 3] = ba; + f = y / f; + k = ba / k; + i = 0; + while (1) { + if ((i | 0) >= (e | 0)) break; + N = g + (i << 4) | 0; + b = g + (i << 4) + 8 | 0; + ba = +h[b >> 3] * k; + h[N >> 3] = +h[N >> 3] * f; + h[b >> 3] = ba; + i = i + 1 | 0 + } + if (j) { + j = e + -1 | 0; + k = +h[g >> 3]; + m = +h[g + 8 >> 3]; + f = +K(+(m - +h[g + (j << 4) + 8 >> 3]), +(k - +h[g + (j << 4) >> 3])); + j = 0; + c:while (1) { + if ((j | 0) >= (e | 0)) break; + p = j + 1 | 0; + i = (p | 0) % (e | 0) | 0; + n = +h[g + (i << 4) >> 3]; + o = +h[g + (i << 4) + 8 >> 3]; + q = +K(+(o - m), +(n - k)); + z = (f + 3.141592653589793 - q) * .5; + ba = 4.0 / +F(+z); + w$(f - z, R, S); + h[R >> 3] = +h[R >> 3] * ba; + h[S >> 3] = +h[S >> 3] * ba; + i = 1; + f = m; + while (1) { + if ((i | 0) == (W | 0)) { + f = q; + j = p; + k = n; + m = o; + continue c + } + z = +h[S >> 3] + k; + ba = +h[R >> 3] + f; + b = (O(i, e) | 0) + j | 0; + h[g + (b << 4) >> 3] = z; + h[g + (b << 4) + 8 >> 3] = ba; + i = i + 1 | 0; + k = z; + f = ba + } + } + j = O(e, W + -1 | 0) | 0; + i = 0; + while (1) { + if ((i | 0) >= (e | 0)) break a; + S = i + j | 0; + z = +h[g + (S << 4) + 8 >> 3]; + y = +B(+(+h[g + (S << 4) >> 3])) * 2.0; + ba = +h[_ >> 3]; + h[_ >> 3] = y > ba ? y : ba; + z = +B(+z) * 2.0; + ba = +h[d >> 3]; + h[d >> 3] = z > ba ? z : ba; + i = i + 1 | 0 + } + } + } while (0); + c[$ >> 2] = X; + c[$ + 4 >> 2] = W; + c[$ + 8 >> 2] = e; + h[$ + 16 >> 3] = V; + h[$ + 32 >> 3] = U; + h[$ + 24 >> 3] = T; + c[$ + 44 >> 2] = g; + f = +h[_ >> 3]; + if (!(c[A >> 2] & 2048)) { + e = c[Z >> 2] | 0; + h[e + 32 >> 3] = f * .013888888888888888 + } else { + e = c[Z >> 2] | 0; + h[e + 32 >> 3] = +h[(Q > f ? Y : _) >> 3] * .013888888888888888; + d = (P > +h[d >> 3] ? Y : _) + 8 | 0 + } + h[e + 40 >> 3] = +h[d >> 3] * .013888888888888888; + c[e + 12 >> 2] = $; + l = aa; + return + } + + function JJ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 64 | 0; + j = o + 40 | 0; + e = o + 32 | 0; + k = o + 16 | 0; + n = o; + d = (c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] | 0) >>> 2 & 1 ^ 1; + m = a + 16 | 0; + f = c[c[(c[m >> 2] | 0) + 104 >> 2] >> 2] | 0; + c[46512] = f; + f = W_(f) | 0; + f = uH(((f | 0) > 1 ? f : 1) + 1 | 0) | 0; + b = LJ(a, d, 1, f) | 0; + if (!b) { + c[e >> 2] = c[c[(c[m >> 2] | 0) + 104 >> 2] >> 2]; + Pw(1, 102446, e) | 0; + c[46512] = 102467; + b = LJ(a, d, 1, f) | 0 + } + D_(f); + MJ(j, a, b); + d = c[m >> 2] | 0; + i = +h[d + 32 >> 3] * 72.0; + i = +(~~(i + (i >= 0.0 ? .5 : -.5)) | 0); + h[n >> 3] = i; + g = +h[d + 40 >> 3] * 72.0; + g = +(~~(g + (g >= 0.0 ? .5 : -.5)) | 0); + d = n + 8 | 0; + h[d >> 3] = g; + if (!((QL(NL(a, c[46395] | 0, 134226) | 0) | 0) << 24 >> 24)) { + i = +h[(+h[b >> 3] > i ? b : n) >> 3]; + h[n >> 3] = i; + e = b + 8 | 0; + g = +h[(+h[e >> 3] > g ? b : n) + 8 >> 3]; + h[d >> 3] = g; + d = e; + e = b + } else { + d = b + 8 | 0; + e = b + } + a = (QL(NL(a, c[46386] | 0, 134226) | 0) | 0) & 255; + c[j >> 2] = c[n >> 2]; + c[j + 4 >> 2] = c[n + 4 >> 2]; + c[j + 8 >> 2] = c[n + 8 >> 2]; + c[j + 12 >> 2] = c[n + 12 >> 2]; + NJ(b, j, a); + OJ(k, i * -.5, g * .5); + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + PJ(b, j, 15); + n = c[m >> 2] | 0; + h[n + 32 >> 3] = +h[e >> 3] * .013888888888888888; + h[n + 40 >> 3] = (+h[d >> 3] + 1.0) * .013888888888888888; + c[n + 12 >> 2] = b; + l = o; + return + } + + function KJ(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0.0, f = 0.0, g = 0, i = 0, j = 0, k = 0, l = 0.0, m = 0; + j = uH(48) | 0; + k = a + 16 | 0; + g = c[(c[(c[(c[k >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0; + f = +LL(a, c[46376] | 0, 1797693134862315708145274.0e284, 0.0); + b = +LL(a, c[46375] | 0, 1797693134862315708145274.0e284, 0.0); + f = f < b ? f : b; + f = b == 1797693134862315708145274.0e284 & f == 1797693134862315708145274.0e284 ? .05 : f > 0.0 ? (f > .0003 ? f : .0003) : f; + i = c[k >> 2] | 0; + h[i + 40 >> 3] = f; + h[i + 32 >> 3] = f; + b = f * 72.0; + g = KL(a, c[46390] | 0, g, 0) | 0; + i = uH((g | 0) < 1 ? 32 : g << 5) | 0; + f = f * 36.0; + e = -f; + h[i >> 3] = e; + h[i + 8 >> 3] = e; + h[i + 16 >> 3] = f; + h[i + 24 >> 3] = f; + if ((g | 0) > 1) { + a = 1; + d = 2; + e = f; + b = f; + while (1) { + if ((a | 0) == (g | 0)) break; + l = e + 4.0; + f = b + 4.0; + h[i + (d << 4) >> 3] = -l; + h[i + (d << 4) + 8 >> 3] = -f; + m = d | 1; + h[i + (m << 4) >> 3] = l; + h[i + (m << 4) + 8 >> 3] = f; + a = a + 1 | 0; + d = d + 2 | 0; + e = l; + b = f + } + b = e * 2.0 + } + c[j >> 2] = 1; + c[j + 4 >> 2] = g; + c[j + 8 >> 2] = 2; + m = j + 16 | 0; + c[m >> 2] = 0; + c[m + 4 >> 2] = 0; + c[m + 8 >> 2] = 0; + c[m + 12 >> 2] = 0; + c[m + 16 >> 2] = 0; + c[m + 20 >> 2] = 0; + c[j + 44 >> 2] = i; + l = b * .013888888888888888; + m = c[k >> 2] | 0; + h[m + 32 >> 3] = l; + h[m + 40 >> 3] = l; + c[m + 12 >> 2] = j; + return + } + + function LJ(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0; + g = uH(72) | 0; + n = c[(c[b + 16 >> 2] | 0) + 104 >> 2] | 0; + m = 0; + i = 1; + j = c[46512] | 0; + a:while (1) { + k = a[j >> 0] | 0; + switch (k << 24 >> 24) { + case 0: + break a; + case 92: { + j = j + 1 | 0; + k = a[j >> 0] | 0; + switch (k << 24 >> 24) { + case 124: + case 125: + case 123: + case 92: { + l = m; + break + } + default: + E = 4 + } + break + } + default: + E = 4 + } + if ((E | 0) == 4) { + E = 0; + switch (k << 24 >> 24) { + case 123: { + l = m + 1 | 0; + break + } + case 125: { + l = m + -1 | 0; + break + } + default: { + l = m; + i = i + ((m | 0) == 0 & k << 24 >> 24 == 124 & 1) | 0 + } + } + if ((l | 0) < 0) break + } + m = l; + j = j + 1 | 0 + } + B = g + 56 | 0; + c[B >> 2] = uH(i << 2) | 0; + a[g + 64 >> 0] = d; + y = (d | 0) == 0 & 1; + z = n + 82 | 0; + A = f + 1 | 0; + v = (e | 0) != 0; + w = n + 16 | 0; + x = n + 4 | 0; + u = n + 8 | 0; + k = 0; + m = 0; + d = 0; + t = 0; + l = 0; + e = 0; + n = f; + i = 0; + j = 0; + b:while (1) { + p = k; + k = 0; + c:while (1) { + d:while (1) { + s = e; + e:while (1) { + r = k; + o = i; + f:while (1) { + q = m; + g:while (1) { + while (1) { + if (t) { + E = 78; + break b + } + m = c[46512] | 0; + i = a[m >> 0] | 0; + if ((i + -1 & 255) >= 31) break; + c[46512] = m + 1 + } + switch (i << 24 >> 24 | 0) { + case 92: { + E = 53; + break d + } + case 0: + case 124: + case 125: + break e; + case 60: + break f; + case 62: + break g; + case 123: + break; + default: { + k = d; + i = m; + break d + } + } + i = m + 1 | 0; + c[46512] = i; + if (l | 0) { + E = 34; + break b + } + if (!(a[i >> 0] | 0)) { + E = 34; + break b + } + e = LJ(b, y, 0, f) | 0; + c[(c[B >> 2] | 0) + (q << 2) >> 2] = e; + if (!e) { + E = 36; + break b + } else { + q = q + 1 | 0; + l = 4 + } + } + if (a[z >> 0] | 0) { + k = d; + i = m; + break d + } + if (!(l & 16)) { + E = 27; + break b + } + if (o >>> 0 > A >>> 0 ? (C = o + -1 | 0, (C | 0) != (s | 0)) : 0) i = (a[C >> 0] | 0) == 32 ? C : o; else i = o; + a[i >> 0] = 0; + r = n1(f) | 0; + c[46512] = (c[46512] | 0) + 1; + m = q; + l = l & -17; + o = i + } + if (l & 6 | 0) { + E = 22; + break b + } + if (a[z >> 0] | 0) { + k = d; + i = m; + break d + } + c[46512] = m + 1; + m = q; + l = l | 18; + k = r; + s = f; + i = f + } + if (!((l & 16 | 0) == 0 & (v | i << 24 >> 24 != 0))) { + E = 38; + break b + } + if (!(l & 4)) { + k = uH(72) | 0; + c[(c[B >> 2] | 0) + (q << 2) >> 2] = k; + m = q + 1 | 0 + } else { + k = p; + m = q + } + if (r | 0) c[k + 60 >> 2] = r; + if (!(l & 5)) { + a[f + j >> 0] = 32; + l = l | 1; + j = j + 1 | 0 + } + i = f + j | 0; + if (l & 1) { + if ((j | 0) > 1 ? (D = i + -1 | 0, (D | 0) != (n | 0)) : 0) i = (a[D >> 0] | 0) == 32 ? D : i; + a[i >> 0] = 0; + n = n1(f) | 0; + c[k + 52 >> 2] = kH(b, n, a[z >> 0] | 0 ? 2 : 0, +h[w >> 3], c[x >> 2] | 0, c[u >> 2] | 0) | 0; + a[k + 64 >> 0] = 1; + n = f; + j = 0 + } + i = c[46512] | 0; + switch (a[i >> 0] | 0) { + case 0: { + t = 1; + e = s; + i = o; + continue b + } + case 125: { + E = 51; + break b + } + default: { + } + } + c[46512] = i + 1; + p = k; + l = 0; + k = 0; + e = s; + i = o + } + h:do if ((E | 0) == 53) { + E = 0; + k = f + j | 0; + i = m + 1 | 0; + switch (a[i >> 0] | 0) { + case 0: { + k = d; + i = m; + break h + } + case 62: + case 60: + case 124: + case 125: + case 123: { + k = d; + break + } + case 32: { + if (!(a[z >> 0] | 0)) k = 1; else E = 55; + break + } + default: + E = 55 + } + if ((E | 0) == 55) { + E = 0; + a[k >> 0] = 92; + k = d; + l = l | 9; + j = j + 1 | 0 + } + c[46512] = i + } while (0); + d = f + j | 0; + if (l & 4 | 0 ? (a[i >> 0] | 0) != 32 : 0) { + E = 59; + break b + } + if (!(l & 24)) l = (a[i >> 0] | 0) == 32 ? l : l | 9; + if (!(l & 8)) if (!(l & 16)) e = s; else { + m = a[i >> 0] | 0; + d = (k | 0) != 0; + if (!(d | m << 24 >> 24 != 32)) if ((o | 0) != (f | 0)) if ((a[o + -1 >> 0] | 0) == 32) m = o; else E = 73; else m = f; else E = 73; + if ((E | 0) == 73) { + E = 0; + a[o >> 0] = m; + m = o + 1 | 0; + i = c[46512] | 0 + } + e = d ? m + -1 | 0 : s; + o = m + } else { + m = a[i >> 0] | 0; + e = (k | 0) != 0; + if (!((!(e | m << 24 >> 24 != 32) ? (a[d + -1 >> 0] | 0) == 32 : 0) ? (a[z >> 0] | 0) == 0 : 0)) { + a[d >> 0] = m; + j = j + 1 | 0 + } + if (e) { + e = s; + n = f + j + -1 | 0 + } else e = s + } + i = i + 1 | 0; + c[46512] = i; + while (1) { + if ((a[i >> 0] | 0) >= 0) { + m = q; + d = k; + k = r; + i = o; + continue c + } + s = i + 1 | 0; + c[46512] = s; + a[f + j >> 0] = a[i >> 0] | 0; + j = j + 1 | 0; + i = s + } + } + } + if ((E | 0) == 22) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 27) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 34) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 36) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 38) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 51) { + c[46512] = i + 1; + c[g + 48 >> 2] = m + } else if ((E | 0) == 59) { + QJ(g, r); + g = 0 + } else if ((E | 0) == 78) c[g + 48 >> 2] = q; + return g | 0 + } + + function MJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0; + u = l; + l = l + 64 | 0; + k = u + 48 | 0; + m = u + 40 | 0; + n = u + 32 | 0; + t = u + 16 | 0; + s = u; + j = c[e + 52 >> 2] | 0; + a:do if (!j) { + n = t + 8 | 0; + o = e + 48 | 0; + p = e + 56 | 0; + q = e + 64 | 0; + r = s + 8 | 0; + c[t >> 2] = 0; + c[t + 4 >> 2] = 0; + c[t + 8 >> 2] = 0; + c[t + 12 >> 2] = 0; + j = 0; + while (1) { + if ((j | 0) >= (c[o >> 2] | 0)) break a; + MJ(s, d, c[(c[p >> 2] | 0) + (j << 2) >> 2] | 0); + if (!(a[q >> 0] | 0)) { + h[n >> 3] = +h[n >> 3] + +h[r >> 3]; + k = t; + m = +h[t >> 3] > +h[s >> 3] ? t : s + } else { + h[t >> 3] = +h[t >> 3] + +h[s >> 3]; + k = n; + m = (+h[n >> 3] > +h[r >> 3] ? t : s) + 8 | 0 + } + h[k >> 3] = +h[m >> 3]; + j = j + 1 | 0 + } + } else { + g = +h[j + 24 >> 3]; + f = +h[j + 32 >> 3]; + if (g > 0.0 | f > 0.0) { + j = xx(d, 102470) | 0; + do if (j) { + c[k >> 2] = m; + c[k + 4 >> 2] = n; + j = N1(j, 102477, k) | 0; + if ((j | 0) <= 0) { + i = 8.0; + g = g + 16.0; + break + } + i = +h[m >> 3] * 72.0; + i = +(~~(i + (i >= 0.0 ? .5 : -.5)) << 1 | 0); + g = g + i; + if ((j | 0) != 1) { + i = +h[n >> 3] * 72.0; + i = +(~~(i + (i >= 0.0 ? .5 : -.5)) << 1 | 0) + } + } else { + i = 8.0; + g = g + 16.0 + } while (0); + f = i + f + } + h[t >> 3] = g; + h[t + 8 >> 3] = f + } while (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]; + 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]; + l = u; + return + } + + function NJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0.0, s = 0; + s = l; + l = l + 32 | 0; + o = s + 16 | 0; + p = s; + q = +h[d >> 3]; + i = q - +h[b >> 3]; + r = +h[d + 8 >> 3]; + f = r - +h[b + 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]; + d = c[b + 52 >> 2] | 0; + if (!((e | 0) != 0 | (d | 0) == 0)) { + n = d + 40 | 0; + h[n >> 3] = +h[n >> 3] + i; + n = d + 48 | 0; + h[n >> 3] = +h[n >> 3] + f + } + m = b + 48 | 0; + d = c[m >> 2] | 0; + a:do if (d | 0) { + n = b + 64 | 0; + f = ((a[n >> 0] | 0) == 0 ? f : i) / +(d | 0); + k = b + 56 | 0; + j = 0; + while (1) { + if ((j | 0) >= (d | 0)) break a; + b = c[(c[k >> 2] | 0) + (j << 2) >> 2] | 0; + g = j + 1 | 0; + d = ~~(f * +(g | 0)) - ~~(f * +(j | 0)) | 0; + if (!(a[n >> 0] | 0)) OJ(p, q, +h[b + 8 >> 3] + +(d | 0)); else OJ(p, +h[b >> 3] + +(d | 0), r); + 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]; + NJ(b, o, e); + j = g; + d = c[m >> 2] | 0 + } + } while (0); + l = s; + return + } + + function OJ(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function PJ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0.0; + q = l; + l = l + 48 | 0; + j = q + 32 | 0; + n = q + 16 | 0; + m = q; + a[b + 65 >> 0] = e; + k = b + 16 | 0; + s = +h[d >> 3]; + p = d + 8 | 0; + r = +h[p >> 3]; + OJ(n, s, r - +h[b + 8 >> 3]); + 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]; + k = b + 32 | 0; + OJ(m, +h[b >> 3] + s, r); + c[k >> 2] = c[m >> 2]; + c[k + 4 >> 2] = c[m + 4 >> 2]; + c[k + 8 >> 2] = c[m + 8 >> 2]; + c[k + 12 >> 2] = c[m + 12 >> 2]; + k = c[b + 48 >> 2] | 0; + m = k + -1 | 0; + n = (e | 0) == 0; + o = b + 56 | 0; + i = b + 64 | 0; + g = 0; + while (1) { + if ((g | 0) >= (k | 0)) break; + do if (!n) { + b = (g | 0) == 0; + f = (g | 0) == (m | 0); + if (!(a[i >> 0] | 0)) if (b) { + b = f ? 15 : 14; + break + } else { + b = f ? 11 : 10; + break + } else if (b) { + b = f ? 15 : 13; + break + } else { + b = f ? 7 : 5; + break + } + } else b = 0; while (0); + f = c[(c[o >> 2] | 0) + (g << 2) >> 2] | 0; + c[j >> 2] = c[d >> 2]; + c[j + 4 >> 2] = c[d + 4 >> 2]; + c[j + 8 >> 2] = c[d + 8 >> 2]; + c[j + 12 >> 2] = c[d + 12 >> 2]; + PJ(f, j, b & e); + if (!(a[i >> 0] | 0)) h[p >> 3] = +h[p >> 3] - +h[(c[(c[o >> 2] | 0) + (g << 2) >> 2] | 0) + 8 >> 3]; else h[d >> 3] = +h[c[(c[o >> 2] | 0) + (g << 2) >> 2] >> 3] + +h[d >> 3]; + g = g + 1 | 0 + } + l = q; + return + } + + function QJ(a, b) { + a = a | 0; + b = b | 0; + RJ(a); + D_(b); + return + } + + function RJ(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 48 | 0; + e = a + 56 | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[d >> 2] | 0)) break; + RJ(c[(c[e >> 2] | 0) + (b << 2) >> 2] | 0); + b = b + 1 | 0 + } + D_(c[a + 60 >> 2] | 0); + nH(c[a + 52 >> 2] | 0); + D_(c[e >> 2] | 0); + D_(a); + return + } + + function SJ(a) { + a = a | 0; + var b = 0.0, d = 0.0; + d = +LL(a, c[46376] | 0, 0.0, .01); + b = +LL(a, c[46375] | 0, 0.0, .02); + b = (d > b ? d : b) * 72.0; + return +(+(~~(b + (b >= 0.0 ? .5 : -.5)) | 0)) + } + + function TJ(a, b) { + a = +a; + b = +b; + var c = 0; + c = ~~(a / b); + return +(+((+(c | 0) * b + 1.0e-05 < a & 1) + c | 0) * b) + } + + function UJ(a) { + a = a | 0; + a = c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0; + if (!a) a = 0; else a = (c[c[a + 4 >> 2] >> 2] | 0) == 89 & 1; + return a | 0 + } + + function VJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + f = c[46513] | 0; + a:do if (!f) d = 0; else { + g = c[46514] | 0; + e = 0; + while (1) { + if ((e | 0) >= (g | 0)) { + d = 0; + break a + } + d = c[f + (e << 2) >> 2] | 0; + h = c[d >> 2] | 0; + if ((a[h >> 0] | 0) == (a[b >> 0] | 0) ? (b$(h, b) | 0) == 0 : 0) break a; + e = e + 1 | 0 + } + } while (0); + return d | 0 + } + + function WJ(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + if (ZL(xx(d, 102500) | 0) | 0) if ((a[b >> 0] | 0) == 101 ? (b$(b, 102659) | 0) == 0 : 0) { + d = 101; + g = 6 + } else { + b = 102493; + g = 4 + } else g = 4; + if ((g | 0) == 4) { + d = a[b >> 0] | 0; + if (d << 24 >> 24 == 99) if (!(b$(b, 102493) | 0)) g = 11; else { + d = 99; + g = 6 + } else g = 6 + } + a:do if ((g | 0) == 6) { + e = 20744; + while (1) { + f = c[e >> 2] | 0; + if (!f) { + g = 11; + break a + } + if ((a[f >> 0] | 0) == d << 24 >> 24 ? (b$(f, b) | 0) == 0 : 0) { + b = e; + break a + } + e = e + 16 | 0 + } + } while (0); + if ((g | 0) == 11) b = XJ(b) | 0; + return b | 0 + } + + function XJ(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + d = VJ(b) | 0; + if (!d) { + f = c[46514] | 0; + d = f + 1 | 0; + c[46514] = d; + e = c[46513] | 0; + if (!e) d = vH(d << 2) | 0; else d = xH(e, d << 2) | 0; + c[46513] = d; + d = uH(16) | 0; + c[(c[46513] | 0) + (f << 2) >> 2] = d; + c[d >> 2] = c[5186]; + c[d + 4 >> 2] = c[5187]; + c[d + 8 >> 2] = c[5188]; + c[d + 12 >> 2] = c[5189]; + e = n1(b) | 0; + c[d >> 2] = e; + do if (!0) { + if ((a[b >> 0] | 0) == 99 ? (b$(b, 102493) | 0) == 0 : 0) { + e = 1; + break + } + c[g >> 2] = c[5186]; + c[g + 4 >> 2] = e; + Pw(0, 102664, g) | 0; + e = 0 + } else e = 1; while (0); + a[d + 12 >> 0] = e + } + l = h; + return d | 0 + } + + function YJ(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + d = +h[b >> 3] * .5257311121191336; + c = +h[b + 8 >> 3] * .8944271909999159; + c = d > c ? d : c; + h[a >> 3] = c * 4.97979656976556; + h[a + 8 >> 3] = c * 4.73606797749979; + return + } + + function ZJ(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0, l = 0, m = 0.0; + d = +h[b >> 3]; + k = b + 8 | 0; + e = +h[k >> 3]; + c = e / d; + if (!(c > .9510565162951536)) if (c < .9510565162951536) { + j = d; + e = d * .9510565162951536 + } else j = d; else j = e * 1.0514622242382672; + d = j * .5257311121191336; + g = j * .20081141588622725; + i = j * .05020285397155681; + c = .3141592653589793; + f = 0; + while (1) { + if ((f | 0) >= 10) break; + h[a + (f << 4) >> 3] = +E(+c) * d; + h[a + (f << 4) + 8 >> 3] = +F(+c) * d - i; + m = c + .6283185307179586; + l = f | 1; + h[a + (l << 4) >> 3] = +E(+m) * g; + h[a + (l << 4) + 8 >> 3] = +F(+m) * g - i; + c = c + 1.2566370614359172; + f = f + 2 | 0 + } + h[b >> 3] = j; + h[k >> 3] = e; + return + } + + function _J(a) { + a = a | 0; + a = c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0; + if (a | 0) { + D_(c[a + 44 >> 2] | 0); + D_(a) + } + return + } + + function $J(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 80 | 0; + k = o + 40 | 0; + g = o; + n = o + 64 | 0; + h = o + 56 | 0; + if (!(a[e >> 0] | 0)) { + g = 4208; + h = b + 40 | 0; + do { + c[b >> 2] = c[g >> 2]; + b = b + 4 | 0; + g = g + 4 | 0 + } while ((b | 0) < (h | 0)) + } else { + i = (f | 0) == 0 ? 103330 : f; + c[n >> 2] = 15; + j = d + 16 | 0; + f = c[j >> 2] | 0; + do if (a[(c[f + 104 >> 2] | 0) + 82 >> 0] | 0) { + f = _Q(d, e, n) | 0; + if (!f) { + f = c[j >> 2] | 0; + m = 8; + break + } + if (nK(d, f, g, i, c[n >> 2] | 0, 0) | 0) { + c[k >> 2] = ry(d) | 0; + c[k + 4 >> 2] = e; + c[k + 8 >> 2] = i; + Pw(0, 103332, k) | 0 + } + } else m = 8; while (0); + if ((m | 0) == 8) { + if ((c[(c[f + 8 >> 2] | 0) + 8 >> 2] | 0) == 1664) h = 0; else { + c[h >> 2] = d; + c[h + 4 >> 2] = 0 + } + if (nK(d, 0, g, e, c[n >> 2] | 0, h) | 0) oK(d, e) + } + c[g + 36 >> 2] = 0; + h = b + 40 | 0; + do { + c[b >> 2] = c[g >> 2]; + b = b + 4 | 0; + g = g + 4 | 0 + } while ((b | 0) < (h | 0)) + } + l = o; + return + } + + function aK(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0.0, t = 0; + r = l; + l = l + 112 | 0; + n = r + 96 | 0; + m = r + 80 | 0; + p = r + 64 | 0; + k = r + 48 | 0; + q = r + 32 | 0; + o = r; + f = r + 16 | 0; + if (!a) { + c[46517] = 0; + a = 0 + } else { + g = c[a + 4 >> 2] | 0; + a = c[a >> 2] | 0; + i = (c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) * 90 | 0; + c[n >> 2] = c[b >> 2]; + c[n + 4 >> 2] = c[b + 4 >> 2]; + c[n + 8 >> 2] = c[b + 8 >> 2]; + c[n + 12 >> 2] = c[b + 12 >> 2]; + ZG(f, n, i); + 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]; + a:do if (g) { + d = +h[g + 8 >> 3]; + e = +h[g + 24 >> 3]; + s = +h[q >> 3]; + if ((+h[g >> 3] <= s ? s <= +h[g + 16 >> 3] : 0) ? (j = +h[q + 8 >> 3], d <= j) : 0) a = j <= e & 1; else a = 0 + } else { + if ((a | 0) == (c[46517] | 0)) { + f = c[46518] | 0; + g = c[46520] | 0; + i = c[46519] | 0 + } else { + g = c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0; + c[46521] = g; + i = c[g + 44 >> 2] | 0; + c[46519] = i; + f = c[g + 8 >> 2] | 0; + c[46518] = f; + g = O((c[g + 4 >> 2] | 0) + -1 | 0, f) | 0; + g = (g | 0) > 0 ? g : 0; + c[46520] = g; + c[46517] = a + } + a = 0; + b = 0; + while (1) { + if ((a | 0) >= (f | 0)) { + a = 1; + break a + } + t = i + (g + a << 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]; + t = i + (g + ((a + 4 | 0) % (f | 0) | 0) << 4) | 0; + 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[p >> 2] = c[45844]; + c[p + 4 >> 2] = c[45845]; + c[p + 8 >> 2] = c[45846]; + c[p + 12 >> 2] = c[45847]; + 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]; + 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]; + b = b + ((mK(k, p, m, n) | 0) == 0 & 1) | 0; + if ((b | 0) == 2) { + a = 0; + break + } else a = a + 2 | 0 + } + } while (0) + } + l = r; + return a | 0 + } + + function bK(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + e = c[b + 16 >> 2] | 0; + if ((a[(c[e + 104 >> 2] | 0) + 82 >> 0] | 0) != 0 ? (a[e + 145 >> 0] | 0) != 0 : 0) b = bR(b, d, 0, f, g) | 0; else b = 0; + return b | 0 + } + + function cK(e, f) { + e = e | 0; + f = f | 0; + var i = 0, j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0.0, C = 0.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; + P = l; + l = l + 48 | 0; + H = P + 24 | 0; + G = P + 16 | 0; + A = P + 8 | 0; + z = P; + L = P + 32 | 0; + n = P + 28 | 0; + M = c[e + 16 >> 2] | 0; + N = M + 208 | 0; + i = c[N >> 2] | 0; + if ((i | 0) == 0 ? (b[M + 260 >> 1] & 1) == 0 : 0) J = 0; else E = 4; + if ((E | 0) == 4) if (!(c[e + 152 >> 2] & 4)) { + PO(e, i, c[M + 228 >> 2] | 0, c[M + 244 >> 2] | 0, c[M + 212 >> 2] | 0); + J = 1 + } else J = 1; + I = f + 16 | 0; + i = c[I >> 2] | 0; + r = c[i + 12 >> 2] | 0; + F = c[r + 44 >> 2] | 0; + K = c[r + 8 >> 2] | 0; + r = c[r + 4 >> 2] | 0; + if ((c[46515] | 0) < (K | 0)) { + i = K + 5 | 0; + c[46515] = i; + j = c[46516] | 0; + if (!j) i = vH(i << 4) | 0; else i = xH(j, i << 4) | 0; + c[46516] = i; + i = c[I >> 2] | 0 + } + D = (c[i + 104 >> 2] | 0) + 56 | 0; + i = i + 16 | 0; + c[D >> 2] = c[i >> 2]; + c[D + 4 >> 2] = c[i + 4 >> 2]; + c[D + 8 >> 2] = c[i + 8 >> 2]; + c[D + 12 >> 2] = c[i + 12 >> 2]; + D = c[I >> 2] | 0; + B = +h[D + 32 >> 3] * 72.0; + B = (+h[D + 96 >> 3] + +h[D + 88 >> 3]) / +(~~(B + (B >= 0.0 ? .5 : -.5)) | 0); + C = +h[D + 40 >> 3] * 72.0; + C = +h[D + 80 >> 3] / +(~~(C + (C >= 0.0 ? .5 : -.5)) | 0); + D = dK(e, f) | 0; + c[L >> 2] = 0; + i = d[(c[I >> 2] | 0) + 117 >> 0] | 0; + do if (!(i & 1)) { + if (i & 2 | 0) { + s = OL(f, 0, 103230) | 0; + UO(e, s); + WO(e, OL(f, 0, 103238) | 0); + j = 0; + i = 1; + break + } + if (i & 8 | 0) { + s = OL(f, 0, 103246) | 0; + UO(e, s); + WO(e, OL(f, 0, 103254) | 0); + j = 0; + i = 1; + break + } + if (i & 4 | 0) { + s = OL(f, 0, 103262) | 0; + UO(e, s); + WO(e, OL(f, 0, 103270) | 0); + j = 0; + i = 1; + break + } + if (!(D & 1)) if (!(D & 576)) { + j = 0; + i = 0 + } else { + j = eK(f) | 0; + i = 1 + } else { + j = eK(f) | 0; + if (!((uG(j, L, n) | 0) << 24 >> 24)) { + WO(e, j); + i = 1 + } else { + WO(e, c[L >> 2] | 0); + i = c[L + 4 >> 2] | 0; + m = KL(f, c[46403] | 0, 0, 0) | 0; + k = +g[n >> 2]; + if (!i) XO(e, 134232, m, k); else XO(e, i, m, k); + i = (D & 2) >>> 1 | 2 + } + } + s = fK(e, f) | 0 + } else { + s = OL(f, 0, 103214) | 0; + UO(e, s); + WO(e, OL(f, 0, 103222) | 0); + j = 0; + i = 1 + } while (0); + m = c[(c[I >> 2] | 0) + 8 >> 2] | 0; + if (a[m + 12 >> 0] | 0) { + m = c[m >> 2] | 0; + if ((a[m >> 0] | 0) == 99) { + m = (b$(m, 102493) | 0) == 0; + E = 33 + } else u = 1 + } else { + m = 1; + E = 33 + } + if ((E | 0) == 33) { + m = m ^ 1; + if ((r | 0) != 0 | i << 24 >> 24 == 0 | m) u = m; else { + UO(e, 134297); + r = 1; + u = 0 + } + } + v = (K | 0) < 3; + w = (D & 512 | 0) != 0; + y = (D & 8 | 0) == 0; + x = (D & 64 | 0) == 0; + p = (D & 1024 | 0) == 0; + q = (D & 2130706444 | 0) == 0; + t = 0; + while (1) { + if ((t | 0) >= (r | 0)) break; + n = O(t, K) | 0; + o = c[46516] | 0; + m = 0; + while (1) { + if ((m | 0) >= (K | 0)) break; + R = m + n | 0; + k = +h[F + (R << 4) + 8 >> 3]; + Q = c[I >> 2] | 0; + h[o + (m << 4) >> 3] = +h[Q + 16 >> 3] + +h[F + (R << 4) >> 3] * B; + h[o + (m << 4) + 8 >> 3] = +h[Q + 24 >> 3] + k * C; + m = m + 1 | 0 + } + do if (v) { + if (w & (t | 0) == 0 ? (A$(j, 58) | 0) != 0 : 0) if ((SE(e, o, j) | 0) > 1) { + c[z >> 2] = ry(f) | 0; + Pw(3, 103278, z) | 0; + i = 0 + } else i = 0; + ZO(e, c[46516] | 0, K, i & 255); + if (!y) gK(e, f) + } else { + if (!x) { + if ((t | 0) == 0 ? (WE(e, o, j, 1) | 0) > 1 : 0) { + c[A >> 2] = ry(f) | 0; + Pw(3, 103278, A) | 0 + } + _O(e, c[46516] | 0, K, 0); + break + } + if (!p) { + UO(e, 134297); + _O(e, c[46516] | 0, K, i & 255); + UO(e, s); + bP(e, (c[46516] | 0) + 32 | 0, 2); + break + } + i = i & 255; + if (q) { + _O(e, o, K, i); + break + } else { + EJ(e, o, K, D, i); + break + } + } while (0); + t = t + 1 | 0; + i = 0 + } + m = c[(c[I >> 2] | 0) + 8 >> 2] | 0; + if (!(a[m + 12 >> 0] | 0)) { + m = xx(f, 105999) | 0; + if (m | 0 ? a[m >> 0] | 0 : 0) { + o = m; + E = 65 + } + } else { + m = c[m >> 2] | 0; + if ((a[m >> 0] | 0) == 99 ? (b$(m, 102493) | 0) == 0 : 0) { + m = xx(f, 102500) | 0; + if (m | 0 ? a[m >> 0] | 0 : 0) { + o = m; + E = 65 + } + } else { + o = m; + E = 65 + } + } + if ((E | 0) == 65) { + n = c[46516] | 0; + m = 0; + while (1) { + if ((m | 0) >= (K | 0)) break; + k = +h[F + (m << 4) + 8 >> 3]; + R = c[I >> 2] | 0; + h[n + (m << 4) >> 3] = +h[R + 16 >> 3] + +h[F + (m << 4) >> 3] * B; + h[n + (m << 4) + 8 >> 3] = +h[R + 24 >> 3] + k * C; + m = m + 1 | 0 + } + m = i & 255; + do if (!(u | i << 24 >> 24 == 0)) { + if (v) { + if (w & (t | 0) == 0 ? (A$(j, 58) | 0) != 0 : 0) if ((SE(e, n, j) | 0) > 1) { + c[G >> 2] = ry(f) | 0; + Pw(3, 103278, G) | 0; + i = 0 + } else i = 0; + ZO(e, c[46516] | 0, K, i & 255); + if (y) break; + gK(e, f); + break + } + if (x) if (!(D & 12)) { + _O(e, n, K, m); + break + } else { + EJ(e, n, K, D, m); + break + } else { + if ((WE(e, n, j, 1) | 0) > 1) { + c[H >> 2] = ry(f) | 0; + Pw(3, 103278, H) | 0 + } + _O(e, c[46516] | 0, K, 0); + break + } + } while (0); + R = c[46516] | 0; + dP(e, o, R, K, i, NL(f, c[46396] | 0, 134226) | 0) + } + D_(c[L >> 2] | 0); + oH(e, 10, c[(c[I >> 2] | 0) + 104 >> 2] | 0); + if (J) { + if (c[e + 152 >> 2] & 4 | 0) PO(e, c[N >> 2] | 0, c[M + 228 >> 2] | 0, c[M + 244 >> 2] | 0, c[M + 212 >> 2] | 0); + QO(e) + } + l = P; + return + } + + function dK(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + e = jK(d, f) | 0; + if (e | 0) YO(b, e); + e = c[46402] | 0; + if ((e | 0 ? (g = yx(d, e) | 0, g | 0) : 0) ? a[g >> 0] | 0 : 0) fP(b, +LL(d, c[46402] | 0, 1.0, 0.0)); + l = h; + return c[f >> 2] | 0 + } + + function eK(a) { + a = a | 0; + return iK(a, 131718) | 0 + } + + function fK(b, d) { + b = b | 0; + d = d | 0; + d = OL(d, c[46378] | 0, 191979) | 0; + d = a[d >> 0] | 0 ? d : 134232; + UO(b, d); + return d | 0 + } + + function gK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0; + d = l; + l = l + 96 | 0; + j = d + 80 | 0; + k = d + 64 | 0; + e = d + 32 | 0; + m = d + 16 | 0; + g = d; + b = c[b + 16 >> 2] | 0; + f = +h[b + 80 >> 3]; + h[m + 8 >> 3] = f * .375; + i = +h[b + 96 >> 3]; + h[m >> 3] = i * .6614; + b = b + 16 | 0; + c[k >> 2] = c[m >> 2]; + c[k + 4 >> 2] = c[m + 4 >> 2]; + c[k + 8 >> 2] = c[m + 8 >> 2]; + c[k + 12 >> 2] = c[m + 12 >> 2]; + c[j >> 2] = c[b >> 2]; + c[j + 4 >> 2] = c[b + 4 >> 2]; + c[j + 8 >> 2] = c[b + 8 >> 2]; + c[j + 12 >> 2] = c[b + 12 >> 2]; + hK(g, k, j); + 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 = e + 8 | 0; + b = e + 24 | 0; + h[b >> 3] = +h[g >> 3]; + h[e + 16 >> 3] = +h[e >> 3] - i * 1.3228; + bP(a, e, 2); + f = +h[g >> 3] - f * .75; + h[g >> 3] = f; + h[b >> 3] = f; + bP(a, e, 2); + l = d; + return + } + + function hK(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function iK(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = OL(b, c[46379] | 0, 191979) | 0; + if (!(a[e >> 0] | 0)) { + e = OL(b, c[46378] | 0, 191979) | 0; + return ((a[e >> 0] | 0) == 0 ? d : e) | 0 + } else return e | 0; + return 0 + } + + function jK(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + e = OL(b, c[46387] | 0, 191979) | 0; + a:do if (!(a[e >> 0] | 0)) { + g = 0; + e = 0 + } else { + g = AF(e) | 0; + h = g; + e = 0; + b:while (1) { + f = c[h >> 2] | 0; + if (!f) break a; + switch (a[f >> 0] | 0) { + case 102: { + if (!(b$(f, 108075) | 0)) { + h = h + 4 | 0; + e = e | 1; + continue b + } + break + } + case 114: { + if (!(b$(f, 103290) | 0)) { + f = h; + do { + j = f; + f = f + 4 | 0; + i = c[f >> 2] | 0; + c[j >> 2] = i + } while ((i | 0) != 0); + j = h; + e = e | 4; + h = j; + continue b + } + if (!(b$(f, 103308) | 0)) { + f = h; + do { + i = f; + f = f + 4 | 0; + j = c[f >> 2] | 0; + c[i >> 2] = j + } while ((j | 0) != 0); + j = h; + e = e | 3; + h = j; + continue b + } + break + } + case 100: { + if (!(b$(f, 103298) | 0)) { + f = h; + do { + i = f; + f = f + 4 | 0; + j = c[f >> 2] | 0; + c[i >> 2] = j + } while ((j | 0) != 0); + j = h; + e = e | 8; + h = j; + continue b + } + break + } + case 105: { + if (!(b$(f, 131253) | 0)) { + h = h + 4 | 0; + e = e | 32; + continue b + } + break + } + case 115: { + if ((b$(f, 103315) | 0) == 0 ? kK(b) | 0 : 0) { + f = h; + do { + i = f; + f = f + 4 | 0; + j = c[f >> 2] | 0; + c[i >> 2] = j + } while ((j | 0) != 0); + j = h; + e = e | 64; + h = j; + continue b + } + break + } + case 119: { + if ((b$(f, 103323) | 0) == 0 ? lK(b) | 0 : 0) { + f = h; + do { + i = f; + f = f + 4 | 0; + j = c[f >> 2] | 0; + c[i >> 2] = j + } while ((j | 0) != 0); + j = h; + e = e | 512; + h = j; + continue b + } + break + } + default: { + } + } + h = h + 4 | 0 + } + } while (0); + f = c[(c[(c[b + 16 >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0; + if (f) e = c[f + 40 >> 2] | e; + c[d >> 2] = e; + return g | 0 + } + + function kK(a) { + a = a | 0; + var b = 0.0; + a = c[(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0; + if ((((a | 0) != 0 ? (c[a + 8 >> 2] | 0) == 4 : 0) ? (b = +h[a + 16 >> 3], ((~~(b + (b >= 0.0 ? .5 : -.5)) | 0) % 90 | 0 | 0) == 0) : 0) ? +h[a + 24 >> 3] == 0.0 : 0) a = +h[a + 32 >> 3] == 0.0 & 1; else a = 0; + return a | 0 + } + + function lK(a) { + a = a | 0; + a = c[(c[(c[a + 16 >> 2] | 0) + 8 >> 2] | 0) + 8 >> 2] | 0; + if (!a) a = 0; else a = (c[a + 8 >> 2] | 0) < 3 & 1; + return a | 0 + } + + function mK(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0.0; + i = +h[c + 8 >> 3]; + g = -(+h[d + 8 >> 3] - i); + f = +h[c >> 3]; + e = +h[d >> 3] - f; + f = e * i + f * g; + return (+h[a + 8 >> 3] * e + +h[a >> 3] * g - f >= 0.0 ^ +h[b >> 3] * g - f + +h[b + 8 >> 3] * e >= 0.0 ^ 1) & 1 | 0 + } + + function nK(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0.0, s = 0.0, t = 0.0, u = 0.0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + G = l; + l = l + 192 | 0; + B = G + 176 | 0; + E = G + 160 | 0; + m = G + 144 | 0; + z = G + 128 | 0; + A = G + 112 | 0; + n = G + 96 | 0; + o = G + 80 | 0; + p = G + 64 | 0; + v = G + 48 | 0; + w = G + 32 | 0; + x = G + 16 | 0; + D = G; + if (!d) { + c[E >> 2] = 0; + c[E + 4 >> 2] = 0; + c[E + 8 >> 2] = 0; + c[E + 12 >> 2] = 0; + m = (c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + C = c[b + 16 >> 2] | 0; + q = +h[C + 80 >> 3] * .5; + j = +h[C + 88 >> 3]; + t = m ? q : j; + q = m ? j : q; + m = 0; + C = E; + j = 0.0; + k = -q; + r = t; + F = E + 8 | 0; + s = 0.0; + t = -t + } else { + k = +h[d >> 3]; + t = +h[d + 8 >> 3]; + q = +h[d + 16 >> 3]; + r = +h[d + 24 >> 3]; + OJ(m, (q + k) * .5, (r + t) * .5); + 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]; + H = E + 8 | 0; + m = 1; + C = E; + j = +h[E >> 3]; + F = H; + s = +h[H >> 3] + } + u = (q > r ? q : r) * 4.0; + a:do if ((f | 0) != 0 ? (y = a[f >> 0] | 0, y << 24 >> 24 != 0) : 0) { + f = f + 1 | 0; + switch (y << 24 >> 24 | 0) { + case 99: { + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 0; + break a + } + case 101: { + if (a[f >> 0] | 0) { + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 1; + break a + } + if (!i) h[C >> 3] = q; else { + pK(z, i, s, u); + c[E >> 2] = c[z >> 2]; + c[E + 4 >> 2] = c[z + 4 >> 2]; + c[E + 8 >> 2] = c[z + 8 >> 2]; + c[E + 12 >> 2] = c[z + 12 >> 2] + } + p = 0; + g = g & 2; + f = 0; + n = 1; + j = 0.0; + o = 0; + m = 1; + break a + } + case 115: { + h[F >> 3] = t; + switch (a[f >> 0] | 0) { + case 0: { + if (!i) h[C >> 3] = j; else { + pK(A, i, -u, j); + 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] + } + p = 0; + g = g & 1; + f = 0; + n = 1; + j = -1.5707963267948966; + o = 0; + m = 1; + break a + } + case 101: { + if (!i) h[C >> 3] = q; else { + pK(n, i, -u, u); + 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] + } + p = 0; + g = g & 3; + f = 0; + n = 1; + j = -.7853981633974483; + o = 0; + m = 1; + break a + } + case 119: { + if (!i) h[C >> 3] = k; else { + u = -u; + pK(o, i, u, u); + 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] + } + p = 0; + g = g & 9; + f = 0; + n = 1; + j = -2.356194490192345; + o = 0; + m = 1; + break a + } + default: { + h[F >> 3] = s; + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 1; + break a + } + } + } + case 119: { + if (a[f >> 0] | 0) { + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 1; + break a + } + if (!i) h[C >> 3] = k; else { + pK(p, i, s, -u); + 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] + } + p = 0; + g = g & 8; + f = 0; + n = 1; + j = 3.141592653589793; + o = 0; + m = 1; + break a + } + case 110: { + h[F >> 3] = r; + switch (a[f >> 0] | 0) { + case 0: { + if (!i) h[C >> 3] = j; else { + pK(v, i, u, j); + 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] + } + p = 0; + g = g & 4; + f = 0; + n = 1; + j = 1.5707963267948966; + o = 0; + m = 1; + break a + } + case 101: { + if (!i) h[C >> 3] = q; else { + pK(w, i, u, u); + 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] + } + p = 0; + g = g & 6; + f = 0; + n = 1; + j = .7853981633974483; + o = 0; + m = 1; + break a + } + case 119: { + if (!i) h[C >> 3] = k; else { + pK(x, i, u, -u); + 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] + } + p = 0; + g = g & 12; + f = 0; + n = 1; + j = 2.356194490192345; + o = 0; + m = 1; + break a + } + default: { + h[F >> 3] = s; + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 1; + break a + } + } + } + case 95: { + p = 1; + f = 1; + n = 0; + j = 0.0; + o = 0; + break a + } + default: { + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 1; + break a + } + } + } else { + p = 1; + g = 0; + f = 0; + n = 0; + j = 0.0; + o = 0 + } while (0); + H = (c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) * 90 | 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]; + YG(D, B, H); + 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 (!(f << 24 >> 24)) g = qK(g, c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) | 0; + a[e + 33 >> 0] = g; + c[e + 24 >> 2] = d; + k = +h[C >> 3]; + h[e >> 3] = +(~~(k + (k >= 0.0 ? .5 : -.5)) | 0); + k = +h[F >> 3]; + h[e + 8 >> 3] = +(~~(k + (k >= 0.0 ? .5 : -.5)) | 0); + h[e + 16 >> 3] = +rK(j, c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3); + k = +h[C >> 3]; + j = +h[F >> 3]; + if (k == 0.0 & j == 0.0) g = -128; else { + u = +K(+j, +k); + t = u + 4.71238898038469; + g = ~~((!(t >= 6.283185307179586) ? t : u + -1.5707963267948966) * 40.74366543152521) & 255 + } + a[e + 32 >> 0] = g; + a[e + 29 >> 0] = n; + a[e + 28 >> 0] = m; + a[e + 30 >> 0] = p; + a[e + 31 >> 0] = f; + l = G; + return o | 0 + } + + function oK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = ry(a) | 0; + c[e + 4 >> 2] = b; + Pw(0, 103393, e) | 0; + l = d; + return + } + + function pK(a, b, d, e) { + a = a | 0; + b = b | 0; + d = +d; + e = +e; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 128 | 0; + g = p + 112 | 0; + j = p + 48 | 0; + k = p + 16 | 0; + m = p + 32 | 0; + n = p; + o = c[b >> 2] | 0; + i = c[(c[(ez(o) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3; + h[k >> 3] = e; + h[k + 8 >> 3] = d; + f = (i | 0) != 0; + if (f) { + 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]; + YG(m, g, i * 90 | 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] + } + m = j + 48 | 0; + q = j + 32 | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = 0; + c[j + 8 >> 2] = 0; + c[j + 12 >> 2] = 0; + c[j + 16 >> 2] = 0; + c[j + 20 >> 2] = 0; + c[j + 24 >> 2] = 0; + c[j + 28 >> 2] = 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[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]; + MK(b, c[(c[(c[(c[o + 16 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) + 12 >> 2] | 0, j, 1); + if (f) { + c[g >> 2] = c[j >> 2]; + c[g + 4 >> 2] = c[j + 4 >> 2]; + c[g + 8 >> 2] = c[j + 8 >> 2]; + c[g + 12 >> 2] = c[j + 12 >> 2]; + ZG(n, g, i * 90 | 0); + c[j >> 2] = c[n >> 2]; + c[j + 4 >> 2] = c[n + 4 >> 2]; + c[j + 8 >> 2] = c[n + 8 >> 2]; + c[j + 12 >> 2] = c[n + 12 >> 2] + } + ;c[a >> 2] = c[j >> 2]; + c[a + 4 >> 2] = c[j + 4 >> 2]; + c[a + 8 >> 2] = c[j + 8 >> 2]; + c[a + 12 >> 2] = c[j + 12 >> 2]; + l = p; + return + } + + function qK(a, b) { + a = a | 0; + b = b | 0; + a:do switch (b | 0) { + case 3: + switch (a | 0) { + case 4: { + a = 2; + break a + } + case 1: { + a = 8; + break a + } + case 8: { + a = 1; + break a + } + case 2: { + a = 4; + break a + } + default: + break a + } + case 2: + switch (a | 0) { + case 4: { + a = 1; + break a + } + case 1: { + a = 4; + break a + } + default: + break a + } + case 1: + switch (a | 0) { + case 4: { + a = 2; + break a + } + case 1: { + a = 8; + break a + } + case 8: { + a = 4; + break a + } + case 2: { + a = 1; + break a + } + default: + break a + } + default: { + } + } while (0); + return a | 0 + } + + function rK(a, b) { + a = +a; + b = b | 0; + switch (b | 0) { + case 3: { + if (!(a == 3.141592653589793)) if (!(a == 2.356194490192345)) if (!(a == 1.5707963267948966)) if (!(a == 0.0)) if (!(a == -.7853981633974483)) { + if (a == -1.5707963267948966) a = 3.141592653589793 + } else a = 2.356194490192345; else a = 1.5707963267948966; else a = 0.0; else a = -.7853981633974483; else a = -1.5707963267948966; + break + } + case 2: { + a = -a; + break + } + case 1: { + a = a + -1.5707963267948966; + break + } + default: { + } + } + return +a + } + + function sK(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0.0, g = 0.0, i = 0, j = 0, k = 0; + e = l; + l = l + 32 | 0; + k = e + 16 | 0; + i = e; + a = c[a >> 2] | 0; + j = (c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) * 90 | 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]; + ZG(i, k, j); + d = +h[i >> 3]; + g = +h[i + 8 >> 3]; + a = c[a + 16 >> 2] | 0; + f = +h[a + 80 >> 3] * .5; + if (!(!(g >= -f) | !(g <= f)) ? d >= -+h[a + 88 >> 3] : 0) a = d <= +h[a + 96 >> 3] & 1; else a = 0; + l = e; + return a | 0 + } + + function tK(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0; + n = l; + l = l + 32 | 0; + m = n; + i = c[a + 16 >> 2] | 0; + j = i + 208 | 0; + g = c[j >> 2] | 0; + if (!g) k = (b[i + 260 >> 1] & 1) != 0; else k = 1; + e = d + 16 | 0; + d = c[e >> 2] | 0; + f = c[d + 12 >> 2] | 0; + if (f | 0) { + if (k ? (c[a + 152 >> 2] & 4 | 0) == 0 : 0) { + PO(a, g, c[i + 228 >> 2] | 0, c[i + 244 >> 2] | 0, c[i + 212 >> 2] | 0); + d = c[e >> 2] | 0 + } + g = c[a + 36 >> 2] | 0; + p = +h[d + 24 >> 3] + +(c[f + 8 >> 2] | 0); + o = c[f >> 2] | 0; + h[m >> 3] = +h[d + 16 >> 3] + +(c[f + 4 >> 2] | 0); + h[m + 8 >> 3] = p; + c[m + 16 >> 2] = o; + g1(g, 103424, m) | 0; + g = c[e >> 2] | 0; + m = (c[g + 104 >> 2] | 0) + 56 | 0; + g = g + 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]; + oH(a, 10, c[(c[e >> 2] | 0) + 104 >> 2] | 0); + if (k) { + if (c[a + 152 >> 2] & 4 | 0) PO(a, c[j >> 2] | 0, c[i + 228 >> 2] | 0, c[i + 244 >> 2] | 0, c[i + 212 >> 2] | 0); + QO(a) + } + } + l = n; + return + } + + function uK(a) { + a = a | 0; + RJ(c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0); + return + } + + function vK(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 64 | 0; + k = m + 40 | 0; + h = m; + if (!(a[f >> 0] | 0)) { + h = 4208; + g = b + 40 | 0; + do { + c[b >> 2] = c[h >> 2]; + b = b + 4 | 0; + h = h + 4 | 0 + } while ((b | 0) < (g | 0)) + } else { + g = (g | 0) == 0 ? 103330 : g; + i = c[(c[e + 16 >> 2] | 0) + 12 >> 2] | 0; + j = BK(i, f) | 0; + if (!j) { + if (nK(e, i + 16 | 0, h, f, 15, 0) | 0) oK(e, f) + } else if (nK(e, j + 16 | 0, h, g, d[j + 65 >> 0] | 0, 0) | 0) { + c[k >> 2] = ry(e) | 0; + c[k + 4 >> 2] = f; + c[k + 8 >> 2] = g; + Pw(0, 103332, k) | 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)) + } + l = m; + return + } + + function wK(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0, i = 0, j = 0.0, k = 0, m = 0, n = 0.0; + k = l; + l = l + 32 | 0; + m = k + 16 | 0; + i = k; + f = c[a + 4 >> 2] | 0; + a = c[a >> 2] | 0; + g = (c[(c[(ez(a) | 0) + 16 >> 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]; + ZG(i, m, g); + c[b >> 2] = c[i >> 2]; + c[b + 4 >> 2] = c[i + 4 >> 2]; + c[b + 8 >> 2] = c[i + 8 >> 2]; + c[b + 12 >> 2] = c[i + 12 >> 2]; + if (!f) { + f = c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0; + g = f + 16 | 0; + a = f + 24 | 0; + i = f + 32 | 0; + f = f + 40 | 0 + } else { + g = f; + a = f + 8 | 0; + i = f + 16 | 0; + f = f + 24 | 0 + } + e = +h[a >> 3]; + d = +h[f >> 3]; + n = +h[b >> 3]; + if ((+h[g >> 3] <= n ? n <= +h[i >> 3] : 0) ? (j = +h[b + 8 >> 3], e <= j) : 0) a = j <= d & 1; else a = 0; + l = k; + return a | 0 + } + + function xK(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0, t = 0, u = 0, v = 0.0; + u = l; + l = l + 80 | 0; + r = u + 64 | 0; + q = u + 32 | 0; + t = u; + a:do if (!(a[d + 28 >> 0] | 0)) e = 0; else { + i = +h[d >> 3]; + p = b + 16 | 0; + m = c[(c[p >> 2] | 0) + 12 >> 2] | 0; + k = m + 48 | 0; + m = m + 56 | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[k >> 2] | 0)) break a; + n = (c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + o = c[(c[m >> 2] | 0) + (d << 2) >> 2] | 0; + j = +(~~+h[(n ? o + 16 | 0 : o + 24 | 0) >> 3] | 0); + if (i >= j ? (s = +(~~+h[(n ? o + 32 | 0 : o + 40 | 0) >> 3] | 0), i <= s) : 0) break; + d = d + 1 | 0 + } + if (!(c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1)) { + t = c[p >> 2] | 0; + v = +h[t + 16 >> 3]; + h[f >> 3] = v + j; + j = +h[t + 24 >> 3]; + i = +h[t + 80 >> 3]; + h[f + 8 >> 3] = j - i * .5; + h[f + 16 >> 3] = v + s + } else { + o = (c[(c[m >> 2] | 0) + (d << 2) >> 2] | 0) + 16 | 0; + b = (c[p >> 2] | 0) + 16 | 0; + c[q >> 2] = c[o >> 2]; + c[q + 4 >> 2] = c[o + 4 >> 2]; + c[q + 8 >> 2] = c[o + 8 >> 2]; + c[q + 12 >> 2] = c[o + 12 >> 2]; + c[q + 16 >> 2] = c[o + 16 >> 2]; + c[q + 20 >> 2] = c[o + 20 >> 2]; + c[q + 24 >> 2] = c[o + 24 >> 2]; + c[q + 28 >> 2] = c[o + 28 >> 2]; + 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]; + _G(t, q, r); + c[f >> 2] = c[t >> 2]; + c[f + 4 >> 2] = c[t + 4 >> 2]; + c[f + 8 >> 2] = c[t + 8 >> 2]; + c[f + 12 >> 2] = c[t + 12 >> 2]; + c[f + 16 >> 2] = c[t + 16 >> 2]; + c[f + 20 >> 2] = c[t + 20 >> 2]; + c[f + 24 >> 2] = c[t + 24 >> 2]; + c[f + 28 >> 2] = c[t + 28 >> 2]; + t = c[p >> 2] | 0; + i = +h[t + 80 >> 3]; + j = +h[t + 24 >> 3] + } + h[f + 24 >> 3] = i * .5 + j; + c[g >> 2] = 1 + } while (0); + l = u; + return e | 0 + } + + function yK(d, e) { + d = d | 0; + e = e | 0; + var f = 0, i = 0, j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0.0; + w = l; + l = l + 144 | 0; + n = w + 96 | 0; + p = w + 64 | 0; + r = w; + s = w + 128 | 0; + t = c[d + 16 >> 2] | 0; + u = t + 208 | 0; + f = c[u >> 2] | 0; + if (!f) v = (b[t + 260 >> 1] & 1) != 0; else v = 1; + m = e + 16 | 0; + q = c[m >> 2] | 0; + o = c[q + 12 >> 2] | 0; + j = o + 16 | 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[p + 16 >> 2] = c[j + 16 >> 2]; + c[p + 20 >> 2] = c[j + 20 >> 2]; + c[p + 24 >> 2] = c[j + 24 >> 2]; + c[p + 28 >> 2] = c[j + 28 >> 2]; + x = +h[q + 16 >> 3]; + h[p >> 3] = +h[p >> 3] + x; + k = +h[q + 24 >> 3]; + q = p + 8 | 0; + h[q >> 3] = +h[q >> 3] + k; + q = p + 16 | 0; + h[q >> 3] = +h[q >> 3] + x; + j = p + 24 | 0; + h[j >> 3] = +h[j >> 3] + k; + if (v ? (c[d + 152 >> 2] & 4 | 0) == 0 : 0) PO(d, f, c[t + 228 >> 2] | 0, c[t + 244 >> 2] | 0, c[t + 212 >> 2] | 0); + f = dK(d, e) | 0; + fK(d, e) | 0; + c[s >> 2] = 0; + if (!(f & 1)) i = 0; else { + i = eK(e) | 0; + if (!((uG(i, s, n) | 0) << 24 >> 24)) { + WO(d, i); + i = 1 + } else { + WO(d, c[s >> 2] | 0); + i = c[s + 4 >> 2] | 0; + j = KL(e, c[46403] | 0, 0, 0) | 0; + k = +g[n >> 2]; + if (!i) XO(d, 134232, j, k); else XO(d, i, j, k); + i = f >>> 1 & 1 | 2 + } + } + j = c[c[(c[m >> 2] | 0) + 8 >> 2] >> 2] | 0; + if ((a[j >> 0] | 0) == 77) { + m = (b$(j, 103201) | 0) == 0; + f = m ? f | 4 : f + } + if (!(f & 2130706444)) { + c[n >> 2] = c[p >> 2]; + c[n + 4 >> 2] = c[p + 4 >> 2]; + c[n + 8 >> 2] = c[p + 8 >> 2]; + c[n + 12 >> 2] = c[p + 12 >> 2]; + c[n + 16 >> 2] = c[p + 16 >> 2]; + c[n + 20 >> 2] = c[p + 20 >> 2]; + c[n + 24 >> 2] = c[p + 24 >> 2]; + c[n + 28 >> 2] = c[p + 28 >> 2]; + $O(d, n, i) + } else { + 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]; + p = r + 32 | 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[r + 16 >> 3] = +h[p >> 3]; + h[r + 24 >> 3] = +h[r + 8 >> 3]; + h[r + 48 >> 3] = +h[r >> 3]; + h[r + 56 >> 3] = +h[r + 40 >> 3]; + EJ(d, r, 4, f, i) + } + zK(d, e, o); + D_(c[s >> 2] | 0); + if (v) { + if (c[d + 152 >> 2] & 4 | 0) PO(d, c[u >> 2] | 0, c[t + 228 >> 2] | 0, c[t + 244 >> 2] | 0, c[t + 212 >> 2] | 0); + QO(d) + } + l = w; + return + } + + function zK(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + u = l; + l = l + 144 | 0; + p = u + 128 | 0; + o = u + 112 | 0; + q = u + 16 | 0; + r = u; + g = u + 96 | 0; + i = u + 80 | 0; + s = u + 64 | 0; + t = u + 48 | 0; + j = e + 52 | 0; + f = c[j >> 2] | 0; + if (!f) f = d + 16 | 0; else { + n = f + 56 | 0; + m = e + 16 | 0; + f = e + 32 | 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[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]; + AK(g, o, p); + f = d + 16 | 0; + m = (c[f >> 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[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]; + hK(i, o, p); + 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]; + oH(b, 10, c[j >> 2] | 0); + fK(b, d) | 0 + } + k = (c[f >> 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]; + k = e + 48 | 0; + m = e + 64 | 0; + n = q + 16 | 0; + j = e + 56 | 0; + e = q + 16 | 0; + i = 0; + while (1) { + if ((i | 0) >= (c[k >> 2] | 0)) break; + if ((i | 0) > 0) { + f = (c[j >> 2] | 0) + (i << 2) | 0; + g = c[f >> 2] | 0; + if (!(a[m >> 0] | 0)) { + g = g + 32 | 0; + c[n >> 2] = c[g >> 2]; + c[n + 4 >> 2] = c[g + 4 >> 2]; + c[n + 8 >> 2] = c[g + 8 >> 2]; + c[n + 12 >> 2] = c[g + 12 >> 2]; + h[q >> 3] = +h[(c[f >> 2] | 0) + 16 >> 3]; + f = n; + g = 0 + } else { + g = g + 16 | 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]; + h[e >> 3] = +h[q >> 3]; + f = (c[f >> 2] | 0) + 32 | 0; + g = 1 + } + h[q + (g << 4) + 8 >> 3] = +h[f + 8 >> 3]; + 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]; + hK(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]; + 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[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]; + hK(t, o, p); + 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]; + bP(b, q, 2) + } + zK(b, d, c[(c[j >> 2] | 0) + (i << 2) >> 2] | 0); + i = i + 1 | 0 + } + l = u; + return + } + + function AK(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = (+h[c + 8 >> 3] + +h[b + 8 >> 3]) * .5; + h[a >> 3] = (+h[c >> 3] + +h[b >> 3]) * .5; + h[a + 8 >> 3] = d; + return + } + + function BK(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = c[b + 60 >> 2] | 0; + if (!(((e | 0) != 0 ? (a[e >> 0] | 0) == (a[d >> 0] | 0) : 0) ? (b$(e, d) | 0) == 0 : 0)) f = 4; + a:do if ((f | 0) == 4) { + g = b + 56 | 0; + f = c[b + 48 >> 2] | 0; + e = 0; + while (1) { + if ((e | 0) >= (f | 0)) { + b = 0; + break a + } + b = BK(c[(c[g >> 2] | 0) + (e << 2) >> 2] | 0, d) | 0; + if (!b) e = e + 1 | 0; else break + } + } while (0); + return b | 0 + } + + function CK(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = b + 8 | 0; + h[d >> 3] = +h[d >> 3] * 1.375; + 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 DK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0; + k = +h[b >> 3]; + f = k * .5; + m = +h[b + 8 >> 3]; + i = m * .5; + h[a >> 3] = f; + e = m * .40909090909090906; + h[a + 8 >> 3] = e; + h[a + 16 >> 3] = f; + g = m * .4592530909090909; + h[a + 24 >> 3] = g; + j = k * .275892; + h[a + 32 >> 3] = j; + h[a + 40 >> 3] = i; + h[a + 48 >> 3] = 0.0; + h[a + 56 >> 3] = i; + k = k * -.275892; + h[a + 64 >> 3] = k; + h[a + 72 >> 3] = i; + l = -f; + h[a + 80 >> 3] = l; + h[a + 88 >> 3] = g; + d = a + 96 | 0; + h[d >> 3] = l; + h[a + 104 >> 3] = e; + b = a + 112 | 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]; + b = a + 128 | 0; + h[b >> 3] = l; + h[a + 136 >> 3] = m * -.40909090909090906; + d = a + 144 | 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[a + 160 >> 3] = l; + g = -g; + h[a + 168 >> 3] = g; + h[a + 176 >> 3] = k; + i = -i; + h[a + 184 >> 3] = i; + h[a + 192 >> 3] = 0.0; + h[a + 200 >> 3] = i; + h[a + 208 >> 3] = j; + h[a + 216 >> 3] = i; + h[a + 224 >> 3] = f; + h[a + 232 >> 3] = g; + d = a + 240 | 0; + h[d >> 3] = f; + h[a + 248 >> 3] = -e; + b = a + 256 | 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]; + b = a + 288 | 0; + d = a + 272 | 0; + c[d >> 2] = c[a >> 2]; + c[d + 4 >> 2] = c[a + 4 >> 2]; + c[d + 8 >> 2] = c[a + 8 >> 2]; + c[d + 12 >> 2] = c[a + 12 >> 2]; + c[b >> 2] = c[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]; + return + } + + function EK(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0.0, q = 0, r = 0, + s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + x = l; + l = l + 144 | 0; + u = x + 112 | 0; + t = x + 96 | 0; + v = x + 80 | 0; + s = x + 64 | 0; + w = x + 32 | 0; + q = x + 16 | 0; + r = x; + g = x + 48 | 0; + do if (a) { + j = c[a + 4 >> 2] | 0; + k = c[a >> 2] | 0; + o = (c[(c[(ez(k) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) * 90 | 0; + c[u >> 2] = c[b >> 2]; + c[u + 4 >> 2] = c[b + 4 >> 2]; + c[u + 8 >> 2] = c[b + 8 >> 2]; + c[u + 12 >> 2] = c[b + 12 >> 2]; + ZG(g, u, o); + 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]; + if (j | 0) { + d = +h[w >> 3]; + if (!(+h[j >> 3] <= d)) { + a = 0; + break + } + if (!(d <= +h[j + 16 >> 3])) { + a = 0; + break + } + d = +h[w + 8 >> 3]; + if (!(+h[j + 8 >> 3] <= d)) { + a = 0; + break + } + a = d <= +h[j + 24 >> 3]; + break + } + if ((k | 0) == (c[46522] | 0)) { + d = +h[22924]; + e = +h[22925]; + i = +h[22926] + } else { + a = k + 16 | 0; + b = c[(c[a >> 2] | 0) + 12 >> 2] | 0; + c[46523] = b; + c[46524] = c[b + 44 >> 2]; + c[46525] = c[b + 8 >> 2]; + if (!(c[b + 40 >> 2] & 2048)) { + n = (c[(c[(ez(k) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + o = c[a >> 2] | 0; + h[(n ? 183416 : 183424) >> 3] = +h[o + 96 >> 3] + +h[o + 88 >> 3]; + h[(n ? 183424 : 183416) >> 3] = +h[o + 80 >> 3]; + i = +h[o + 32 >> 3] * 72.0; + f = +h[o + 40 >> 3] * 72.0; + f = +(~~(f + (f >= 0.0 ? .5 : -.5)) | 0); + i = +(~~(i + (i >= 0.0 ? .5 : -.5)) | 0) + } else { + jM(u, b); + i = +h[u + 16 >> 3] - +h[u >> 3]; + f = +h[u + 24 >> 3] - +h[u + 8 >> 3]; + o = (c[(c[(ez(k) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + h[(o ? 183416 : 183424) >> 3] = i; + h[(o ? 183424 : 183416) >> 3] = f + } + d = +h[22927]; + if (d == 0.0) { + h[22927] = 1.0; + d = 1.0 + } + e = +h[22928]; + if (e == 0.0) { + h[22928] = 1.0; + e = 1.0 + } + d = i / d; + h[22924] = d; + e = f / e; + h[22925] = e; + i = i * .5; + h[22926] = i; + h[22929] = f * .5; + o = O((c[(c[46523] | 0) + 4 >> 2] | 0) + -1 | 0, c[46525] | 0) | 0; + c[46526] = (o | 0) > 0 ? o : 0; + c[46522] = k + } + f = +h[w >> 3] * d; + h[w >> 3] = f; + o = w + 8 | 0; + d = +h[o >> 3] * e; + h[o >> 3] = d; + if (!(+B(+f) > i) ? (e = +B(+d), p = +h[22929], !(e > p)) : 0) { + o = c[46525] | 0; + if ((o | 0) < 3) { + a = +u$(f / i, d / p) < 1.0; + break + } + b = (c[46527] | 0) % (o | 0) | 0; + a = (b + 1 | 0) % (o | 0) | 0; + k = c[46524] | 0; + m = c[46526] | 0; + n = k + (m + b << 4) | 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]; + n = k + (m + a << 4) | 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[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]; + c[v >> 2] = c[45860]; + c[v + 4 >> 2] = c[45861]; + c[v + 8 >> 2] = c[45862]; + c[v + 12 >> 2] = c[45863]; + 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]; + c[u >> 2] = c[n >> 2]; + c[u + 4 >> 2] = c[n + 4 >> 2]; + c[u + 8 >> 2] = c[n + 8 >> 2]; + c[u + 12 >> 2] = c[n + 12 >> 2]; + if (mK(s, v, t, u) | 0) { + 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]; + 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[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[u >> 2] = c[45860]; + c[u + 4 >> 2] = c[45861]; + c[u + 8 >> 2] = c[45862]; + c[u + 12 >> 2] = c[45863]; + n = (mK(s, v, t, u) | 0) != 0; + if (n ? (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], 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[t >> 2] = c[45860], c[t + 4 >> 2] = c[45861], c[t + 8 >> 2] = c[45862], c[t + 12 >> 2] = c[45863], 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], (mK(s, v, t, u) | 0) != 0) : 0) { + a = 1; + break + } else { + j = b; + b = 1 + } + while (1) { + if ((b | 0) >= (o | 0)) { + b = 31; + break + } + if (n) { + g = a; + a = (a + 1 | 0) % (o | 0) | 0 + } else { + g = (j + -1 + o | 0) % (o | 0) | 0; + a = j + } + q = k + (m + g << 4) | 0; + r = k + (m + a << 4) | 0; + 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]; + c[v >> 2] = c[45860]; + c[v + 4 >> 2] = c[45861]; + c[v + 8 >> 2] = c[45862]; + c[v + 12 >> 2] = c[45863]; + 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]; + 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 (!(mK(s, v, t, u) | 0)) { + b = 30; + break + } else { + j = g; + b = b + 1 | 0 + } + } + if ((b | 0) == 30) { + c[46527] = g; + a = 0; + break + } else if ((b | 0) == 31) { + c[46527] = j; + a = 1; + break + } + } else a = 0 + } else a = 0 + } else { + c[46522] = 0; + a = 0 + } while (0); + l = x; + return a & 1 | 0 + } + + function FK(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0.0, f = 0, g = 0.0, i = 0, j = 0, k = 0; + j = l; + l = l + 32 | 0; + f = j + 16 | 0; + i = j; + if (a) { + a = c[a >> 2] | 0; + k = (c[(c[(ez(a) | 0) + 16 >> 2] | 0) + 116 >> 2] & 3) * 90 | 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]; + ZG(i, f, k); + g = +h[i >> 3]; + e = +h[i + 8 >> 3]; + if ((a | 0) == (c[46530] | 0)) d = +h[22932]; else { + i = c[(c[a + 16 >> 2] | 0) + 12 >> 2] | 0; + k = (c[i + 4 >> 2] << 1) + -2 | 0; + d = +h[(c[i + 44 >> 2] | 0) + ((((k | 0) > 0 ? k : 0) | 1) << 4) >> 3]; + h[22932] = d; + c[46530] = a + } + if (+B(+g) > d | +B(+e) > d) a = 0; else a = +u$(g, e) <= d & 1 + } else { + c[46530] = 0; + a = 0 + } + l = j; + return a | 0 + } + + function GK(e, f) { + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0.0, v = 0, + w = 0; + t = l; + l = l + 16 | 0; + j = t; + r = c[e + 16 >> 2] | 0; + s = r + 208 | 0; + g = c[s >> 2] | 0; + if ((g | 0) == 0 ? (b[r + 260 >> 1] & 1) == 0 : 0) q = 0; else if (!(c[e + 152 >> 2] & 4)) { + PO(e, g, c[r + 228 >> 2] | 0, c[r + 244 >> 2] | 0, c[r + 212 >> 2] | 0); + q = 1 + } else q = 1; + n = f + 16 | 0; + k = c[(c[n >> 2] | 0) + 12 >> 2] | 0; + o = c[k + 44 >> 2] | 0; + p = c[k + 8 >> 2] | 0; + k = c[k + 4 >> 2] | 0; + if ((c[46528] | 0) < (p | 0)) { + g = p + 2 | 0; + c[46528] = g; + i = c[46529] | 0; + if (!i) g = vH(g << 4) | 0; else g = xH(i, g << 4) | 0; + c[46529] = g + } + jK(f, j) | 0; + if (!(c[j >> 2] & 32)) YO(e, 21916); else YO(e, 21912); + g = c[46402] | 0; + if (g | 0) fP(e, +LL(f, g, 1.0, 0.0)); + g = d[(c[n >> 2] | 0) + 117 >> 0] | 0; + do if (!(g & 1)) { + if (g & 2 | 0) { + UO(e, OL(f, 0, 103230) | 0); + g = OL(f, 0, 103238) | 0; + WO(e, g); + break + } + if (g & 8 | 0) { + UO(e, OL(f, 0, 103246) | 0); + g = OL(f, 0, 103254) | 0; + WO(e, g); + break + } + if (!(g & 4)) { + g = iK(f, 134232) | 0; + WO(e, g); + fK(e, f) | 0; + break + } else { + UO(e, OL(f, 0, 103262) | 0); + g = OL(f, 0, 103270) | 0; + WO(e, g); + break + } + } else { + UO(e, OL(f, 0, 103214) | 0); + g = OL(f, 0, 103222) | 0; + WO(e, g) + } while (0); + if (!k) if (!(a[g >> 0] | 0)) i = 1; else { + UO(e, g); + i = 1 + } else i = k; + j = 1; + f = 0; + while (1) { + if ((f | 0) >= (i | 0)) break; + k = O(f, p) | 0; + m = c[46529] | 0; + g = 0; + while (1) { + if ((g | 0) >= (p | 0)) break; + w = g + k | 0; + u = +h[o + (w << 4) + 8 >> 3]; + v = c[n >> 2] | 0; + h[m + (g << 4) >> 3] = +h[v + 16 >> 3] + +h[o + (w << 4) >> 3]; + h[m + (g << 4) + 8 >> 3] = +h[v + 24 >> 3] + u; + g = g + 1 | 0 + } + ZO(e, m, p, j); + j = 0; + f = f + 1 | 0 + } + if (q) { + if (c[e + 152 >> 2] & 4 | 0) PO(e, c[s >> 2] | 0, c[r + 228 >> 2] | 0, c[r + 244 >> 2] | 0, c[r + 212 >> 2] | 0); + QO(e) + } + l = t; + return + } + + function HK(a, b, e, f) { + a = a | 0; + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = l; + l = l + 48 | 0; + h = g; + e = IK(b, e, f) | 0; + c[h + 36 >> 2] = c[f + 36 >> 2]; + nK(b, c[f + 24 >> 2] | 0, h, e, d[f + 33 >> 0] | 0, 0) | 0; + b = h; + e = a + 40 | 0; + do { + c[a >> 2] = c[b >> 2]; + a = a + 4 | 0; + b = b + 4 | 0 + } while ((a | 0) < (e | 0)); + l = g; + return + } + + function IK(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0.0, k = 0, m = 0.0, n = 0.0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0.0, B = 0.0, C = 0; + z = l; + l = l + 32 | 0; + y = z; + g = z + 24 | 0; + k = z + 16 | 0; + x = c[(c[(c[(ez(b) | 0) + 60 >> 2] | 0) + 16 >> 2] | 0) + 116 >> 2] & 3; + f = b + 16 | 0; + w = (c[f >> 2] | 0) + 16 | 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]; + JK(g, y, x); + w = (c[d + 16 >> 2] | 0) + 16 | 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]; + JK(k, y, x); + x = a[e + 33 >> 0] | 0; + y = x & 255; + a:do switch (x << 24 >> 24) { + case 0: + case 15: { + d = 0; + break + } + default: { + d = c[e + 24 >> 2] | 0; + if (!d) { + x = (c[(c[(ez(b) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0; + w = c[f >> 2] | 0; + B = +h[w + 80 >> 3] * .5; + A = -B; + m = +h[w + 88 >> 3]; + j = -m; + n = x ? j : A; + i = x ? m : B; + m = x ? B : m; + j = x ? A : j + } else { + n = +h[d >> 3]; + i = +h[d + 16 >> 3]; + m = +h[d + 24 >> 3]; + j = +h[d + 8 >> 3] + } + x = c[g >> 2] | 0; + v = c[g + 4 >> 2] | 0; + w = c[k >> 2] | 0; + s = c[k + 4 >> 2] | 0; + t = ~~j; + u = ~~((i + n) * .5); + r = ~~i; + q = ~~((m + j) * .5); + p = ~~m; + o = ~~n; + g = 0; + k = 0; + d = 0; + e = 0; + b = 0; + while (1) { + if ((k | 0) == 4) break a; + if (1 << k & y) { + switch (k | 0) { + case 0: { + e = u; + b = t; + break + } + case 1: { + e = r; + b = q; + break + } + case 2: { + e = u; + b = p; + break + } + case 3: { + e = o; + b = q; + break + } + default: { + } + } + e = x + e | 0; + b = v + b | 0; + f = e - w | 0; + C = b - s | 0; + f = (O(C, C) | 0) + (O(f, f) | 0) | 0; + if ((d | 0) == 0 | (f | 0) < (g | 0)) d = c[21924 + (k << 2) >> 2] | 0; else f = g + } else f = g; + g = f; + k = k + 1 | 0 + } + } + } while (0); + l = z; + return d | 0 + } + + function JK(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0; + switch (d | 0) { + case 0: { + f = +h[b >> 3]; + e = +h[b + 8 >> 3]; + break + } + case 2: { + f = +h[b >> 3]; + e = -+h[b + 8 >> 3]; + break + } + case 1: { + f = -+h[b + 8 >> 3]; + e = +h[b >> 3]; + break + } + case 3: { + f = +h[b + 8 >> 3]; + e = +h[b >> 3]; + break + } + default: { + f = 0.0; + e = 0.0 + } + } + c[a >> 2] = ~~(f + (f >= 0.0 ? .5 : -.5)); + c[a + 4 >> 2] = ~~(e + (e >= 0.0 ? .5 : -.5)); + return + } + + function KK(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 80 | 0; + f = i + 40 | 0; + h = i; + g = b + 16 | 0; + e = c[g >> 2] | 0; + d = e + 16 | 0; + if (a[e + 47 >> 0] | 0) { + e = c[b >> 2] & 3; + HK(f, c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0, c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0, d); + e = f; + f = d + 40 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)); + e = c[g >> 2] | 0 + } + d = e + 56 | 0; + if (a[e + 87 >> 0] | 0) { + e = c[b >> 2] & 3; + HK(h, c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0, c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0, d); + e = h; + f = d + 40 | 0; + do { + c[d >> 2] = c[e >> 2]; + d = d + 4 | 0; + e = e + 4 | 0 + } while ((d | 0) < (f | 0)) + } + l = i; + return + } + + function LK() { + var a = 0, b = 0, d = 0; + a = l; + l = l + 32 | 0; + b = a + 16 | 0; + d = a; + c[d >> 2] = 0; + c[d + 4 >> 2] = 0; + c[d + 8 >> 2] = 0; + c[d + 12 >> 2] = 0; + c[b >> 2] = c[d >> 2]; + c[b + 4 >> 2] = c[d + 4 >> 2]; + c[b + 8 >> 2] = c[d + 8 >> 2]; + c[b + 12 >> 2] = c[d + 12 >> 2]; + EK(0, b) | 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]; + FK(0, b) | 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]; + aK(0, b) | 0; + l = a; + return + } + + function MK(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0, k = 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; + z = l; + l = l + 192 | 0; + s = z + 176 | 0; + x = z + 112 | 0; + y = z + 48 | 0; + t = z + 32 | 0; + u = z + 24 | 0; + v = z + 16 | 0; + w = z; + if (!(e << 24 >> 24)) { + k = d + 48 | 0; + c[t >> 2] = c[k >> 2]; + c[t + 4 >> 2] = c[k + 4 >> 2]; + c[t + 8 >> 2] = c[k + 8 >> 2]; + c[t + 12 >> 2] = c[k + 12 >> 2]; + k = u; + m = v; + n = x; + o = 0 + } else { + 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]; + k = v; + m = u; + n = 0; + o = x + } + h[u >> 3] = 0.0; + h[v >> 3] = 1.0; + q = t + 8 | 0; + f = 0.0; + g = 1.0; + j = 0; + p = +h[t >> 3]; + while (1) { + r = +h[q >> 3]; + f = (f + g) * .5; + XL(w, d, 3, f, n, o); + 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]; + 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]; + a:do if (!((lb[b & 127](a, s) | 0) << 24 >> 24)) { + e = 0; + while (1) { + if ((e | 0) == 4) { + e = k; + j = 1; + break a + } + j = y + (e << 4) | 0; + A = x + (e << 4) | 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]; + e = e + 1 | 0 + } + } else e = m; while (0); + h[e >> 3] = f; + i = +h[t >> 3]; + p = p - i; + if (!((p >= 0.0 ? p : -p) > .5) ? (r = r - +h[q >> 3], !((r >= 0.0 ? r : -r) > .5)) : 0) break; + f = +h[u >> 3]; + g = +h[v >> 3]; + p = i + } + b:do if (!(j << 24 >> 24)) { + e = 0; + while (1) { + if ((e | 0) == 4) break b; + A = d + (e << 4) | 0; + y = x + (e << 4) | 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]; + e = e + 1 | 0 + } + } else { + e = 0; + while (1) { + if ((e | 0) == 4) break b; + A = d + (e << 4) | 0; + x = y + (e << 4) | 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]; + e = e + 1 | 0 + } + } while (0); + l = z; + return + } + + function NK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0; + m = l; + l = l + 48 | 0; + d = m + 16 | 0; + e = m; + f = m + 32 | 0; + g = a + 16 | 0; + i = c[g >> 2] | 0; + j = c[i + 8 >> 2] | 0; + if (j | 0 ? (k = j + 4 | 0, c[(c[k >> 2] | 0) + 12 >> 2] | 0) : 0) { + c[f >> 2] = a; + c[f + 4 >> 2] = 0; + n = +h[i + 96 >> 3]; + h[e >> 3] = +h[b >> 3] - +h[i + 16 >> 3]; + h[e + 8 >> 3] = +h[b + 8 >> 3] - +h[i + 24 >> 3]; + k = c[(c[k >> 2] | 0) + 12 >> 2] | 0; + c[d >> 2] = c[e >> 2]; + c[d + 4 >> 2] = c[e + 4 >> 2]; + c[d + 8 >> 2] = c[e + 8 >> 2]; + c[d + 12 >> 2] = c[e + 12 >> 2]; + k = lb[k & 127](f, d) | 0; + h[(c[g >> 2] | 0) + 96 >> 3] = n; + OK(f, a, b, k) + } + l = m; + return + } + + function OK(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0, n = 0; + n = l; + l = l + 64 | 0; + m = n; + j = b + 16 | 0; + g = c[j >> 2] | 0; + k = +h[g + 96 >> 3]; + i = g + 16 | 0; + f = g + 24 | 0; + b = 0; + while (1) { + if ((b | 0) == 4) break; + h[m + (b << 4) >> 3] = +h[d + (b << 4) >> 3] - +h[i >> 3]; + h[m + (b << 4) + 8 >> 3] = +h[d + (b << 4) + 8 >> 3] - +h[f >> 3]; + b = b + 1 | 0 + } + MK(a, c[(c[(c[g + 8 >> 2] | 0) + 4 >> 2] | 0) + 12 >> 2] | 0, m, e); + b = 0; + while (1) { + if ((b | 0) == 4) break; + e = c[j >> 2] | 0; + h[d + (b << 4) >> 3] = +h[e + 16 >> 3] + +h[m + (b << 4) >> 3]; + h[d + (b << 4) + 8 >> 3] = +h[e + 24 >> 3] + +h[m + (b << 4) + 8 >> 3]; + b = b + 1 | 0 + } + h[(c[j >> 2] | 0) + 96 >> 3] = k; + l = n; + return + } + + function PK(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + while (1) { + f = b + 16 | 0; + b = c[f >> 2] | 0; + if (!(a[b + 112 >> 0] | 0)) break; + b = c[b + 116 >> 2] | 0 + } + b = c[b + 8 >> 2] | 0; + if (!b) { + b = uH(40) | 0; + c[(c[f >> 2] | 0) + 8 >> 2] = b + } + e = c[b >> 2] | 0; + if (!e) b = vH(((c[b + 4 >> 2] | 0) * 48 | 0) + 48 | 0) | 0; else b = xH(e, ((c[b + 4 >> 2] | 0) * 48 | 0) + 48 | 0) | 0; + f = c[(c[f >> 2] | 0) + 8 >> 2] | 0; + c[f >> 2] = b; + f = f + 4 | 0; + e = c[f >> 2] | 0; + c[f >> 2] = e + 1; + f = b + (e * 48 | 0) | 0; + c[f >> 2] = uH(d << 4) | 0; + c[b + (e * 48 | 0) + 4 >> 2] = d; + b = b + (e * 48 | 0) + 8 | 0; + e = b + 40 | 0; + do { + c[b >> 2] = 0; + b = b + 4 | 0 + } while ((b | 0) < (e | 0)); + return f | 0 + } + + function QK(b, e, f, g, i) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0.0, F = 0.0; + D = l; + l = l + 96 | 0; + A = D + 16 | 0; + u = D; + x = D + 92 | 0; + y = D + 88 | 0; + v = D + 80 | 0; + m = c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + z = ez(m) | 0; + B = PK(b, g) | 0; + n = b; + while (1) { + o = c[n + 16 >> 2] | 0; + if (!(a[o + 112 >> 0] | 0)) break; + n = c[o + 116 >> 2] | 0 + } + if ((a[i + 8 >> 0] | 0) == 0 ? (j = c[m + 16 >> 2] | 0, k = c[e + 16 >> 2] | 0, (c[j + 232 >> 2] | 0) == (c[k + 232 >> 2] | 0)) : 0) { + p = (c[j + 236 >> 2] | 0) > (c[k + 236 >> 2] | 0); + w = p ? m : e; + m = p ? e : m + } else w = e; + if ((m | 0) == (c[((c[n >> 2] & 3 | 0) == 3 ? n : n + 48 | 0) + 40 >> 2] | 0)) { + j = o + 80 | 0; + k = o + 40 | 0; + p = d[o + 86 >> 0] | 0; + e = d[o + 46 >> 0] | 0 + } else { + j = o + 40 | 0; + k = o + 80 | 0; + p = d[o + 46 >> 0] | 0; + e = d[o + 86 >> 0] | 0 + } + o = c[j >> 2] | 0; + j = c[k >> 2] | 0; + if (((e | 0) != 0 ? (r = m + 16 | 0, q = c[(c[r >> 2] | 0) + 8 >> 2] | 0, (q | 0) != 0) : 0) ? (c[(c[q + 4 >> 2] | 0) + 12 >> 2] | 0) != 0 : 0) { + c[v >> 2] = m; + c[v + 4 >> 2] = j; + j = g + -4 | 0; + e = u + 8 | 0; + k = 0; + while (1) { + if ((k | 0) >= (j | 0)) break; + n = k + 3 | 0; + q = c[r >> 2] | 0; + h[u >> 3] = +h[f + (n << 4) >> 3] - +h[q + 16 >> 3]; + h[e >> 3] = +h[f + (n << 4) + 8 >> 3] - +h[q + 24 >> 3]; + q = c[(c[(c[q + 8 >> 2] | 0) + 4 >> 2] | 0) + 12 >> 2] | 0; + c[A >> 2] = c[u >> 2]; + c[A + 4 >> 2] = c[u + 4 >> 2]; + c[A + 8 >> 2] = c[u + 8 >> 2]; + c[A + 12 >> 2] = c[u + 12 >> 2]; + if (!((lb[q & 127](v, A) | 0) << 24 >> 24)) break; else k = n + } + c[x >> 2] = k; + OK(v, m, f + (k << 4) | 0, 1) + } else { + c[x >> 2] = 0; + k = 0 + } + if (((p | 0) != 0 ? (t = w + 16 | 0, s = c[(c[t >> 2] | 0) + 8 >> 2] | 0, (s | 0) != 0) : 0) ? (c[(c[s + 4 >> 2] | 0) + 12 >> 2] | 0) != 0 : 0) { + c[v >> 2] = w; + c[v + 4 >> 2] = o; + m = g + -4 | 0; + e = u + 8 | 0; + j = m; + while (1) { + if ((j | 0) <= 0) break; + g = c[t >> 2] | 0; + h[u >> 3] = +h[f + (j << 4) >> 3] - +h[g + 16 >> 3]; + h[e >> 3] = +h[f + (j << 4) + 8 >> 3] - +h[g + 24 >> 3]; + g = c[(c[(c[g + 8 >> 2] | 0) + 4 >> 2] | 0) + 12 >> 2] | 0; + c[A >> 2] = c[u >> 2]; + c[A + 4 >> 2] = c[u + 4 >> 2]; + c[A + 8 >> 2] = c[u + 8 >> 2]; + c[A + 12 >> 2] = c[u + 12 >> 2]; + if (!((lb[g & 127](v, A) | 0) << 24 >> 24)) break; + j = j + -3 | 0 + } + c[y >> 2] = j; + OK(v, w, f + (j << 4) | 0, 0) + } else { + m = g + -4 | 0; + c[y >> 2] = m; + j = m + } + while (1) { + if ((k | 0) >= (m | 0)) break; + e = k + 3 | 0; + E = +h[f + (k << 4) >> 3] - +h[f + (e << 4) >> 3]; + F = +h[f + (k << 4) + 8 >> 3] - +h[f + (e << 4) + 8 >> 3]; + if (F * F + E * E < 1.0e-06) k = e; else break + } + c[x >> 2] = k; + while (1) { + if ((j | 0) <= 0) break; + v = j + 3 | 0; + F = +h[f + (j << 4) >> 3] - +h[f + (v << 4) >> 3]; + E = +h[f + (j << 4) + 8 >> 3] - +h[f + (v << 4) + 8 >> 3]; + if (!(E * E + F * F < 1.0e-06)) break; + j = j + -3 | 0 + } + c[y >> 2] = j; + RK(b, w, f, x, y, B, i); + r = c[x >> 2] | 0; + n = c[y >> 2] | 0; + m = n + 4 | 0; + n = n + 3 | 0; + o = A + 16 | 0; + p = A + 32 | 0; + q = A + 48 | 0; + k = z + 16 | 0; + j = r; + while (1) { + if ((j | 0) >= (m | 0)) break; + z = (c[B >> 2] | 0) + (j - r << 4) | 0; + e = f + (j << 4) | 0; + c[z >> 2] = c[e >> 2]; + c[z + 4 >> 2] = c[e + 4 >> 2]; + c[z + 8 >> 2] = c[e + 8 >> 2]; + c[z + 12 >> 2] = c[e + 12 >> 2]; + 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]; + e = j + 1 | 0; + if ((j | 0) >= (n | 0)) { + C = 38; + break + } + y = (c[B >> 2] | 0) + (e - r << 4) | 0; + z = f + (e << 4) | 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[o >> 2] = c[z >> 2]; + c[o + 4 >> 2] = c[z + 4 >> 2]; + c[o + 8 >> 2] = c[z + 8 >> 2]; + c[o + 12 >> 2] = c[z + 12 >> 2]; + z = j + 2 | 0; + y = (c[B >> 2] | 0) + (z - r << 4) | 0; + z = f + (z << 4) | 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[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]; + z = j + 3 | 0; + y = f + (z << 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]; + YE((c[k >> 2] | 0) + 16 | 0, A); + j = z + } + c[B + 4 >> 2] = m - r; + l = D; + return + } + + function RK(b, d, e, f, g, h, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 16 | 0; + m = p + 4 | 0; + n = p; + o = b; + while (1) { + j = c[(c[o + 16 >> 2] | 0) + 116 >> 2] | 0; + if (!j) break; else o = j + } + if (!(a[i + 8 >> 0] | 0)) j = (kb[c[i >> 2] & 63](o) | 0) & 255; else j = 0; + sE(o, m, n); + k = i + 4 | 0; + if ((kb[c[k >> 2] & 63](d) | 0) << 24 >> 24) c[n >> 2] = 0; + if ((kb[c[k >> 2] & 63](c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0) << 24 >> 24) c[m >> 2] = 0; + if (j | 0) { + d = c[m >> 2] | 0; + c[m >> 2] = c[n >> 2]; + c[n >> 2] = d + } + if (!(a[i + 9 >> 0] | 0)) { + j = c[m >> 2] | 0; + if (j | 0) c[f >> 2] = HE(o, e, c[f >> 2] | 0, c[g >> 2] | 0, h, j) | 0; + j = c[n >> 2] | 0; + if (j | 0) c[g >> 2] = FE(o, e, c[f >> 2] | 0, c[g >> 2] | 0, h, j) | 0 + } else { + k = c[n >> 2] | 0; + j = c[m >> 2] | 0; + if (j | k | 0) IE(o, e, c[f >> 2] | 0, c[g >> 2] | 0, h, j, k) + } + l = p; + return + } + + function SK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (+h[b >> 3] < +h[b + 16 >> 3] ? +h[b + 8 >> 3] < +h[b + 24 >> 3] : 0) { + d = c[a + 84 >> 2] | 0; + e = a + 80 | 0; + a = c[e >> 2] | 0; + c[e >> 2] = a + 1; + a = d + (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] + } + return + } + + function TK(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0.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.0, z = 0.0; + x = l; + l = l + 112 | 0; + u = x + 72 | 0; + o = x + 56 | 0; + n = x + 16 | 0; + q = x; + j = c[d >> 2] & 3; + p = d + 48 | 0; + w = c[((j | 0) == 3 ? d : p) + 40 >> 2] | 0; + t = d + 16 | 0; + r = c[t >> 2] | 0; + i = r + 16 | 0; + if (a[r + 47 >> 0] | 0) { + HK(n, w, c[((j | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0, i); + j = n; + n = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (n | 0)) + } + r = w + 16 | 0; + j = c[r >> 2] | 0; + i = c[j + 8 >> 2] | 0; + if (!i) n = 0; else n = c[(c[i + 4 >> 2] | 0) + 16 >> 2] | 0; + i = j + 16 | 0; + j = (c[t >> 2] | 0) + 16 | 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[u >> 2] = c[j >> 2]; + c[u + 4 >> 2] = c[j + 4 >> 2]; + c[u + 8 >> 2] = c[j + 8 >> 2]; + c[u + 12 >> 2] = c[j + 12 >> 2]; + UK(q, o, u); + 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]; + if (!(g << 24 >> 24)) { + i = c[t >> 2] | 0; + if (!(a[i + 45 >> 0] | 0)) i = 0; else { + k = +h[i + 32 >> 3]; + v = 9 + } + } else { + k = +VK(c[((c[d >> 2] & 3 | 0) == 3 ? d : p) + 40 >> 2] | 0); + v = 9 + } + if ((v | 0) == 9) { + h[b + 16 >> 3] = k; + i = 1 + } + a[b + 29 >> 0] = i; + c[b + 80 >> 2] = 0; + c[b + 88 >> 2] = d; + q = f + 32 | 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]; + switch (e | 0) { + case 1: { + j = c[r >> 2] | 0; + if ((a[j + 156 >> 0] | 0) == 0 ? (q = a[(c[t >> 2] | 0) + 49 >> 0] | 0, s = q & 255, q << 24 >> 24 != 0) : 0) { + c[u >> 2] = c[f >> 2]; + c[u + 4 >> 2] = c[f + 4 >> 2]; + c[u + 8 >> 2] = c[f + 8 >> 2]; + c[u + 12 >> 2] = c[f + 12 >> 2]; + c[u + 16 >> 2] = c[f + 16 >> 2]; + c[u + 20 >> 2] = c[f + 20 >> 2]; + c[u + 24 >> 2] = c[f + 24 >> 2]; + c[u + 28 >> 2] = c[f + 28 >> 2]; + do if (!(s & 4)) { + if (s & 1 | 0) { + c[f + 48 >> 2] = 1; + i = u + 24 | 0; + h[i >> 3] = +h[(+h[i >> 3] > +h[b + 8 >> 3] ? u + 16 | 0 : b) + 8 >> 3]; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } + i = f + 48 | 0; + if (!(s & 8)) { + c[i >> 2] = 2; + h[u >> 3] = +h[b >> 3]; + h[u + 8 >> 3] = +h[j + 24 >> 3] - +h[j + 80 >> 3] * .5; + h[u + 24 >> 3] = +h[b + 8 >> 3]; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } else { + c[i >> 2] = 8; + h[u + 16 >> 3] = +h[b >> 3]; + h[u + 8 >> 3] = +h[j + 24 >> 3] - +h[j + 80 >> 3] * .5; + h[u + 24 >> 3] = +h[b + 8 >> 3]; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } + } else { + c[f + 48 >> 2] = 4; + k = +h[u >> 3]; + if (+h[b >> 3] < +h[j + 16 >> 3]) { + z = k + -1.0; + y = +h[b + 8 >> 3]; + b = u + 16 | 0; + k = +h[b >> 3]; + m = +h[j + 80 >> 3] * .5 + +h[j + 24 >> 3]; + m = m + +((c[(c[(ez(w) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + i = c[r >> 2] | 0; + h[b >> 3] = +h[i + 16 >> 3] - +h[i + 88 >> 3]; + h[u + 24 >> 3] = y; + h[u + 8 >> 3] = +h[i + 24 >> 3] - +h[i + 80 >> 3] * .5; + h[u >> 3] = z; + h[f + 56 >> 3] = z; + h[f + 64 >> 3] = y; + h[f + 72 >> 3] = k; + h[f + 80 >> 3] = m; + i = f + 88 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 2; + break + } else { + m = +h[b + 8 >> 3]; + i = u + 16 | 0; + y = +h[i >> 3] + 1.0; + z = +h[j + 80 >> 3] * .5 + +h[j + 24 >> 3]; + z = z + +((c[(c[(ez(w) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + b = c[r >> 2] | 0; + h[u >> 3] = +h[b + 96 >> 3] + +h[b + 16 >> 3]; + h[u + 24 >> 3] = m; + h[u + 8 >> 3] = +h[b + 24 >> 3] - +h[b + 80 >> 3] * .5; + h[i >> 3] = y; + h[f + 56 >> 3] = k; + h[f + 64 >> 3] = m; + h[f + 72 >> 3] = y; + h[f + 80 >> 3] = z; + i = f + 88 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 2; + break + } + } while (0); + c[f + 52 >> 2] = i; + while (1) { + i = c[d + 16 >> 2] | 0; + if (!(a[i + 112 >> 0] | 0)) break; + d = c[i + 116 >> 2] | 0 + } + a[((w | 0) == (c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) ? i + 16 | 0 : i + 56 | 0) + 30 >> 0] = 0 + } else { + j = 1; + v = 47 + } + break + } + case 2: { + s = a[(c[t >> 2] | 0) + 49 >> 0] | 0; + j = s & 255; + if (!(s << 24 >> 24)) v = 46; else { + c[u >> 2] = c[f >> 2]; + c[u + 4 >> 2] = c[f + 4 >> 2]; + c[u + 8 >> 2] = c[f + 8 >> 2]; + c[u + 12 >> 2] = c[f + 12 >> 2]; + c[u + 16 >> 2] = c[f + 16 >> 2]; + c[u + 20 >> 2] = c[f + 20 >> 2]; + c[u + 24 >> 2] = c[f + 24 >> 2]; + c[u + 28 >> 2] = c[f + 28 >> 2]; + do if (!(j & 4)) { + if (j & 1 | 0) if ((c[f + 48 >> 2] | 0) == 4) { + i = c[r >> 2] | 0; + z = +h[i + 24 >> 3] - +h[i + 80 >> 3] * .5; + i = u + 16 | 0; + y = +h[i >> 3] + 1.0; + k = +h[b >> 3]; + m = z - +((c[(c[(ez(w) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + b = c[r >> 2] | 0; + h[u >> 3] = +h[b + 96 >> 3] + +h[b + 16 >> 3]; + h[u + 8 >> 3] = z; + h[u + 24 >> 3] = +h[b + 80 >> 3] * .5 + +h[b + 24 >> 3]; + h[i >> 3] = y; + h[f + 56 >> 3] = k; + h[f + 64 >> 3] = m; + h[f + 72 >> 3] = y; + h[f + 80 >> 3] = z; + i = f + 88 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 2; + break + } else { + i = u + 24 | 0; + h[i >> 3] = +h[(+h[i >> 3] > +h[b + 8 >> 3] ? u + 16 | 0 : b) + 8 >> 3]; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } + k = +h[b >> 3]; + if (!(j & 8)) { + h[u >> 3] = k; + e = c[r >> 2] | 0; + k = +h[e + 24 >> 3]; + m = +h[e + 80 >> 3] * .5; + if ((c[f + 48 >> 2] | 0) == 4) { + h[u + 24 >> 3] = m + k; + k = +h[b + 8 >> 3]; + i = u + } else { + h[u + 8 >> 3] = k - m; + k = +h[b + 8 >> 3] + 1.0; + i = u + 16 | 0 + } + h[i + 8 >> 3] = k; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } else { + i = u + 16 | 0; + h[i >> 3] = k + 1.0; + e = c[r >> 2] | 0; + k = +h[e + 24 >> 3]; + m = +h[e + 80 >> 3] * .5; + if ((c[f + 48 >> 2] | 0) == 4) { + h[u + 24 >> 3] = m + k; + k = +h[b + 8 >> 3] + -1.0; + i = u + } else { + h[u + 8 >> 3] = k - m; + k = +h[b + 8 >> 3] + 1.0 + } + h[i + 8 >> 3] = k; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1; + break + } + } else { + i = u + 8 | 0; + h[i >> 3] = +h[(+h[i >> 3] < +h[b + 8 >> 3] ? u : b) + 8 >> 3]; + i = f + 56 | 0; + c[i >> 2] = c[u >> 2]; + c[i + 4 >> 2] = c[u + 4 >> 2]; + c[i + 8 >> 2] = c[u + 8 >> 2]; + c[i + 12 >> 2] = c[u + 12 >> 2]; + c[i + 16 >> 2] = c[u + 16 >> 2]; + c[i + 20 >> 2] = c[u + 20 >> 2]; + c[i + 24 >> 2] = c[u + 24 >> 2]; + c[i + 28 >> 2] = c[u + 28 >> 2]; + i = 1 + } while (0); + c[f + 52 >> 2] = i; + while (1) { + i = c[d + 16 >> 2] | 0; + if (!(a[i + 112 >> 0] | 0)) break; + d = c[i + 116 >> 2] | 0 + } + a[((w | 0) == (c[((c[d >> 2] & 3 | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0) ? i + 16 | 0 : i + 56 | 0) + 30 >> 0] = 0; + c[f + 48 >> 2] = j + } + break + } + default: + v = 46 + } + if ((v | 0) == 46) { + j = c[f + 48 >> 2] | 0; + v = 47 + } + a:do if ((v | 0) == 47) { + if (n) { + d = f + 56 | 0; + i = f + 52 | 0; + j = pb[n & 127](w, (c[t >> 2] | 0) + 16 | 0, j, d, i) | 0; + if (j) { + c[f + 48 >> 2] = j; + break + } + } else { + i = f + 52 | 0; + d = f + 56 | 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]; + c[d + 16 >> 2] = c[f + 16 >> 2]; + c[d + 20 >> 2] = c[f + 20 >> 2]; + c[d + 24 >> 2] = c[f + 24 >> 2]; + c[d + 28 >> 2] = c[f + 28 >> 2]; + c[i >> 2] = 1; + switch (e | 0) { + case 8: { + qa(135312, 103488, 569, 103498); + break + } + case 2: { + h[((c[f + 48 >> 2] | 0) == 4 ? f + 56 | 0 : f + 72 | 0) + 8 >> 3] = +h[b + 8 >> 3]; + break a + } + case 1: { + h[f + 80 >> 3] = +h[b + 8 >> 3]; + c[f + 48 >> 2] = 1; + break a + } + default: + break a + } + } while (0); + l = x; + return + } + + function UK(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function VK(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0, f = 0.0, g = 0, i = 0, j = 0, k = 0.0, l = 0.0; + i = c[a + 16 >> 2] | 0; + j = c[i + 172 >> 2] | 0; + f = 0.0; + g = 0; + while (1) { + a = c[j + (g << 2) >> 2] | 0; + if (!a) break; + f = +h[(c[(c[((c[a >> 2] & 3 | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 >> 3] + f; + g = g + 1 | 0 + } + e = c[i + 180 >> 2] | 0; + b = 0.0; + a = 0; + while (1) { + d = c[e + (a << 2) >> 2] | 0; + if (!d) break; + b = +h[(c[(c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 >> 3] + b; + a = a + 1 | 0 + } + k = +h[i + 16 >> 3]; + l = +h[i + 24 >> 3]; + j = c[j >> 2] | 0; + f = +K(+(l - +h[(c[(c[((c[j >> 2] & 3 | 0) == 3 ? j : j + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3]), +(k - f / +(g | 0))); + j = c[e >> 2] | 0; + return +((+K(+(+h[(c[(c[((c[j >> 2] & 3 | 0) == 2 ? j : j + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 24 >> 3] - l), +(b / +(a | 0) - k)) + f) * .5) + } + + function WK(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0.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.0, B = 0.0; + z = l; + l = l + 112 | 0; + w = z + 72 | 0; + p = z + 56 | 0; + n = z + 16 | 0; + t = z; + j = c[d >> 2] & 3; + r = d + -48 | 0; + y = c[((j | 0) == 2 ? d : r) + 40 >> 2] | 0; + u = d + 16 | 0; + s = c[u >> 2] | 0; + i = s + 56 | 0; + if (a[s + 87 >> 0] | 0) { + HK(n, y, c[((j | 0) == 3 ? d : d + 48 | 0) + 40 >> 2] | 0, i); + j = n; + n = i + 40 | 0; + do { + c[i >> 2] = c[j >> 2]; + i = i + 4 | 0; + j = j + 4 | 0 + } while ((i | 0) < (n | 0)) + } + s = y + 16 | 0; + j = c[s >> 2] | 0; + i = c[j + 8 >> 2] | 0; + if (!i) o = 0; else o = c[(c[i + 4 >> 2] | 0) + 16 >> 2] | 0; + n = b + 40 | 0; + i = j + 16 | 0; + j = (c[u >> 2] | 0) + 56 | 0; + c[p >> 2] = c[i >> 2]; + c[p + 4 >> 2] = c[i + 4 >> 2]; + c[p + 8 >> 2] = c[i + 8 >> 2]; + c[p + 12 >> 2] = c[i + 12 >> 2]; + c[w >> 2] = c[j >> 2]; + c[w + 4 >> 2] = c[j + 4 >> 2]; + c[w + 8 >> 2] = c[j + 8 >> 2]; + c[w + 12 >> 2] = c[j + 12 >> 2]; + UK(t, p, w); + 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]; + if (!(g << 24 >> 24)) { + i = c[u >> 2] | 0; + if (!(a[i + 85 >> 0] | 0)) q = 0; else { + h[b + 56 >> 3] = +h[i + 72 >> 3]; + q = 1 + } + } else { + m = +VK(c[((c[d >> 2] & 3 | 0) == 2 ? d : r) + 40 >> 2] | 0) + 3.141592653589793; + h[b + 56 >> 3] = m; + if (m < 6.283185307179586) q = 1; else qa(103508, 103488, 606, 103532) + } + a[b + 69 >> 0] = q; + t = f + 32 | 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]; + switch (e | 0) { + case 1: { + j = c[s >> 2] | 0; + if ((a[j + 156 >> 0] | 0) == 0 ? (t = a[(c[u >> 2] | 0) + 89 >> 0] | 0, v = t & 255, t << 24 >> 24 != 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[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]; + do if (!(v & 4)) if (!(v & 1)) { + i = f + 48 | 0; + if (!(v & 8)) { + c[i >> 2] = 2; + h[w >> 3] = +h[n >> 3]; + h[w + 24 >> 3] = +h[j + 80 >> 3] * .5 + +h[j + 24 >> 3]; + h[w + 8 >> 3] = +h[b + 48 >> 3]; + i = f + 56 | 0; + 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]; + i = 1; + break + } else { + c[i >> 2] = 8; + h[w + 16 >> 3] = +h[n >> 3]; + h[w + 24 >> 3] = +h[j + 80 >> 3] * .5 + +h[j + 24 >> 3]; + h[w + 8 >> 3] = +h[b + 48 >> 3]; + i = f + 56 | 0; + 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]; + i = 1; + break + } + } else { + c[f + 48 >> 2] = 1; + k = +h[w >> 3]; + if (+h[n >> 3] < +h[j + 16 >> 3]) { + B = k + -1.0; + m = +h[b + 48 >> 3]; + b = w + 16 | 0; + k = +h[b >> 3]; + A = +h[j + 80 >> 3] * -.5 + +h[j + 24 >> 3]; + A = A - +((c[(c[(ez(y) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + i = c[s >> 2] | 0; + h[b >> 3] = +h[i + 16 >> 3] - +h[i + 88 >> 3]; + h[w + 8 >> 3] = m; + h[w + 24 >> 3] = +h[i + 80 >> 3] * .5 + +h[i + 24 >> 3]; + h[w >> 3] = B; + h[f + 56 >> 3] = B; + h[f + 64 >> 3] = A; + h[f + 72 >> 3] = k; + h[f + 80 >> 3] = m; + i = f + 88 | 0; + 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]; + i = 2; + break + } else { + B = +h[b + 48 >> 3]; + i = w + 16 | 0; + A = +h[i >> 3] + 1.0; + m = +h[j + 80 >> 3] * -.5 + +h[j + 24 >> 3]; + m = m - +((c[(c[(ez(y) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + b = c[s >> 2] | 0; + h[w >> 3] = +h[b + 96 >> 3] + +h[b + 16 >> 3]; + h[w + 8 >> 3] = B; + h[w + 24 >> 3] = +h[b + 80 >> 3] * .5 + +h[b + 24 >> 3]; + h[i >> 3] = A; + h[f + 56 >> 3] = k; + h[f + 64 >> 3] = m; + h[f + 72 >> 3] = A; + h[f + 80 >> 3] = B; + i = f + 88 | 0; + 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]; + i = 2; + break + } + } else { + c[f + 48 >> 2] = 4; + i = w + 8 | 0; + h[i >> 3] = +h[(+h[i >> 3] < +h[b + 48 >> 3] ? w : n) + 8 >> 3]; + i = f + 56 | 0; + 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]; + i = 1 + } while (0); + c[f + 52 >> 2] = i; + while (1) { + i = c[d + 16 >> 2] | 0; + if (!(a[i + 112 >> 0] | 0)) break; + d = c[i + 116 >> 2] | 0 + } + a[((y | 0) == (c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) ? i + 56 | 0 : i + 16 | 0) + 30 >> 0] = 0; + c[f + 48 >> 2] = v + } else { + j = 4; + x = 47 + } + break + } + case 2: { + v = a[(c[u >> 2] | 0) + 89 >> 0] | 0; + j = v & 255; + if (!(v << 24 >> 24)) x = 46; 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[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]; + do if (!(j & 4)) { + if (j & 1 | 0) if ((c[f + 48 >> 2] | 0) == 4) { + k = +h[w >> 3] + -1.0; + i = c[s >> 2] | 0; + B = +h[i + 24 >> 3] - +h[i + 80 >> 3] * .5; + A = +h[n >> 3]; + m = B - +((c[(c[(ez(y) | 0) + 16 >> 2] | 0) + 252 >> 2] | 0) / 2 | 0 | 0); + i = c[s >> 2] | 0; + h[w + 16 >> 3] = +h[i + 16 >> 3] + -2.0 - +h[i + 88 >> 3]; + h[w + 8 >> 3] = B; + h[w + 24 >> 3] = +h[i + 80 >> 3] * .5 + +h[i + 24 >> 3]; + h[w >> 3] = k; + h[f + 56 >> 3] = k; + h[f + 64 >> 3] = m; + h[f + 72 >> 3] = A; + h[f + 80 >> 3] = B; + i = f + 88 | 0; + 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]; + i = 2; + break + } else { + i = w + 24 | 0; + h[i >> 3] = +h[(+h[i >> 3] > +h[b + 8 >> 3] ? w + 16 | 0 : b) + 8 >> 3]; + i = f + 56 | 0; + 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]; + i = 1; + break + } + k = +h[n >> 3]; + if (!(j & 8)) { + h[w >> 3] = k + -1.0; + e = c[s >> 2] | 0; + k = +h[e + 24 >> 3]; + m = +h[e + 80 >> 3] * .5; + if ((c[f + 48 >> 2] | 0) == 4) { + h[w + 24 >> 3] = m + k; + k = +h[b + 48 >> 3] + -1.0; + i = w + } else { + h[w + 8 >> 3] = k - m; + k = +h[b + 48 >> 3]; + i = w + 16 | 0 + } + h[i + 8 >> 3] = k; + i = f + 56 | 0; + 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]; + i = 1; + break + } else { + i = w + 16 | 0; + h[i >> 3] = k + 1.0; + e = c[s >> 2] | 0; + k = +h[e + 24 >> 3]; + m = +h[e + 80 >> 3] * .5; + if ((c[f + 48 >> 2] | 0) == 4) { + h[w + 24 >> 3] = m + k; + k = +h[b + 48 >> 3] + -1.0; + i = w + } else { + h[w + 8 >> 3] = k - m; + k = +h[b + 48 >> 3] + 1.0 + } + h[i + 8 >> 3] = k; + i = f + 56 | 0; + 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]; + i = 1; + break + } + } else { + i = w + 8 | 0; + h[i >> 3] = +h[(+h[i >> 3] < +h[b + 48 >> 3] ? w : n) + 8 >> 3]; + i = f + 56 | 0; + 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]; + i = 1 + } while (0); + c[f + 52 >> 2] = i; + while (1) { + i = c[d + 16 >> 2] | 0; + if (!(a[i + 112 >> 0] | 0)) break; + d = c[i + 116 >> 2] | 0 + } + a[((y | 0) == (c[((c[d >> 2] & 3 | 0) == 2 ? d : d + -48 | 0) + 40 >> 2] | 0) ? i + 56 | 0 : i + 16 | 0) + 30 >> 0] = 0; + c[f + 48 >> 2] = j + } + break + } + default: + x = 46 + } + if ((x | 0) == 46) { + j = c[f + 48 >> 2] | 0; + x = 47 + } + a:do if ((x | 0) == 47) { + if (o) { + d = f + 56 | 0; + i = f + 52 | 0; + j = pb[o & 127](y, (c[u >> 2] | 0) + 56 | 0, j, d, i) | 0; + if (j) { + c[f + 48 >> 2] = j; + break + } + } else { + i = f + 52 | 0; + d = f + 56 | 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]; + c[d + 16 >> 2] = c[f + 16 >> 2]; + c[d + 20 >> 2] = c[f + 20 >> 2]; + c[d + 24 >> 2] = c[f + 24 >> 2]; + c[d + 28 >> 2] = c[f + 28 >> 2]; + c[i >> 2] = 1; + switch (e | 0) { + case 8: { + qa(135312, 103488, 765, 103532); + break + } + case 2: { + h[((c[f + 48 >> 2] | 0) == 4 ? f + 56 | 0 : f + 72 | 0) + 8 >> 3] = +h[b + 48 >> 3]; + break a + } + case 1: { + h[f + 64 >> 3] = +h[b + 48 >> 3]; + c[f + 48 >> 2] = 4; + break a + } + default: + break a + } + } while (0); + l = z; + return + } + + function XK(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0; + g = c[b + 16 >> 2] | 0; + i = c[g + 96 >> 2] | 0; + if ((a[g + 44 >> 0] | 0) == 0 ? (a[g + 84 >> 0] | 0) == 0 : 0) j = 6; else { + d = a[g + 49 >> 0] | 0; + e = d & 255; + if (((e & 8 | 0) == 0 ? (f = a[g + 89 >> 0] | 0, (f & 8) == 0) : 0) ? ((e & 5 | 0) == 0 ? 1 : d << 24 >> 24 != f << 24 >> 24) : 0) j = 6; else b = 0 + } + if ((j | 0) == 6) if (!i) b = 18; else { + b = (c[(c[(ez(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) != 0; + b = ~~(+h[(b ? i + 32 | 0 : i + 24 | 0) >> 3] + 18.0) + } + return b | 0 + } + + function YK(b, d, e, f, g, h, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = +g; + h = +h; + i = i | 0; + var j = 0, k = 0, l = 0, m = 0; + b = c[(c[d + (e << 2) >> 2] | 0) + 16 >> 2] | 0; + if ((a[b + 44 >> 0] | 0) == 0 ? (a[b + 84 >> 0] | 0) == 0 : 0) l = 6; else l = 3; + do if ((l | 0) == 3) { + j = a[b + 49 >> 0] | 0; + k = j & 255; + if (!(k & 8)) { + m = a[b + 89 >> 0] | 0; + if ((m & 8) == 0 ? ((k & 5 | 0) == 0 ? 1 : j << 24 >> 24 != m << 24 >> 24) : 0) { + l = 6; + break + } + if (!(a[b + 89 >> 0] & 8)) { + if (k & 4 | 0) { + _K(d, e, f, g, h, i); + break + } + if (!(k & 1)) qa(135312, 103488, 1231, 103540); else { + aL(d, e, f, g, h, i); + break + } + } + } + if ((j & 2) == 0 ? (a[b + 89 >> 0] & 2) == 0 : 0) { + $K(d, e, f, g, h, i); + break + } + _K(d, e, f, g, h, i) + } while (0); + if ((l | 0) == 6) ZK(d, e, f, g, h, i); + return + } + + function ZK(b, e, f, g, i, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = +g; + i = +i; + j = j | 0; + var k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, + y = 0, z = 0.0, A = 0, B = 0, C = 0.0, D = 0, E = 0.0, F = 0.0, G = 0.0, H = 0.0, I = 0.0, J = 0, + K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0; + P = l; + l = l + 16080 | 0; + L = P + 80 | 0; + M = P + 64 | 0; + N = P + 48 | 0; + O = P + 32 | 0; + J = P + 16 | 0; + K = P; + B = c[b + (e << 2) >> 2] | 0; + n = i * .5 / +(f | 0); + n = n > 2.0 ? n : 2.0; + D = (c[((c[B >> 2] & 3 | 0) == 3 ? B : B + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + A = c[D >> 2] | 0; + C = +h[A + 16 >> 3]; + H = +h[A + 24 >> 3]; + B = c[B + 16 >> 2] | 0; + m = +h[B + 16 >> 3]; + E = m + C; + F = +h[B + 24 >> 3] + H; + i = +h[B + 56 >> 3]; + G = i + C; + H = +h[B + 64 >> 3] + H; + k = !(F >= H) ? -1 : 1; + p = +h[A + 96 >> 3]; + switch (bL(d[B + 49 >> 0] | 0, d[B + 89 >> 0] | 0) | 0) { + case 65: + case 32: { + if (F == H) k = 0 - k | 0; + break + } + default: { + } + } + Q = (p - m) * 3.0; + m = (p - i) * 3.0; + v = n * +(k | 0); + u = L + 8 | 0; + w = L + 16 | 0; + x = L + 32 | 0; + y = L + 48 | 0; + z = (H + F) * .5; + A = L + 64 | 0; + B = L + 80 | 0; + s = L + 96 | 0; + t = L + 104 | 0; + r = 0; + o = 0.0; + i = p; + n = p < Q ? p : Q; + m = p < m ? p : m; + while (1) { + if ((r | 0) >= (f | 0)) break; + q = e + 1 | 0; + e = c[b + (e << 2) >> 2] | 0; + p = i + g; + n = n + g; + m = m + g; + o = o + v; + h[L >> 3] = E; + h[u >> 3] = F; + Q = o + F; + cL(M, n * .3333333333333333 + E, Q); + 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]; + R = p + C; + cL(N, R, Q); + 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]; + cL(O, R, z); + 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]; + Q = H - o; + cL(J, R, Q); + c[A >> 2] = c[J >> 2]; + c[A + 4 >> 2] = c[J + 4 >> 2]; + c[A + 8 >> 2] = c[J + 8 >> 2]; + c[A + 12 >> 2] = c[J + 12 >> 2]; + cL(K, m * .3333333333333333 + G, Q); + 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]; + h[s >> 3] = G; + h[t >> 3] = H; + k = e + 16 | 0; + if ((c[(c[k >> 2] | 0) + 96 >> 2] | 0) != 0 ? (S = (c[(c[(ez(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0, k = c[(c[k >> 2] | 0) + 96 >> 2] | 0, I = +h[(S ? k + 24 | 0 : k + 32 | 0) >> 3], S = c[D >> 2] | 0, h[k + 56 >> 3] = I * .5 + p + +h[S + 16 >> 3], h[k + 64 >> 3] = +h[S + 24 >> 3], a[k + 81 >> 0] = 1, I > g) : 0) i = I + i; else i = p; + QK(e, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, L, 7, j); + e = q; + r = r + 1 | 0 + } + l = P; + return + } + + function _K(b, e, f, g, i, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = +g; + i = +i; + j = j | 0; + var k = 0.0, m = 0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, s = 0.0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0.0, B = 0, C = 0, D = 0.0, E = 0, F = 0.0, G = 0.0, H = 0.0, I = 0.0, + J = 0.0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0.0, S = 0; + Q = l; + l = l + 16080 | 0; + M = Q + 80 | 0; + N = Q + 64 | 0; + O = Q + 48 | 0; + P = Q + 32 | 0; + K = Q + 16 | 0; + L = Q; + C = c[b + (e << 2) >> 2] | 0; + q = g * .5 / +(f | 0); + q = q > 2.0 ? q : 2.0; + E = (c[((c[C >> 2] & 3 | 0) == 3 ? C : C + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + m = c[E >> 2] | 0; + H = +h[m + 16 >> 3]; + D = +h[m + 24 >> 3]; + C = c[C + 16 >> 2] | 0; + k = +h[C + 16 >> 3]; + p = +h[C + 24 >> 3]; + F = k + H; + G = p + D; + g = +h[C + 56 >> 3]; + o = +h[C + 64 >> 3]; + H = g + H; + I = o + D; + n = !(F >= H) ? -1.0 : 1.0; + s = +h[m + 80 >> 3] * .5; + switch (bL(d[C + 49 >> 0] | 0, d[C + 89 >> 0] | 0) | 0) { + case 15: { + k = (q - g + +h[m + 96 >> 3]) * n; + break + } + case 38: { + k = (g + q + +h[m + 88 >> 3]) * n; + break + } + case 41: { + k = (q - k + +h[m + 96 >> 3]) * n; + break + } + case 48: { + k = (q - k + +h[m + 96 >> 3]) * n; + break + } + case 58: + case 57: + case 51: + case 47: + case 37: + case 14: { + k = n * .3333333333333333 * (k - g + +h[m + 88 >> 3] + +h[m + 96 >> 3]); + break + } + case 73: { + k = (k + q + +h[m + 88 >> 3]) * n; + break + } + case 83: { + k = (+h[m + 88 >> 3] + k) * n; + break + } + case 84: { + k = ((k - g + +h[m + 88 >> 3] + +h[m + 96 >> 3]) * .5 + q) * n; + break + } + case 85: + case 75: + case 74: { + k = ((k - g + +h[m + 88 >> 3] + +h[m + 96 >> 3]) * .5 + q * 2.0) * n; + break + } + default: + k = 0.0 + } + p = (s - p) * 3.0; + o = (s - o) * 3.0; + q = n * q; + w = M + 8 | 0; + x = M + 16 | 0; + y = M + 32 | 0; + z = M + 48 | 0; + A = (H + F) * .5; + B = M + 64 | 0; + C = M + 80 | 0; + u = M + 96 | 0; + v = M + 104 | 0; + t = 0; + g = s; + p = s < p ? s : p; + n = s < o ? s : o; + while (1) { + if ((t | 0) >= (f | 0)) break; + r = e + 1 | 0; + e = c[b + (e << 2) >> 2] | 0; + o = g + i; + p = p + i; + n = n + i; + k = k + q; + h[M >> 3] = F; + h[w >> 3] = G; + s = k + F; + cL(N, s, p * .3333333333333333 + G); + 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]; + R = o + D; + cL(O, s, R); + 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]; + cL(P, A, R); + 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]; + s = H - k; + cL(K, s, R); + 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]; + cL(L, s, n * .3333333333333333 + I); + c[C >> 2] = c[L >> 2]; + c[C + 4 >> 2] = c[L + 4 >> 2]; + c[C + 8 >> 2] = c[L + 8 >> 2]; + c[C + 12 >> 2] = c[L + 12 >> 2]; + h[u >> 3] = H; + h[v >> 3] = I; + m = e + 16 | 0; + if ((c[(c[m >> 2] | 0) + 96 >> 2] | 0) != 0 ? (S = (c[(c[(ez(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0, m = c[(c[m >> 2] | 0) + 96 >> 2] | 0, J = +h[(S ? m + 32 | 0 : m + 24 | 0) >> 3], S = c[E >> 2] | 0, h[m + 64 >> 3] = J * .5 + o + +h[S + 24 >> 3], h[m + 56 >> 3] = +h[S + 16 >> 3], a[m + 81 >> 0] = 1, J > i) : 0) g = J + g; else g = o; + QK(e, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, M, 7, j); + e = r; + t = t + 1 | 0 + } + l = Q; + return + } + + function $K(b, e, f, g, i, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = +g; + i = +i; + j = j | 0; + var k = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, + y = 0, z = 0.0, A = 0, B = 0, C = 0.0, D = 0, E = 0.0, F = 0.0, G = 0.0, H = 0.0, I = 0.0, J = 0, + K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0; + P = l; + l = l + 16080 | 0; + L = P + 80 | 0; + M = P + 64 | 0; + N = P + 48 | 0; + O = P + 32 | 0; + J = P + 16 | 0; + K = P; + B = c[b + (e << 2) >> 2] | 0; + n = i * .5 / +(f | 0); + n = n > 2.0 ? n : 2.0; + D = (c[((c[B >> 2] & 3 | 0) == 3 ? B : B + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + A = c[D >> 2] | 0; + C = +h[A + 16 >> 3]; + H = +h[A + 24 >> 3]; + B = c[B + 16 >> 2] | 0; + m = +h[B + 16 >> 3]; + E = m + C; + F = +h[B + 24 >> 3] + H; + i = +h[B + 56 >> 3]; + G = i + C; + H = +h[B + 64 >> 3] + H; + k = !(F >= H) ? -1 : 1; + p = +h[A + 88 >> 3]; + switch (bL(d[B + 49 >> 0] | 0, d[B + 89 >> 0] | 0) | 0) { + case 67: + case 12: { + if (F == H) k = 0 - k | 0; + break + } + default: { + } + } + Q = (m + p) * 3.0; + m = (i + p) * 3.0; + v = n * +(k | 0); + u = L + 8 | 0; + w = L + 16 | 0; + x = L + 32 | 0; + y = L + 48 | 0; + z = (H + F) * .5; + A = L + 64 | 0; + B = L + 80 | 0; + s = L + 96 | 0; + t = L + 104 | 0; + r = 0; + o = 0.0; + i = p; + n = p < Q ? p : Q; + m = p < m ? p : m; + while (1) { + if ((r | 0) >= (f | 0)) break; + q = e + 1 | 0; + e = c[b + (e << 2) >> 2] | 0; + p = i + g; + n = n + g; + m = m + g; + o = o + v; + h[L >> 3] = E; + h[u >> 3] = F; + Q = o + F; + cL(M, E - n * .3333333333333333, Q); + 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]; + R = C - p; + cL(N, R, Q); + 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]; + cL(O, R, z); + 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]; + Q = H - o; + cL(J, R, Q); + c[A >> 2] = c[J >> 2]; + c[A + 4 >> 2] = c[J + 4 >> 2]; + c[A + 8 >> 2] = c[J + 8 >> 2]; + c[A + 12 >> 2] = c[J + 12 >> 2]; + cL(K, G - m * .3333333333333333, Q); + 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]; + h[s >> 3] = G; + h[t >> 3] = H; + k = e + 16 | 0; + if ((c[(c[k >> 2] | 0) + 96 >> 2] | 0) != 0 ? (S = (c[(c[(ez(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0, k = c[(c[k >> 2] | 0) + 96 >> 2] | 0, I = +h[(S ? k + 24 | 0 : k + 32 | 0) >> 3], S = c[D >> 2] | 0, h[k + 56 >> 3] = I * -.5 - p + +h[S + 16 >> 3], h[k + 64 >> 3] = +h[S + 24 >> 3], a[k + 81 >> 0] = 1, I > g) : 0) i = I + i; else i = p; + QK(e, c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0, L, 7, j); + e = q; + r = r + 1 | 0 + } + l = P; + return + } + + function aL(b, e, f, g, i, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = +g; + i = +i; + j = j | 0; + var k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, + x = 0.0, y = 0.0, z = 0.0, A = 0.0, B = 0.0, C = 0, D = 0, E = 0, F = 0.0, G = 0, H = 0, I = 0.0, + J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0; + P = l; + l = l + 16080 | 0; + L = P + 80 | 0; + M = P + 64 | 0; + N = P + 48 | 0; + O = P + 32 | 0; + J = P + 16 | 0; + K = P; + C = c[b + (e << 2) >> 2] | 0; + B = g * .5 / +(f | 0); + w = (c[((c[C >> 2] & 3 | 0) == 3 ? C : C + 48 | 0) + 40 >> 2] | 0) + 16 | 0; + D = c[w >> 2] | 0; + z = +h[D + 16 >> 3]; + v = +h[D + 24 >> 3]; + C = c[C + 16 >> 2] | 0; + m = +h[C + 24 >> 3]; + x = +h[C + 16 >> 3] + z; + y = m + v; + n = +h[C + 64 >> 3]; + z = +h[C + 56 >> 3] + z; + A = n + v; + u = !(x >= z) ? -1 : 1; + o = +h[D + 80 >> 3] * .5; + C = (bL(d[C + 49 >> 0] | 0, d[C + 89 >> 0] | 0) | 0) == 67; + m = (m + o) * 3.0; + n = (n + o) * 3.0; + B = (B > 2.0 ? B : 2.0) * +((C ? 0 - u | 0 : u) | 0); + u = L + 8 | 0; + C = L + 16 | 0; + D = L + 32 | 0; + E = L + 48 | 0; + F = (z + x) * .5; + G = L + 64 | 0; + H = L + 80 | 0; + s = L + 96 | 0; + t = L + 104 | 0; + g = o; + k = 0.0; + m = o < m ? o : m; + n = o < n ? o : n; + q = 0; + while (1) { + if ((q | 0) >= (f | 0)) break; + r = e + 1 | 0; + p = c[b + (e << 2) >> 2] | 0; + o = g + i; + m = m + i; + n = n + i; + k = k + B; + h[L >> 3] = x; + h[u >> 3] = y; + Q = k + x; + cL(M, Q, y - m * .3333333333333333); + 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]; + R = v - o; + cL(N, Q, R); + 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]; + cL(O, F, R); + 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]; + Q = z - k; + cL(J, Q, R); + c[G >> 2] = c[J >> 2]; + c[G + 4 >> 2] = c[J + 4 >> 2]; + c[G + 8 >> 2] = c[J + 8 >> 2]; + c[G + 12 >> 2] = c[J + 12 >> 2]; + cL(K, Q, A - n * .3333333333333333); + 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]; + h[s >> 3] = z; + h[t >> 3] = A; + e = p + 16 | 0; + if ((c[(c[e >> 2] | 0) + 96 >> 2] | 0) != 0 ? (S = (c[(c[(ez(c[((c[p >> 2] & 3 | 0) == 3 ? p : p + 48 | 0) + 40 >> 2] | 0) | 0) + 16 >> 2] | 0) + 116 >> 2] & 1 | 0) == 0, e = c[(c[e >> 2] | 0) + 96 >> 2] | 0, I = +h[(S ? e + 32 | 0 : e + 24 | 0) >> 3], S = c[w >> 2] | 0, h[e + 64 >> 3] = I * -.5 - o + +h[S + 24 >> 3], h[e + 56 >> 3] = +h[S + 16 >> 3], a[e + 81 >> 0] = 1, I > i) : 0) g = I + g; else g = o; + QK(p, c[((c[p >> 2] & 3 | 0) == 2 ? p : p + -48 | 0) + 40 >> 2] | 0, L, 7, j); + e = r; + q = q + 1 | 0 + } + l = P; + return + } + + function bL(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = 0; + while (1) { + if ((d | 0) >= 8) { + b = -1; + break + } + if ((c[21940 + (d << 2) >> 2] | 0) == (b | 0)) { + b = d; + break + } + d = d + 1 | 0 + } + d = 0; + while (1) { + if ((d | 0) >= 8) { + d = -1; + break + } + if ((c[21940 + (d << 2) >> 2] | 0) == (a | 0)) break; + d = d + 1 | 0 + } + if ((d | b | 0) < 0) d = 0; else d = c[21972 + (d << 5) + (b << 2) >> 2] | 0; + return d | 0 + } + + function cL(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function dL(b) { + b = b | 0; + var d = 0, e = 0; + if ((c[46433] | 0) != 0 | (c[46432] | 0) != 0) { + d = b + 16 | 0; + e = c[(c[d >> 2] | 0) + 100 >> 2] | 0; + if ((e | 0 ? (a[e + 81 >> 0] | 0) == 0 : 0) ? eL(b, 1) | 0 : 0) { + e = ez(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + kM(e, c[(c[d >> 2] | 0) + 100 >> 2] | 0) + } + e = c[(c[d >> 2] | 0) + 104 >> 2] | 0; + if ((e | 0 ? (a[e + 81 >> 0] | 0) == 0 : 0) ? eL(b, 0) | 0 : 0) { + e = ez(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + kM(e, c[(c[d >> 2] | 0) + 104 >> 2] | 0) + } + } + return + } + + function eL(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0.0, i = 0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 96 | 0; + o = q + 32 | 0; + m = q + 16 | 0; + n = q; + i = b + 16 | 0; + do if ((a[(c[i >> 2] | 0) + 112 >> 0] | 0) != 6) { + e = c[46433] | 0; + if (!((e | 0) != 0 ? (a[(yx(b, e) | 0) >> 0] | 0) != 0 : 0)) { + e = c[46432] | 0; + if (!e) { + e = 0; + break + } + if (!(a[(yx(b, e) | 0) >> 0] | 0)) { + e = 0; + break + } + } + d = d << 24 >> 24 == 0; + p = c[i >> 2] | 0; + p = c[(d ? p + 104 | 0 : p + 100 | 0) >> 2] | 0; + e = fL(b) | 0; + if (e) { + k = c[e >> 2] | 0; + do if (d) { + if (c[k + 8 >> 2] | 0) { + e = c[k >> 2] | 0; + j = +h[e >> 3]; + g = +h[k + 16 >> 3]; + e = e + 8 | 0; + f = +h[k + 24 >> 3]; + break + } + e = c[k >> 2] | 0; + g = +h[e >> 3]; + f = +h[e + 8 >> 3]; + e = 0; + while (1) { + if ((e | 0) == 4) break; + n = o + (e << 4) | 0; + i = (c[k >> 2] | 0) + (e << 4) | 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]; + e = e + 1 | 0 + } + XL(m, o, 3, .1, 0, 0); + j = +h[m >> 3]; + e = m + 8 | 0 + } else { + d = (c[e + 4 >> 2] | 0) + -1 | 0; + i = k + (d * 48 | 0) | 0; + if (c[k + (d * 48 | 0) + 12 >> 2] | 0) { + o = c[i >> 2] | 0; + e = (c[k + (d * 48 | 0) + 4 >> 2] | 0) + -1 | 0; + j = +h[o + (e << 4) >> 3]; + g = +h[k + (d * 48 | 0) + 32 >> 3]; + e = o + (e << 4) + 8 | 0; + f = +h[k + (d * 48 | 0) + 40 >> 3]; + break + } + m = c[i >> 2] | 0; + d = k + (d * 48 | 0) + 4 | 0; + e = (c[d >> 2] | 0) + -1 | 0; + g = +h[m + (e << 4) >> 3]; + f = +h[m + (e << 4) + 8 >> 3]; + e = 0; + while (1) { + if ((e | 0) == 4) break; + m = o + (e << 4) | 0; + k = (c[i >> 2] | 0) + (e + -4 + (c[d >> 2] | 0) << 4) | 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]; + e = e + 1 | 0 + } + XL(n, o, 3, .9, 0, 0); + j = +h[n >> 3]; + e = n + 8 | 0 + } while (0); + r = +K(+(+h[e >> 3] - f), +(j - g)); + r = +LL(b, c[46433] | 0, -25.0, -180.0) * .017453292519943295 + r; + j = +LL(b, c[46432] | 0, 1.0, 0.0) * 10.0; + h[p + 56 >> 3] = j * +E(+r) + g; + h[p + 64 >> 3] = +F(+r) * j + f; + a[p + 81 >> 0] = 1; + e = 1 + } else e = 0 + } else e = 0; while (0); + l = q; + return e | 0 + } + + function fL(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + f = h; + d = b; + while (1) { + e = c[d + 16 >> 2] | 0; + d = c[e + 8 >> 2] | 0; + if (d | 0) break; + if (!(a[e + 112 >> 0] | 0)) { + g = 5; + break + } + d = c[e + 116 >> 2] | 0 + } + if ((g | 0) == 5) { + g = ry(c[((c[b >> 2] & 3 | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0) | 0; + d = ry(c[((c[b >> 2] & 3 | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0) | 0; + c[f >> 2] = g; + c[f + 4 >> 2] = d; + Pw(1, 103553, f) | 0; + d = 0 + } + l = h; + return d | 0 + } + + function gL(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0.0, + u = 0.0; + s = l; + l = l + 96 | 0; + m = s + 80 | 0; + n = s + 64 | 0; + o = s + 48 | 0; + p = s + 32 | 0; + q = s + 16 | 0; + r = s; + k = b[(c[d + 16 >> 2] | 0) + 136 >> 1] | 0; + d = e + 16 | 0; + hL(c[(c[d >> 2] | 0) + 8 >> 2] | 0, p, q); + f = +h[p >> 3]; + g = +h[q >> 3]; + t = f - g; + i = +h[p + 8 >> 3]; + j = +h[q + 8 >> 3]; + u = i - j; + a:do if (u * u + t * t < 1.0e-06) { + 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] + } else switch (k & 14) { + case 4: + case 10: { + h[n >> 3] = (g + f) * .5; + h[n + 8 >> 3] = (j + i) * .5; + q = c[(c[d >> 2] | 0) + 8 >> 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]; + bM(r, q, m); + c[o >> 2] = c[r >> 2]; + c[o + 4 >> 2] = c[r + 4 >> 2]; + c[o + 8 >> 2] = c[r + 8 >> 2]; + c[o + 12 >> 2] = c[r + 12 >> 2]; + break a + } + default: { + iL(o, c[(c[d >> 2] | 0) + 8 >> 2] | 0, p, q); + break a + } + } while (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]; + l = s; + return + } + + function hL(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + h = l; + l = l + 32 | 0; + g = h + 16 | 0; + f = h; + j = c[a >> 2] | 0; + e = c[j >> 2] | 0; + i = c[j + 8 >> 2] | 0; + k = j + 16 | 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]; + j = j + 32 | 0; + c[f >> 2] = c[j >> 2]; + c[f + 4 >> 2] = c[j + 4 >> 2]; + c[f + 8 >> 2] = c[j + 8 >> 2]; + c[f + 12 >> 2] = c[j + 12 >> 2]; + if (!i) { + 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 { + 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] + } + i = c[a >> 2] | 0; + j = (c[a + 4 >> 2] | 0) + -1 | 0; + e = c[i + (j * 48 | 0) >> 2] | 0; + a = c[i + (j * 48 | 0) + 4 >> 2] | 0; + k = c[i + (j * 48 | 0) + 12 >> 2] | 0; + b = i + (j * 48 | 0) + 16 | 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]; + j = i + (j * 48 | 0) + 32 | 0; + c[f >> 2] = c[j >> 2]; + c[f + 4 >> 2] = c[j + 4 >> 2]; + c[f + 8 >> 2] = c[j + 8 >> 2]; + c[f + 12 >> 2] = c[j + 12 >> 2]; + if (!k) { + k = e + (a + -1 << 4) | 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] + } else { + c[d >> 2] = c[f >> 2]; + c[d + 4 >> 2] = c[f + 4 >> 2]; + c[d + 8 >> 2] = c[f + 8 >> 2]; + c[d + 12 >> 2] = c[f + 12 >> 2] + } + l = h; + return + } + + function iL(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0, j = 0, k = 0, l = 0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, r = 0, + s = 0.0; + r = c[b + 4 >> 2] | 0; + g = 0.0; + f = 0; + while (1) { + if ((f | 0) >= (r | 0)) break; + l = c[b >> 2] | 0; + k = c[l + (f * 48 | 0) >> 2] | 0; + l = c[l + (f * 48 | 0) + 4 >> 2] | 0; + i = 3; + j = 0; + while (1) { + if ((i | 0) >= (l | 0)) break; + q = +h[k + (j << 4) >> 3] - +h[k + (i << 4) >> 3]; + p = +h[k + (j << 4) + 8 >> 3] - +h[k + (i << 4) + 8 >> 3]; + i = i + 3 | 0; + j = j + 3 | 0; + g = +C(+(p * p + q * q)) + g + } + f = f + 1 | 0 + } + l = 0; + g = g * .5; + a:while (1) { + if ((l | 0) >= (r | 0)) { + f = 15; + break + } + k = c[b >> 2] | 0; + j = c[k + (l * 48 | 0) >> 2] | 0; + k = c[k + (l * 48 | 0) + 4 >> 2] | 0; + f = 3; + i = 0; + while (1) { + if ((f | 0) >= (k | 0)) break; + m = +h[j + (i << 4) >> 3]; + p = +h[j + (i << 4) + 8 >> 3]; + n = +h[j + (f << 4) >> 3]; + o = +h[j + (f << 4) + 8 >> 3]; + q = m - n; + s = p - o; + q = +C(+(s * s + q * q)); + if (q >= g) { + f = 12; + break a + } + f = f + 3 | 0; + i = i + 3 | 0; + g = g - q + } + l = l + 1 | 0 + } + if ((f | 0) == 12) { + h[d >> 3] = m; + h[d + 8 >> 3] = p; + h[e >> 3] = n; + h[e + 8 >> 3] = o; + s = q - g; + h[a >> 3] = (s * m + n * g) / q; + h[a + 8 >> 3] = (s * p + o * g) / q; + return + } else if ((f | 0) == 15) qa(135630, 103488, 1316, 103615) + } + + function jL(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + dL(b); + return + } + + function kL(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = +e; + f = f | 0; + g = g | 0; + var i = 0.0, j = 0.0, k = 0.0, l = 0.0, m = 0.0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0.0, s = 0, + t = 0.0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0.0, C = 0.0, D = 0, G = 0, H = 0, + I = 0, J = 0, K = 0, L = 0; + J = lL(b) | 0; + I = c[J + 4 >> 2] | 0; + K = c[J >> 2] | 0; + H = I + -1 | 0; + B = +h[K + (H << 6) + 16 >> 3]; + C = +(I | 0); + D = (g | 0) == 2; + G = (f | 0) != 0; + n = 0; + j = 0.0; + i = 0.0; + l = 0.0; + m = 0.0; + while (1) { + if ((n | 0) >= (I | 0)) break; + b = ~~+mL(+(n + -1 | 0), C); + A = n + 1 | 0; + L = ~~+mL(+(A | 0), C); + o = K + (n << 6) | 0; + m = +h[o >> 3]; + z = K + (n << 6) + 8 | 0; + l = +h[z >> 3]; + s = K + (n << 6) + 16 | 0; + t = +h[s >> 3]; + u = K + (n << 6) + 24 | 0; + v = K + (n << 6) + 32 | 0; + w = K + (n << 6) + 40 | 0; + x = K + (n << 6) + 48 | 0; + y = K + (n << 6) + 56 | 0; + k = +nL(+h[K + (L << 6) + 8 >> 3] - l, +h[K + (L << 6) >> 3] - m); + q = +nL(+h[K + (b << 6) + 8 >> 3] - l, +h[K + (b << 6) >> 3] - m); + r = +hb[d & 7](t, B, e); + b = (n | 0) == 0; + do if (b | (n | 0) == (H | 0)) if (b) { + i = k + 1.5707963267948966; + if (!D) { + b = 0; + p = i; + j = r; + break + } + b = 0; + p = i; + j = r; + l = l - +F(+k) * r; + m = m - +E(+k) * r; + break + } else { + i = q + -1.5707963267948966; + if (!D) { + b = 0; + p = i; + j = r; + break + } + b = 0; + p = i; + j = r; + l = l - +F(+q) * r; + m = m - +E(+q) * r; + break + } else { + p = k - q; + p = 1.5707963267948966 - (p < 0.0 ? p + 6.283185307179586 : p) * .5; + j = +E(+p); + j = j == 0.0 ? 0.0 : r / j; + i = k + 1.5707963267948966; + k = p + i; + if (G | j > r * 10.0) { + q = +mL(q + -1.5707963267948966, 6.283185307179586); + b = 1; + p = +mL(i, 6.283185307179586); + j = r; + i = q + } else { + b = 0; + p = k; + i = k + } + } while (0); + h[o >> 3] = m; + h[z >> 3] = l; + h[s >> 3] = t; + a[u >> 0] = 108; + h[v >> 3] = i; + h[w >> 3] = j; + c[x >> 2] = b; + h[y >> 3] = p; + n = A + } + o = uH(12) | 0; + b = 0; + while (1) { + if ((b | 0) >= (I | 0)) break; + m = +h[K + (b << 6) >> 3]; + l = +h[K + (b << 6) + 8 >> 3]; + i = +h[K + (b << 6) + 32 >> 3]; + j = +h[K + (b << 6) + 40 >> 3]; + L = c[K + (b << 6) + 48 >> 2] | 0; + k = +h[K + (b << 6) + 56 >> 3]; + oL(o, +E(+i) * j + m, +F(+i) * j + l); + if (L | 0) pL(m, l, j, 1, i, k, f, o); + b = b + 1 | 0 + } + n = (g | 0) == 1; + k = i + 3.141592653589793; + if (n) qL(o, m, l, j, i, k); else { + oL(o, +E(+k) * j + m, +F(+k) * j + l); + i = k + } + b = I + -2 | 0; + k = m; + while (1) { + if ((b | 0) <= -1) break; + m = +h[K + (b << 6) >> 3]; + l = +h[K + (b << 6) + 8 >> 3]; + j = +h[K + (b << 6) + 40 >> 3]; + L = c[K + (b << 6) + 48 >> 2] | 0; + i = +h[K + (b << 6) + 32 >> 3] + 3.141592653589793; + k = +h[K + (b << 6) + 56 >> 3] + 3.141592653589793; + oL(o, +E(+k) * j + m, +F(+k) * j + l); + if (L | 0) pL(m, l, j, 0, i, k, f, o); + b = b + -1 | 0; + k = m + } + if (n) qL(o, k, l, j, i, i + 3.141592653589793); + rL(J); + return o | 0 + } + + function lL(a) { + a = a | 0; + var b = 0.0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0, s = 0, t = 0.0; + q = l; + l = l + 144 | 0; + i = q + 128 | 0; + h = q + 112 | 0; + j = q + 96 | 0; + k = q + 64 | 0; + m = q; + n = q + 80 | 0; + o = sL() | 0; + p = c[a + 4 >> 2] | 0; + f = c[a >> 2] | 0; + c[i >> 2] = c[f >> 2]; + c[i + 4 >> 2] = c[f + 4 >> 2]; + c[i + 8 >> 2] = c[f + 8 >> 2]; + c[i + 12 >> 2] = c[f + 12 >> 2]; + tL(o, i, 0.0); + g = m + 48 | 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]; + d = 0; + b = 0.0; + a:while (1) { + e = d + 3 | 0; + if ((e | 0) >= (p | 0)) break; + 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]; + a = 1; + while (1) { + if ((a | 0) == 4) break; + r = m + (a << 4) | 0; + s = f + (a + d << 4) | 0; + 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]; + a = a + 1 | 0 + } + c[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + a = 1; + while (1) { + if ((a | 0) == 21) { + d = e; + continue a + } + XL(n, m, 3, +(a | 0) * .05, 0, 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[h >> 2] = c[j >> 2]; + c[h + 4 >> 2] = c[j + 4 >> 2]; + c[h + 8 >> 2] = c[j + 8 >> 2]; + c[h + 12 >> 2] = c[j + 12 >> 2]; + c[i >> 2] = c[n >> 2]; + c[i + 4 >> 2] = c[n + 4 >> 2]; + c[i + 8 >> 2] = c[n + 8 >> 2]; + c[i + 12 >> 2] = c[n + 12 >> 2]; + t = +uL(h, i) + b; + c[i >> 2] = c[k >> 2]; + c[i + 4 >> 2] = c[k + 4 >> 2]; + c[i + 8 >> 2] = c[k + 8 >> 2]; + c[i + 12 >> 2] = c[k + 12 >> 2]; + tL(o, i, t); + c[j >> 2] = c[k >> 2]; + c[j + 4 >> 2] = c[k + 4 >> 2]; + c[j + 8 >> 2] = c[k + 8 >> 2]; + c[j + 12 >> 2] = c[k + 12 >> 2]; + a = a + 1 | 0; + b = t + } + } + vL(o); + l = q; + return o | 0 + } + + function mL(a, b) { + a = +a; + b = +b; + var c = 0.0; + c = a - +A(+(a / b)) * b; + return +(!(a < 0.0) & !(a >= b) ? a : c) + } + + function nL(a, b) { + a = +a; + b = +b; + if (!(a == 0.0 & b == 0.0)) { + a = +K(+a, +b); + if (!(a >= 0.0)) a = a + 6.283185307179586 + } else a = 0.0; + return +a + } + + function oL(a, b, d) { + a = a | 0; + b = +b; + d = +d; + var e = 0, f = 0; + e = c[a >> 2] | 0; + f = a + 4 | 0; + if ((e | 0) < (c[f >> 2] | 0)) f = c[a + 8 >> 2] | 0; else { + c[f >> 2] = 2e3; + e = a + 8 | 0; + f = xH(c[e >> 2] | 0, 32e3) | 0; + c[e >> 2] = f; + e = c[a >> 2] | 0 + } + c[a >> 2] = e + 1; + h[f + (e << 4) >> 3] = b; + h[f + (e << 4) + 8 >> 3] = d; + return + } + + function pL(a, b, c, d, e, f, g, h) { + a = +a; + b = +b; + c = +c; + d = d | 0; + e = +e; + f = +f; + g = g | 0; + h = h | 0; + var i = 0.0; + d = (d | 0) == 0; + i = d ? e : f; + do if ((g | 0) == 1) { + e = (d ? f : e) - i; + e = !(e <= 1.7453292519943296e-03) ? e : e + 6.283185307179586; + if (e < 3.141592653589793) { + qL(h, a, b, c, e + i, i); + break + } else { + oL(h, +E(+i) * c + a, +F(+i) * c + a); + break + } + } else oL(h, +E(+i) * c + a, +F(+i) * c + a); while (0); + return + } + + function qL(a, b, c, d, e, f) { + a = a | 0; + b = +b; + c = +c; + d = +d; + e = +e; + f = +f; + var g = 0, h = 0.0; + oL(a, +E(+e) * d + b, +F(+e) * d + c); + a:do if (!(d == 0.0)) { + while (1) { + if (!(f > e)) break; + f = f + -6.283185307179586 + } + f = e - f; + while (1) { + if (!(f > 6.283185307179586)) break; + f = f + -6.283185307179586 + } + f = f * .05263157894736842; + g = 1; + while (1) { + if ((g | 0) == 20) break a; + h = e - f * +(g | 0); + oL(a, +E(+h) * d + b, +F(+h) * d + c); + g = g + 1 | 0 + } + } while (0); + return + } + + function rL(a) { + a = a | 0; + D_(c[a >> 2] | 0); + D_(a); + return + } + + function sL() { + var a = 0; + a = uH(12) | 0; + c[a + 4 >> 2] = 0; + c[a + 8 >> 2] = 2e3; + c[a >> 2] = uH(128e3) | 0; + return a | 0 + } + + function tL(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0, i = 0; + i = a + 4 | 0; + e = c[i >> 2] | 0; + f = a + 8 | 0; + g = c[f >> 2] | 0; + if ((e | 0) < (g | 0)) a = c[a >> 2] | 0; else { + c[f >> 2] = g << 1; + e = xH(c[a >> 2] | 0, g << 7) | 0; + c[a >> 2] = e; + a = e; + e = c[i >> 2] | 0 + } + h[a + (e << 6) >> 3] = +h[b >> 3]; + h[a + (e << 6) + 8 >> 3] = +h[b + 8 >> 3]; + c[i >> 2] = e + 1; + h[a + (e << 6) + 16 >> 3] = d; + return + } + + function uL(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0, d = 0.0; + c = +h[a >> 3] - +h[b >> 3]; + d = +h[a + 8 >> 3] - +h[b + 8 >> 3]; + return +(+C(+(d * d + c * c))) + } + + function vL(a) { + a = a | 0; + var b = 0; + b = c[a + 4 >> 2] | 0; + if ((c[a + 8 >> 2] | 0) > (b | 0)) c[a >> 2] = xH(c[a >> 2] | 0, b << 6) | 0; + return + } + + function wL(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + j = k + 8 | 0; + i = k; + g = k + 12 | 0; + c[g >> 2] = 0; + h = c[d + 4 >> 2] | 0; + if (!h) qa(103632, 103643, 203, 103654); + e = c[h >> 2] | 0; + if (!e) qa(103668, 103643, 206, 103654); + f = h + 8 | 0; + if (!(c[f >> 2] | 0)) c[f >> 2] = xL(e) | 0; + if (!0) e = 0; else { + e = (AG(c[h >> 2] | 0) | 0) == 0; + e = e ? 0 : g + } + if (!((OP(b, d, e) | 0) << 24 >> 24)) yL(d, e); + do if (e | 0) { + f = c[g >> 2] | 0; + b = c[15686] | 0; + e = c[h >> 2] | 0; + if (!f) { + c[j >> 2] = e; + g1(b, 103711, j) | 0; + break + } else { + c[i >> 2] = e; + c[i + 4 >> 2] = f; + g1(b, 103679, i) | 0; + break + } + } while (0); + j = d + 32 | 0; + c[a >> 2] = c[j >> 2]; + c[a + 4 >> 2] = c[j + 4 >> 2]; + c[a + 8 >> 2] = c[j + 8 >> 2]; + c[a + 12 >> 2] = c[j + 12 >> 2]; + l = k; + return + } + + function xL(a) { + a = a | 0; + var b = 0; + b = c[46531] | 0; + if ((b | 0) != 0 ? (O$(b, a) | 0) == 0 : 0) a = c[46540] | 0; else { + D_(b); + c[46531] = n1(a) | 0; + a = e2(186124, 22228, 35, 36, 93) | 0; + c[46540] = a + } + return a | 0 + } + + function yL(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0.0; + j = c[b + 4 >> 2] | 0; + e = c[j >> 2] | 0; + i = +h[j + 16 >> 3]; + j = b + 32 | 0; + h[j >> 3] = 0.0; + h[b + 40 >> 3] = i * 1.2; + h[b + 16 >> 3] = 0.0; + h[b + 24 >> 3] = i * .1; + c[b + 8 >> 2] = 0; + c[b + 12 >> 2] = 0; + if (V$(e, 103745, 4) | 0) if ((V$(e, 103750, 5) | 0) != 0 ? (V$(e, 103756, 9) | 0) != 0 : 0) { + g = 4248; + e = 103766 + } else { + g = 8344; + e = 103802 + } else { + g = 6296; + e = 103783 + } + if (d | 0) c[d >> 2] = e; + e = c[b >> 2] | 0; + if (e | 0) { + f = 0.0; + while (1) { + b = a[e >> 0] | 0; + if (!(b << 24 >> 24)) break; + k = f + +h[g + ((b & 255) << 3) >> 3]; + h[j >> 3] = k; + e = e + 1 | 0; + f = k + } + h[j >> 3] = f * i + } + return + } + + function zL(a, b) { + a = a | 0; + b = b | 0; + return O$(c[a >> 2] | 0, c[b >> 2] | 0) | 0 + } + + function AL(a) { + a = a | 0; + var b = 0; + b = a + 108 | 0; + c[b >> 2] = 0; + c[a + 112 >> 2] = 32; + c[a + 116 >> 2] = -1; + c[a + 120 >> 2] = 30; + c[a + 124 >> 2] = 63; + c[a + 128 >> 2] = 55; + c[a + 132 >> 2] = 0; + c[a + 136 >> 2] = 0; + c[a + 140 >> 2] = 0; + b = Cw(b, c[4555] | 0) | 0; + c[a + 144 >> 2] = b; + return b | 0 + } + + function BL(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = E_(1, 32) | 0; + a = c[b >> 2] | 0; + if (a | 0) c[d >> 2] = n1(a) | 0; + a = c[b + 4 >> 2] | 0; + if (a | 0) c[d + 4 >> 2] = n1(a) | 0; + c[d + 24 >> 2] = c[b + 24 >> 2] & 127; + h[d + 16 >> 3] = +h[b + 16 >> 3]; + c[d + 8 >> 2] = c[b + 8 >> 2]; + return d | 0 + } + + function CL(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + D_(c[b >> 2] | 0); + D_(c[b + 4 >> 2] | 0); + D_(b); + return + } + + function DL(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0, j = 0; + a = c[b >> 2] | 0; + e = c[d >> 2] | 0; + i = (e | 0) == 0; + if (!a) if (i) j = 5; else a = -1; else if (!i) { + a = b$(a, e) | 0; + if (!a) j = 5 + } else a = 1; + do if ((j | 0) == 5) { + a = c[b + 4 >> 2] | 0; + e = c[d + 4 >> 2] | 0; + i = (e | 0) == 0; + if (!a) { + if (!i) { + a = -1; + break + } + } else { + if (i) { + a = 1; + break + } + a = b$(a, e) | 0; + if (a | 0) break + } + a = (c[b + 24 >> 2] & 127) - (c[d + 24 >> 2] & 127) | 0; + if (!a) { + g = +h[b + 16 >> 3]; + f = +h[d + 16 >> 3]; + if (g < f) a = -1; else a = g > f & 1 + } + } while (0); + return a | 0 + } + + function EL() { + eb(186164) | 0; + return + } + + function FL() { + var a = 0, b = 0; + b = l; + l = l + 16 | 0; + a = b; + eb(a | 0) | 0; + l = b; + return +(+((c[a + 4 >> 2] | 0) + (c[a >> 2] | 0) - (c[46541] | 0) - (c[46542] | 0) | 0) * .016666666666666666) + } + + function GL(a) { + a = a | 0; + var b = 0, d = 0; + b = uH(16) | 0; + a = (a | 0) > 2 ? a : 2; + d = uH(a << 2) | 0; + c[b >> 2] = d; + c[b + 12 >> 2] = d; + c[b + 8 >> 2] = d; + c[b + 4 >> 2] = d + (a << 2); + return b | 0 + } + + function HL(a) { + a = a | 0; + D_(c[a >> 2] | 0); + D_(a); + return + } + + function IL(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = a + 12 | 0; + e = c[d >> 2] | 0; + c[d >> 2] = e + 4; + c[e >> 2] = b; + if ((c[d >> 2] | 0) >>> 0 >= (c[a + 4 >> 2] | 0) >>> 0) c[d >> 2] = c[a >> 2]; + return + } + + function JL(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 8 | 0; + b = c[d >> 2] | 0; + if ((b | 0) != (c[a + 12 >> 2] | 0)) { + e = b + 4 | 0; + c[d >> 2] = e; + b = c[b >> 2] | 0; + if (e >>> 0 >= (c[a + 4 >> 2] | 0) >>> 0) c[d >> 2] = c[a >> 2] + } else b = 0; + return b | 0 + } + + function KL(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0; + i = l; + l = l + 16 | 0; + g = i; + if (((d | 0) != 0 ? (h = yx(b, d) | 0, (h | 0) != 0) : 0) ? (a[h >> 0] | 0) != 0 : 0) { + d = i1(h, g, 10) | 0; + e = (h | 0) == (c[g >> 2] | 0) ? e : (d | 0) < (f | 0) ? f : d + } + l = i; + return e | 0 + } + + function LL(b, d, e, f) { + b = b | 0; + d = d | 0; + e = +e; + f = +f; + var g = 0, h = 0, i = 0, j = 0.0; + i = l; + l = l + 16 | 0; + g = i; + if (((b | 0) != 0 & (d | 0) != 0 ? (h = yx(b, d) | 0, (h | 0) != 0) : 0) ? (a[h >> 0] | 0) != 0 : 0) { + j = +c2(h, g); + e = (h | 0) == (c[g >> 2] | 0) ? e : j < f ? f : j + } + l = i; + return +e + } + + function ML(a) { + a = a | 0; + var b = 0.0; + b = +h[22908]; + if (!(b > 0.0)) { + b = +LL(a, nx(a, 0, 104612, 0) | 0, -1.0, 0.0); + b = b == 0.0 ? 72.0 : b + } + return +b + } + + function NL(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((a | 0) != 0 & (b | 0) != 0) c = yx(a, b) | 0; + return c | 0 + } + + function OL(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + b = NL(b, c, d) | 0; + if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) d = b; + return d | 0 + } + + function PL(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if (!b) a = c & 255; else a = QL(yx(a, b) | 0) | 0; + return a | 0 + } + + function QL(a) { + a = a | 0; + return RL(a, 0) | 0 + } + + function RL(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + if ((b | 0) != 0 ? (d = a[b >> 0] | 0, d << 24 >> 24 != 0) : 0) if ((O$(b, 134226) | 0) != 0 ? (O$(b, 104623) | 0) != 0 : 0) if ((O$(b, 104626) | 0) != 0 ? (O$(b, 104631) | 0) != 0 : 0) { + if (((d << 24 >> 24) + -48 | 0) >>> 0 < 10) c = (a2(b) | 0) & 255 + } else c = 1; else c = 0; + return c | 0 + } + + function SL(a) { + a = a | 0; + var b = 0, d = 0; + while (1) { + b = (c[a + 16 >> 2] | 0) + 220 | 0; + d = c[b >> 2] | 0; + if (!((d | 0) != (a | 0) & (d | 0) != 0)) break; + a = c[(c[d + 16 >> 2] | 0) + 220 >> 2] | 0; + if (!a) { + a = d; + continue + } + c[b >> 2] = a + } + return a | 0 + } + + function TL(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + if ((a | 0) != (b | 0)) { + d = c[a + 16 >> 2] | 0; + e = d + 220 | 0; + if (!(c[e >> 2] | 0)) { + c[e >> 2] = a; + c[d + 216 >> 2] = 1 + } else a = SL(a) | 0; + d = c[b + 16 >> 2] | 0; + e = d + 220 | 0; + if (!(c[e >> 2] | 0)) { + c[e >> 2] = b; + c[d + 216 >> 2] = 1 + } else { + d = SL(b) | 0; + b = d; + d = c[d + 16 >> 2] | 0 + } + g = a + 16 | 0; + e = c[g >> 2] | 0; + f = b + 16 | 0; + h = (c[e + 120 >> 2] | 0) > (c[d + 120 >> 2] | 0); + a = h ? b : a; + c[(h ? e : d) + 220 >> 2] = a; + e = (c[(h ? f : g) >> 2] | 0) + 216 | 0; + c[e >> 2] = (c[e >> 2] | 0) + (c[(c[(h ? g : f) >> 2] | 0) + 216 >> 2] | 0) + } + return a | 0 + } + + function UL(b) { + b = b | 0; + b = c[b + 16 >> 2] | 0; + c[b + 216 >> 2] = 1; + c[b + 220 >> 2] = 0; + a[b + 159 >> 0] = 0; + return + } + + function VL(a, b) { + a = a | 0; + b = b | 0; + if ((SL(a) | 0) == (a | 0)) { + a = c[a + 16 >> 2] | 0; + c[a + 220 >> 2] = b; + b = (c[b + 16 >> 2] | 0) + 216 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[a + 216 >> 2] | 0); + return + } else qa(104643, 104635, 194, 104659) + } + + function WL(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0; + b = c[(c[b + 16 >> 2] | 0) + 132 >> 2] | 0; + d = +h[b + 8 >> 3] * 72.0; + h[a >> 3] = +h[b >> 3] * 72.0; + h[a + 8 >> 3] = d; + return + } + + function XL(a, b, d, e, f, g) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + f = f | 0; + g = g | 0; + var i = 0, j = 0, k = 0, m = 0.0, n = 0, o = 0, p = 0; + o = l; + l = l + 576 | 0; + n = o; + i = 0; + while (1) { + if ((i | 0) > (d | 0)) break; + k = n + (i << 4) | 0; + j = b + (i << 4) | 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]; + i = i + 1 | 0 + } + m = 1.0 - e; + i = 1; + while (1) { + if ((i | 0) > (d | 0)) break; + j = d - i | 0; + k = i + -1 | 0; + b = 0; + while (1) { + if ((b | 0) > (j | 0)) break; + p = b + 1 | 0; + h[n + (i * 96 | 0) + (b << 4) >> 3] = +h[n + (k * 96 | 0) + (p << 4) >> 3] * e + +h[n + (k * 96 | 0) + (b << 4) >> 3] * m; + h[n + (i * 96 | 0) + (b << 4) + 8 >> 3] = +h[n + (k * 96 | 0) + (p << 4) + 8 >> 3] * e + +h[n + (k * 96 | 0) + (b << 4) + 8 >> 3] * m; + b = p + } + i = i + 1 | 0 + } + a:do if (f | 0) { + i = 0; + while (1) { + if ((i | 0) > (d | 0)) break a; + p = f + (i << 4) | 0; + k = n + (i * 96 | 0) | 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]; + i = i + 1 | 0 + } + } while (0); + b:do if (g | 0) { + i = 0; + while (1) { + if ((i | 0) > (d | 0)) break b; + p = g + (i << 4) | 0; + f = n + ((d - i | 0) * 96 | 0) + (i << 4) | 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]; + i = i + 1 | 0 + } + } while (0); + p = n + (d * 96 | 0) | 0; + 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]; + l = o; + return + } + + function YL(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + e = 0; + do { + d = c[46545] | 0; + f = d + 1024 | 0; + if ((d - e | 0) < 1024) { + c[46545] = f; + f = xH(c[46546] | 0, f) | 0; + c[46546] = f; + d = c[46545] | 0 + } else f = c[46546] | 0; + d = O0(f + e | 0, d - e | 0, b) | 0; + if (!d) { + g = 6; + break + } + e = (W_(d) | 0) + e | 0; + d = c[46546] | 0 + } while ((a[d + (e + -1) >> 0] | 0) != 10); + if ((g | 0) == 6) d = c[46546] | 0; + return ((e | 0) > 0 ? d : 0) | 0 + } + + function ZL(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + do if ((b | 0) != 0 ? (a[b >> 0] | 0) != 0 : 0) if (!0) { + d = c[46362] | 0; + e = c[46548] | 0; + if ((c[46547] | 0) == (d | 0)) d = e; else { + if (e) { + D_(c[e >> 2] | 0); + D_(c[46548] | 0); + c[46548] = 0; + d = c[46362] | 0 + } + c[46547] = d; + if (!d) break; + if (!(a[d >> 0] | 0)) break; + d = _L(d) | 0; + c[46548] = d + } + if (!((a[b >> 0] | 0) != 47 & (d | 0) != 0)) break; + b = $L(d, c[46549] | 0, b) | 0; + break + } else S(); else b = 0; while (0); + l = f; + return b | 0 + } + + function _L(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + e = 0; + f = 0; + g = 0; + b = n1(a) | 0; + d = 0; + while (1) { + b = k1(b, 104958) | 0; + if (!b) break; + a = (g << 2) + 8 | 0; + if (!f) a = vH(a) | 0; else a = xH(d, a) | 0; + c[a + (g << 2) >> 2] = b; + f = W_(b) | 0; + e = e >>> 0 > f >>> 0 ? e : f; + f = a; + g = g + 1 | 0; + b = 0; + d = a + } + c[f + (g << 2) >> 2] = 0; + c[46549] = e; + return f | 0 + } + + function $L(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 16 | 0; + e = g; + h = c[46550] | 0; + c[46550] = F_(h, b + 2 + (W_(d) | 0) | 0) | 0; + while (1) { + b = c[a >> 2] | 0; + if (!b) { + a = 0; + break + } + h = c[46550] | 0; + c[e >> 2] = b; + c[e + 4 >> 2] = 104956; + c[e + 8 >> 2] = d; + Y0(h, 104949, e) | 0; + if (!(K1(c[46550] | 0, 4) | 0)) { + f = 4; + break + } else a = a + 4 | 0 + } + if ((f | 0) == 4) a = c[46550] | 0; + l = g; + return a | 0 + } + + function aM(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = (b | 0) == 0; + f = 0; + while (1) { + h = c[d + (f << 2) >> 2] | 0; + if (!h) break; + if ((!g ? (a[b >> 0] | 0) == (a[h >> 0] | 0) : 0) ? (b$(b, h) | 0) == 0 : 0) break; + f = f + 1 | 0 + } + return c[e + (f << 2) >> 2] | 0 + } + + function bM(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0.0, n = 0.0, o = 0.0, p = 0.0, q = 0.0, + r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, C = 0; + z = l; + l = l + 80 | 0; + x = z + 16 | 0; + y = z; + u = c[b + 4 >> 2] | 0; + v = c[b >> 2] | 0; + w = d + 8 | 0; + f = 0; + e = -1; + g = 1.e+38; + b = -1; + while (1) { + if ((f | 0) >= (u | 0)) break; + s = c[v + (f * 48 | 0) >> 2] | 0; + t = c[v + (f * 48 | 0) + 4 >> 2] | 0; + r = 0; + while (1) { + if ((r | 0) >= (t | 0)) break; + q = +h[s + (r << 4) >> 3] - +h[d >> 3]; + p = +h[s + (r << 4) + 8 >> 3] - +h[w >> 3]; + q = p * p + q * q; + A = (e | 0) == -1 | q < g; + C = A ? r : e; + r = r + 1 | 0; + b = A ? f : b; + e = C; + g = A ? q : g + } + f = f + 1 | 0 + } + f = c[v + (b * 48 | 0) >> 2] | 0; + e = e + (((e | 0) == ((c[v + (b * 48 | 0) + 4 >> 2] | 0) + -1 | 0)) << 31 >> 31) | 0; + e = e - ((e | 0) % 3 | 0) | 0; + b = 0; + while (1) { + if ((b | 0) == 4) break; + C = b + e | 0; + h[x + (b << 4) >> 3] = +h[f + (C << 4) >> 3]; + h[x + (b << 4) + 8 >> 3] = +h[f + (C << 4) + 8 >> 3]; + b = b + 1 | 0 + } + q = +h[d >> 3]; + k = +h[x >> 3] - q; + o = +h[w >> 3]; + p = +h[x + 8 >> 3] - o; + j = +h[x + 48 >> 3] - q; + n = +h[x + 56 >> 3] - o; + b = y + 8 | 0; + g = 1.0; + i = 0.0; + j = n * n + j * j; + k = p * p + k * k; + while (1) { + p = (g + i) * .5; + XL(y, x, 3, p, 0, 0); + m = +h[y >> 3]; + n = +h[b >> 3]; + if (+B(+(k - j)) < 1.0) break; + if (+B(+(g - i)) < 1.0e-05) break; + C = k < j; + m = m - q; + n = n - o; + n = n * n + m * m; + g = C ? p : g; + i = C ? i : p; + j = C ? n : j; + k = C ? k : n + } + h[a >> 3] = m; + h[a + 8 >> 3] = n; + l = z; + return + } + + function cM() { + return 0 + } + + function dM(b) { + b = b | 0; + var d = 0.0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0; + d = +LL(b, c[46376] | 0, .75, .01); + g = b + 16 | 0; + h[(c[g >> 2] | 0) + 32 >> 3] = d; + d = +LL(b, c[46375] | 0, .5, .02); + h[(c[g >> 2] | 0) + 40 >> 3] = d; + l = WJ(OL(b, c[46377] | 0, 104960) | 0, b) | 0; + c[(c[g >> 2] | 0) + 8 >> 2] = l; + l = yx(b, c[46384] | 0) | 0; + d = +LL(b, c[46380] | 0, 14.0, 1.0); + e = OL(b, c[46381] | 0, 104968) | 0; + f = OL(b, c[46382] | 0, 134232) | 0; + i = (Rz(l) | 0) != 0; + k = (HJ(b) | 0) == 2; + i = kH(b, l, (k ? 4 : 0) | (i ? 2 : 0), d, e, f) | 0; + c[(c[g >> 2] | 0) + 104 >> 2] = i; + i = c[46385] | 0; + if ((i | 0 ? (j = yx(b, i) | 0, j | 0) : 0) ? a[j >> 0] | 0 : 0) { + l = (Rz(j) | 0) != 0; + l = kH(b, j, l ? 2 : 0, d, e, f) | 0; + c[(c[g >> 2] | 0) + 108 >> 2] = l; + l = (c[(ez(b) | 0) + 16 >> 2] | 0) + 113 | 0; + a[l >> 0] = a[l >> 0] | 16 + } + k = (KL(b, c[46388] | 0, 0, 0) | 0) & 255; + l = c[g >> 2] | 0; + a[l + 144 >> 0] = k; + tb[c[c[(c[l + 8 >> 2] | 0) + 4 >> 2] >> 2] & 127](b); + return + } + + function eM(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0; + v = l; + l = l + 112 | 0; + m = v + 96 | 0; + n = v + 80 | 0; + s = v + 40 | 0; + u = v; + r = b + 48 | 0; + p = ez(c[((c[b >> 2] & 3 | 0) == 3 ? b : r) + 40 >> 2] | 0) | 0; + g = m + 8 | 0; + c[g >> 2] = 0; + o = n + 8 | 0; + c[o >> 2] = 0; + d = c[46412] | 0; + if (((d | 0) != 0 ? (e = yx(b, d) | 0, (e | 0) != 0) : 0) ? (a[e >> 0] | 0) != 0 : 0) { + fM(b, m); + t = (Rz(e) | 0) != 0; + i = +h[m >> 3]; + f = c[g >> 2] | 0; + d = c[m + 12 >> 2] | 0; + e = kH(b, e, t ? 2 : 0, i, f, d) | 0; + t = b + 16 | 0; + c[(c[t >> 2] | 0) + 96 >> 2] = e; + e = (c[p + 16 >> 2] | 0) + 113 | 0; + a[e >> 0] = a[e >> 0] | 1; + e = QL(NL(b, c[46422] | 0, 134226) | 0) | 0; + a[(c[t >> 2] | 0) + 114 >> 0] = e; + t = 1; + e = f + } else { + t = 0; + d = 0; + i = 0.0; + e = 0 + } + f = c[46413] | 0; + if ((f | 0 ? (j = yx(b, f) | 0, j | 0) : 0) ? a[j >> 0] | 0 : 0) { + if (!e) { + fM(b, m); + i = +h[m >> 3]; + e = c[g >> 2] | 0; + d = c[m + 12 >> 2] | 0 + } + g = (Rz(j) | 0) != 0; + j = kH(b, j, g ? 2 : 0, i, e, d) | 0; + c[(c[b + 16 >> 2] | 0) + 108 >> 2] = j; + j = (c[p + 16 >> 2] | 0) + 113 | 0; + a[j >> 0] = a[j >> 0] | 32 + } + d = c[46427] | 0; + if (((d | 0) != 0 ? (k = yx(b, d) | 0, (k | 0) != 0) : 0) ? (a[k >> 0] | 0) != 0 : 0) { + gM(b, m, n); + j = (Rz(k) | 0) != 0; + i = +h[n >> 3]; + d = c[o >> 2] | 0; + e = c[n + 12 >> 2] | 0; + k = kH(b, k, j ? 2 : 0, i, d, e) | 0; + c[(c[b + 16 >> 2] | 0) + 100 >> 2] = k; + k = (c[p + 16 >> 2] | 0) + 113 | 0; + a[k >> 0] = a[k >> 0] | 2 + } else { + e = 0; + i = 0.0; + d = 0 + } + f = c[46428] | 0; + if ((f | 0 ? (q = yx(b, f) | 0, q | 0) : 0) ? a[q >> 0] | 0 : 0) { + if (!d) { + gM(b, m, n); + e = c[n + 12 >> 2] | 0; + i = +h[n >> 3]; + d = c[o >> 2] | 0 + } + o = (Rz(q) | 0) != 0; + q = kH(b, q, o ? 2 : 0, i, d, e) | 0; + c[(c[b + 16 >> 2] | 0) + 104 >> 2] = q; + q = (c[p + 16 >> 2] | 0) + 113 | 0; + a[q >> 0] = a[q >> 0] | 4 + } + d = xx(b, 108373) | 0; + d = d | 0 ? d : 191979; + if (a[d >> 0] | 0) a[(c[(c[((c[b >> 2] & 3 | 0) == 3 ? b : r) + 40 >> 2] | 0) + 16 >> 2] | 0) + 145 >> 0] = 1; + g = b + 16 | 0; + f = (c[g >> 2] | 0) + 16 | 0; + e = c[((c[b >> 2] & 3 | 0) == 3 ? b : r) + 40 >> 2] | 0; + hM(s, c[(c[(c[(c[e + 16 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) + 8 >> 2] | 0, e, d); + d = s; + e = f + 40 | 0; + do { + c[f >> 2] = c[d >> 2]; + f = f + 4 | 0; + d = d + 4 | 0 + } while ((f | 0) < (e | 0)); + if ((iM(b, c[46434] | 0) | 0) << 24 >> 24) a[(c[g >> 2] | 0) + 46 >> 0] = 0; + d = xx(b, 108382) | 0; + d = d | 0 ? d : 191979; + if (!(a[d >> 0] | 0)) e = b + -48 | 0; else { + e = b + -48 | 0; + a[(c[(c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0) + 16 >> 2] | 0) + 145 >> 0] = 1 + } + f = (c[g >> 2] | 0) + 56 | 0; + e = c[((c[b >> 2] & 3 | 0) == 2 ? b : e) + 40 >> 2] | 0; + hM(u, c[(c[(c[(c[e + 16 >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) + 8 >> 2] | 0, e, d); + d = u; + e = f + 40 | 0; + do { + c[f >> 2] = c[d >> 2]; + f = f + 4 | 0; + d = d + 4 | 0 + } while ((f | 0) < (e | 0)); + if ((iM(b, c[46435] | 0) | 0) << 24 >> 24) a[(c[g >> 2] | 0) + 86 >> 0] = 0; + l = v; + return t | 0 + } + + function fM(a, b) { + a = a | 0; + b = b | 0; + h[b >> 3] = +LL(a, c[46409] | 0, 14.0, 1.0); + c[b + 8 >> 2] = OL(a, c[46410] | 0, 104968) | 0; + c[b + 12 >> 2] = OL(a, c[46411] | 0, 134232) | 0; + return + } + + function gM(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = b + 8 | 0; + if (!(c[e >> 2] | 0)) fM(a, b); + h[d >> 3] = +LL(a, c[46429] | 0, +h[b >> 3], 1.0); + c[d + 8 >> 2] = OL(a, c[46430] | 0, c[e >> 2] | 0) | 0; + c[d + 12 >> 2] = OL(a, c[46431] | 0, c[b + 12 >> 2] | 0) | 0; + return + } + + function hM(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 128 | 0; + k = m + 80 | 0; + h = m + 40 | 0; + g = m; + if ((f | 0) != 0 ? (j = A$(f, 58) | 0, (j | 0) != 0) : 0) { + a[j >> 0] = 0; + i = j + 1 | 0; + xb[d & 31](h, e, f, i); + e = k; + g = h; + d = e + 36 | 0; + do { + c[e >> 2] = c[g >> 2]; + e = e + 4 | 0; + g = g + 4 | 0 + } while ((e | 0) < (d | 0)); + a[j >> 0] = 58; + f = i + } else { + xb[d & 31](g, e, f, 0); + e = k; + d = e + 36 | 0; + do { + c[e >> 2] = c[g >> 2]; + e = e + 4 | 0; + g = g + 4 | 0 + } while ((e | 0) < (d | 0)) + } + e = b; + g = k; + d = e + 36 | 0; + do { + c[e >> 2] = c[g >> 2]; + e = e + 4 | 0; + g = g + 4 | 0 + } while ((e | 0) < (d | 0)); + c[b + 36 >> 2] = f; + l = m; + return + } + + function iM(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + if (((c | 0) != 0 ? (d = yx(b, c) | 0, (d | 0) != 0) : 0) ? (a[d >> 0] | 0) != 0 : 0) b = (QL(d) | 0) << 24 >> 24 == 0 & 1; else b = 0; + return b | 0 + } + + function jM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0.0, o = 0.0; + k = l; + l = l + 32 | 0; + i = k; + j = c[b + 8 >> 2] | 0; + d = c[b + 4 >> 2] | 0; + d = (c[b + 44 >> 2] | 0) + ((O((d | 0) > 1 ? d + -1 | 0 : 0, j) | 0) << 4) | 0; + e = i + 16 | 0; + c[e >> 2] = c[d >> 2]; + c[e + 4 >> 2] = c[d + 4 >> 2]; + c[e + 8 >> 2] = c[d + 8 >> 2]; + c[e + 12 >> 2] = c[d + 12 >> 2]; + c[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]; + f = i + 8 | 0; + g = i + 24 | 0; + b = 1; + while (1) { + if ((b | 0) >= (j | 0)) break; + m = d + (b << 4) | 0; + o = +h[m >> 3]; + h[i >> 3] = +h[(+h[i >> 3] < o ? i : m) >> 3]; + n = +h[m + 8 >> 3]; + h[f >> 3] = +h[(+h[f >> 3] < n ? i : m) + 8 >> 3]; + h[e >> 3] = +h[(+h[e >> 3] > o ? e : m) >> 3]; + h[g >> 3] = +h[(+h[g >> 3] > n ? e : m) + 8 >> 3]; + b = b + 1 | 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]; + c[a + 16 >> 2] = c[i + 16 >> 2]; + c[a + 20 >> 2] = c[i + 20 >> 2]; + c[a + 24 >> 2] = c[i + 24 >> 2]; + c[a + 28 >> 2] = c[i + 28 >> 2]; + l = k; + return + } + + function kM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = l; + l = l + 64 | 0; + g = d + 32 | 0; + e = d; + f = c[a + 16 >> 2] | 0; + a = f + 16 | 0; + f = c[f + 116 >> 2] & 1; + 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]; + lM(e, g, b, f); + 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]; + l = d; + return + } + + function lM(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0, k = 0.0, l = 0.0, m = 0.0; + g = +h[d + 56 >> 3]; + l = +h[d + 64 >> 3]; + j = e << 24 >> 24 == 0; + k = +h[d + 24 >> 3]; + i = +h[d + 32 >> 3]; + m = (j ? k : i) * .5; + f = g - m; + g = m + g; + if (f < +h[b >> 3]) h[b >> 3] = f; + e = b + 16 | 0; + if (g > +h[e >> 3]) h[e >> 3] = g; + g = (j ? i : k) * .5; + f = l - g; + g = g + l; + e = b + 8 | 0; + if (f < +h[e >> 3]) h[e >> 3] = f; + e = b + 24 | 0; + if (g > +h[e >> 3]) h[e >> 3] = g; + 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]; + return + } + + function mM(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0, 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.0, O = 0.0, P = 0.0; + L = l; + l = l + 448 | 0; + H = L + 416 | 0; + t = L + 384 | 0; + u = L + 304 | 0; + K = L + 256 | 0; + G = L + 192 | 0; + B = L + 144 | 0; + C = L + 96 | 0; + d = L + 400 | 0; + e = L + 368 | 0; + f = L + 352 | 0; + g = L + 336 | 0; + v = L + 288 | 0; + w = L + 224 | 0; + x = L + 160 | 0; + y = L + 112 | 0; + z = L + 64 | 0; + A = L + 32 | 0; + I = L; + J = b + 16 | 0; + if ((ay(b) | 0) == 0 ? (c[(c[J >> 2] | 0) + 180 >> 2] | 0) == 0 : 0) { + nM(d, 0.0, 0.0); + c[K >> 2] = c[d >> 2]; + c[K + 4 >> 2] = c[d + 4 >> 2]; + c[K + 8 >> 2] = c[d + 8 >> 2]; + c[K + 12 >> 2] = c[d + 12 >> 2]; + K = K + 16 | 0; + nM(e, 0.0, 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] + } else { + nM(f, 2147483647.0, 2147483647.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]; + F = K + 16 | 0; + nM(g, -2147483647.0, -2147483647.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]; + o = C + 8 | 0; + p = u + 16 | 0; + D = K + 8 | 0; + q = u + 8 | 0; + E = K + 24 | 0; + r = u + 24 | 0; + s = B + 8 | 0; + n = Sy(b) | 0; + while (1) { + if (!n) break; + WL(B, n); + d = n + 16 | 0; + m = c[d >> 2] | 0; + h[C >> 3] = (+h[m + 96 >> 3] + +h[m + 88 >> 3]) * .5; + h[o >> 3] = +h[m + 80 >> 3] * .5; + 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[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]; + oM(u, t, H); + 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[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]; + pM(v, t, H); + c[p >> 2] = c[v >> 2]; + c[p + 4 >> 2] = c[v + 4 >> 2]; + c[p + 8 >> 2] = c[v + 8 >> 2]; + c[p + 12 >> 2] = c[v + 12 >> 2]; + h[K >> 3] = +h[(+h[K >> 3] < +h[u >> 3] ? K : u) >> 3]; + h[D >> 3] = +h[(+h[D >> 3] < +h[q >> 3] ? K : u) + 8 >> 3]; + h[F >> 3] = +h[(+h[F >> 3] > +h[p >> 3] ? K : u) + 16 >> 3]; + h[E >> 3] = +h[(+h[E >> 3] > +h[r >> 3] ? K : u) + 24 >> 3]; + d = c[(c[d >> 2] | 0) + 108 >> 2] | 0; + if (d | 0 ? a[d + 81 >> 0] | 0 : 0) { + m = c[(c[J >> 2] | 0) + 116 >> 2] & 1; + 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]; + lM(w, H, d, m); + 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] + } + m = Ex(b, n) | 0; + while (1) { + if (!m) break; + k = m + 16 | 0; + d = c[k >> 2] | 0; + j = d + 8 | 0; + e = c[j >> 2] | 0; + if (e | 0) { + i = 0; + while (1) { + if ((i | 0) < (c[e + 4 >> 2] | 0)) g = 0; else break; + while (1) { + f = c[e >> 2] | 0; + if ((g | 0) >= (c[f + (i * 48 | 0) + 4 >> 2] | 0)) break; + e = (c[f + (i * 48 | 0) >> 2] | 0) + (g << 4) | 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]; + N = +h[B >> 3]; + h[K >> 3] = +h[(+h[K >> 3] < N ? K : B) >> 3]; + M = +h[s >> 3]; + h[D >> 3] = +h[(+h[D >> 3] < M ? K : B) + 8 >> 3]; + h[F >> 3] = +h[(+h[F >> 3] > N ? F : B) >> 3]; + h[E >> 3] = +h[(+h[E >> 3] > M ? F : B) + 8 >> 3]; + g = g + 1 | 0; + e = c[j >> 2] | 0 + } + i = i + 1 | 0 + } + e = c[d + 96 >> 2] | 0; + if ((e | 0) != 0 ? (a[e + 81 >> 0] | 0) != 0 : 0) { + d = c[(c[J >> 2] | 0) + 116 >> 2] & 1; + 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]; + lM(x, H, e, d); + c[K >> 2] = c[x >> 2]; + c[K + 4 >> 2] = c[x + 4 >> 2]; + c[K + 8 >> 2] = c[x + 8 >> 2]; + c[K + 12 >> 2] = c[x + 12 >> 2]; + c[K + 16 >> 2] = c[x + 16 >> 2]; + c[K + 20 >> 2] = c[x + 20 >> 2]; + c[K + 24 >> 2] = c[x + 24 >> 2]; + c[K + 28 >> 2] = c[x + 28 >> 2]; + d = c[k >> 2] | 0 + } + e = c[d + 100 >> 2] | 0; + if ((e | 0) != 0 ? (a[e + 81 >> 0] | 0) != 0 : 0) { + d = c[(c[J >> 2] | 0) + 116 >> 2] & 1; + 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]; + lM(y, H, e, d); + c[K >> 2] = c[y >> 2]; + c[K + 4 >> 2] = c[y + 4 >> 2]; + c[K + 8 >> 2] = c[y + 8 >> 2]; + c[K + 12 >> 2] = c[y + 12 >> 2]; + c[K + 16 >> 2] = c[y + 16 >> 2]; + c[K + 20 >> 2] = c[y + 20 >> 2]; + c[K + 24 >> 2] = c[y + 24 >> 2]; + c[K + 28 >> 2] = c[y + 28 >> 2]; + d = c[k >> 2] | 0 + } + e = c[d + 104 >> 2] | 0; + if ((e | 0) != 0 ? (a[e + 81 >> 0] | 0) != 0 : 0) { + d = c[(c[J >> 2] | 0) + 116 >> 2] & 1; + 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]; + lM(z, H, e, d); + 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]; + d = c[k >> 2] | 0 + } + d = c[d + 108 >> 2] | 0; + if (d | 0 ? a[d + 81 >> 0] | 0 : 0) { + k = c[(c[J >> 2] | 0) + 116 >> 2] & 1; + 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]; + lM(A, H, d, k); + 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] + } + } + m = Gx(b, m) | 0 + } + n = Ty(b, n) | 0 + } + d = c[J >> 2] | 0; + f = c[d + 180 >> 2] | 0; + g = d + 184 | 0; + i = G + 8 | 0; + j = G + 16 | 0; + k = G + 24 | 0; + e = 1; + while (1) { + if ((e | 0) > (f | 0)) break; + P = +h[(c[(c[(c[g >> 2] | 0) + (e << 2) >> 2] | 0) + 16 >> 2] | 0) + 16 >> 3]; + h[G >> 3] = P; + C = c[(c[(c[g >> 2] | 0) + (e << 2) >> 2] | 0) + 16 >> 2] | 0; + O = +h[C + 24 >> 3]; + h[i >> 3] = O; + M = +h[C + 32 >> 3]; + h[j >> 3] = M; + N = +h[C + 40 >> 3]; + h[k >> 3] = N; + h[K >> 3] = +h[(+h[K >> 3] < P ? K : G) >> 3]; + h[D >> 3] = +h[(+h[D >> 3] < O ? K : G) + 8 >> 3]; + h[F >> 3] = +h[(+h[F >> 3] > M ? K : G) + 16 >> 3]; + h[E >> 3] = +h[(+h[E >> 3] > N ? K : G) + 24 >> 3]; + e = e + 1 | 0 + } + e = c[d + 12 >> 2] | 0; + if ((e | 0) != 0 ? (a[e + 81 >> 0] | 0) != 0 : 0) { + d = c[d + 116 >> 2] & 1; + 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]; + lM(I, H, e, d); + c[K >> 2] = c[I >> 2]; + c[K + 4 >> 2] = c[I + 4 >> 2]; + c[K + 8 >> 2] = c[I + 8 >> 2]; + c[K + 12 >> 2] = c[I + 12 >> 2]; + c[K + 16 >> 2] = c[I + 16 >> 2]; + c[K + 20 >> 2] = c[I + 20 >> 2]; + c[K + 24 >> 2] = c[I + 24 >> 2]; + c[K + 28 >> 2] = c[I + 28 >> 2]; + d = c[J >> 2] | 0 + } + J = d + 16 | 0; + c[J >> 2] = c[K >> 2]; + c[J + 4 >> 2] = c[K + 4 >> 2]; + c[J + 8 >> 2] = c[K + 8 >> 2]; + c[J + 12 >> 2] = c[K + 12 >> 2]; + c[J + 16 >> 2] = c[K + 16 >> 2]; + c[J + 20 >> 2] = c[K + 20 >> 2]; + c[J + 24 >> 2] = c[K + 24 >> 2]; + c[J + 28 >> 2] = c[K + 28 >> 2] + } + l = L; + return + } + + function nM(a, b, c) { + a = a | 0; + b = +b; + c = +c; + h[a >> 3] = b; + h[a + 8 >> 3] = c; + return + } + + function oM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[b + 8 >> 3] - +h[c + 8 >> 3]; + h[a >> 3] = +h[b >> 3] - +h[c >> 3]; + h[a + 8 >> 3] = d; + return + } + + function pM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = +h[c + 8 >> 3] + +h[b + 8 >> 3]; + h[a >> 3] = +h[c >> 3] + +h[b >> 3]; + h[a + 8 >> 3] = d; + return + } + + function qM(a) { + a = a | 0; + if ((c[a + 60 >> 2] | 0) == (a | 0)) a = 1; else a = (V$(ry(a) | 0, 104980, 7) | 0) == 0 & 1; + return a | 0 + } + + function rM(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + a:do if (!e) switch (pz(b) | 0) { + case 0: { + e = nx(a, 0, c, 191979) | 0; + break a + } + case 1: { + e = nx(a, 1, c, 191979) | 0; + break a + } + case 2: { + e = nx(a, 2, c, 191979) | 0; + break a + } + default: { + e = 0; + break a + } + } while (0); + rx(b, e, d) | 0; + return e | 0 + } + + function sM(d) { + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 144 | 0; + g = k; + i = tM(d) | 0; + h = Cw(23488, c[4555] | 0) | 0; + j = vA(d, 104988, 1) | 0; + Az(j, 134401, 280, 1) | 0; + Tw(g, 128, k + 16 | 0); + e = Sy(d) | 0; + while (1) { + if (!e) break; + a:do if (!(a[(c[e + 16 >> 2] | 0) + 118 >> 0] | 0)) { + f = Ex(d, e) | 0; + while (1) { + if (!f) break a; + uM(f, j, g, h, i); + f = Gx(d, f) | 0 + } + } while (0); + e = Ty(d, e) | 0 + } + Xw(g); + yw(h) | 0; + f = ay(j) | 0; + e = Sy(j) | 0; + while (1) { + if (!e) break; + h = Ty(j, e) | 0; + dz(d, e) | 0; + e = h + } + $x(j) | 0; + if (f | 0) { + j = (c[d + 16 >> 2] | 0) + 136 | 0; + b[j >> 1] = b[j >> 1] | 1 + } + yw(i) | 0; + l = k; + return f | 0 + } + + function tM(a) { + a = a | 0; + var b = 0; + b = Cw(23524, c[4555] | 0) | 0; + DM(a, b); + return b | 0 + } + + function uM(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 48 | 0; + q = t + 32 | 0; + p = t + 24 | 0; + s = t + 16 | 0; + r = t + 8 | 0; + k = t; + n = c[b >> 2] & 3; + m = c[((n | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + n = c[((n | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + do if (!(a[(c[n + 16 >> 2] | 0) + 118 >> 0] | 0)) { + if (!(z$(ry(m) | 0, 104980, 7) | 0)) o = vM(g, ry(m) | 0) | 0; else o = 0; + if (!(z$(ry(n) | 0, 104980, 7) | 0)) i = vM(g, ry(n) | 0) | 0; else i = 0; + h = (o | 0) != 0; + j = (i | 0) != 0; + if (h | j) { + if ((o | 0) == (i | 0)) { + r = ry(m) | 0; + s = ry(m) | 0; + c[k >> 2] = r; + c[k + 4 >> 2] = s; + Pw(0, 105003, k) | 0; + break + } + g = wM(f, b) | 0; + if (g | 0) { + xM(b, c[g + 16 >> 2] | 0, c[g + 20 >> 2] | 0) | 0; + break + } + if (!j) if (!(oz(o, n) | 0)) { + zM(f, m, n, xM(b, yM(m, o, e, d) | 0, n) | 0); + break + } else { + r = ry(n) | 0; + s = ry(o) | 0; + c[q >> 2] = r; + c[q + 4 >> 2] = s; + Pw(0, 105158, q) | 0; + break + } + if (!h) if (!(oz(i, m) | 0)) { + zM(f, m, n, xM(b, m, yM(n, i, e, d) | 0) | 0); + break + } else { + r = ry(m) | 0; + s = ry(i) | 0; + c[p >> 2] = r; + c[p + 4 >> 2] = s; + Pw(0, 105121, p) | 0; + break + } + if (oz(i, o) | 0) { + q = ry(o) | 0; + s = ry(i) | 0; + c[r >> 2] = q; + c[r + 4 >> 2] = s; + Pw(0, 105041, r) | 0; + break + } + if (!(oz(o, i) | 0)) { + s = yM(m, o, e, d) | 0; + zM(f, m, n, xM(b, s, yM(n, i, e, d) | 0) | 0); + break + } else { + q = ry(i) | 0; + r = ry(o) | 0; + c[s >> 2] = q; + c[s + 4 >> 2] = r; + Pw(0, 105081, s) | 0; + break + } + } + } while (0); + l = t; + return + } + + function vM(a, b) { + a = a | 0; + b = b | 0; + a = nb[c[a >> 2] & 63](a, b, 512) | 0; + if (!a) a = 0; else a = c[a + 12 >> 2] | 0; + return a | 0 + } + + function wM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d; + f = c[b >> 2] & 3; + c[e >> 2] = c[((f | 0) == 3 ? b : b + 48 | 0) + 40 >> 2]; + c[e + 4 >> 2] = c[((f | 0) == 2 ? b : b + -48 | 0) + 40 >> 2]; + b = nb[c[a >> 2] & 63](a, e, 512) | 0; + l = d; + return b | 0 + } + + function xM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + c = Rx(ez(b) | 0, b, c, 0, 1) | 0; + Az(c, 134378, 176, 1) | 0; + Bx(a, c) | 0; + return c | 0 + } + + function yM(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 112 | 0; + g = k; + j = k + 4 | 0; + Ww(e, 105195) | 0; + i = c[46551] | 0; + c[46551] = i + 1; + c[g >> 2] = i; + Y0(j, 134313, g) | 0; + Ww(e, j) | 0; + j = e + 4 | 0; + g = c[j >> 2] | 0; + i = e + 8 | 0; + if (g >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + g = c[j >> 2] | 0 + } + c[j >> 2] = g + 1; + a[g >> 0] = 58; + Ww(e, ry(d) | 0) | 0; + h = fz(d) | 0; + g = c[j >> 2] | 0; + if (g >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(e, 1) | 0; + g = c[j >> 2] | 0 + } + a[g >> 0] = 0; + e = c[e >> 2] | 0; + c[j >> 2] = e; + j = az(h, e, 1) | 0; + Az(j, 134365, 304, 1) | 0; + a[(c[j + 16 >> 2] | 0) + 118 >> 0] = 1; + Xy(d, j, 1) | 0; + Xy(f, b, 1) | 0; + f = ez(j) | 0; + c[46384] = rM(f, j, 105198, 191979, c[46384] | 0) | 0; + f = ez(j) | 0; + c[46387] = rM(f, j, 138e3, 131253, c[46387] | 0) | 0; + f = ez(j) | 0; + c[46377] = rM(f, j, 105204, 105210, c[46377] | 0) | 0; + l = k; + return j | 0 + } + + function zM(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + f = l; + l = l + 32 | 0; + g = f; + n = g + 8 | 0; + c[n >> 2] = b; + m = g + 12 | 0; + c[m >> 2] = d; + o = c[e >> 2] & 3; + i = e + 48 | 0; + j = g + 16 | 0; + c[j >> 2] = c[((o | 0) == 3 ? e : i) + 40 >> 2]; + k = e + -48 | 0; + h = g + 20 | 0; + c[h >> 2] = c[((o | 0) == 2 ? e : k) + 40 >> 2]; + nb[c[a >> 2] & 63](a, g, 1) | 0; + c[n >> 2] = d; + c[m >> 2] = b; + d = c[e >> 2] & 3; + c[j >> 2] = c[((d | 0) == 2 ? e : k) + 40 >> 2]; + c[h >> 2] = c[((d | 0) == 3 ? e : i) + 40 >> 2]; + nb[c[a >> 2] & 63](a, g, 1) | 0; + l = f; + return + } + + function AM(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + d = uH(24) | 0; + c[d + 8 >> 2] = c[b + 8 >> 2]; + c[d + 12 >> 2] = c[b + 12 >> 2]; + c[d + 16 >> 2] = c[b + 16 >> 2]; + c[d + 20 >> 2] = c[b + 20 >> 2]; + return d | 0 + } + + function BM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function CM(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + a = c[b >> 2] | 0; + e = c[d >> 2] | 0; + if (a >>> 0 >= e >>> 0) if (a >>> 0 > e >>> 0) a = 1; else { + b = c[b + 4 >> 2] | 0; + d = c[d + 4 >> 2] | 0; + return (b >>> 0 < d >>> 0 ? -1 : b >>> 0 > d >>> 0 & 1) | 0 + } else a = -1; + return a | 0 + } + + function DM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 16 | 0; + g = h; + f = a + 16 | 0; + e = 1; + while (1) { + a = c[f >> 2] | 0; + if ((e | 0) > (c[a + 180 >> 2] | 0)) break; + a = c[(c[a + 184 >> 2] | 0) + (e << 2) >> 2] | 0; + d = ry(a) | 0; + if (!(nb[c[b >> 2] & 63](b, d, 512) | 0)) { + i = uH(16) | 0; + c[i + 8 >> 2] = d; + c[i + 12 >> 2] = a; + nb[c[b >> 2] & 63](b, i, 1) | 0 + } else { + c[g >> 2] = d; + Pw(0, 105214, g) | 0 + } + DM(a, b); + e = e + 1 | 0 + } + l = h; + return + } + + function EM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + D_(b); + return + } + + function FM(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + d = vA(a, 104988, 1) | 0; + Az(d, 134401, 280, 1) | 0; + b = Sy(a) | 0; + while (1) { + if (!b) break; + c = Ex(a, b) | 0; + while (1) { + if (!c) break; + GM(c, d); + c = Gx(a, c) | 0 + } + b = Ty(a, b) | 0 + } + b = Sy(d) | 0; + while (1) { + if (!b) break; + c = Ty(d, b) | 0; + HM(b); + dz(a, b) | 0; + b = c + } + $x(d) | 0; + return + } + + function GM(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = c[b >> 2] & 3; + f = c[((e | 0) == 3 ? b : b + 48 | 0) + 40 >> 2] | 0; + e = c[((e | 0) == 2 ? b : b + -48 | 0) + 40 >> 2] | 0; + if (!((a[(c[f + 16 >> 2] | 0) + 118 >> 0] | 0) == 0 ? !(a[(c[e + 16 >> 2] | 0) + 118 >> 0] | 0) : 0)) { + f = IM(f, d) | 0; + e = xM(b, f, IM(e, d) | 0) | 0; + f = c[b + 16 >> 2] | 0; + d = f + 8 | 0; + e = c[e + 16 >> 2] | 0; + c[e + 8 >> 2] = c[d >> 2]; + c[d >> 2] = 0; + d = f + 96 | 0; + c[e + 96 >> 2] = c[d >> 2]; + c[d >> 2] = 0; + d = f + 108 | 0; + c[e + 108 >> 2] = c[d >> 2]; + c[d >> 2] = 0; + d = f + 100 | 0; + c[e + 100 >> 2] = c[d >> 2]; + c[d >> 2] = 0; + f = f + 104 | 0; + c[e + 104 >> 2] = c[f >> 2]; + c[f >> 2] = 0; + JM(b) + } + return + } + + function HM(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 16 | 0; + b = c[e >> 2] | 0; + d = c[b + 132 >> 2] | 0; + if (d) { + D_(d); + b = c[e >> 2] | 0 + } + d = c[b + 8 >> 2] | 0; + if (d) { + tb[c[(c[d + 4 >> 2] | 0) + 4 >> 2] & 127](a); + b = c[e >> 2] | 0 + } + nH(c[b + 104 >> 2] | 0); + nH(c[(c[e >> 2] | 0) + 108 >> 2] | 0); + Cz(a, 134365) | 0; + return + } + + function IM(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = ez(b) | 0; + a:do if (a[(c[b + 16 >> 2] | 0) + 118 >> 0] | 0) { + Xy(d, b, 1) | 0; + b = A$(ry(b) | 0, 58) | 0; + if (!b) qa(108182, 104635, 1225, 105266); + d = b + 1 | 0; + b = az(f, d, 0) | 0; + if (!b) { + b = az(f, d, 1) | 0; + Az(b, 134365, 304, 1) | 0; + d = sx(f, 1, 0) | 0; + while (1) { + if (!d) break a; + g = yx(b, d) | 0; + e = c[d + 12 >> 2] | 0; + if ((g | 0) != (e | 0)) rx(b, d, e) | 0; + d = sx(f, 1, d) | 0 + } + } + } while (0); + return b | 0 + } + + function JM(a) { + a = a | 0; + var b = 0; + b = a + 16 | 0; + D_(c[(c[b >> 2] | 0) + 144 >> 2] | 0); + KM(a); + nH(c[(c[b >> 2] | 0) + 96 >> 2] | 0); + nH(c[(c[b >> 2] | 0) + 108 >> 2] | 0); + nH(c[(c[b >> 2] | 0) + 100 >> 2] | 0); + nH(c[(c[b >> 2] | 0) + 104 >> 2] | 0); + Cz(a, 134378) | 0; + return + } + + function KM(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + e = a + 16 | 0; + a = c[e >> 2] | 0; + b = c[a + 8 >> 2] | 0; + if (b) { + d = 0; + while (1) { + a = c[b >> 2] | 0; + if ((d | 0) >= (c[b + 4 >> 2] | 0)) break; + D_(c[a + (d * 48 | 0) >> 2] | 0); + d = d + 1 | 0; + b = c[(c[e >> 2] | 0) + 8 >> 2] | 0 + } + D_(a); + D_(c[(c[e >> 2] | 0) + 8 >> 2] | 0); + a = c[e >> 2] | 0 + } + c[a + 8 >> 2] = 0; + return + } + + function LM(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = nx(a, b, c, 0) | 0; + if (!e) e = nx(a, b, c, d) | 0; + return e | 0 + } + + function MM(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 32 | 0; + i = o; + h = o + 8 | 0; + j = o + 16 | 0; + m = A$(b, 59) | 0; + n = d + 4 | 0; + e = c[n >> 2] | 0; + k = d + 8 | 0; + if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + e = c[n >> 2] | 0 + } + c[n >> 2] = e + 1; + a[e >> 0] = 38; + if (((m | 0) != 0 ? (f = m - b | 0, (f + -2 | 0) >>> 0 <= 6) : 0) ? (U0(j, b, f) | 0, a[j + f >> 0] = 0, c[h >> 2] = j, g = e2(h, 23560, 252, 8, 94) | 0, (g | 0) != 0) : 0) { + c[i >> 2] = c[g + 4 >> 2]; + Y0(j, 134313, i) | 0; + b = c[n >> 2] | 0; + if (b >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + b = c[n >> 2] | 0 + } + c[n >> 2] = b + 1; + a[b >> 0] = 35; + Ww(d, j) | 0; + b = c[n >> 2] | 0; + if (b >>> 0 >= (c[k >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + b = c[n >> 2] | 0 + } + c[n >> 2] = b + 1; + a[b >> 0] = 59; + b = m + 1 | 0 + } + l = o; + return b | 0 + } + + function NM(a, b) { + a = a | 0; + b = b | 0; + return b$(c[a >> 2] | 0, c[b >> 2] | 0) | 0 + } + + function OM(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 1072 | 0; + k = q + 8 | 0; + j = q; + i = q + 16 | 0; + o = q + 24 | 0; + c[i >> 2] = b; + if ((c[46552] | 0) != (d | 0)) { + c[46552] = d; + a[191878] = 0 + } + Tw(o, 1024, q + 40 | 0); + p = o + 4 | 0; + n = o + 8 | 0; + while (1) { + f = b + 1 | 0; + c[i >> 2] = f; + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) break; + do if ((e & 255) < 192) if (e << 24 >> 24 == 38) { + f = QM(i) | 0; + if (!f) e = 38; else { + if (f >>> 0 < 127) { + e = f & 255; + break + } + b = c[p >> 2] | 0; + e = b >>> 0 >= (c[n >> 2] | 0) >>> 0; + if (f >>> 0 < 2047) { + if (e) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + c[p >> 2] = b + 1; + a[b >> 0] = f >>> 6 | 192; + e = (f & 63 | 128) & 255; + break + } + if (e) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + c[p >> 2] = b + 1; + a[b >> 0] = f >>> 12 | 224; + b = c[p >> 2] | 0; + if (b >>> 0 >= (c[n >> 2] | 0) >>> 0) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + c[p >> 2] = b + 1; + a[b >> 0] = f >>> 6 & 63 | 128; + e = (f & 63 | 128) & 255 + } + } else { + h = 0; + m = 9 + } else if ((e & 255) >= 224) if ((e & 255) >= 240) if ((e & 255) < 248) { + h = 3; + m = 9 + } else { + if (!(a[191878] | 0)) { + c[j >> 2] = ry(d) | 0; + Pw(0, 106681, j) | 0; + a[191878] = 1 + } + h = -1; + e = PM(e, o) | 0; + m = 9 + } else { + h = 2; + m = 9 + } else { + h = 1; + m = 9 + } while (0); + do if ((m | 0) == 9) { + m = 0; + g = 0; + while (1) { + if ((g | 0) >= (h | 0)) { + m = 34; + break + } + if ((a[f >> 0] & -64) << 24 >> 24 != -128) break; + b = c[p >> 2] | 0; + if (b >>> 0 >= (c[n >> 2] | 0) >>> 0) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + c[p >> 2] = b + 1; + a[b >> 0] = e; + g = g + 1 | 0; + e = a[f >> 0] | 0; + f = f + 1 | 0 + } + if ((m | 0) == 34) { + m = 0; + c[i >> 2] = f; + break + } + c[i >> 2] = f; + if (!(a[191878] | 0)) { + g = ry(d) | 0; + c[k >> 2] = h + 1; + c[k + 4 >> 2] = g; + Pw(0, 106802, k) | 0; + a[191878] = 1 + } + e = PM(e, o) | 0 + } while (0); + b = c[p >> 2] | 0; + if (b >>> 0 >= (c[n >> 2] | 0) >>> 0) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + c[p >> 2] = b + 1; + a[b >> 0] = e; + b = c[i >> 2] | 0 + } + b = c[p >> 2] | 0; + if (b >>> 0 >= (c[n >> 2] | 0) >>> 0) { + Uw(o, 1) | 0; + b = c[p >> 2] | 0 + } + a[b >> 0] = 0; + n = c[o >> 2] | 0; + c[p >> 2] = n; + p = n1(n) | 0; + Xw(o); + l = q; + return p | 0 + } + + function PM(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = l; + l = l + 16 | 0; + g = j; + a[g >> 0] = b; + a[g + 1 >> 0] = 0; + g = RM(g) | 0; + h = d + 4 | 0; + i = d + 8 | 0; + e = W_(g) | 0; + f = g; + while (1) { + if ((e | 0) <= 1) break; + b = c[h >> 2] | 0; + if (b >>> 0 >= (c[i >> 2] | 0) >>> 0) { + Uw(d, 1) | 0; + b = c[h >> 2] | 0 + } + k = a[f >> 0] | 0; + c[h >> 2] = b + 1; + a[b >> 0] = k; + e = e + -1 | 0; + f = f + 1 | 0 + } + k = a[f >> 0] | 0; + D_(g); + l = j; + return k | 0 + } + + function QM(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 32 | 0; + h = i; + d = i + 8 | 0; + e = c[b >> 2] | 0; + a:do if ((a[e >> 0] | 0) != 35) { + c[h >> 2] = d; + g = 0; + b:while (1) { + if ((g | 0) >= 8) { + d = 0; + break a + } + f = a[e + g >> 0] | 0; + switch (f << 24 >> 24) { + case 0: { + d = 0; + break a + } + case 59: + break b; + default: { + } + } + a[d >> 0] = f; + d = d + 1 | 0; + g = g + 1 | 0 + } + a[d >> 0] = 0; + d = e2(h, 23560, 252, 8, 94) | 0; + if (!d) d = 0; else { + e = e + (g + 1) | 0; + d = c[d + 4 >> 2] | 0 + } + } else { + h = a[e + 1 >> 0] | 0; + d = h & 255; + c:do if ((h | 32) << 24 >> 24 == 120) { + h = 0; + g = 2; + while (1) { + if ((g | 0) >= 8) { + f = h; + break c + } + f = a[e + g >> 0] | 0; + d = f & 255; + if ((f + -65 & 255) >= 6) if ((f + -97 & 255) >= 6) if ((f + -48 & 255) < 10) f = -48; else { + f = h; + break c + } else f = -87; else f = -55; + d = f + d | 0; + h = d + (h << 4) | 0; + g = g + 1 | 0 + } + } else { + f = 0; + g = 1; + while (1) { + if ((g | 0) >= 8) break c; + h = a[e + g >> 0] | 0; + d = h & 255; + if ((h + -48 & 255) >= 10) break c; + f = (f * 10 | 0) + -48 + d | 0; + g = g + 1 | 0 + } + } while (0); + d = (d | 0) == 59; + e = d ? e + (g + 1) | 0 : e; + d = d ? f : 0 + } while (0); + c[b >> 2] = e; + l = i; + return d | 0 + } + + function RM(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 1056 | 0; + g = k; + i = k + 8 | 0; + c[g >> 2] = b; + Tw(i, 1024, k + 24 | 0); + j = i + 4 | 0; + h = i + 8 | 0; + while (1) { + c[g >> 2] = b + 1; + d = a[b >> 0] | 0; + if (!(d << 24 >> 24)) break; + b = d & 255; + if (d << 24 >> 24 == 38) { + b = QM(g) | 0; + if (!b) { + b = 38; + f = 6 + } else f = 5 + } else f = 5; + do if ((f | 0) == 5) { + f = 0; + if (b >>> 0 < 127) f = 6; else { + d = c[j >> 2] | 0; + e = d >>> 0 >= (c[h >> 2] | 0) >>> 0; + if (b >>> 0 < 2047) { + if (e) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + c[j >> 2] = d + 1; + a[d >> 0] = b >>> 6 | 192; + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[h >> 2] | 0) >>> 0) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + b = b & 63 | 128; + break + } + if (e) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + c[j >> 2] = d + 1; + a[d >> 0] = b >>> 12 | 224; + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[h >> 2] | 0) >>> 0) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + c[j >> 2] = d + 1; + a[d >> 0] = b >>> 6 & 63 | 128; + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[h >> 2] | 0) >>> 0) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + b = b & 63 | 128 + } + } while (0); + if ((f | 0) == 6) { + d = c[j >> 2] | 0; + if (d >>> 0 >= (c[h >> 2] | 0) >>> 0) { + Uw(i, 1) | 0; + d = c[j >> 2] | 0 + } + } + c[j >> 2] = d + 1; + a[d >> 0] = b; + b = c[g >> 2] | 0 + } + b = c[j >> 2] | 0; + if (b >>> 0 >= (c[h >> 2] | 0) >>> 0) { + Uw(i, 1) | 0; + b = c[j >> 2] | 0 + } + a[b >> 0] = 0; + h = c[i >> 2] | 0; + c[j >> 2] = h; + j = n1(h) | 0; + Xw(i); + l = k; + return j | 0 + } + + function SM(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 1040 | 0; + g = i; + Tw(g, 1024, i + 16 | 0); + h = g + 4 | 0; + f = g + 8 | 0; + while (1) { + d = b + 1 | 0; + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) break; + if ((e & 255) < 127) { + b = c[h >> 2] | 0; + if (b >>> 0 >= (c[f >> 2] | 0) >>> 0) { + Uw(g, 1) | 0; + b = c[h >> 2] | 0 + } + c[h >> 2] = b + 1; + a[b >> 0] = e; + b = d; + continue + } else { + e = a[d >> 0] & 63 | e << 6 & 255; + d = c[h >> 2] | 0; + if (d >>> 0 >= (c[f >> 2] | 0) >>> 0) { + Uw(g, 1) | 0; + d = c[h >> 2] | 0 + } + c[h >> 2] = d + 1; + a[d >> 0] = e; + b = b + 2 | 0; + continue + } + } + b = c[h >> 2] | 0; + if (b >>> 0 >= (c[f >> 2] | 0) >>> 0) { + Uw(g, 1) | 0; + b = c[h >> 2] | 0 + } + a[b >> 0] = 0; + f = c[g >> 2] | 0; + c[h >> 2] = f; + h = n1(f) | 0; + Xw(g); + l = i; + return h | 0 + } + + function TM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 80 | 0; + e = n + 48 | 0; + d = n + 32 | 0; + f = n + 64 | 0; + g = n + 16 | 0; + i = n; + j = b + 16 | 0; + k = a + 16 | 0; + m = c[k >> 2] | 0; + if (((+h[j >> 3] >= +h[m + 48 >> 3] ? +h[m + 64 >> 3] >= +h[b >> 3] : 0) ? +h[b + 24 >> 3] >= +h[m + 56 >> 3] : 0) ? +h[m + 72 >> 3] >= +h[b + 8 >> 3] : 0) { + m = m + 16 | 0; + c[d >> 2] = c[j >> 2]; + c[d + 4 >> 2] = c[j + 4 >> 2]; + c[d + 8 >> 2] = c[j + 8 >> 2]; + c[d + 12 >> 2] = c[j + 12 >> 2]; + c[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]; + UM(g, d, e); + 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] = 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]; + oM(i, d, e); + c[f >> 2] = a; + c[f + 4 >> 2] = 0; + d = c[(c[(c[(c[k >> 2] | 0) + 8 >> 2] | 0) + 4 >> 2] | 0) + 12 >> 2] | 0; + c[e >> 2] = c[i >> 2]; + c[e + 4 >> 2] = c[i + 4 >> 2]; + c[e + 8 >> 2] = c[i + 8 >> 2]; + c[e + 12 >> 2] = c[i + 12 >> 2]; + d = lb[d & 127](f, e) | 0 + } else d = 0; + l = n; + return d | 0 + } + + function UM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0.0; + d = (+h[c + 8 >> 3] + +h[b + 8 >> 3]) * .5; + h[a >> 3] = (+h[c >> 3] + +h[b >> 3]) * .5; + h[a + 8 >> 3] = d; + return + } + + function VM(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0.0, g = 0, i = 0.0, j = 0, k = 0, m = 0, n = 0; + e = l; + l = l + 80 | 0; + j = e + 64 | 0; + k = e + 48 | 0; + m = e; + n = e + 32 | 0; + g = e + 16 | 0; + h[m >> 3] = +h[a + 24 >> 3] * .5; + h[m + 8 >> 3] = +h[a + 32 >> 3] * .5; + a = a + 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[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + oM(n, k, j); + i = +h[n >> 3]; + f = +h[n + 8 >> 3]; + 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[j >> 2] = c[m >> 2]; + c[j + 4 >> 2] = c[m + 4 >> 2]; + c[j + 8 >> 2] = c[m + 8 >> 2]; + c[j + 12 >> 2] = c[m + 12 >> 2]; + pM(g, k, j); + d = +h[g + 8 >> 3]; + if ((+h[b + 16 >> 3] >= i ? +h[g >> 3] >= +h[b >> 3] : 0) ? +h[b + 24 >> 3] >= f : 0) a = d >= +h[b + 8 >> 3] & 1; else a = 0; + l = e; + return a | 0 + } + + function WM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 80 | 0; + k = n + 48 | 0; + j = n; + h = a + 16 | 0; + a = c[h >> 2] | 0; + i = c[a + 8 >> 2] | 0; + a:do if ((i | 0) != 0 ? (g = i + 8 | 0, c[j >> 2] = c[g >> 2], c[j + 4 >> 2] = c[g + 4 >> 2], c[j + 8 >> 2] = c[g + 8 >> 2], c[j + 12 >> 2] = c[g + 12 >> 2], c[j + 16 >> 2] = c[g + 16 >> 2], c[j + 20 >> 2] = c[g + 20 >> 2], c[j + 24 >> 2] = c[g + 24 >> 2], c[j + 28 >> 2] = c[g + 28 >> 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[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], (XM(j, k) | 0) != 0) : 0) { + d = i + 4 | 0; + a = 0; + while (1) { + if ((a | 0) >= (c[d >> 2] | 0)) break; + e = j; + f = (c[i >> 2] | 0) + (a * 48 | 0) | 0; + g = e + 48 | 0; + do { + c[e >> 2] = c[f >> 2]; + e = e + 4 | 0; + f = f + 4 | 0 + } while ((e | 0) < (g | 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]; + if (!((YM(j, k) | 0) << 24 >> 24)) a = a + 1 | 0; else { + a = 1; + break a + } + } + a = c[h >> 2] | 0; + m = 7 + } else m = 7; while (0); + do if ((m | 0) == 7) { + a = c[a + 96 >> 2] | 0; + if (a | 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], (VM(a, k) | 0) << 24 >> 24) : 0) { + a = 1; + break + } + a = 0 + } while (0); + l = n; + return a | 0 + } + + function XM(a, b) { + a = a | 0; + b = b | 0; + if ((+h[a + 16 >> 3] >= +h[b >> 3] ? +h[b + 16 >> 3] >= +h[a >> 3] : 0) ? +h[a + 24 >> 3] >= +h[b + 8 >> 3] : 0) a = +h[b + 24 >> 3] >= +h[a + 8 >> 3] & 1; else a = 0; + return a | 0 + } + + function YM(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 96 | 0; + k = n + 64 | 0; + j = n + 48 | 0; + i = n + 32 | 0; + f = n + 16 | 0; + g = n; + m = a + 4 | 0; + d = c[m >> 2] | 0; + if (!d) qa(106911, 104635, 1637, 106919); + e = c[a >> 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]; + e = 1; + while (1) { + if ((e | 0) >= (d | 0)) { + h = 7; + break + } + d = (c[a >> 2] | 0) + (e << 4) | 0; + c[f >> 2] = c[d >> 2]; + c[f + 4 >> 2] = c[d + 4 >> 2]; + c[f + 8 >> 2] = c[d + 8 >> 2]; + c[f + 12 >> 2] = c[d + 12 >> 2]; + c[i >> 2] = c[d >> 2]; + c[i + 4 >> 2] = c[d + 4 >> 2]; + c[i + 8 >> 2] = c[d + 8 >> 2]; + c[i + 12 >> 2] = c[d + 12 >> 2]; + c[j >> 2] = c[g >> 2]; + c[j + 4 >> 2] = c[g + 4 >> 2]; + c[j + 8 >> 2] = c[g + 8 >> 2]; + c[j + 12 >> 2] = c[g + 12 >> 2]; + c[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]; + if ((VG(i, j, k) | 0) != -1) { + d = 1; + break + } + ;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]; + e = e + 1 | 0; + d = c[m >> 2] | 0 + } + do if ((h | 0) == 7) { + d = c[a + 8 >> 2] | 0; + if (d | 0 ? (g = a + 16 | 0, h = c[a >> 2] | 0, c[i >> 2] = c[g >> 2], c[i + 4 >> 2] = c[g + 4 >> 2], c[i + 8 >> 2] = c[g + 8 >> 2], c[i + 12 >> 2] = c[g + 12 >> 2], c[j >> 2] = c[h >> 2], c[j + 4 >> 2] = c[h + 4 >> 2], c[j + 8 >> 2] = c[h + 8 >> 2], c[j + 12 >> 2] = c[h + 12 >> 2], c[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], (ZM(i, j, d, k) | 0) << 24 >> 24) : 0) { + d = 1; + break + } + d = c[a + 12 >> 2] | 0; + if (d | 0 ? (h = a + 32 | 0, m = (c[a >> 2] | 0) + ((c[m >> 2] | 0) + -1 << 4) | 0, c[i >> 2] = c[h >> 2], c[i + 4 >> 2] = c[h + 4 >> 2], c[i + 8 >> 2] = c[h + 8 >> 2], c[i + 12 >> 2] = c[h + 12 >> 2], c[j >> 2] = c[m >> 2], c[j + 4 >> 2] = c[m + 4 >> 2], c[j + 8 >> 2] = c[m + 8 >> 2], c[j + 12 >> 2] = c[m + 12 >> 2], 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], (ZM(i, j, d, k) | 0) << 24 >> 24) : 0) { + d = 1; + break + } + d = 0 + } while (0); + l = n; + return d | 0 + } + + function ZM(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0; + m = l; + l = l + 160 | 0; + g = m + 144 | 0; + f = m + 128 | 0; + n = m + 96 | 0; + i = m + 64 | 0; + j = m + 32 | 0; + k = m; + o = +h[e + 16 >> 3]; + 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]; + JE(n, f, g, 1.0, d); + if (((o >= +h[n >> 3] ? (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], JE(i, f, g, 1.0, d), +h[i + 16 >> 3] >= +h[e >> 3]) : 0) ? (o = +h[e + 24 >> 3], 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], JE(j, f, g, 1.0, d), o >= +h[j + 8 >> 3]) : 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], JE(k, f, g, 1.0, d), +h[k + 24 >> 3] >= +h[e + 8 >> 3]) : 0) f = 1; else f = 0; + l = m; + return f | 0 + } + + function _M(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + a:do if ((b | 0) != 0 ? (e = a[b >> 0] | 0, e << 24 >> 24 != 0) : 0) { + do switch (e << 24 >> 24 | 0) { + case 48: { + d = 2; + break a + } + case 57: + case 56: + case 55: + case 54: + case 53: + case 52: + case 51: + case 50: + case 49: { + d = 10; + break a + } + case 67: + case 99: { + e = b + 1 | 0; + if (!(O$(e, 106934) | 0)) { + d = 4; + break a + } + if (!(O$(e, 106940) | 0)) { + d = 12; + break a + } + break + } + case 70: + case 102: { + if (!(O$(b + 1 | 0, 106948) | 0)) { + d = 2; + break a + } + break + } + case 76: + case 108: { + if (!(O$(b + 1 | 0, 106953) | 0)) { + d = 2; + break a + } + break + } + case 78: + case 110: { + e = b + 1 | 0; + if (!(O$(e, 106957) | 0)) { + d = 0; + break a + } + if (!(O$(e, 106961) | 0)) { + d = 2; + break a + } + break + } + case 79: + case 111: { + if (!(O$(b + 1 | 0, 106963) | 0)) { + d = 8; + break a + } + break + } + case 80: + case 112: { + if (!(O$(b + 1 | 0, 106968) | 0)) { + d = 6; + break a + } + break + } + case 83: + case 115: { + if (!(O$(b + 1 | 0, 106976) | 0)) { + d = 10; + break a + } + break + } + case 84: + case 116: { + if (!(O$(b + 1 | 0, 106982) | 0)) { + d = 10; + break a + } + break + } + case 89: + case 121: { + if (!(O$(b + 1 | 0, 106986) | 0)) { + d = 10; + break a + } + break + } + default: { + } + } while (0); + c[f >> 2] = b; + Pw(0, 106989, f) | 0 + } while (0); + l = g; + return d | 0 + } + + function $M(d, f) { + d = d | 0; + f = f | 0; + var g = 0; + g = xx(d, 107030) | 0; + if (g) if (!(a[g >> 0] | 0)) f = 0; else f = _M(g, f) | 0; + d = (c[d + 16 >> 2] | 0) + 136 | 0; + b[d >> 1] = f | e[d >> 1]; + return + } + + function aN(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, m = 0, n = 0, o = 0.0, p = 0, q = 0.0, r = 0, s = 0.0, + t = 0, u = 0, v = 0, w = 0; + v = l; + l = l + 32 | 0; + p = v + 16 | 0; + r = v; + t = e & 1; + u = e & 2; + a:do if ((c | 0) == 2) { + s = +h[a + 16 >> 3]; + f = +h[a >> 3]; + j = +h[a + 24 >> 3]; + i = +h[a + 8 >> 3]; + f = f - (s - f); + h[p >> 3] = f; + h[r >> 3] = s; + i = i - (j - i); + h[p + 8 >> 3] = i; + h[r + 8 >> 3] = j + } else { + g = +h[a >> 3]; + h[r >> 3] = g; + h[p >> 3] = g; + j = +h[a + 8 >> 3]; + m = r + 8 | 0; + h[m >> 3] = j; + n = p + 8 | 0; + h[n >> 3] = j; + e = 0; + f = g; + i = j; + while (1) { + if ((e | 0) >= (c | 0)) { + s = g; + break a + } + w = a + (e << 4) | 0; + q = +h[w >> 3]; + k = +h[(q < f ? w : p) >> 3]; + h[p >> 3] = k; + s = +h[a + (e << 4) + 8 >> 3]; + o = +h[(s < i ? w : p) + 8 >> 3]; + h[n >> 3] = o; + q = +h[(q > g ? w : r) >> 3]; + h[r >> 3] = q; + s = +h[(s > j ? w : r) + 8 >> 3]; + h[m >> 3] = s; + e = e + 1 | 0; + f = k; + i = o; + g = q; + j = s + } + } while (0); + g = (s - f) * .5; + q = g + f; + o = (j - i) * .5; + k = o + i; + if (!t) { + f = j - k; + j = d; + i = +F(+j); + j = +E(+j); + if (!u) { + g = i * f - k; + f = -k - o * i + } else { + f = i * f; + g = k - f; + f = f + k + } + h[b + 8 >> 3] = g; + h[b + 24 >> 3] = f; + d = j * (s - q); + h[b >> 3] = q - d; + h[b + 16 >> 3] = d + q + } else { + d = +C(+(o * o + g * g)); + h[b + 8 >> 3] = u | 0 ? k : -k; + h[b >> 3] = q; + h[b + 16 >> 3] = d * .25; + h[b + 24 >> 3] = d + } + l = v; + return + } + + function bN(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0, f = 0; + e = a + 16 | 0; + f = c[e >> 2] | 0; + if (!(b << 24 >> 24)) { + d = +h[f + 32 >> 3] * 36.0; + h[f + 88 >> 3] = d; + a = f + 40 | 0 + } else { + d = +h[f + 40 >> 3] * 36.0; + h[f + 88 >> 3] = d; + a = f + 32 | 0 + } + h[f + 96 >> 3] = d; + h[(c[e >> 2] | 0) + 80 >> 3] = +h[a >> 3] * 72.0; + return + } + + function cN(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, A = 0; + y = l; + l = l + 16 | 0; + j = y + 8 | 0; + x = 4; + w = C_(40) | 0; + c[w >> 2] = 0; + s = y; + o = 0; + e = $(29, b | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + a:do if ((g | 0) != 1) { + o = 0; + v = $(23, e << 3 | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + e = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!e) bb(f | 0, p | 0); + z = p + } else e = -1; + if ((e | 0) != 1) { + if (!(a[191874] | 0)) t = 0; else { + o = 0; + e = _(3) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + n = 0; + k = 0; + m = 0; + j = 0; + i = 0; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break + } + t = e + } + o = 0; + e = aa(95, b | 0, 107038) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) != 1) { + c[46553] = 0; + b:do if (e | 0 ? (i = a[e >> 0] | 0, i << 24 >> 24) : 0) { + h = e; + f = i; + g = 0; + while (1) { + i = h + 1 | 0; + if (!(f << 24 >> 24)) break b; + switch (f << 24 >> 24 | 0) { + case 99: { + e = 8; + u = 16; + break + } + case 105: { + e = 18; + u = 16; + break + } + case 109: { + e = 1; + u = 16; + break + } + case 114: { + e = 4; + u = 16; + break + } + case 115: { + e = 2; + u = 16; + break + } + default: + e = g + } + if ((u | 0) == 16) { + u = 0; + e = g | e; + c[46553] = e + } + h = i; + f = a[i >> 0] | 0; + g = e + } + } while (0); + if (d | 0) { + o = 0; + ca(20, 0, 107042, j | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + n = 0; + k = t; + m = 0; + j = 0; + i = 0; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break + } + } + o = 0; + r = aa(96, b | 0, 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + m = c[r + 16 >> 2] | 0; + if (c[46553] & 2 | 0) { + o = 0; + ja(26, c[15686] | 0, m | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + n = 0; + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break + } + } + o = 0; + g = $(25, b | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + n = 0; + while (1) { + if (!g) break; + o = 0; + e = aa(97, b | 0, g | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + h = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!h) bb(f | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + i = n; + while (1) { + if (!e) break; + if (!((c[46363] | 0) == 2 ? (c[(c[e + 16 >> 2] | 0) + 8 >> 2] | 0) != 0 : 0)) u = 32; + c:do if ((u | 0) == 32) { + u = 0; + do if (a[191874] | 0) { + k = c[e >> 2] & 3; + j = (c[c[((k | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + k = (c[c[((k | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] >> 2] | 0) >>> 4; + if (j >>> 0 > k >>> 0) { + o = 0; + f = ca(31, t | 0, k | 0, j | 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + d = E3(c[h >> 2] | 0, w | 0, x | 0) | 0; + if (!d) bb(h | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + if (f | 0) break c; + o = 0; + ka(64, t | 0, k | 0, j | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + h = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!h) bb(f | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + break + } else { + o = 0; + f = ca(31, t | 0, j | 0, k | 0) | 0; + h = o; + o = 0; + if ((h | 0) != 0 & (p | 0) != 0) { + d = E3(c[h >> 2] | 0, w | 0, x | 0) | 0; + if (!d) bb(h | 0, p | 0); + z = p + } else d = -1; + if ((d | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + if (f | 0) break c; + o = 0; + ka(64, t | 0, j | 0, k | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + h = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!h) bb(f | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + break + } + } while (0); + c[v + (i << 3) + 4 >> 2] = e; + o = 0; + d = $(30, e | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + h = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!h) bb(f | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + c[v + (i << 3) >> 2] = d; + i = i + 1 | 0 + } while (0); + o = 0; + e = aa(98, b | 0, e | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + h = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!h) bb(f | 0, p | 0); + z = p + } else h = -1; + if ((h | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + } + o = 0; + g = aa(84, b | 0, g | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74; + break a + } + n = i + } + o = 0; + j = $(31, n << 3 | 0) | 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + o = 0; + ma(28, v | 0, n | 0, 8, 99); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + g = c[m >> 2] | 0; + o = 0; + ia(107, g + 2 | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + i = c[m + 16 >> 2] | 0; + d = i + (g * 40 | 0) | 0; + i = i + ((g + 1 | 0) * 40 | 0) | 0; + q = c[15686] | 0; + h = 0; + while (1) { + if ((h | 0) >= (n | 0)) break; + if ((h | 0) > 0 ? c[46553] & 16 | 0 : 0) { + o = 0; + ja(26, q | 0, m | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + } + e = c[v + (h << 3) + 4 >> 2] | 0; + k = c[e >> 2] & 3; + g = c[(c[(c[((k | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0; + e = c[(c[(c[((k | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0; + if ((g | 0) == (e | 0)) { + o = 0; + ma(29, m | 0, g | 0, i | 0, d | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + } else { + o = 0; + ka(65, m | 0, e | 0, i | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + o = 0; + ka(65, m | 0, g | 0, d | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + } + o = 0; + e = ca(32, m | 0, i | 0, d | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + if (e | 0) { + k = t; + m = j; + i = r; + d = v; + h = v; + break a + } + e = j + (h << 3) | 0; + o = 0; + ma(30, s | 0, m | 0, d | 0, i | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + g = s; + k = c[g + 4 >> 2] | 0; + c[e >> 2] = c[g >> 2]; + c[e + 4 >> 2] = k; + o = 0; + ia(108, m | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74; + break a + } + h = h + 1 | 0 + } + o = 0; + ha(8); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + o = 0; + e = $(32, r | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) != 1) { + c[r + 20 >> 2] = e; + o = 0; + e = $(33, r | 0) | 0; + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) != 1) { + c[r + 24 >> 2] = e; + o = 0; + ka(66, n | 0, j | 0, r | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + w = D3(186216, 1, w | 0, x | 0) | 0; + x = z; + o = 0; + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) != 1) { + k = t; + m = j; + i = r; + d = v; + h = v; + e = 0; + g = q; + u = 74 + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = q; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + k = t; + m = j; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + k = t; + m = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + n = 0; + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + n = 0; + k = t; + m = 0; + j = 0; + i = r; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + n = 0; + k = t; + m = 0; + j = 0; + i = 0; + d = v; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + n = 0; + k = 0; + m = 0; + j = 0; + i = 0; + d = 0; + h = v; + e = z; + g = 0; + u = 74 + } + } else { + n = 0; + k = 0; + m = 0; + j = 0; + i = 0; + d = 0; + h = 0; + e = z; + g = 0; + u = 74 + } while (0); + d:while (1) { + if ((u | 0) == 74) { + u = 0; + if (e | 0) { + q = g; + continue + } + o = 0; + ia(109, i | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + A = g; + f = h; + q = d; + r = i; + s = j; + t = m; + v = k; + u = n; + e = z; + g = A; + h = f; + d = q; + i = r; + j = s; + m = t; + k = v; + n = u; + u = 74; + continue + } + if (c[46553] & 4 | 0) { + o = 0; + na(8, g | 0, i | 0, n | 0, m | 0, d | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = g; + q = h; + r = d; + s = i; + t = j; + v = m; + A = k; + u = n; + e = z; + g = f; + h = q; + d = r; + i = s; + j = t; + m = v; + k = A; + n = u; + u = 74; + continue + } + } + o = 0; + oa(10, b | 0, i | 0, n | 0, m | 0, d | 0, 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + f = g; + q = h; + r = d; + s = i; + t = j; + v = m; + A = k; + u = n; + e = z; + g = f; + h = q; + d = r; + i = s; + j = t; + m = v; + k = A; + n = u; + u = 74; + continue + } + q = g + } + if (!(a[191874] | 0)) e = 0; else { + o = 0; + ia(110, k | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + g = q; + u = 74; + continue + } + e = 0 + } + while (1) { + if ((e | 0) >= (n | 0)) break; + o = 0; + ia(103, c[m + (e << 3) + 4 >> 2] | 0); + f = o; + o = 0; + if ((f | 0) != 0 & (p | 0) != 0) { + g = E3(c[f >> 2] | 0, w | 0, x | 0) | 0; + if (!g) bb(f | 0, p | 0); + z = p + } else g = -1; + if ((g | 0) == 1) { + e = z; + g = q; + u = 74; + continue d + } + e = e + 1 | 0 + } + o = 0; + ia(103, j | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + g = q; + u = 74; + continue + } + o = 0; + ia(111, i | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + g = q; + u = 74; + continue + } + o = 0; + ia(103, h | 0); + e = o; + o = 0; + if ((e | 0) != 0 & (p | 0) != 0) { + f = E3(c[e >> 2] | 0, w | 0, x | 0) | 0; + if (!f) bb(e | 0, p | 0); + z = p + } else f = -1; + if ((f | 0) == 1) { + e = z; + g = q; + u = 74 + } else break + } + D_(w | 0); + l = y; + return + } + + function dN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0; + q = l; + l = l + 64 | 0; + p = q + 32 | 0; + o = q + 16 | 0; + j = q; + k = q + 48 | 0; + D1(107909, a) | 0; + D1(107920, a) | 0; + m = b + 16 | 0; + n = j + 8 | 0; + i = k + 4 | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[b >> 2] | 0)) break; + d = c[m >> 2] | 0; + e = c[d + (g * 40 | 0) + 20 >> 2] | 0; + f = c[d + (g * 40 | 0) + 24 >> 2] | 0; + if ((e | 0) == (f | 0)) { + YN(j, e); + d = ~~+h[j >> 3]; + e = ~~+h[n >> 3] + } else { + _N(k, (c[e >> 2] & 1 | 0) == 0 ? e : f, d + (g * 40 | 0) | 0); + d = c[k >> 2] | 0; + e = c[i >> 2] | 0 + } + c[o >> 2] = g; + c[o + 4 >> 2] = d; + c[o + 8 >> 2] = e; + g1(a, 107940, o) | 0; + g = g + 1 | 0 + } + f = b + 4 | 0; + e = b + 20 | 0; + d = 0; + while (1) { + if ((d | 0) >= (c[f >> 2] | 0)) break; + o = c[e >> 2] | 0; + b = c[o + (d * 24 | 0) + 16 >> 2] | 0; + r = +h[o + (d * 24 | 0) >> 3]; + c[p >> 2] = c[o + (d * 24 | 0) + 12 >> 2]; + c[p + 4 >> 2] = b; + h[p + 8 >> 3] = r; + g1(a, 107960, p) | 0; + d = d + 1 | 0 + } + D1(107982, a) | 0; + l = q; + return + } + + function eN(a) { + a = a | 0; + var b = 0.0, d = 0.0, e = 0, f = 0; + f = c[a >> 2] & 3; + e = c[(c[((f | 0) == 3 ? a : a + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + a = c[(c[((f | 0) == 2 ? a : a + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0; + b = +h[e + 16 >> 3] - +h[a + 16 >> 3]; + d = +h[e + 24 >> 3] - +h[a + 24 >> 3]; + return ~~(d * d + b * b) | 0 + } + + function fN(a, b) { + a = a | 0; + b = b | 0; + return (c[a >> 2] | 0) - (c[b >> 2] | 0) | 0 + } + + function gN(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 32 | 0; + j = n; + YN(n + 16 | 0, d); + k = d + 32 | 0; + m = d + 36 | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[k >> 2] | 0)) break; + h = c[(c[m >> 2] | 0) + (g << 2) >> 2] | 0; + do if (!(a[h + 36 >> 0] | 0)) { + i = c[h + 20 >> 2] | 0; + if ((i | 0) == (d | 0)) { + WN(j, h, c[h + 24 >> 2] | 0); + pO(b, f, h, 0.0) | 0; + break + } else { + WN(j, h, i); + pO(b, e, h, 0.0) | 0; + break + } + } while (0); + g = g + 1 | 0 + } + c[b >> 2] = (c[b >> 2] | 0) + 2; + l = n; + return + } + + function hN(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 32 | 0; + h = k; + YN(k + 16 | 0, b); + i = b + 32 | 0; + j = b + 36 | 0; + f = 0; + while (1) { + if ((f | 0) >= (c[i >> 2] | 0)) break; + g = c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0; + e = c[g + 20 >> 2] | 0; + if ((e | 0) == (b | 0)) e = c[g + 24 >> 2] | 0; + WN(h, g, e); + pO(a, d, g, 0.0) | 0; + f = f + 1 | 0 + } + c[a >> 2] = (c[a >> 2] | 0) + 1; + c[d + 24 >> 2] = b; + c[d + 20 >> 2] = b; + l = k; + return + } + + function iN(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0.0, m = 0.0, n = 0, o = 0.0, p = 0.0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0.0, x = 0.0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + H = l; + l = l + 128 | 0; + C = H + 64 | 0; + n = H + 48 | 0; + D = H + 32 | 0; + E = H + 16 | 0; + F = H; + g = 0; + i = e; + while (1) { + if (!i) break; + g = g + 1 | 0; + i = c[i + 8 >> 2] | 0 + } + B = uH((g * 56 | 0) + -112 | 0) | 0; + c[C + 52 >> 2] = 0; + c[C + 48 >> 2] = 0; + A = e + 8 | 0; + e = c[A >> 2] | 0; + i = c[e + 8 >> 2] | 0; + g = c[e + 20 >> 2] | 0; + if (c[g >> 2] & 1) g = c[e + 24 >> 2] | 0; + WN(n, e, g); + j = e; + q = e; + p = 0.0; + o = +h[n >> 3]; + z = 0; + m = 0.0; + x = +h[n + 8 >> 3]; + while (1) { + y = i + 8 | 0; + if (!(c[y >> 2] | 0)) break; + v = XN(j, i) | 0; + NR(d, v, c[q + 12 >> 2] | 0); + t = q + 36 | 0; + u = i + 36 | 0; + if ((a[t >> 0] | 0) == (a[u >> 0] | 0)) if ((c[y >> 2] | 0) == (f | 0)) { + WN(E, i, v); + e = E; + G = 12 + } else { + j = q; + e = z; + k = x + } else { + YN(D, v); + e = D; + G = 12 + } + if ((G | 0) == 12) { + G = 0; + w = +h[e >> 3]; + k = +h[e + 8 >> 3]; + e = a[t >> 0] | 0; + s = e << 24 >> 24 == 0; + r = (q | 0) == (c[A >> 2] | 0); + if (s) { + if (!(a[u >> 0] | 0)) e = 0; else e = (c[i + 20 >> 2] | 0) == (v | 0) ? 4 : 2; + n = v + 48 | 0; + q = g + 48 | 0; + j = g + 40 | 0; + g = r ? 0 : p > o ? 4 : 2 + } else { + if (e << 24 >> 24 == (a[u >> 0] | 0)) e = 0; else e = (c[i + 20 >> 2] | 0) == (v | 0) ? 1 : 3; + n = v + 40 | 0; + q = g + 40 | 0; + j = g + 48 | 0; + g = r ? 0 : m > x ? 1 : 3 + } + ZN(C, s & 1, +h[j >> 3], +h[q >> 3], +h[n >> 3], g, e); + q = z + 1 | 0; + g = B + (z * 56 | 0) | 0; + e = C; + j = g + 56 | 0; + do { + c[g >> 2] = c[e >> 2]; + g = g + 4 | 0; + e = e + 4 | 0 + } while ((g | 0) < (j | 0)); + if ((a[t >> 0] | 0) != (a[u >> 0] | 0) ? (c[y >> 2] | 0) == (f | 0) : 0) { + WN(F, i, v); + n = (a[u >> 0] | 0) == 0; + e = v + 40 | 0; + g = v + 48 | 0; + p = +h[(n ? g : e) >> 3]; + ZN(C, n & 1, +h[(n ? e : g) >> 3], p, p, n ? (o > w ? 4 : 2) : x > k ? 1 : 3, 0); + n = z + 2 | 0; + g = B + (q * 56 | 0) | 0; + e = C; + j = g + 56 | 0; + do { + c[g >> 2] = c[e >> 2]; + g = g + 4 | 0; + e = e + 4 | 0 + } while ((g | 0) < (j | 0)); + g = v; + j = i; + p = o; + o = w; + e = n; + m = x + } else { + g = v; + j = i; + p = o; + o = w; + e = q; + m = x + } + } + v = i; + i = c[y >> 2] | 0; + q = j; + z = e; + x = k; + j = v + } + i = F_(B, z * 56 | 0) | 0; + e = z + -1 | 0; + g = 0; + while (1) { + if ((g | 0) >= (z | 0)) break; + if ((g | 0) > 0) c[i + (g * 56 | 0) + 48 >> 2] = i + ((g + -1 | 0) * 56 | 0); + if ((g | 0) < (e | 0)) { + G = g + 1 | 0; + c[i + (g * 56 | 0) + 52 >> 2] = i + (G * 56 | 0); + g = G; + continue + } else { + g = g + 1 | 0; + continue + } + } + c[b >> 2] = z; + c[b + 4 >> 2] = i; + l = H; + return + } + + function jN(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + j = Cw(25588, c[4555] | 0) | 0; + k = a + 8 | 0; + i = 0; + while (1) { + if ((i | 0) >= (c[a >> 2] | 0)) break; + b = (c[k >> 2] | 0) + (i * 72 | 0) | 0; + if (!(c[b >> 2] & 4)) { + while (1) { + d = c[(c[b + 36 >> 2] | 0) + 8 >> 2] | 0; + if (!d) break; + d = c[d + 20 >> 2] | 0; + if (!d) break; + if (!(c[d >> 2] & 1)) b = d; else break + } + g = uH(40) | 0; + c[g + 36 >> 2] = b; + h[g + 8 >> 3] = +h[b + 40 >> 3]; + f = b; + d = c[b >> 2] | 0; + while (1) { + c[f >> 2] = d | 4; + d = c[c[f + 36 >> 2] >> 2] | 0; + if (!d) break; + e = c[d + 24 >> 2] | 0; + if (!e) break; + d = c[e >> 2] | 0; + if (d & 1 | 0) break; else f = e + } + h[g + 16 >> 3] = +h[f + 56 >> 3]; + RN(j, g, +h[b + 48 >> 3]) + } + i = i + 1 | 0 + } + return j | 0 + } + + function kN(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0; + j = Cw(25588, c[4555] | 0) | 0; + k = a + 8 | 0; + i = 0; + while (1) { + if ((i | 0) >= (c[a >> 2] | 0)) break; + b = (c[k >> 2] | 0) + (i * 72 | 0) | 0; + if (!(c[b >> 2] & 2)) { + while (1) { + d = c[(c[b + 36 >> 2] | 0) + 12 >> 2] | 0; + if (!d) break; + d = c[d + 20 >> 2] | 0; + if (!d) break; + if (!(c[d >> 2] & 1)) b = d; else break + } + g = uH(40) | 0; + c[g + 36 >> 2] = b; + h[g + 8 >> 3] = +h[b + 48 >> 3]; + f = b; + d = c[b >> 2] | 0; + while (1) { + c[f >> 2] = d | 2; + d = c[(c[f + 36 >> 2] | 0) + 4 >> 2] | 0; + if (!d) break; + e = c[d + 24 >> 2] | 0; + if (!e) break; + d = c[e >> 2] | 0; + if (d & 1 | 0) break; else f = e + } + h[g + 16 >> 3] = +h[f + 64 >> 3]; + RN(j, g, +h[b + 40 >> 3]) + } + i = i + 1 | 0 + } + return j | 0 + } + + function lN(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + j = e + 20 | 0; + i = e + 24 | 0; + e = 0; + while (1) { + if ((e | 0) >= (b | 0)) break; + g = c[d + (e << 3) >> 2] | 0; + h = c[d + (e << 3) + 4 >> 2] | 0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + k = h + (f * 56 | 0) | 0; + QN(uN(c[((a[k >> 0] | 0) == 0 ? j : i) >> 2] | 0, k) | 0, k); + f = f + 1 | 0 + } + e = e + 1 | 0 + } + return + } + + function mN(a) { + a = a | 0; + var b = 0, d = 0; + d = a + 20 | 0; + wN(c[d >> 2] | 0); + b = a + 24 | 0; + wN(c[b >> 2] | 0); + xN(c[d >> 2] | 0); + xN(c[b >> 2] | 0); + yN(c[d >> 2] | 0, a); + yN(c[b >> 2] | 0, a); + zN(c[d >> 2] | 0); + zN(c[b >> 2] | 0); + return + } + + function nN(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, + w = 0, x = 0, y = 0, z = 0, A = 0.0, B = 0.0, C = 0.0, D = 0, E = 0.0; + z = l; + l = l + 224 | 0; + n = z + 176 | 0; + m = z + 208 | 0; + x = z + 160 | 0; + y = z + 128 | 0; + k = z + 96 | 0; + t = z + 64 | 0; + u = z; + o = z + 32 | 0; + v = u + 8 | 0; + h[v >> 3] = 1797693134862315708145274.0e284; + h[u >> 3] = 1797693134862315708145274.0e284; + w = u + 24 | 0; + h[w >> 3] = -1797693134862315708145274.0e284; + p = u + 16 | 0; + h[p >> 3] = -1797693134862315708145274.0e284; + D1(107157, a) | 0; + c[n >> 2] = 10; + c[n + 4 >> 2] = 10; + g1(a, 107563, n) | 0; + D1(135183, a) | 0; + i = b + 4 | 0; + j = b + 12 | 0; + q = t + 8 | 0; + r = t + 16 | 0; + s = t + 24 | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[i >> 2] | 0)) break; + D = (c[j >> 2] | 0) + (g * 72 | 0) + 40 | 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]; + c[t + 16 >> 2] = c[D + 16 >> 2]; + c[t + 20 >> 2] = c[D + 20 >> 2]; + c[t + 24 >> 2] = c[D + 24 >> 2]; + c[t + 28 >> 2] = c[D + 28 >> 2]; + C = +h[q >> 3]; + B = +h[r >> 3]; + A = +h[s >> 3]; + h[k >> 3] = +h[t >> 3]; + h[k + 8 >> 3] = C; + h[k + 16 >> 3] = B; + h[k + 24 >> 3] = A; + g1(a, 135202, k) | 0; + g = g + 1 | 0 + } + g = 0; + while (1) { + if ((g | 0) >= (d | 0)) break; + D = c[f + (g << 3) + 4 >> 2] | 0; + k = e + (g << 3) | 0; + c[m >> 2] = c[k >> 2]; + c[m + 4 >> 2] = c[k + 4 >> 2]; + c[n >> 2] = c[u >> 2]; + c[n + 4 >> 2] = c[u + 4 >> 2]; + c[n + 8 >> 2] = c[u + 8 >> 2]; + c[n + 12 >> 2] = c[u + 12 >> 2]; + c[n + 16 >> 2] = c[u + 16 >> 2]; + c[n + 20 >> 2] = c[u + 20 >> 2]; + c[n + 24 >> 2] = c[u + 24 >> 2]; + c[n + 28 >> 2] = c[u + 28 >> 2]; + vN(o, a, D, m, b, n); + c[u >> 2] = c[o >> 2]; + c[u + 4 >> 2] = c[o + 4 >> 2]; + c[u + 8 >> 2] = c[o + 8 >> 2]; + c[u + 12 >> 2] = c[o + 12 >> 2]; + c[u + 16 >> 2] = c[o + 16 >> 2]; + c[u + 20 >> 2] = c[o + 20 >> 2]; + c[u + 24 >> 2] = c[o + 24 >> 2]; + c[u + 28 >> 2] = c[o + 28 >> 2]; + g = g + 1 | 0 + } + D1(107580, a) | 0; + i = b + 8 | 0; + g = 0; + while (1) { + if ((g | 0) >= (c[b >> 2] | 0)) break; + D = (c[i >> 2] | 0) + (g * 72 | 0) + 40 | 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]; + c[t + 16 >> 2] = c[D + 16 >> 2]; + c[t + 20 >> 2] = c[D + 20 >> 2]; + c[t + 24 >> 2] = c[D + 24 >> 2]; + c[t + 28 >> 2] = c[D + 28 >> 2]; + E = +h[t >> 3]; + A = +h[q >> 3]; + B = +h[r >> 3]; + C = +h[s >> 3]; + h[y >> 3] = E; + h[y + 8 >> 3] = A; + h[y + 16 >> 3] = B; + h[y + 24 >> 3] = C; + g1(a, 135239, y) | 0; + h[u >> 3] = +h[(+h[u >> 3] < E ? u : t) >> 3]; + h[v >> 3] = +h[(+h[v >> 3] < A ? u : t) + 8 >> 3]; + h[p >> 3] = +h[(+h[p >> 3] > B ? u : t) + 16 >> 3]; + h[w >> 3] = +h[(+h[w >> 3] > C ? u : t) + 24 >> 3]; + g = g + 1 | 0 + } + v = ~~(+h[v >> 3] + 10.0); + y = ~~(+h[p >> 3] + 10.0); + D = ~~(+h[w >> 3] + 10.0); + c[x >> 2] = ~~(+h[u >> 3] + 10.0); + c[x + 4 >> 2] = v; + c[x + 8 >> 2] = y; + c[x + 12 >> 2] = D; + g1(a, 107605, x) | 0; + l = z; + return + } + + function oN(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, 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; + N = l; + l = l + 112 | 0; + F = N + 88 | 0; + E = N + 72 | 0; + M = N + 32 | 0; + I = N + 16 | 0; + J = N; + K = N + 56 | 0; + L = N + 40 | 0; + G = c[15686] | 0; + w = (i | 0) == 0; + x = J + 8 | 0; + y = I + 8 | 0; + v = 0; + m = 0; + n = 0; + o = 0; + p = 0; + i = 0; + while (1) { + if ((v | 0) >= (e | 0)) break; + z = c[g + (v << 3) + 4 >> 2] | 0; + A = z + 48 | 0; + u = (c[(c[((c[z >> 2] & 3 | 0) == 3 ? z : A) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + B = z + 16 | 0; + C = (c[B >> 2] | 0) + 16 | 0; + c[E >> 2] = c[u >> 2]; + c[E + 4 >> 2] = c[u + 4 >> 2]; + c[E + 8 >> 2] = c[u + 8 >> 2]; + c[E + 12 >> 2] = c[u + 12 >> 2]; + c[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]; + pN(K, E, F); + c[I >> 2] = c[K >> 2]; + c[I + 4 >> 2] = c[K + 4 >> 2]; + c[I + 8 >> 2] = c[K + 8 >> 2]; + c[I + 12 >> 2] = c[K + 12 >> 2]; + C = z + -48 | 0; + u = (c[(c[((c[z >> 2] & 3 | 0) == 2 ? z : C) + 40 >> 2] | 0) + 16 >> 2] | 0) + 16 | 0; + t = (c[B >> 2] | 0) + 56 | 0; + c[E >> 2] = c[u >> 2]; + c[E + 4 >> 2] = c[u + 4 >> 2]; + c[E + 8 >> 2] = c[u + 8 >> 2]; + c[E + 12 >> 2] = c[u + 12 >> 2]; + c[F >> 2] = c[t >> 2]; + c[F + 4 >> 2] = c[t + 4 >> 2]; + c[F + 8 >> 2] = c[t + 8 >> 2]; + c[F + 12 >> 2] = c[t + 12 >> 2]; + pN(L, E, F); + c[J >> 2] = c[L >> 2]; + c[J + 4 >> 2] = c[L + 4 >> 2]; + c[J + 8 >> 2] = c[L + 8 >> 2]; + c[J + 12 >> 2] = c[L + 12 >> 2]; + t = c[f + (v << 3) >> 2] | 0; + u = c[f + (v << 3) + 4 >> 2] | 0; + s = t * 3 | 0; + D = s + 1 | 0; + if ((s | 0) >= (n | 0)) { + if (m | 0) D_(i); + p = vH(D << 4) | 0; + m = p; + n = D; + o = p; + i = p + } + if (!(a[u >> 0] | 0)) { + k = +(rN(u, d) | 0); + j = +h[I >> 3] + } else { + j = +qN(u, d); + k = +h[y >> 3] + } + r = m + 16 | 0; + h[m + 16 >> 3] = j; + h[m + 24 >> 3] = k; + 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]; + r = 1; + q = u; + s = 2; + while (1) { + if ((r | 0) >= (t | 0)) break; + q = u + (r * 56 | 0) | 0; + if (!(a[q >> 0] | 0)) k = +(rN(q, d) | 0); else j = +qN(q, d); + O = m + (s + 2 << 4) | 0; + Q = m + (s + 1 << 4) | 0; + P = m + (s << 4) | 0; + h[P >> 3] = j; + h[m + (s << 4) + 8 >> 3] = k; + 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[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]; + r = r + 1 | 0; + s = s + 3 | 0 + } + if (!(a[q >> 0] | 0)) { + k = +(rN(q, d) | 0); + j = +h[J >> 3] + } else { + j = +qN(q, d); + k = +h[x >> 3] + } + Q = m + (s << 4) | 0; + O = s + 1 | 0; + P = m + (O << 4) | 0; + h[P >> 3] = j; + h[m + (O << 4) + 8 >> 3] = k; + 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 (0 > 1) { + P = ry(c[((c[z >> 2] & 3 | 0) == 3 ? z : A) + 40 >> 2] | 0) | 0; + Q = ry(c[((c[z >> 2] & 3 | 0) == 2 ? z : C) + 40 >> 2] | 0) | 0; + c[M >> 2] = P; + c[M + 4 >> 2] = Q; + g1(G, 107116, M) | 0 + } + QK(z, c[((c[z >> 2] & 3 | 0) == 2 ? z : C) + 40 >> 2] | 0, m, D, 25576); + if ((!w ? (H = c[(c[B >> 2] | 0) + 96 >> 2] | 0, H | 0) : 0) ? (a[H + 81 >> 0] | 0) == 0 : 0) { + c[E >> 2] = c[I >> 2]; + c[E + 4 >> 2] = c[I + 4 >> 2]; + c[E + 8 >> 2] = c[I + 8 >> 2]; + c[E + 12 >> 2] = c[I + 12 >> 2]; + 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]; + jL(b, z, E, F) + } + v = v + 1 | 0 + } + D_(o); + l = N; + return + } + + function pN(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 qN(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0; + b = uN(c[b + 24 >> 2] | 0, a) | 0; + e = c[b + 36 >> 2] | 0; + d = +h[e + 40 >> 3]; + return +((+h[e + 56 >> 3] - d) * (+(c[a + 44 >> 2] | 0) / +((c[b + 24 >> 2] | 0) + 1 | 0)) + d) + } + + function rN(a, b) { + a = a | 0; + b = b | 0; + var d = 0.0, e = 0; + e = uN(c[b + 20 >> 2] | 0, a) | 0; + b = c[e + 36 >> 2] | 0; + d = +h[b + 48 >> 3]; + return ~~((1.0 - +(c[a + 44 >> 2] | 0) / +((c[e + 24 >> 2] | 0) + 1 | 0)) * (+h[b + 64 >> 3] - d) + d) | 0 + } + + function sN(a) { + a = a | 0; + return 0 + } + + function tN(a) { + a = a | 0; + return 0 + } + + function uN(a, b) { + a = a | 0; + b = b | 0; + a = nb[c[a >> 2] & 63](a, b + 8 | 0, 512) | 0; + if (!a) qa(107129, 107135, 423, 107143); + a = c[a + 16 >> 2] | 0; + a = nb[c[a >> 2] & 63](a, b + 16 | 0, 512) | 0; + if (!a) qa(107154, 107135, 425, 107143); else return a | 0; + return 0 + } + + function vN(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0.0, q = 0.0, r = 0.0, s = 0.0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, z = 0, A = 0, B = 0.0, C = 0.0, D = 0.0; + z = l; + l = l + 32 | 0; + y = z + 16 | 0; + u = z + 8 | 0; + m = z; + j = c[(c[(c[((c[e >> 2] & 3 | 0) == 3 ? e : e + 48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0; + t = c[f + 4 >> 2] | 0; + if (!(a[t >> 0] | 0)) { + k = +h[j + 56 >> 3]; + s = +h[j + 40 >> 3]; + j = rN(t, g) | 0; + k = (s + k) * .5 + } else { + k = +h[j + 64 >> 3]; + s = +h[j + 48 >> 3]; + j = ~~((s + k) * .5); + k = +qN(t, g) + } + A = ~~k; + p = +h[i >> 3]; + r = +(A | 0); + p = p < r ? p : r; + h[i >> 3] = p; + v = i + 8 | 0; + q = +h[v >> 3]; + s = +(j | 0); + q = q < s ? q : s; + h[v >> 3] = q; + w = i + 16 | 0; + k = +h[w >> 3]; + r = k > r ? k : r; + h[w >> 3] = r; + x = i + 24 | 0; + k = +h[x >> 3]; + s = k > s ? k : s; + h[x >> 3] = s; + c[m >> 2] = A; + c[m + 4 >> 2] = j; + g1(d, 107656, m) | 0; + o = c[f >> 2] | 0; + m = t; + n = 1; + f = A; + while (1) { + if ((n | 0) >= (o | 0)) break; + m = t + (n * 56 | 0) | 0; + if (!(a[m >> 0] | 0)) j = rN(m, g) | 0; else f = ~~+qN(m, g); + B = +(f | 0); + D = p < B ? p : B; + h[i >> 3] = D; + k = +(j | 0); + C = q < k ? q : k; + h[v >> 3] = C; + B = r > B ? r : B; + h[w >> 3] = B; + k = s > k ? s : k; + h[x >> 3] = k; + c[u >> 2] = f; + c[u + 4 >> 2] = j; + g1(d, 107678, u) | 0; + n = n + 1 | 0; + p = D; + q = C; + r = B; + s = k + } + j = c[(c[(c[((c[e >> 2] & 3 | 0) == 2 ? e : e + -48 | 0) + 40 >> 2] | 0) + 16 >> 2] | 0) + 112 >> 2] | 0; + if (!(a[m >> 0] | 0)) { + k = +h[j + 56 >> 3]; + D = +h[j + 40 >> 3]; + j = rN(m, g) | 0; + k = (D + k) * .5 + } else { + k = +h[j + 64 >> 3]; + D = +h[j + 48 >> 3]; + j = ~~((D + k) * .5); + k = +qN(m, g) + } + A = ~~k; + C = +(A | 0); + h[i >> 3] = p < C ? p : C; + D = +(j | 0); + h[v >> 3] = q < D ? q : D; + h[w >> 3] = r > C ? r : C; + h[x >> 3] = s > D ? s : D; + c[y >> 2] = A; + c[y + 4 >> 2] = j; + g1(d, 107692, y) | 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[b + 16 >> 2] = c[i + 16 >> 2]; + c[b + 20 >> 2] = c[i + 20 >> 2]; + c[b + 24 >> 2] = c[i + 24 >> 2]; + c[b + 28 >> 2] = c[i + 28 >> 2]; + l = z; + return + } + + function wN(a) { + a = a | 0; + var b = 0; + a = Aw(a) | 0; + while (1) { + if (!a) break; + b = Aw(c[a + 16 >> 2] | 0) | 0; + while (1) { + if (!b) break; + c[b + 32 >> 2] = $N(c[b + 24 >> 2] | 0) | 0; + b = c[b >> 2] | 0 + } + a = c[a >> 2] | 0 + } + return + } + + function xN(a) { + a = a | 0; + var b = 0; + a = Aw(a) | 0; + while (1) { + if (!a) break; + b = Aw(c[a + 16 >> 2] | 0) | 0; + while (1) { + if (!b) break; + if (c[b + 24 >> 2] | 0) PN(b); + b = c[b >> 2] | 0 + } + a = c[a >> 2] | 0 + } + return + } + + function yN(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = Aw(a) | 0; + while (1) { + if (!d) break; + a = Aw(c[d + 16 >> 2] | 0) | 0; + while (1) { + if (!a) break; + DN(a, b); + a = c[a >> 2] | 0 + } + d = c[d >> 2] | 0 + } + return + } + + function zN(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, i = 0; + e = Aw(a) | 0; + while (1) { + if (!e) break; + i = e + 8 | 0; + f = Aw(c[e + 16 >> 2] | 0) | 0; + while (1) { + if (!f) break; + a = f + 24 | 0; + a:do if (c[a >> 2] | 0) { + if (c[46553] & 8 | 0) AN(f, ~~+h[i >> 3]); + g = f + 32 | 0; + eO(c[g >> 2] | 0); + b = c[a >> 2] | 0; + d = f + 28 | 0; + a = 0; + while (1) { + if ((a | 0) >= (b | 0)) break a; + c[(c[(c[d >> 2] | 0) + (a << 2) >> 2] | 0) + 44 >> 2] = (c[(c[(c[g >> 2] | 0) + 4 >> 2] | 0) + (a * 12 | 0) + 4 >> 2] | 0) + 1; + a = a + 1 | 0 + } + } while (0); + f = c[f >> 2] | 0 + } + e = c[e >> 2] | 0 + } + return + } + + function AN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0.0, m = 0.0; + j = l; + l = l + 32 | 0; + d = j; + g = a + 24 | 0; + a:do if ((c[g >> 2] | 0) >= 2) { + i = c[15686] | 0; + m = +h[a + 8 >> 3]; + k = +h[a + 16 >> 3]; + c[d >> 2] = b; + h[d + 8 >> 3] = m; + h[d + 16 >> 3] = k; + g1(i, 107713, d) | 0; + f = a + 32 | 0; + a = a + 28 | 0; + b = 0; + while (1) { + if ((b | 0) >= (c[g >> 2] | 0)) break a; + e = c[(c[(c[f >> 2] | 0) + 4 >> 2] | 0) + (b * 12 | 0) + 8 >> 2] | 0; + b:do if (Ew(e) | 0) { + BN(i, c[(c[a >> 2] | 0) + (b << 2) >> 2] | 0); + D1(107733, i) | 0; + d = nb[c[e >> 2] & 63](e, 0, 128) | 0; + while (1) { + if (!d) break b; + D1(107738, i) | 0; + BN(i, c[(c[a >> 2] | 0) + (c[d >> 2] << 2) >> 2] | 0); + D1(150517, i) | 0; + d = nb[c[e >> 2] & 63](e, d, 8) | 0 + } + } while (0); + b = b + 1 | 0 + } + } while (0); + l = j; + return + } + + function BN(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0.0, k = 0.0, m = 0.0; + g = l; + l = l + 80 | 0; + f = g + 40 | 0; + e = g; + if (!(a[d >> 0] | 0)) { + m = +h[d + 16 >> 3]; + j = +h[d + 8 >> 3]; + k = +h[d + 24 >> 3]; + i = CN(c[d + 32 >> 2] | 0) | 0; + e = CN(c[d + 36 >> 2] | 0) | 0; + h[f >> 3] = m; + h[f + 8 >> 3] = j; + h[f + 16 >> 3] = k; + h[f + 24 >> 3] = j; + c[f + 32 >> 2] = i; + c[f + 36 >> 2] = e; + g1(b, 107744, f) | 0 + } else { + k = +h[d + 8 >> 3]; + j = +h[d + 16 >> 3]; + m = +h[d + 24 >> 3]; + f = CN(c[d + 32 >> 2] | 0) | 0; + i = CN(c[d + 36 >> 2] | 0) | 0; + h[e >> 3] = k; + h[e + 8 >> 3] = j; + h[e + 16 >> 3] = k; + h[e + 24 >> 3] = m; + c[e + 32 >> 2] = f; + c[e + 36 >> 2] = i; + g1(b, 107744, e) | 0 + } + l = g; + return + } + + function CN(a) { + a = a | 0; + switch (a | 0) { + case 0: { + a = 107795; + break + } + case 1: { + a = 107790; + break + } + case 2: { + a = 107783; + break + } + case 3: { + a = 107776; + break + } + case 4: { + a = 107768; + break + } + default: + a = 0 + } + return a | 0 + } + + function DN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0; + w = l; + l = l + 16 | 0; + r = w + 8 | 0; + t = w; + u = c[a + 32 >> 2] | 0; + v = c[a + 28 >> 2] | 0; + p = a + 24 | 0; + m = r + 4 | 0; + n = t + 4 | 0; + j = 0; + a = c[p >> 2] | 0; + a:while (1) { + q = j + 1 | 0; + if ((q | 0) >= (a | 0)) break; + o = v + (j << 2) | 0; + k = q; + while (1) { + if ((k | 0) >= (a | 0)) { + j = q; + continue a + } + b:do if (((dO(u, j, k) | 0) == 0 ? (dO(u, k, j) | 0) == 0 : 0) ? (s = v + (k << 2) | 0, EN(c[o >> 2] | 0, c[s >> 2] | 0) | 0) : 0) { + f = c[o >> 2] | 0; + a = c[f + 48 >> 2] | 0; + i = c[s >> 2] | 0; + d = c[i + 48 >> 2] | 0; + e = (d | 0) == 0; + if (a) if (e) a = 1; else a = +h[a + 8 >> 3] != +h[d + 8 >> 3]; else a = e ^ 1; + g = a & 1; + FN(r, f, i, 0, g); + a = c[r >> 2] | 0; + i = c[m >> 2] | 0; + f = g ^ 1; + FN(t, c[o >> 2] | 0, c[s >> 2] | 0, 1, f); + d = c[t >> 2] | 0; + e = c[n >> 2] | 0; + switch (i | 0) { + case -1: { + GN(c[s >> 2] | 0, c[o >> 2] | 0, g, 0, a, b); + GN(c[s >> 2] | 0, c[o >> 2] | 0, f, 1, d, b); + if ((e | 0) != 1) break b; + HN(c[o >> 2] | 0, c[s >> 2] | 0, f, b); + break b + } + case 0: + switch (e | 0) { + case -1: { + GN(c[s >> 2] | 0, c[o >> 2] | 0, g, 0, a, b); + GN(c[s >> 2] | 0, c[o >> 2] | 0, f, 1, d, b); + break b + } + case 0: { + GN(c[o >> 2] | 0, c[s >> 2] | 0, 0, g, a, b); + GN(c[o >> 2] | 0, c[s >> 2] | 0, 1, f, d, b); + break b + } + case 1: { + GN(c[o >> 2] | 0, c[s >> 2] | 0, 0, g, a, b); + GN(c[o >> 2] | 0, c[s >> 2] | 0, 1, f, d, b); + break b + } + default: + break b + } + case 1: { + GN(c[o >> 2] | 0, c[s >> 2] | 0, 0, g, a, b); + GN(c[o >> 2] | 0, c[s >> 2] | 0, 1, f, d, b); + if ((e | 0) != -1) break b; + HN(c[o >> 2] | 0, c[s >> 2] | 0, f, b); + break b + } + default: + break b + } + } while (0); + k = k + 1 | 0; + a = c[p >> 2] | 0 + } + } + l = w; + return + } + + function EN(a, b) { + a = a | 0; + b = b | 0; + if (!(+h[a + 8 >> 3] == +h[b + 8 >> 3])) qa(107866, 107135, 843, 107897); + if ((+h[a + 16 >> 3] == +h[b + 16 >> 3] ? +h[a + 24 >> 3] == +h[b + 24 >> 3] : 0) ? (c[a + 32 >> 2] | 0) == (c[b + 32 >> 2] | 0) : 0) a = (c[a + 36 >> 2] | 0) == (c[b + 36 >> 2] | 0) & 1; else a = 0; + return a | 0 + } + + function FN(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0; + g = 0; + while (1) { + b = IN(b, e) | 0; + if (!b) { + h = 0; + break + } + d = IN(d, f) | 0; + if (!d) { + i = 6; + break + } + if (!(EN(b, d) | 0)) { + i = 7; + break + } + g = g + 1 | 0 + } + if ((i | 0) == 6) qa(135312, 107135, 871, 107815); else if ((i | 0) == 7) h = KN(b, JN(b, d) | 0, g + 1 | 0, 1 - e | 0) | 0; + c[a >> 2] = g; + c[a + 4 >> 2] = h; + return + } + + function GN(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + o = i + 20 | 0; + n = i + 24 | 0; + i = uN(c[((a[b >> 0] | 0) == 0 ? o : n) >> 2] | 0, b) | 0; + bO(c[i + 32 >> 2] | 0, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0); + k = 1; + while (1) { + if ((k | 0) > (g | 0)) break; + l = IN(b, e) | 0; + m = IN(d, f) | 0; + do if (!(a[b >> 0] | 0)) { + j = uN(c[n >> 2] | 0, l) | 0; + if (+h[l + 8 >> 3] == +h[b + 16 >> 3]) { + p = (c[b + 32 >> 2] | 0) == 1; + i = (dO(c[i + 32 >> 2] | 0, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0) | 0) != 0; + b = c[j + 32 >> 2] | 0; + if (p) if (i) { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else if (i) { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } + } else { + p = (c[b + 36 >> 2] | 0) == 1; + i = (dO(c[i + 32 >> 2] | 0, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0) | 0) != 0; + b = c[j + 32 >> 2] | 0; + if (p) if (i) { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else if (i) { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } + } + } else { + j = uN(c[o >> 2] | 0, l) | 0; + if (+h[l + 8 >> 3] == +h[b + 16 >> 3]) { + p = (c[b + 32 >> 2] | 0) == 2; + i = (dO(c[i + 32 >> 2] | 0, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0) | 0) != 0; + b = c[j + 32 >> 2] | 0; + if (p) if (i) { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else if (i) { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } + } else { + p = (c[b + 36 >> 2] | 0) == 2; + i = (dO(c[i + 32 >> 2] | 0, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0) | 0) != 0; + b = c[j + 32 >> 2] | 0; + if (p) if (i) { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else if (i) { + bO(b, c[l + 40 >> 2] | 0, c[m + 40 >> 2] | 0); + i = j; + break + } else { + bO(b, c[m + 40 >> 2] | 0, c[l + 40 >> 2] | 0); + i = j; + break + } + } + } while (0); + b = l; + d = m; + k = k + 1 | 0 + } + return + } + + function HN(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + while (1) { + if (!(EN(b, d) | 0)) break; + g = IN(b, 1) | 0; + d = IN(d, e) | 0; + b = g + } + g = c[(uN(c[((a[b >> 0] | 0) == 0 ? f + 20 | 0 : f + 24 | 0) >> 2] | 0, b) | 0) + 32 >> 2] | 0; + cO(g, c[b + 40 >> 2] | 0, c[d + 40 >> 2] | 0); + return + } + + function IN(a, b) { + a = a | 0; + b = b | 0; + if (!a) qa(107802, 107135, 798, 107806); else return c[((b | 0) == 0 ? a + 48 | 0 : a + 52 | 0) >> 2] | 0; + return 0 + } + + function JN(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + d = a[b >> 0] | 0; + if (d << 24 >> 24 == (a[c >> 0] | 0) ? !(+h[b + 8 >> 3] != +h[c + 8 >> 3]) : 0) { + if (!(d << 24 >> 24)) b = LN(b, c, 3, 1) | 0; else b = LN(b, c, 4, 2) | 0; + l = f; + return b | 0 + } + Pw(1, 107828, e) | 0; + bb(186216, 1); + return 0 + } + + function KN(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, i = 0, j = 0; + j = 1; + while (1) { + if ((j | 0) > (e | 0)) break; + i = IN(b, f) | 0; + g = +h[i + 8 >> 3] == +h[b + 16 >> 3]; + do if (!(a[b >> 0] | 0)) if (g) { + g = (c[b + 32 >> 2] | 0) == 1; + break + } else { + g = (c[b + 36 >> 2] | 0) == 3; + break + } else if (g) { + g = (c[b + 32 >> 2] | 0) == 4; + break + } else { + g = (c[b + 36 >> 2] | 0) == 2; + break + } while (0); + b = i; + j = j + 1 | 0; + d = g ? 0 - d | 0 : d + } + return d | 0 + } + + function LN(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0.0, i = 0.0, j = 0.0, k = 0.0, l = 0, m = 0, n = 0, o = 0; + j = +h[a + 24 >> 3]; + k = +h[b + 16 >> 3]; + do if (!(j < k) ? (g = +h[a + 16 >> 3], i = +h[b + 24 >> 3], !(g > i)) : 0) { + if (k < j & g < k) { + b = MN(a, b, d, e) | 0; + break + } + if (k < g & g < i) { + b = 0 - (MN(b, a, d, e) | 0) | 0; + break + } + if (!(g == k)) if (j == k) { + d = c[a + 36 >> 2] | 0; + return ((d | 0) == (c[b + 32 >> 2] | 0) ? 0 : (d | 0) == (e | 0) ? 1 : -1) | 0 + } else { + d = c[a + 32 >> 2] | 0; + b = (d | 0) == (c[b + 36 >> 2] | 0) ? 0 : (d | 0) == (e | 0) ? 1 : -1; + break + } + if (!(j == i)) if (j < i) { + o = (c[a + 36 >> 2] | 0) == (d | 0); + d = ON(c[b + 32 >> 2] | 0, c[a + 32 >> 2] | 0, d, e) | 0; + return (o ? d : 0 - d | 0) | 0 + } else { + o = (c[b + 36 >> 2] | 0) == (e | 0); + b = ON(c[a + 32 >> 2] | 0, c[b + 32 >> 2] | 0, d, e) | 0; + b = o ? b : 0 - b | 0; + break + } + o = c[a + 32 >> 2] | 0; + n = c[b + 32 >> 2] | 0; + if ((o | 0) == (n | 0)) { + b = c[b + 36 >> 2] | 0; + if ((c[a + 36 >> 2] | 0) == (b | 0)) { + b = 0; + break + } + } else b = c[b + 36 >> 2] | 0; + m = (n | 0) == (d | 0); + if ((n | 0) == (b | 0)) { + if (m) { + b = 1; + break + } + if ((n | 0) == (e | 0)) { + b = -1; + break + } + if ((o | 0) != (d | 0) ? (c[a + 36 >> 2] | 0) != (d | 0) : 0) { + b = 1; + break + } + if ((o | 0) != (e | 0) ? (c[a + 36 >> 2] | 0) != (e | 0) : 0) { + b = -1; + break + } + b = 0; + break + } + f = (b | 0) == (e | 0); + if (m & f) { + b = (c[a + 36 >> 2] | 0) == (e | 0); + if ((o | 0) == (d | 0)) { + if (!b) { + b = -1; + break + } + } else if (b) { + b = 1; + break + } + b = 0; + break + } + l = (b | 0) == (d | 0); + if ((n | 0) == (e | 0) & l) { + b = (o | 0) == (e | 0); + if ((c[a + 36 >> 2] | 0) == (d | 0)) { + if (!b) { + b = -1; + break + } + } else if (b) { + b = 1; + break + } + b = 0; + break + } + if (!n) { + if (l) { + b = NN(o, c[a + 36 >> 2] | 0, d) | 0; + break + } + if (f) { + b = 0 - (NN(o, c[a + 36 >> 2] | 0, e) | 0) | 0; + break + } + } + f = c[a + 36 >> 2] | 0; + if (m & (b | 0) == 0) { + b = NN(f, o, d) | 0; + break + } else { + b = 0 - (NN(f, o, e) | 0) | 0; + break + } + } else b = 0; while (0); + return b | 0 + } + + function MN(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0.0, j = 0.0; + i = +h[a + 24 >> 3]; + j = +h[b + 24 >> 3]; + do if (i < j) { + a = c[a + 36 >> 2] | 0; + if ((a | 0) == (d | 0) ? (c[b + 32 >> 2] | 0) == (e | 0) : 0) { + a = -1; + break + } + if ((a | 0) == (e | 0) ? (c[b + 32 >> 2] | 0) == (d | 0) : 0) { + a = 1; + break + } + a = 0 + } else { + f = c[b + 32 >> 2] | 0; + g = (f | 0) == (e | 0); + if (i == j) if (g) { + a = ON(c[a + 36 >> 2] | 0, c[b + 36 >> 2] | 0, d, e) | 0; + break + } else { + a = 0 - (ON(c[b + 36 >> 2] | 0, c[a + 36 >> 2] | 0, d, e) | 0) | 0; + break + } + if (g ? (c[b + 36 >> 2] | 0) == (e | 0) : 0) { + a = -1; + break + } + if ((f | 0) == (d | 0) ? (c[b + 36 >> 2] | 0) == (d | 0) : 0) { + a = 1; + break + } + a = 0 + } while (0); + return a | 0 + } + + function NN(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return ((a | 0) == (c | 0) ? ((b | 0) == (c | 0)) << 31 >> 31 : 1) | 0 + } + + function ON(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + if ((a | 0) == (d | 0)) { + b = (a | 0) == 0; + if (b) return 0; else b = b & 1 + } + return ((a | 0) != 0 | (b | 0) != (c | 0)) << 31 >> 31 | 0 + } + + function PN(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + g = c[a + 28 >> 2] | 0; + h = c[a + 24 >> 2] | 0; + d = c[a + 32 >> 2] | 0; + a = 0; + a:while (1) { + e = a + 1 | 0; + if ((e | 0) >= (h | 0)) break; + f = g + (a << 2) | 0; + b = e; + while (1) { + if ((b | 0) == (h | 0)) { + a = e; + continue a + } + switch (JN(c[f >> 2] | 0, c[g + (b << 2) >> 2] | 0) | 0) { + case 1: { + bO(d, a, b); + break + } + case -1: { + bO(d, b, a); + break + } + default: { + } + } + b = b + 1 | 0 + } + } + return + } + + function QN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 24 | 0; + e = c[f >> 2] | 0; + d = e + 1 | 0; + c[f >> 2] = d; + c[b + 40 >> 2] = e; + e = a + 28 | 0; + a = c[e >> 2] | 0; + if (!a) a = vH(d << 2) | 0; else a = xH(a, d << 2) | 0; + c[e >> 2] = a; + c[a + ((c[f >> 2] | 0) + -1 << 2) >> 2] = b; + return + } + + function RN(a, b, d) { + a = a | 0; + b = b | 0; + d = +d; + var e = 0, f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g; + h[f >> 3] = d; + e = nb[c[a >> 2] & 63](a, f, 512) | 0; + if (!e) { + e = uH(24) | 0; + h[e + 8 >> 3] = +h[f >> 3]; + c[e + 16 >> 2] = Cw(25624, c[4555] | 0) | 0; + nb[c[a >> 2] & 63](a, e, 1) | 0 + } + f = c[e + 16 >> 2] | 0; + nb[c[f >> 2] & 63](f, b, 1) | 0; + l = g; + return + } + + function SN(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + aO(c[b + 32 >> 2] | 0); + D_(c[b + 28 >> 2] | 0); + D_(b); + return + } + + function TN(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0; + e = +h[b >> 3]; + f = +h[c >> 3]; + if (!(e > f)) if (e < f) a = !(+h[b + 8 >> 3] >= +h[c + 8 >> 3]) << 31 >> 31; else a = 0; else a = !(+h[b + 8 >> 3] <= +h[c + 8 >> 3]) & 1; + return a | 0 + } + + function UN(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + yw(c[b + 16 >> 2] | 0) | 0; + D_(b); + return + } + + function VN(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0.0, f = 0.0; + f = +h[b >> 3]; + e = +h[c >> 3]; + return (f > e ? 1 : (f < e) << 31 >> 31) | 0 + } + + function WN(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0, j = 0; + i = (a[d + 36 >> 0] | 0) != 0; + j = e + 40 | 0; + do if ((c[d + 24 >> 2] | 0) == (e | 0)) { + f = +h[j >> 3]; + if (i) { + g = (+h[e + 64 >> 3] + +h[e + 48 >> 3]) * .5; + break + } else { + g = +h[e + 48 >> 3]; + f = (+h[e + 56 >> 3] + f) * .5; + break + } + } else if (i) { + g = (+h[e + 64 >> 3] + +h[e + 48 >> 3]) * .5; + f = +h[e + 56 >> 3]; + break + } else { + g = +h[e + 64 >> 3]; + f = (+h[e + 56 >> 3] + +h[j >> 3]) * .5; + break + } while (0); + h[b >> 3] = f; + h[b + 8 >> 3] = g; + return + } + + function XN(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = c[a + 20 >> 2] | 0; + if ((d | 0) != (c[b + 20 >> 2] | 0) ? (d | 0) != (c[b + 24 >> 2] | 0) : 0) d = c[a + 24 >> 2] | 0; + return d | 0 + } + + function YN(a, b) { + a = a | 0; + b = b | 0; + var c = 0.0; + c = (+h[b + 64 >> 3] + +h[b + 48 >> 3]) * .5; + h[a >> 3] = (+h[b + 56 >> 3] + +h[b + 40 >> 3]) * .5; + h[a + 8 >> 3] = c; + return + } + + function ZN(b, d, e, f, g, i, j) { + b = b | 0; + d = d | 0; + e = +e; + f = +f; + g = +g; + i = i | 0; + j = j | 0; + var k = 0, l = 0; + a[b >> 0] = d; + h[b + 8 >> 3] = e; + if (f < g) { + k = 0; + l = i; + d = j; + e = f; + f = g + } else { + k = 1; + l = j; + d = i; + e = g + } + h[b + 24 >> 3] = f; + h[b + 16 >> 3] = e; + c[b + 36 >> 2] = d; + c[b + 32 >> 2] = l; + a[b + 1 >> 0] = k; + return + } + + function _N(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = c[b + 36 >> 2] | 0; + do if ((c[e + 4 >> 2] | 0) != (d | 0)) { + if ((c[e + 12 >> 2] | 0) == (d | 0)) { + e = ~~((+h[b + 56 >> 3] + +h[b + 40 >> 3]) * .5); + d = ~~+h[b + 48 >> 3]; + break + } + if ((c[e + 8 >> 2] | 0) == (d | 0)) { + e = ~~+h[b + 40 >> 3]; + d = ~~((+h[b + 64 >> 3] + +h[b + 48 >> 3]) * .5); + break + } + if ((c[e >> 2] | 0) == (d | 0)) { + e = ~~+h[b + 56 >> 3]; + d = ~~((+h[b + 64 >> 3] + +h[b + 48 >> 3]) * .5) + } else { + e = 0; + d = 0 + } + } else { + e = ~~((+h[b + 56 >> 3] + +h[b + 40 >> 3]) * .5); + d = ~~+h[b + 64 >> 3] + } while (0); + c[a >> 2] = e; + c[a + 4 >> 2] = d; + return + } + + function $N(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + d = uH(8) | 0; + c[d >> 2] = a; + e = d + 4 | 0; + c[e >> 2] = uH(a * 12 | 0) | 0; + b = 0; + while (1) { + if ((b | 0) >= (a | 0)) break; + g = yR() | 0; + f = c[e >> 2] | 0; + c[f + (b * 12 | 0) + 8 >> 2] = g; + c[f + (b * 12 | 0) >> 2] = 0; + b = b + 1 | 0 + } + return d | 0 + } + + function aO(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + d = a + 4 | 0; + b = 0; + while (1) { + e = c[d >> 2] | 0; + if ((b | 0) >= (c[a >> 2] | 0)) break; + yw(c[e + (b * 12 | 0) + 8 >> 2] | 0) | 0; + b = b + 1 | 0 + } + D_(e); + D_(a); + return + } + + function bO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = c[(c[a + 4 >> 2] | 0) + (b * 12 | 0) + 8 >> 2] | 0; + nb[c[d >> 2] & 63](d, f, 1) | 0; + l = e; + return + } + + function cO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + a = a + 4 | 0; + g = c[(c[a >> 2] | 0) + (b * 12 | 0) + 8 >> 2] | 0; + nb[c[g >> 2] & 63](g, f, 2) | 0; + c[f >> 2] = b; + d = c[(c[a >> 2] | 0) + (d * 12 | 0) + 8 >> 2] | 0; + nb[c[d >> 2] & 63](d, f, 2) | 0; + l = e; + return + } + + function dO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = c[(c[a + 4 >> 2] | 0) + (b * 12 | 0) + 8 >> 2] | 0; + d = (nb[c[d >> 2] & 63](d, f, 512) | 0) != 0 & 1; + l = e; + return d | 0 + } + + function eO(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = c[a >> 2] | 0; + switch (b | 0) { + case 0: + break; + case 1: { + c[(c[a + 4 >> 2] | 0) + 4 >> 2] = 0; + break + } + default: { + e = fO(b) | 0; + f = a + 4 | 0; + d = 0; + b = 0; + while (1) { + if ((d | 0) >= (c[a >> 2] | 0)) { + b = 0; + break + } + if (!(c[(c[f >> 2] | 0) + (d * 12 | 0) >> 2] | 0)) b = gO(a, d, b, e) | 0; + d = d + 1 | 0 + } + while (1) { + d = hO(e) | 0; + if ((d | 0) <= -1) break; + c[(c[f >> 2] | 0) + (d * 12 | 0) + 4 >> 2] = b; + b = b + 1 | 0 + } + iO(e) + } + } + return + } + + function fO(a) { + a = a | 0; + var b = 0; + b = uH(8) | 0; + c[b + 4 >> 2] = uH(a << 2) | 0; + c[b >> 2] = -1; + return b | 0 + } + + function gO(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + i = a + 4 | 0; + g = c[i >> 2] | 0; + j = g + (b * 12 | 0) | 0; + c[j >> 2] = 1; + g = c[g + (b * 12 | 0) + 8 >> 2] | 0; + h = g + 4 | 0; + d = d + 1 | 0; + g = Aw(g) | 0; + while (1) { + if (!g) break; + f = c[(c[h >> 2] | 0) + 8 >> 2] | 0; + if ((f | 0) < 0) f = c[g + 8 >> 2] | 0; else f = g + (0 - f) | 0; + f = c[f >> 2] | 0; + if (!(c[(c[i >> 2] | 0) + (f * 12 | 0) >> 2] | 0)) d = gO(a, f, d, e) | 0; + g = c[g >> 2] | 0 + } + c[j >> 2] = 2; + jO(e, b); + return d + 1 | 0 + } + + function hO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a >> 2] | 0; + if ((b | 0) == -1) a = -1; else { + d = c[(c[a + 4 >> 2] | 0) + (b << 2) >> 2] | 0; + c[a >> 2] = b + -1; + a = d + } + return a | 0 + } + + function iO(a) { + a = a | 0; + D_(c[a + 4 >> 2] | 0); + D_(a); + return + } + + function jO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = (c[a >> 2] | 0) + 1 | 0; + c[a >> 2] = d; + c[(c[a + 4 >> 2] | 0) + (d << 2) >> 2] = b; + return + } + + function kO(a) { + a = a | 0; + var d = 0, e = 0, f = 0; + e = c[a >> 2] | 0; + c[a + 8 >> 2] = e; + c[a + 12 >> 2] = c[a + 4 >> 2]; + d = a + 16 | 0; + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break; + f = c[d >> 2] | 0; + b[f + (a * 40 | 0) + 18 >> 1] = b[f + (a * 40 | 0) + 16 >> 1] | 0; + a = a + 1 | 0 + } + return + } + + function lO(a) { + a = a | 0; + var d = 0, e = 0, f = 0; + d = c[a + 8 >> 2] | 0; + c[a >> 2] = d; + c[a + 4 >> 2] = c[a + 12 >> 2]; + e = a + 16 | 0; + a = 0; + while (1) { + if ((a | 0) >= (d | 0)) break; + f = c[e >> 2] | 0; + b[f + (a * 40 | 0) + 16 >> 1] = b[f + (a * 40 | 0) + 18 >> 1] | 0; + a = a + 1 | 0 + } + d = d + 2 | 0; + while (1) { + if ((a | 0) >= (d | 0)) break; + b[(c[e >> 2] | 0) + (a * 40 | 0) + 16 >> 1] = 0; + a = a + 1 | 0 + } + return + } + + function mO(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = uH(((c[a >> 2] | 0) * 6 | 0) + (b << 1) << 2) | 0; + c[a + 20 >> 2] = uH((((c[a >> 2] | 0) * 3 | 0) + b | 0) * 24 | 0) | 0; + e = c[a >> 2] | 0; + f = a + 16 | 0; + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break; + c[(c[f >> 2] | 0) + (a * 40 | 0) + 28 >> 2] = d; + d = d + 24 | 0; + a = a + 1 | 0 + } + e = e + 2 | 0; + while (1) { + if ((a | 0) >= (e | 0)) break; + c[(c[f >> 2] | 0) + (a * 40 | 0) + 28 >> 2] = d; + d = d + (b << 2) | 0; + a = a + 1 | 0 + } + return + } + + function nO(a) { + a = a | 0; + var b = 0; + b = uH(24) | 0; + c[b >> 2] = 0; + c[b + 16 >> 2] = uH(a * 40 | 0) | 0; + return b | 0 + } + + function oO(a) { + a = a | 0; + var b = 0, d = 0; + d = c[a + 16 >> 2] | 0; + b = c[a >> 2] | 0; + c[d + (b * 40 | 0) + 32 >> 2] = b; + c[a >> 2] = b + 1; + return d + (b * 40 | 0) | 0 + } + + function pO(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + var f = 0, g = 0; + g = a + 4 | 0; + f = c[g >> 2] | 0; + c[g >> 2] = f + 1; + g = c[a + 20 >> 2] | 0; + a = g + (f * 24 | 0) | 0; + c[g + (f * 24 | 0) + 12 >> 2] = c[b + 32 >> 2]; + c[g + (f * 24 | 0) + 16 >> 2] = c[d + 32 >> 2]; + h[a >> 3] = e; + c[g + (f * 24 | 0) + 8 >> 2] = 0; + qO(b, f); + qO(d, f); + return a | 0 + } + + function qO(a, d) { + a = a | 0; + d = d | 0; + var e = 0, f = 0; + e = a + 16 | 0; + f = b[e >> 1] | 0; + c[(c[a + 28 >> 2] | 0) + (f << 16 >> 16 << 2) >> 2] = d; + b[e >> 1] = f + 1 << 16 >> 16; + return + } + + function rO(a) { + a = a | 0; + var b = 0; + b = a + 16 | 0; + D_(c[(c[b >> 2] | 0) + 28 >> 2] | 0); + D_(c[b >> 2] | 0); + D_(c[a + 20 >> 2] | 0); + D_(a); + return + } + + function sO(a, d, e) { + a = a | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + g = c[a >> 2] | 0; + i = a + 16 | 0; + f = 0; + while (1) { + if ((f | 0) >= (g | 0)) break; + c[(c[i >> 2] | 0) + (f * 40 | 0) >> 2] = -2147483648; + f = f + 1 | 0 + } + GR(); + a:do if (!(JR(d) | 0)) { + c[d + 8 >> 2] = 0; + c[d >> 2] = 0; + d = a + 20 | 0; + b:while (1) { + g = LR() | 0; + if (!g) { + f = 0; + break a + } + c[g >> 2] = 0 - (c[g >> 2] | 0); + if ((g | 0) == (e | 0)) { + f = 0; + break a + } + i = g + 16 | 0; + j = g + 28 | 0; + f = 0; + while (1) { + if ((f | 0) >= (b[i >> 1] | 0)) continue b; + k = (c[d >> 2] | 0) + ((c[(c[j >> 2] | 0) + (f << 2) >> 2] | 0) * 24 | 0) | 0; + l = tO(a, k, g) | 0; + m = c[l >> 2] | 0; + do if ((m | 0) < 0) { + n = ~~-(+h[k >> 3] + +(c[g >> 2] | 0)); + if ((m | 0) == -2147483648) { + c[l >> 2] = n; + if (JR(l) | 0) { + f = 1; + break a + } + c[l + 8 >> 2] = g; + c[l + 12 >> 2] = k; + break + } else { + if ((m | 0) >= (n | 0)) break; + MR(l, n); + c[l + 8 >> 2] = g; + c[l + 12 >> 2] = k; + break + } + } while (0); + f = f + 1 | 0 + } + } + } else f = 1; while (0); + return f | 0 + } + + function tO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = c[b + 12 >> 2] | 0; + if ((e | 0) == (c[d + 32 >> 2] | 0)) e = c[b + 16 >> 2] | 0; + return (c[a + 16 >> 2] | 0) + (e * 40 | 0) | 0 + } + + function uO(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + g = c[a >> 2] | 0; + wC(g, 3, b) | 0; + b = c[g + 92 >> 2] | 0; + do if (b) { + d = c[b + 16 >> 2] | 0; + h = c[d + 12 >> 2] | 0; + c[a + 76 >> 2] = h; + e = c[d + 16 >> 2] | 0; + c[a + 84 >> 2] = e; + f = a + 80 | 0; + c[f >> 2] = c[d >> 2]; + c[a + 88 >> 2] = c[b + 4 >> 2]; + d = a + 152 | 0; + e = c[d >> 2] | c[e >> 2]; + c[d >> 2] = e; + b = c[g + 80 >> 2] | 0; + if (!b) { + c[a + 60 >> 2] = 0; + b = 999; + break + } else { + g = c[b + 16 >> 2] | 0; + c[a + 60 >> 2] = c[g + 12 >> 2]; + i = c[g + 16 >> 2] | 0; + c[a + 68 >> 2] = i; + c[a + 72 >> 2] = c[b + 4 >> 2]; + c[d >> 2] = e | c[i >> 2]; + c[a + 64 >> 2] = c[((h | 0) == 0 ? f : g) >> 2]; + b = 300; + break + } + } else b = 999; while (0); + return b | 0 + } + + function vO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (!(XB(a) | 0)) if ((b | 0) != 0 ? (d = c[b >> 2] | 0, (d | 0) != 0) : 0) { + tb[d & 127](a); + a = 0 + } else a = 0; else a = 1; + return a | 0 + } + + function wO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 4 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + c[(c[a >> 2] | 0) + 24 >> 2] = 0; + dC(a); + return + } + + function xO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0.0, g = 0.0, i = 0.0; + e = +h[b + 504 >> 3]; + f = +h[b + 512 >> 3]; + i = +h[b + 352 >> 3]; + if (!(c[b + 360 >> 2] | 0)) { + g = +h[d >> 3] + e; + d = d + 8 | 0; + e = f + } else g = -(f + +h[d + 8 >> 3]); + f = +h[b + 528 >> 3] * i * (+h[d >> 3] + e); + h[a >> 3] = +h[b + 520 >> 3] * i * g; + h[a + 8 >> 3] = f; + return + } + + function yO(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0.0, g = 0.0, i = 0.0, j = 0.0, k = 0.0; + f = +h[a + 504 >> 3]; + g = +h[a + 512 >> 3]; + i = +h[a + 352 >> 3]; + j = +h[a + 520 >> 3] * i; + i = +h[a + 528 >> 3] * i; + a:do if (!(c[a + 360 >> 2] | 0)) { + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break a; + h[d + (a << 4) >> 3] = (+h[b + (a << 4) >> 3] + f) * j; + h[d + (a << 4) + 8 >> 3] = (+h[b + (a << 4) + 8 >> 3] + g) * i; + a = a + 1 | 0 + } + } else { + a = 0; + while (1) { + if ((a | 0) >= (e | 0)) break a; + k = -(j * (+h[b + (a << 4) + 8 >> 3] + g)); + h[d + (a << 4) + 8 >> 3] = (+h[b + (a << 4) >> 3] + f) * i; + h[d + (a << 4) >> 3] = k; + a = a + 1 | 0 + } + } while (0); + return d | 0 + } + + function zO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 8 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function AO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 12 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + cC(a); + return + } + + function BO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 24 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function CO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 28 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function DO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 16 >> 2] | 0, d | 0) : 0) { + b = c[a + 160 >> 2] | 0; + xb[d & 31](a, c[(c[(c[a >> 2] | 0) + 308 >> 2] | 0) + (b << 2) >> 2] | 0, b, c[a + 156 >> 2] | 0) + } + return + } + + function EO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 20 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function FO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 32 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function GO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 36 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function HO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 40 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function IO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 44 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function JO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 48 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function KO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 52 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function LO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 56 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function MO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 60 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function NO(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 64 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function OO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 68 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function PO(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = c[a + 60 >> 2] | 0; + if (g | 0 ? (h = c[g + 72 >> 2] | 0, h | 0) : 0) yb[h & 15](a, b, d, e, f); + return + } + + function QO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 76 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function RO(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = c[a + 60 >> 2] | 0; + if (d | 0 ? (e = c[d + 80 >> 2] | 0, e | 0) : 0) ub[e & 63](a, b); + return + } + + function SO(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 60 >> 2] | 0; + if (b | 0 ? (d = c[b + 84 >> 2] | 0, d | 0) : 0) tb[d & 127](a); + return + } + + function TO(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 48 | 0; + f = k + 32 | 0; + h = k; + i = k + 16 | 0; + j = c[b + 60 >> 2] | 0; + m = c[e >> 2] | 0; + do if (m | 0 ? a[m >> 0] | 0 : 0) { + m = c[b + 16 >> 2] | 0; + if (m | 0 ? (c[m + 144 >> 2] | 0) == 0 : 0) break; + if (!(c[b + 152 >> 2] & 8192)) { + 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]; + xO(i, b, f); + c[h >> 2] = c[i >> 2]; + c[h + 4 >> 2] = c[i + 4 >> 2]; + c[h + 8 >> 2] = c[i + 8 >> 2]; + c[h + 12 >> 2] = c[i + 12 >> 2] + } else { + 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] + } + if (j | 0 ? (g = c[j + 88 >> 2] | 0, g | 0) : 0) { + c[f >> 2] = c[h >> 2]; + c[f + 4 >> 2] = c[h + 4 >> 2]; + c[f + 8 >> 2] = c[h + 8 >> 2]; + c[f + 12 >> 2] = c[h + 12 >> 2]; + vb[g & 127](b, f, e) + } + } while (0); + l = k; + return + } + + function UO(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + f = c[b + 60 >> 2] | 0; + g = (c[b + 16 >> 2] | 0) + 16 | 0; + i = A$(d, 58) | 0; + h = (i | 0) != 0; + if (h) a[i >> 0] = 0; + if (f | 0 ? (VO(c[b + 68 >> 2] | 0, d, g), e = c[f + 92 >> 2] | 0, e | 0) : 0) ub[e & 63](b, g); + if (h) a[i >> 0] = 58; + return + } + + function VO(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 32 | 0; + g = k + 16 | 0; + j = k + 8 | 0; + i = k; + c[d >> 2] = b; + c[d + 32 >> 2] = 5; + e = iQ(b) | 0; + f = c[a + 16 >> 2] | 0; + if (!((f | 0) != 0 ? (e2(e, f, c[a + 20 >> 2] | 0, 4, 100) | 0) != 0 : 0)) h = 3; + a:do if ((h | 0) == 3) { + switch (jQ(b, d, c[a + 24 >> 2] | 0) | 0) { + case 0: + break a; + case 1: + break; + default: { + Pw(1, 108020, g) | 0; + break a + } + } + a = vH((W_(b) | 0) + 16 | 0) | 0; + c[i >> 2] = b; + Y0(a, 107985, i) | 0; + if (AG(a) | 0) { + c[j >> 2] = b; + Pw(0, 107994, j) | 0 + } + D_(a) + } while (0); + l = k; + return + } + + function WO(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + f = c[b + 60 >> 2] | 0; + g = (c[b + 16 >> 2] | 0) + 56 | 0; + i = A$(d, 58) | 0; + h = (i | 0) != 0; + if (h) a[i >> 0] = 0; + if (f | 0 ? (VO(c[b + 68 >> 2] | 0, d, g), e = c[f + 92 >> 2] | 0, e | 0) : 0) ub[e & 63](b, g); + if (h) a[i >> 0] = 58; + return + } + + function XO(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = +e; + var f = 0, h = 0, i = 0, j = 0; + h = c[a + 60 >> 2] | 0; + i = a + 16 | 0; + j = (c[i >> 2] | 0) + 96 | 0; + if (h | 0 ? (VO(c[a + 68 >> 2] | 0, b, j), f = c[h + 92 >> 2] | 0, f | 0) : 0) ub[f & 63](a, j); + j = c[i >> 2] | 0; + c[j + 136 >> 2] = d; + g[j + 140 >> 2] = e; + return + } + + function YO(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + k = m; + j = c[b + 60 >> 2] | 0; + b = c[b + 16 >> 2] | 0; + c[b + 160 >> 2] = d; + a:do if ((d | 0) != 0 & (j | 0) != 0) { + j = b + 144 | 0; + i = b + 152 | 0; + g = b + 148 | 0; + b = d; + b:while (1) { + f = b + 4 | 0; + b = c[b >> 2] | 0; + if (!b) break a; + c:do switch (a[b >> 0] | 0) { + case 115: { + if (!(b$(b, 108041) | 0)) { + c[j >> 2] = 3; + b = f; + continue b + } + if (!(b$(b, 108062) | 0)) { + e = 115; + while (1) { + d = b + 1 | 0; + if (!(e << 24 >> 24)) break; + b = d; + e = a[d >> 0] | 0 + } + h[i >> 3] = +b2(d); + b = f; + continue b + } + break + } + case 100: { + if (!(b$(b, 134245) | 0)) { + c[j >> 2] = 1; + b = f; + continue b + } + if (!(b$(b, 134238) | 0)) { + c[j >> 2] = 2; + b = f; + continue b + } + break + } + case 105: { + if (b$(b, 131253) | 0 ? b$(b, 108047) | 0 : 0) break c; + c[j >> 2] = 0; + b = f; + continue b + } + case 98: { + if (!(b$(b, 108057) | 0)) { + h[i >> 3] = 2.0; + b = f; + continue b + } + break + } + case 102: { + if (!(b$(b, 108075) | 0)) { + c[g >> 2] = 1; + b = f; + continue b + } + break + } + case 117: { + if (!(b$(b, 108082) | 0)) { + c[g >> 2] = 0; + b = f; + continue b + } + break + } + case 116: { + if (!(b$(b, 108091) | 0)) { + b = f; + continue b + } + break + } + default: { + } + } while (0); + c[k >> 2] = b; + Pw(0, 108099, k) | 0; + b = f + } + } while (0); + l = m; + return + } + + function ZO(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, i = 0, j = 0; + j = l; + l = l + 32 | 0; + g = j; + d = c[a + 60 >> 2] | 0; + if ((d | 0 ? (i = d + 96 | 0, f = c[i >> 2] | 0, f | 0) : 0) ? c[(c[a + 16 >> 2] | 0) + 144 >> 2] | 0 : 0) { + d = b + 16 | 0; + h[g >> 3] = (+h[d >> 3] + +h[b >> 3]) * .5; + h[g + 8 >> 3] = (+h[b + 24 >> 3] + +h[b + 8 >> 3]) * .5; + b = g + 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[a + 152 >> 2] & 8192)) { + yO(a, g, g, 2) | 0; + f = c[i >> 2] | 0 + } + vb[f & 127](a, g, e) + } + l = j; + return + } + + function _O(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 48 | 0; + m = o; + f = c[a + 60 >> 2] | 0; + if ((f | 0 ? (n = f + 100 | 0, c[n >> 2] | 0) : 0) ? (k = a + 16 | 0, j = c[k >> 2] | 0, c[j + 144 >> 2] | 0) : 0) { + if (!(e & 4)) { + f = e; + g = 0 + } else { + f = e & -5; + e = j + 16 | 0; + g = m; + h = e; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)); + g = e; + h = j + 56 | 0; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)); + g = 1 + } + if (!(c[a + 152 >> 2] & 8192)) { + e = d + 10 | 0; + if ((c[46593] | 0) < (d | 0)) { + c[46593] = e; + e = xH(c[46594] | 0, e << 4) | 0; + c[46594] = e + } else e = c[46594] | 0; + yO(a, b, e, d) | 0; + xb[c[n >> 2] & 31](a, e, d, f) + } else xb[c[n >> 2] & 31](a, b, d, f); + if (g | 0) { + g = (c[k >> 2] | 0) + 16 | 0; + h = m; + i = g + 40 | 0; + do { + c[g >> 2] = c[h >> 2]; + g = g + 4 | 0; + h = h + 4 | 0 + } while ((g | 0) < (i | 0)) + } + } + l = o; + return + } + + function $O(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = l; + l = l + 64 | 0; + f = e; + 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]; + g = f + 32 | 0; + b = b + 16 | 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 + 16 >> 3] = +h[f >> 3]; + h[f + 24 >> 3] = +h[f + 40 >> 3]; + h[f + 48 >> 3] = +h[g >> 3]; + h[f + 56 >> 3] = +h[f + 8 >> 3]; + _O(a, f, 4, d); + l = e; + return + } + + function aP(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; + i = c[a + 60 >> 2] | 0; + do if ((i | 0 ? (j = i + 104 | 0, h = c[j >> 2] | 0, h | 0) : 0) ? c[(c[a + 16 >> 2] | 0) + 144 >> 2] | 0 : 0) { + if (c[a + 152 >> 2] & 8192 | 0) { + zb[h & 15](a, b, d, e, f, g & 255); + break + } + h = d + 10 | 0; + if ((c[46593] | 0) < (d | 0)) { + c[46593] = h; + h = xH(c[46594] | 0, h << 4) | 0; + c[46594] = h + } else h = c[46594] | 0; + yO(a, b, h, d) | 0; + zb[c[j >> 2] & 15](a, h, d, e, f, g & 255) + } while (0); + return + } + + function bP(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = c[a + 60 >> 2] | 0; + do if ((e | 0 ? (g = e + 108 | 0, f = c[g >> 2] | 0, f | 0) : 0) ? c[(c[a + 16 >> 2] | 0) + 144 >> 2] | 0 : 0) { + if (c[a + 152 >> 2] & 8192 | 0) { + vb[f & 127](a, b, d); + break + } + e = d + 10 | 0; + if ((c[46593] | 0) < (d | 0)) { + c[46593] = e; + e = xH(c[46594] | 0, e << 4) | 0; + c[46594] = e + } else e = c[46594] | 0; + yO(a, b, e, d) | 0; + vb[c[g >> 2] & 127](a, e, d) + } while (0); + return + } + + function cP(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = c[b + 60 >> 2] | 0; + if ((d | 0 ? !((e | 0) == 0 | (a[d >> 0] | 0) == 0) : 0) ? (f = c[e + 112 >> 2] | 0, f | 0) : 0) ub[f & 63](b, d); + return + } + + function dP(b, d, e, f, g, i) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0.0, k = 0.0, m = 0, n = 0, o = 0.0, p = 0.0, q = 0.0, r = 0.0, s = 0, t = 0.0, u = 0.0, + v = 0.0, w = 0.0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0; + F = l; + l = l + 112 | 0; + B = F + 64 | 0; + E = F; + n = F + 96 | 0; + x = F + 48 | 0; + y = F + 32 | 0; + C = c[b + 60 >> 2] | 0; + if (!b) qa(108200, 108152, 691, 108163); + if (!d) qa(108182, 108152, 692, 108163); + if (!(a[d >> 0] | 0)) qa(108187, 108152, 693, 108163); + D = yC(d) | 0; + if (!D) { + if ((C | 0) != 0 & (VJ(d) | 0) != 0 ? (m = c[C + 116 >> 2] | 0, m | 0) : 0) yb[m & 15](b, d, e, f, g & 255) + } else { + s = b + 432 | 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]; + BC(n, D, B); + s = c[n >> 2] | 0; + m = c[n + 4 >> 2] | 0; + if (!((s | 0) < 1 & (m | 0) < 1)) { + n = E + 16 | 0; + c[n >> 2] = c[e >> 2]; + c[n + 4 >> 2] = c[e + 4 >> 2]; + c[n + 8 >> 2] = c[e + 8 >> 2]; + c[n + 12 >> 2] = c[e + 12 >> 2]; + c[E >> 2] = 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]; + z = E + 8 | 0; + A = E + 24 | 0; + d = 1; + while (1) { + if ((d | 0) >= (f | 0)) break; + G = e + (d << 4) | 0; + v = +h[G >> 3]; + h[E >> 3] = +h[(+h[E >> 3] < v ? E : G) >> 3]; + w = +h[e + (d << 4) + 8 >> 3]; + h[z >> 3] = +h[(+h[z >> 3] < w ? E : G) + 8 >> 3]; + h[n >> 3] = +h[(+h[n >> 3] > v ? n : G) >> 3]; + h[A >> 3] = +h[(+h[A >> 3] > w ? n : G) + 8 >> 3]; + d = d + 1 | 0 + } + k = +h[n >> 3]; + j = +h[E >> 3]; + t = k - j; + u = +h[A >> 3]; + v = +h[z >> 3]; + w = u - v; + o = +(m | 0); + p = +(s | 0); + q = t / p; + r = w / o; + a:do switch (eP(i) | 0) { + case 1: + if (q < r) { + p = q * p; + o = q * o; + break a + } else { + p = r * p; + o = r * o; + break a + } + case 2: { + p = q * p; + break + } + case 3: { + o = r * o; + break + } + case 4: { + p = q * p; + o = r * o; + break + } + default: { + } + } while (0); + if (p < t) { + t = (t - p) * .5; + j = j + t; + h[E >> 3] = j; + k = k - t; + h[n >> 3] = k + } + if (o < w) { + w = (w - o) * .5; + h[z >> 3] = v + w; + h[A >> 3] = u - w + } + if (!(c[b + 152 >> 2] & 8192)) { + 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]; + xO(x, b, B); + 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]; + 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]; + xO(y, b, B); + c[n >> 2] = c[y >> 2]; + c[n + 4 >> 2] = c[y + 4 >> 2]; + c[n + 8 >> 2] = c[y + 8 >> 2]; + c[n + 12 >> 2] = c[y + 12 >> 2]; + k = +h[n >> 3]; + j = +h[E >> 3] + } + if (j > k) { + h[E >> 3] = k; + h[n >> 3] = j + } + j = +h[z >> 3]; + k = +h[A >> 3]; + if (j > k) { + h[z >> 3] = k; + h[A >> 3] = j + } + if (C | 0) { + G = c[b + 72 >> 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]; + 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]; + gP(b, D, B, g, G) + } + } + } + l = F; + return + } + + function eP(b) { + b = b | 0; + if (a[b >> 0] | 0) if (O$(b, 138034) | 0) if (O$(b, 137966) | 0) if (!(O$(b, 108195) | 0)) b = 4; else b = (QL(b) | 0) << 24 >> 24 != 0 & 1; else b = 3; else b = 2; else b = 0; + return b | 0 + } + + function fP(a, b) { + a = a | 0; + b = +b; + if (c[a + 60 >> 2] | 0) h[(c[a + 16 >> 2] | 0) + 152 >> 3] = b; + return + } + + function SX(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + h = f - e | 0; + a:do if ((h | 0) > 0) { + l = b + 72 | 0; + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[b + 340 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[b + 344 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[b + 348 >> 2] & 127](b, e) | 0)) { + c[g >> 2] = e; + f = 0; + break a + } else h = 4; + break + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + i = b + 328 | 0; + j = b + 332 | 0; + k = b + 336 | 0; + e = e + h | 0; + b:while (1) { + h = f - e | 0; + if ((h | 0) <= 0) { + f = -20; + break a + } + switch (a[l + (d[e >> 0] | 0) >> 0] | 0) { + case 29: { + h = 17; + break b + } + case 36: + case 30: + case 11: + case 32: + case 21: + case 10: + case 9: { + h = 28; + break b + } + case 27: + case 26: + case 25: + case 24: + case 22: { + h = 1; + break + } + case 5: { + if ((h | 0) < 2) { + f = -2; + break a + } + if (!(lb[c[i >> 2] & 127](b, e) | 0)) { + h = 20; + break b + } else h = 2; + break + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + if (!(lb[c[j >> 2] & 127](b, e) | 0)) { + h = 23; + break b + } else h = 3; + break + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + if (!(lb[c[k >> 2] & 127](b, e) | 0)) { + h = 26; + break b + } else h = 4; + break + } + default: { + h = 29; + break b + } + } + e = e + h | 0 + } + if ((h | 0) == 17) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 20) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 23) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 26) { + c[g >> 2] = e; + f = 0; + break + } else if ((h | 0) == 28) { + c[g >> 2] = e; + f = 20; + break + } else if ((h | 0) == 29) { + c[g >> 2] = e; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function TX() { + return 58116 + } + + function UX(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; + i = l; + l = l + 16 | 0; + g = i; + c[g >> 2] = d; + h = c[b >> 2] | 0; + a = f - (c[e >> 2] | 0) | 0; + if ((d - h | 0) > (a | 0)) { + a = h + a | 0; + c[g >> 2] = a; + f = 1 + } else { + f = 0; + a = d + } + fX(h, g); + h = c[g >> 2] | 0; + d = c[b >> 2] | 0; + g = h - d | 0; + F3(c[e >> 2] | 0, d | 0, g | 0) | 0; + c[b >> 2] = (c[b >> 2] | 0) + g; + c[e >> 2] = (c[e >> 2] | 0) + g; + l = i; + return (f ? 2 : h >>> 0 < a >>> 0 & 1) | 0 + } + + function VX(d, e, f, g, h) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + j = d + 72 | 0; + k = f; + l = h; + m = c[e >> 2] | 0; + n = c[g >> 2] | 0; + a:while (1) { + d = m >>> 0 < f >>> 0; + if (!(n >>> 0 < h >>> 0 & d)) { + o = 12; + break + } + d = a[m >> 0] | 0; + i = d & 255; + switch (a[j + i >> 0] | 0) { + case 5: { + if ((k - m | 0) < 2) { + d = 1; + break a + } + b[n >> 1] = (d & 31) << 6 | a[m + 1 >> 0] & 63; + m = m + 2 | 0; + n = n + 2 | 0; + continue a + } + case 6: { + if ((k - m | 0) < 3) { + d = 1; + break a + } + b[n >> 1] = (a[m + 1 >> 0] & 63) << 6 | i << 12 | a[m + 2 >> 0] & 63; + m = m + 3 | 0; + n = n + 2 | 0; + continue a + } + case 7: { + if ((l - n | 0) < 4) { + d = 2; + break a + } + if ((k - m | 0) < 4) { + d = 1; + break a + } + i = ((a[m + 1 >> 0] & 63) << 12 | (d & 7) << 18 | (a[m + 2 >> 0] & 63) << 6 | a[m + 3 >> 0] & 63) + -65536 | 0; + b[n >> 1] = i >>> 10 | 55296; + b[n + 2 >> 1] = i & 1023 | 56320; + m = m + 4 | 0; + n = n + 4 | 0; + continue a + } + default: { + b[n >> 1] = d << 24 >> 24; + m = m + 1 | 0; + n = n + 2 | 0; + continue a + } + } + } + if ((o | 0) == 12) d = d ? 2 : 0; + c[e >> 2] = m; + c[g >> 2] = n; + return d | 0 + } + + function WX(a, b) { + a = a | 0; + b = b | 0; + a = d[b >> 0] | 0; + b = d[b + 1 >> 0] | 0; + return 1 << (b & 31) & c[56836 + (((d[140962 + (a >>> 2 & 7) >> 0] | 0) << 3 | a << 1 & 6 | b >>> 5 & 1) << 2) >> 2] | 0 + } + + function XX(b, e) { + b = b | 0; + e = e | 0; + var f = 0; + f = d[e + 1 >> 0] | 0; + b = d[e + 2 >> 0] | 0; + return 1 << (b & 31) & c[56836 + (((d[140962 + (f >>> 2 & 15 | a[e >> 0] << 4 & 255) >> 0] | 0) << 3 | f << 1 & 6 | b >>> 5 & 1) << 2) >> 2] | 0 + } + + function YX(a, b) { + a = a | 0; + b = b | 0; + return 0 + } + + function ZX(a, b) { + a = a | 0; + b = b | 0; + a = d[b >> 0] | 0; + b = d[b + 1 >> 0] | 0; + return 1 << (b & 31) & c[56836 + (((d[140706 + (a >>> 2 & 7) >> 0] | 0) << 3 | a << 1 & 6 | b >>> 5 & 1) << 2) >> 2] | 0 + } + + function _X(b, e) { + b = b | 0; + e = e | 0; + var f = 0; + f = d[e + 1 >> 0] | 0; + b = d[e + 2 >> 0] | 0; + return 1 << (b & 31) & c[56836 + (((d[140706 + (f >>> 2 & 15 | a[e >> 0] << 4 & 255) >> 0] | 0) << 3 | f << 1 & 6 | b >>> 5 & 1) << 2) >> 2] | 0 + } + + function $X(a, b) { + a = a | 0; + b = b | 0; + if ((d[b >> 0] | 0) < 194) return 1; else { + b = d[b + 1 >> 0] | 0; + return b >>> 7 ^ 1 | (b & 192 | 0) == 192 | 0 + } + return 0 + } + + function aY(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + b = a[c + 2 >> 0] | 0; + do if (b << 24 >> 24 > -1) b = 1; else { + d = a[c >> 0] | 0; + if (d << 24 >> 24 == -17 ? (a[c + 1 >> 0] | 0) == -65 : 0) if ((b & 255) > 189) { + b = 1; + break + } else { + b = 191; + c = -65 + } else { + if ((b & 255) > 191) { + b = 1; + break + } + c = a[c + 1 >> 0] | 0; + b = c & 255; + if (d << 24 >> 24 == -32) { + b = (c & 255) < 160 | (b & 192 | 0) == 192; + break + } + } + b = (b & 128 | 0) == 0 ? 1 : d << 24 >> 24 == -19 ? (c & 255) > 159 : (b & 192 | 0) == 192 + } while (0); + return b & 1 | 0 + } + + function bY(b, c) { + b = b | 0; + c = c | 0; + var e = 0; + e = d[c + 3 >> 0] | 0; + do if (!((e & 128 | 0) == 0 | (e & 192 | 0) == 192) ? (e = d[c + 2 >> 0] | 0, !((e & 128 | 0) == 0 | (e & 192 | 0) == 192)) : 0) { + e = a[c >> 0] | 0; + b = a[c + 1 >> 0] | 0; + c = b & 255; + if (e << 24 >> 24 == -16) { + b = (b & 255) < 144 | (c & 192 | 0) == 192; + break + } else { + b = (c & 128 | 0) == 0 ? 1 : e << 24 >> 24 == -12 ? (b & 255) > 143 : (c & 192 | 0) == 192; + break + } + } else b = 1; while (0); + return b & 1 | 0 + } + + function cY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + a:do if (e >>> 0 < f >>> 0) { + i = e; + m = f - i | 0; + k = (m & 1 | 0) == 0; + m = m & -2; + l = (m | 0) == 0; + m = k | l ? f : e + m | 0; + if (k | l ^ 1) { + f = a[e + 1 >> 0] | 0; + if (!(f << 24 >> 24)) { + h = a[e >> 0] | 0; + j = h; + h = d[b + 72 + (h & 255) >> 0] | 0 + } else { + h = a[e >> 0] | 0; + j = h; + h = sY(f, h) | 0 + } + do switch (h | 0) { + case 12: { + f = EY(12, b, e + 2 | 0, m, g) | 0; + break a + } + case 13: { + f = EY(13, b, e + 2 | 0, m, g) | 0; + break a + } + case 2: { + h = e + 2 | 0; + if ((m - h | 0) <= 1) { + f = -1; + break a + } + f = a[e + 3 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[h >> 0] | 0) >> 0] | 0; else f = sY(f, a[h >> 0] | 0) | 0; + switch (f | 0) { + case 16: { + f = FY(b, e + 4 | 0, m, g) | 0; + break a + } + case 15: { + f = AY(b, e + 4 | 0, m, g) | 0; + break a + } + case 7: + case 6: + case 5: + case 29: + case 24: + case 22: { + c[g >> 2] = e; + f = 29; + break a + } + default: { + c[g >> 2] = h; + f = 0; + break a + } + } + } + case 9: { + if ((e + 2 | 0) == (m | 0)) { + c[g >> 2] = m; + f = -15; + break a + } else i = 7; + break + } + case 10: + case 21: { + i = 7; + break + } + case 30: { + f = uY(b, e + 2 | 0, m, g) | 0; + break a + } + case 35: { + c[g >> 2] = e + 2; + f = 38; + break a + } + case 20: { + c[g >> 2] = e + 2; + f = 25; + break a + } + case 4: { + h = e + 2 | 0; + f = m - h | 0; + if ((f | 0) <= 1) { + f = -26; + break a + } + if ((a[e + 3 >> 0] | 0) == 0 ? (a[h >> 0] | 0) == 93 : 0) { + if ((f | 0) <= 3) { + f = -1; + break a + } + if ((a[e + 5 >> 0] | 0) == 0 ? (a[e + 4 >> 0] | 0) == 62 : 0) { + c[g >> 2] = e + 6; + f = 34; + break a + } + } + c[g >> 2] = h; + f = 26; + break a + } + case 31: { + c[g >> 2] = e + 2; + f = 23; + break a + } + case 32: { + h = e + 2 | 0; + if ((m - h | 0) <= 1) { + f = -24; + break a + } + f = a[e + 3 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[h >> 0] | 0) >> 0] | 0; else f = sY(f, a[h >> 0] | 0) | 0; + switch (f | 0) { + case 33: { + c[g >> 2] = e + 4; + f = 36; + break a + } + case 15: { + c[g >> 2] = e + 4; + f = 35; + break a + } + case 34: { + c[g >> 2] = e + 4; + f = 37; + break a + } + case 32: + case 36: + case 35: + case 11: + case 21: + case 10: + case 9: { + c[g >> 2] = h; + f = 24; + break a + } + default: { + c[g >> 2] = h; + f = 0; + break a + } + } + } + case 36: { + c[g >> 2] = e + 2; + f = 21; + break a + } + case 11: { + c[g >> 2] = e + 2; + f = 17; + break a + } + case 19: { + f = GY(b, e + 2 | 0, m, g) | 0; + break a + } + case 5: { + if ((m - i | 0) < 2) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((m - i | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((m - i | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + f = 18; + i = 61; + break + } + case 23: + case 27: + case 26: + case 25: { + f = 19; + i = 61; + break + } + case 29: { + i = f & 255; + h = j & 255; + f = h >>> 5; + h = 1 << (h & 31); + if (!(h & c[56836 + ((f | d[140706 + i >> 0] << 3) << 2) >> 2])) if (!(c[56836 + ((d[140962 + i >> 0] << 3 | f) << 2) >> 2] & h)) i = 64; else { + f = 19; + i = 61 + } else { + f = 18; + i = 61 + } + break + } + default: + i = 64 + } while (0); + if ((i | 0) == 7) { + k = m; + b = b + 72 | 0; + j = e; + b:while (1) { + i = j; + j = j + 2 | 0; + if ((k - j | 0) <= 1) { + i = 28; + break + } + f = a[i + 3 >> 0] | 0; + h = a[j >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 10: + case 21: + continue b; + case 9: + break; + default: { + i = 27; + break b + } + } + if ((i + 4 | 0) == (m | 0)) { + i = 27; + break + } + } + if ((i | 0) == 27) { + c[g >> 2] = j; + f = 15; + break + } else if ((i | 0) == 28) { + c[g >> 2] = j; + f = 15; + break + } + } else if ((i | 0) == 61) { + l = b + 72 | 0; + h = e + 2 | 0; + c:while (1) { + e = f & 255; + d:while (1) { + k = m - h | 0; + if ((k | 0) <= 1) { + i = 104; + break c + } + i = a[h + 1 >> 0] | 0; + j = a[h >> 0] | 0; + if (!(i << 24 >> 24)) b = d[l + (j & 255) >> 0] | 0; else b = sY(i, j) | 0; + switch (b | 0) { + case 5: { + i = 73; + break c + } + case 6: { + i = 74; + break c + } + case 7: { + i = 76; + break c + } + case 10: + case 9: + case 21: + case 30: + case 20: + case 36: + case 35: + case 32: + case 11: { + i = 78; + break c + } + case 34: { + i = 94; + break c + } + case 33: { + i = 97; + break c + } + case 15: { + i = 100; + break c + } + case 29: { + k = j & 255; + if (!(1 << (k & 31) & c[56836 + ((k >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + i = 71; + break c + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + case 23: { + k = h + 2 | 0; + switch (e & 63) { + case 41: { + f = 19; + h = k; + continue c + } + case 18: + break d; + default: { + h = k; + continue d + } + } + } + default: { + i = 103; + break c + } + } + h = h + 2 | 0 + } + b = m - k | 0; + if ((b | 0) <= 1) { + f = -1; + break a + } + f = a[h + 3 >> 0] | 0; + i = a[k >> 0] | 0; + if (!(f << 24 >> 24)) j = d[l + (i & 255) >> 0] | 0; else j = sY(f, i) | 0; + switch (j | 0) { + case 5: { + i = 89; + break c + } + case 6: { + i = 90; + break c + } + case 7: { + i = 92; + break c + } + case 29: { + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | d[140962 + (f & 255) >> 0] << 3) << 2) >> 2])) { + i = 87; + break c + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + f = 19; + h = k; + continue c + } + } + f = 41; + h = h + 4 | 0 + } + switch (i | 0) { + case 71: { + c[g >> 2] = h; + f = 0; + break a + } + case 73: { + c[g >> 2] = h; + f = 0; + break a + } + case 74: { + if ((k | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = h; + f = 0; + break a + } + case 76: { + if ((k | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = h; + f = 0; + break a + } + case 78: { + c[g >> 2] = h; + break a + } + case 87: { + c[g >> 2] = k; + f = 0; + break a + } + case 89: { + c[g >> 2] = k; + f = 0; + break a + } + case 90: { + if ((b | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = k; + f = 0; + break a + } + case 92: { + if ((b | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = k; + f = 0; + break a + } + case 94: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 32; + break a + } + case 97: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 31; + break a + } + case 100: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 30; + break a + } + case 103: { + c[g >> 2] = h; + f = 0; + break a + } + case 104: { + f = 0 - f | 0; + break a + } + } + } else if ((i | 0) == 64) { + c[g >> 2] = e; + f = 0; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function dY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + a:do if (e >>> 0 < f >>> 0) { + h = e; + i = f - h | 0; + k = (i & 1 | 0) == 0; + i = i & -2; + j = (i | 0) == 0; + i = k | j ? f : e + i | 0; + if (k | j ^ 1) { + f = a[e + 1 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e >> 0] | 0) >> 0] | 0; else f = sY(f, a[e >> 0] | 0) | 0; + do switch (f | 0) { + case 2: { + f = xY(b, e + 2 | 0, i, g) | 0; + break a + } + case 3: { + f = tY(b, e + 2 | 0, i, g) | 0; + break a + } + case 9: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -3; + break a + } + f = a[e + 3 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[h >> 0] | 0) >> 0] | 0; else f = sY(f, a[h >> 0] | 0) | 0; + c[g >> 2] = (f | 0) == 10 ? e + 4 | 0 : h; + f = 7; + break a + } + case 10: { + c[g >> 2] = e + 2; + f = 7; + break a + } + case 4: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -5; + break a + } + if ((a[e + 3 >> 0] | 0) == 0 ? (a[h >> 0] | 0) == 93 : 0) { + f = e + 4 | 0; + if ((i - f | 0) <= 1) { + f = -5; + break a + } + if ((a[e + 5 >> 0] | 0) == 0 ? (a[f >> 0] | 0) == 62 : 0) { + c[g >> 2] = f; + f = 0; + break a + } else f = i + } else f = i; + break + } + case 5: { + f = i; + if ((f - h | 0) < 2) { + f = -2; + break a + } + h = e + 2 | 0; + break + } + case 6: { + f = i; + if ((f - h | 0) < 3) { + f = -2; + break a + } + h = e + 3 | 0; + break + } + case 7: { + f = i; + if ((f - h | 0) < 4) { + f = -2; + break a + } + h = e + 4 | 0; + break + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + f = 0; + break a + } + default: { + h = e + 2 | 0; + f = i + } + } while (0); + j = b + 72 | 0; + b = h; + b:while (1) { + e = f - b | 0; + if ((e | 0) <= 1) { + h = 52; + break + } + h = a[b + 1 >> 0] | 0; + i = a[b >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 10: + case 9: + case 8: + case 1: + case 0: + case 2: + case 3: { + h = 50; + break b + } + case 5: { + b = b + 2 | 0; + continue b + } + case 6: { + if ((e | 0) < 3) { + h = 38; + break b + } + b = b + 3 | 0; + continue b + } + case 7: { + if ((e | 0) < 4) { + h = 41; + break b + } + b = b + 4 | 0; + continue b + } + case 4: { + if ((e | 0) <= 3) { + h = 50; + break b + } + h = b + 2 | 0; + if (a[b + 3 >> 0] | 0) { + b = h; + continue b + } + if ((a[h >> 0] | 0) != 93) { + b = h; + continue b + } + if ((e | 0) <= 5) { + h = 50; + break b + } + i = b + 4 | 0; + if (a[b + 5 >> 0] | 0) { + b = h; + continue b + } + if ((a[i >> 0] | 0) == 62) { + h = 49; + break b + } else { + b = h; + continue b + } + } + default: { + b = b + 2 | 0; + continue b + } + } + } + if ((h | 0) == 38) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 41) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 49) { + c[g >> 2] = i; + f = 0; + break + } else if ((h | 0) == 50) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 52) { + c[g >> 2] = b; + f = 6; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function eY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + a:do if (e >>> 0 < f >>> 0) { + h = e; + i = f - h | 0; + k = (i & 1 | 0) == 0; + i = i & -2; + j = (i | 0) == 0; + i = k | j ? f : e + i | 0; + if (k | j ^ 1) { + f = a[e + 1 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e >> 0] | 0) >> 0] | 0; else f = sY(f, a[e >> 0] | 0) | 0; + switch (f | 0) { + case 4: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -1; + break a + } + if ((a[e + 3 >> 0] | 0) == 0 ? (a[h >> 0] | 0) == 93 : 0) { + f = e + 4 | 0; + if ((i - f | 0) <= 1) { + f = -1; + break a + } + if ((a[e + 5 >> 0] | 0) == 0 ? (a[f >> 0] | 0) == 62 : 0) { + c[g >> 2] = e + 6; + f = 40; + break a + } + } + break + } + case 9: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -1; + break a + } + f = a[e + 3 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[h >> 0] | 0) >> 0] | 0; else f = sY(f, a[h >> 0] | 0) | 0; + c[g >> 2] = (f | 0) == 10 ? e + 4 | 0 : h; + f = 7; + break a + } + case 10: { + c[g >> 2] = e + 2; + f = 7; + break a + } + case 5: { + f = i; + if ((f - h | 0) < 2) { + f = -2; + break a + } + h = e + 2 | 0; + i = f; + break + } + case 6: { + f = i; + if ((f - h | 0) < 3) { + f = -2; + break a + } + h = e + 3 | 0; + i = f; + break + } + case 7: { + f = i; + if ((f - h | 0) < 4) { + f = -2; + break a + } + h = e + 4 | 0; + i = f; + break + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + f = 0; + break a + } + default: + h = e + 2 | 0 + } + j = b + 72 | 0; + b = h; + b:while (1) { + e = i - b | 0; + if ((e | 0) <= 1) { + h = 40; + break + } + f = a[b + 1 >> 0] | 0; + h = a[b >> 0] | 0; + if (!(f << 24 >> 24)) f = d[j + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 10: + case 9: + case 8: + case 1: + case 0: + case 4: { + h = 38; + break b + } + case 6: { + if ((e | 0) < 3) { + h = 35; + break b + } else f = 3; + break + } + case 7: { + if ((e | 0) < 4) { + h = 37; + break b + } else f = 4; + break + } + default: + f = 2 + } + b = b + f | 0 + } + if ((h | 0) == 35) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 37) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 38) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 40) { + c[g >> 2] = b; + f = 6; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function fY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f - e | 0; + k = (k & 1 | 0) == 0 ? f : e + (k & -2) | 0; + j = b + 72 | 0; + i = 0; + f = e; + a:while (1) { + h = k - f | 0; + if ((h | 0) <= 1) { + f = -1; + break + } + b = a[f + 1 >> 0] | 0; + e = a[f >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 8: + case 1: + case 0: { + l = 12; + break a + } + case 5: { + h = i; + f = f + 2 | 0; + i = h; + continue a + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + h = i; + f = f + 3 | 0; + i = h; + continue a + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + h = i; + f = f + 4 | 0; + i = h; + continue a + } + case 2: { + b = f + 2 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[f + 3 >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[b >> 0] | 0) != 33) { + h = i; + f = b; + i = h; + continue a + } + b = f + 4 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[f + 5 >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + h = (a[b >> 0] | 0) == 91; + i = i + (h & 1) | 0; + f = h ? f + 6 | 0 : b; + continue a + } + case 4: { + b = f + 2 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[f + 3 >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[b >> 0] | 0) != 93) { + h = i; + f = b; + i = h; + continue a + } + b = f + 4 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[f + 5 >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[b >> 0] | 0) != 62) { + h = i; + f = b; + i = h; + continue a + } + f = f + 6 | 0; + if (!i) { + l = 26; + break a + } + i = i + -1 | 0; + continue a + } + default: { + h = i; + f = f + 2 | 0; + i = h; + continue a + } + } + } + if ((l | 0) == 12) { + c[g >> 2] = f; + f = 0 + } else if ((l | 0) == 26) { + c[g >> 2] = f; + f = 42 + } + return f | 0 + } + + function gY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 1) { + l = b + 72 | 0; + j = e; + a:while (1) { + if ((k - j | 0) <= 1) { + i = 30; + break + } + h = a[j + 1 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 3: { + i = 11; + break a + } + case 2: { + i = 14; + break a + } + case 10: { + i = 15; + break a + } + case 9: { + i = 18; + break a + } + case 21: { + i = 25; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 2 + } + j = j + h | 0 + } + if ((i | 0) == 11) if ((j | 0) == (e | 0)) { + h = tY(b, e + 2 | 0, f, g) | 0; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 14) { + c[g >> 2] = j; + h = 0; + break + } else if ((i | 0) == 15) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 7; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 18) { + if ((j | 0) != (e | 0)) { + c[g >> 2] = j; + h = 6; + break + } + j = e + 2 | 0; + if ((k - j | 0) <= 1) { + h = -3; + break + } + h = a[e + 3 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + c[g >> 2] = (h | 0) == 10 ? e + 4 | 0 : j; + h = 7; + break + } else if ((i | 0) == 25) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 39; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 30) { + c[g >> 2] = j; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function hY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 1) { + l = b + 72 | 0; + j = e; + a:while (1) { + if ((k - j | 0) <= 1) { + i = 29; + break + } + h = a[j + 1 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 3: { + i = 11; + break a + } + case 30: { + i = 14; + break a + } + case 10: { + i = 17; + break a + } + case 9: { + i = 20; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 2 + } + j = j + h | 0 + } + if ((i | 0) == 11) if ((j | 0) == (e | 0)) { + h = tY(b, e + 2 | 0, f, g) | 0; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 14) if ((j | 0) == (e | 0)) { + h = uY(b, e + 2 | 0, f, g) | 0; + h = (h | 0) == 22 ? 0 : h; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 17) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 7; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 20) { + if ((j | 0) != (e | 0)) { + c[g >> 2] = j; + h = 6; + break + } + j = e + 2 | 0; + if ((k - j | 0) <= 1) { + h = -3; + break + } + h = a[e + 3 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + c[g >> 2] = (h | 0) == 10 ? e + 4 | 0 : j; + h = 7; + break + } else if ((i | 0) == 29) { + c[g >> 2] = j; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function iY(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = d; + b = c; + while (1) { + c = a[e >> 0] | 0; + if (!(c << 24 >> 24)) { + g = 7; + break + } + if ((f - b | 0) < 2) { + b = 0; + break + } + if (a[b + 1 >> 0] | 0) { + b = 0; + break + } + if ((a[b >> 0] | 0) != c << 24 >> 24) { + b = 0; + break + } + e = e + 1 | 0; + b = b + 2 | 0 + } + if ((g | 0) == 7) b = (b | 0) == (d | 0) & 1; + return b | 0 + } + + function jY(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0; + g = b + 72 | 0; + f = c; + a:while (1) { + b = a[f + 1 >> 0] | 0; + e = a[f >> 0] | 0; + if (!(b << 24 >> 24)) b = d[g + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 5: { + b = 2; + break + } + case 6: { + b = 3; + break + } + case 7: { + b = 4; + break + } + case 27: + case 26: + case 25: + case 24: + case 23: + case 22: + case 29: { + b = 2; + break + } + default: + break a + } + f = f + b | 0 + } + return f - c | 0 + } + + function kY(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0; + f = b + 72 | 0; + a:while (1) { + b = a[c + 1 >> 0] | 0; + e = a[c >> 0] | 0; + if (!(b << 24 >> 24)) b = d[f + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 21: + case 9: + case 10: + break; + default: + break a + } + c = c + 2 | 0 + } + return c | 0 + } + + function lY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = b + 72 | 0; + m = 0; + n = 0; + b = 1; + a:while (1) { + l = e + 2 | 0; + i = e + 3 | 0; + h = a[i >> 0] | 0; + j = h << 24 >> 24 == 0; + k = a[l >> 0] | 0; + if (j) h = d[o + (k & 255) >> 0] | 0; else h = sY(h, k) | 0; + do switch (h | 0) { + case 5: { + if (b | 0) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + case 6: { + if (b | 0) { + j = b; + k = n; + l = m; + e = i; + b = j; + n = k; + m = l; + continue a + } + if ((n | 0) >= (f | 0)) { + k = n; + l = m; + b = 1; + e = i; + n = k; + m = l; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + k = n; + l = m; + b = 1; + e = i; + n = k; + m = l; + continue a + } + case 7: { + if (!b) if ((n | 0) < (f | 0)) { + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + b = 1 + } else b = 1; + k = n; + l = m; + e = e + 4 | 0; + n = k; + m = l; + continue a + } + case 24: + case 22: + case 29: { + if (b | 0) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + case 12: { + if ((b | 0) != 2) { + if ((n | 0) >= (f | 0)) { + k = n; + m = 12; + b = 2; + e = l; + n = k; + continue a + } + c[g + (n << 4) + 4 >> 2] = e + 4; + k = n; + m = 12; + b = 2; + e = l; + n = k; + continue a + } + if ((m | 0) != 12) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + if ((n | 0) < (f | 0)) c[g + (n << 4) + 8 >> 2] = l; + m = 12; + n = n + 1 | 0; + b = 0; + e = l; + continue a + } + case 13: { + if ((b | 0) != 2) { + if ((n | 0) >= (f | 0)) { + k = n; + m = 13; + b = 2; + e = l; + n = k; + continue a + } + c[g + (n << 4) + 4 >> 2] = e + 4; + k = n; + m = 13; + b = 2; + e = l; + n = k; + continue a + } + if ((m | 0) != 13) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + if ((n | 0) < (f | 0)) c[g + (n << 4) + 8 >> 2] = l; + m = 13; + n = n + 1 | 0; + b = 0; + e = l; + continue a + } + case 3: { + if ((n | 0) >= (f | 0)) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + a[g + (n << 4) + 12 >> 0] = 0; + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + case 21: { + switch (b | 0) { + case 1: { + j = n; + k = m; + b = 0; + e = l; + n = j; + m = k; + continue a + } + case 2: + break; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + i = g + (n << 4) + 12 | 0; + if (!(a[i >> 0] | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + do if (j & (l | 0) != (c[g + (n << 4) + 4 >> 2] | 0) & k << 24 >> 24 == 32) { + h = a[e + 5 >> 0] | 0; + b = a[e + 4 >> 0] | 0; + if (!(h << 24 >> 24)) { + if (b << 24 >> 24 == 32) break; + b = d[o + (b & 255) >> 0] | 0 + } else b = sY(h, b) | 0; + if ((b | 0) != (m | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + } while (0); + a[i >> 0] = 0; + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + case 10: + case 9: { + switch (b | 0) { + case 1: { + j = n; + k = m; + b = 0; + e = l; + n = j; + m = k; + continue a + } + case 2: + break; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + a[g + (n << 4) + 12 >> 0] = 0; + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + case 17: + case 11: + if ((b | 0) == 2) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } else break a; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } while (0) + } + return n | 0 + } + + function mY(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + b = c + 4 | 0; + a:do if ((a[c + 5 >> 0] | 0) == 0 ? (a[b >> 0] | 0) == 120 : 0) { + c = c + 6 | 0; + b = 0; + while (1) { + b:while (1) { + if (!(a[c + 1 >> 0] | 0)) { + d = a[c >> 0] | 0; + if (d << 24 >> 24 == 59) { + e = 17; + break a + } + d = d << 24 >> 24; + switch (d | 0) { + case 57: + case 56: + case 55: + case 54: + case 53: + case 52: + case 51: + case 50: + case 49: + case 48: { + e = 8; + break b + } + case 70: + case 69: + case 68: + case 67: + case 66: + case 65: { + e = 9; + break b + } + case 102: + case 101: + case 100: + case 99: + case 98: + case 97: { + e = 10; + break b + } + default: { + } + } + } + c = c + 2 | 0 + } + if ((e | 0) == 8) { + e = 0; + b = d + -48 | b << 4 + } else if ((e | 0) == 9) { + e = 0; + b = (b << 4) + -55 + d | 0 + } else if ((e | 0) == 10) { + e = 0; + b = (b << 4) + -87 + d | 0 + } + if ((b | 0) < 1114112) c = c + 2 | 0; else { + b = -1; + break + } + } + } else { + d = b; + b = 0; + e = 13 + } while (0); + c:do if ((e | 0) == 13) while (1) { + e = 0; + if (!(a[d + 1 >> 0] | 0)) { + c = a[d >> 0] | 0; + if (c << 24 >> 24 == 59) { + e = 17; + break c + } + c = c << 24 >> 24 + } else c = -1; + b = (b * 10 | 0) + -48 + c | 0; + if ((b | 0) >= 1114112) { + b = -1; + break + } else { + d = d + 2 | 0; + e = 13 + } + } while (0); + if ((e | 0) == 17) b = jX(b) | 0; + return b | 0 + } + + function nY(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + a:do switch ((d - c | 0) / 2 | 0 | 0) { + case 2: { + if ((a[c + 3 >> 0] | 0) == 0 ? (a[c + 2 >> 0] | 0) == 116 : 0) { + if (!(a[c + 1 >> 0] | 0)) b = a[c >> 0] | 0; else b = -1; + b = (b | 0) == 108 ? 60 : (b | 0) == 103 ? 62 : 0 + } else e = 27; + break + } + case 3: { + if ((((((a[c + 1 >> 0] | 0) == 0 ? (a[c >> 0] | 0) == 97 : 0) ? (a[c + 3 >> 0] | 0) == 0 : 0) ? (a[c + 2 >> 0] | 0) == 109 : 0) ? (a[c + 5 >> 0] | 0) == 0 : 0) ? (a[c + 4 >> 0] | 0) == 112 : 0) b = 38; else e = 27; + break + } + case 4: { + if (!(a[c + 1 >> 0] | 0)) switch (a[c >> 0] | 0) { + case 113: { + if (a[c + 3 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 2 >> 0] | 0) != 117) { + e = 27; + break a + } + if (a[c + 5 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 4 >> 0] | 0) != 111) { + e = 27; + break a + } + if (a[c + 7 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 6 >> 0] | 0) == 116) { + b = 34; + break a + } else { + e = 27; + break a + } + } + case 97: { + if (a[c + 3 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 2 >> 0] | 0) != 112) { + e = 27; + break a + } + if (a[c + 5 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 4 >> 0] | 0) != 111) { + e = 27; + break a + } + if (a[c + 7 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 6 >> 0] | 0) == 115) { + b = 39; + break a + } else { + e = 27; + break a + } + } + default: { + e = 27; + break a + } + } else e = 27; + break + } + default: + e = 27 + } while (0); + if ((e | 0) == 27) b = 0; + return b | 0 + } + + function oY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = b + 72 | 0; + k = g + 4 | 0; + while (1) { + if ((f - e | 0) <= 1) break; + b = a[e + 1 >> 0] | 0; + h = a[e >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (h & 255) >> 0] | 0; else b = sY(b, h) | 0; + switch (b | 0) { + case 5: { + e = e + 2 | 0; + break + } + case 6: { + e = e + 3 | 0; + break + } + case 7: { + e = e + 4 | 0; + break + } + case 10: { + c[k >> 2] = -1; + c[g >> 2] = (c[g >> 2] | 0) + 1; + e = e + 2 | 0; + break + } + case 9: { + c[g >> 2] = (c[g >> 2] | 0) + 1; + i = e + 2 | 0; + if ((f - i | 0) > 1) { + b = a[e + 3 >> 0] | 0; + h = a[i >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (h & 255) >> 0] | 0; else b = sY(b, h) | 0; + e = (b | 0) == 10 ? e + 4 | 0 : i + } else e = i; + c[k >> 2] = -1; + break + } + default: + e = e + 2 | 0 + } + c[k >> 2] = (c[k >> 2] | 0) + 1 + } + return + } + + function pY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = f + -2 | 0; + i = b + 72 | 0; + f = e; + a:while (1) { + h = f + 2 | 0; + if ((j - h | 0) <= 1) { + f = 1; + break + } + f = a[f + 3 >> 0] | 0; + b = f << 24 >> 24 == 0; + e = a[h >> 0] | 0; + if (b) f = d[i + (e & 255) >> 0] | 0; else f = sY(f, e) | 0; + switch (f | 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: { + f = h; + continue a + } + case 21: + if (b & e << 24 >> 24 == 9) { + k = 12; + break a + } else { + f = h; + continue a + } + case 22: + case 26: { + if (!b) { + k = 12; + break a + } + if (e << 24 >> 24 >= 0) { + f = h; + continue a + } + break + } + default: + if (!b) { + k = 12; + break a + } + } + switch (e << 24 >> 24 | 0) { + case 64: + case 36: { + f = h; + break + } + default: { + k = 12; + break a + } + } + } + if ((k | 0) == 12) { + c[g >> 2] = h; + f = 0 + } + return f | 0 + } + + function qY(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; + j = c[e >> 2] | 0; + k = j + (f - j & -2) | 0; + l = k; + m = h; + a:while (1) { + if (j >>> 0 >= k >>> 0) { + b = 0; + break + } + i = a[j >> 0] | 0; + b = a[j + 1 >> 0] | 0; + f = b & 255; + switch (b << 24 >> 24) { + case 0: { + if (i << 24 >> 24 > -1) { + b = c[g >> 2] | 0; + if ((b | 0) == (h | 0)) { + b = 2; + break a + } + c[g >> 2] = b + 1; + a[b >> 0] = i; + b = j + } else n = 7; + break + } + case 7: + case 6: + case 5: + case 4: + case 3: + case 2: + case 1: { + n = 7; + break + } + case -37: + case -38: + case -39: + case -40: { + b = c[g >> 2] | 0; + if ((m - b | 0) < 4) { + b = 2; + break a + } + if ((l - j | 0) < 4) { + b = 1; + break a + } + o = i & 255; + i = (f << 2 & 12 | o >>> 6) + 1 | 0; + c[g >> 2] = b + 1; + a[b >> 0] = i >>> 2 | 240; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 2 & 15 | i << 4 & 48 | 128; + b = j + 2 | 0; + i = d[b >> 0] | 0; + f = (o << 4 & 48 | i >>> 6 | a[j + 3 >> 0] << 2 & 12 | 128) & 255; + j = c[g >> 2] | 0; + c[g >> 2] = j + 1; + a[j >> 0] = f; + j = c[g >> 2] | 0; + c[g >> 2] = j + 1; + a[j >> 0] = i & 63 | 128; + break + } + default: { + b = c[g >> 2] | 0; + if ((m - b | 0) < 3) { + b = 2; + break a + } + c[g >> 2] = b + 1; + a[b >> 0] = f >>> 4 | 224; + o = i & 255; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 6 | f << 2 & 60 | 128; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o & 63 | 128; + b = j + } + } + if ((n | 0) == 7) { + n = 0; + b = c[g >> 2] | 0; + if ((m - b | 0) < 2) { + b = 2; + break + } + o = i & 255; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 6 | f << 2 | 192; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o & 63 | 128; + b = j + } + j = b + 2 | 0 + } + c[e >> 2] = j; + return b | 0 + } + + function rY(e, f, g, h, i) { + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + var j = 0, k = 0, l = 0; + j = c[f >> 2] | 0; + l = g - j & -2; + e = j + l | 0; + if ((l | 0) > (i - (c[h >> 2] | 0) | 0)) { + k = e + -2 | 0; + g = (a[k + 1 >> 0] & -8) << 24 >> 24 == -40; + l = g & 1; + e = g ? k : e + } else l = 0; + g = j; + while (1) { + j = g >>> 0 < e >>> 0; + k = c[h >> 2] | 0; + if (!(j & k >>> 0 < i >>> 0)) break; + j = ((d[g + 1 >> 0] | 0) << 8 | (d[g >> 0] | 0)) & 65535; + c[h >> 2] = k + 2; + b[k >> 1] = j; + k = (c[f >> 2] | 0) + 2 | 0; + c[f >> 2] = k; + g = k + } + return ((k | 0) != (i | 0) | j ^ 1 ? l : 2) | 0 + } + + function sY(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + switch (a << 24 >> 24) { + case -37: + case -38: + case -39: + case -40: { + a = 7; + break + } + case -33: + case -34: + case -35: + case -36: { + a = 8; + break + } + case -1: { + if ((b & 255) > 253) a = 0; else c = 4; + break + } + default: + c = 4 + } + if ((c | 0) == 4) a = 29; + return a | 0 + } + + function tY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + l = f; + j = l - e | 0; + a:do if ((j | 0) > 1) { + k = a[e + 1 >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + j = i & 255; + if (!(1 << (j & 31) & c[56836 + ((j >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + b = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + b = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + b = -2; + break a + } + c[g >> 2] = e; + b = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + b = -2; + break a + } + c[g >> 2] = e; + b = 0; + break a + } + case 19: { + b = vY(b, e + 2 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + b = 0; + break a + } + } + k = b + 72 | 0; + j = e; + b:while (1) { + i = j + 2 | 0; + e = l - i | 0; + if ((e | 0) <= 1) { + b = -1; + break a + } + b = a[j + 3 >> 0] | 0; + h = a[i >> 0] | 0; + if (!(b << 24 >> 24)) f = d[k + (h & 255) >> 0] | 0; else f = sY(b, h) | 0; + switch (f | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + j = i; + continue b + } + case 5: { + h = 23; + break b + } + case 6: { + h = 24; + break b + } + case 7: { + h = 26; + break b + } + case 18: { + h = 28; + break b + } + case 29: + break; + default: { + h = 29; + break b + } + } + e = h & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (b & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 22; + break + } else j = i + } + if ((h | 0) == 22) { + c[g >> 2] = i; + b = 0; + break + } else if ((h | 0) == 23) { + c[g >> 2] = i; + b = 0; + break + } else if ((h | 0) == 24) { + if ((e | 0) < 3) { + b = -2; + break + } + c[g >> 2] = i; + b = 0; + break + } else if ((h | 0) == 26) { + if ((e | 0) < 4) { + b = -2; + break + } + c[g >> 2] = i; + b = 0; + break + } else if ((h | 0) == 28) { + c[g >> 2] = j + 4; + b = 9; + break + } else if ((h | 0) == 29) { + c[g >> 2] = i; + b = 0; + break + } + } else b = -1; while (0); + return b | 0 + } + + function uY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e + 1 >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + l = i & 255; + if (!(1 << (l & 31) & c[56836 + ((l >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 30: + case 9: + case 10: + case 21: { + c[g >> 2] = e; + f = 22; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + l = b + 72 | 0; + b = e; + b:while (1) { + k = b + 2 | 0; + e = f - k | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + h = a[b + 3 >> 0] | 0; + i = a[k >> 0] | 0; + if (!(h << 24 >> 24)) j = d[l + (i & 255) >> 0] | 0; else j = sY(h, i) | 0; + switch (j | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + b = k; + continue b + } + case 5: { + h = 23; + break b + } + case 6: { + h = 24; + break b + } + case 7: { + h = 26; + break b + } + case 18: { + h = 28; + break b + } + case 29: + break; + default: { + h = 29; + break b + } + } + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (h & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 22; + break + } else b = k + } + if ((h | 0) == 22) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 23) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 24) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 26) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 28) { + c[g >> 2] = b + 4; + f = 28; + break + } else if ((h | 0) == 29) { + c[g >> 2] = k; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function vY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + k = f; + a:do if ((k - e | 0) > 1) { + i = a[e + 1 >> 0] | 0; + h = a[e >> 0] | 0; + do if (!(i << 24 >> 24)) if (h << 24 >> 24 == 120) { + h = wY(b, e + 2 | 0, f, g) | 0; + break a + } else { + h = d[b + 72 + (h & 255) >> 0] | 0; + break + } else h = sY(i, h) | 0; while (0); + if ((h | 0) != 25) { + c[g >> 2] = e; + h = 0; + break + } + j = b + 72 | 0; + b = e; + b:while (1) { + i = b + 2 | 0; + if ((k - i | 0) <= 1) { + h = -1; + break a + } + h = a[b + 3 >> 0] | 0; + f = a[i >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (f & 255) >> 0] | 0; else h = sY(h, f) | 0; + switch (h | 0) { + case 25: { + b = i; + break + } + case 18: { + f = 15; + break b + } + default: { + f = 16; + break b + } + } + } + if ((f | 0) == 15) { + c[g >> 2] = b + 4; + h = 10; + break + } else if ((f | 0) == 16) { + c[g >> 2] = i; + h = 0; + break + } + } else h = -1; while (0); + return h | 0 + } + + function wY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + a:do if ((f - e | 0) > 1) { + h = a[e + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[e >> 0] | 0) >> 0] | 0; else h = sY(h, a[e >> 0] | 0) | 0; + if ((h & -2 | 0) != 24) { + c[g >> 2] = e; + f = 0; + break + } + j = b + 72 | 0; + b:while (1) { + i = e + 2 | 0; + if ((f - i | 0) <= 1) { + f = -1; + break a + } + h = a[e + 3 >> 0] | 0; + b = a[i >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (b & 255) >> 0] | 0; else h = sY(h, b) | 0; + switch (h | 0) { + case 24: + case 25: { + e = i; + break + } + case 18: { + h = 13; + break b + } + default: { + h = 14; + break b + } + } + } + if ((h | 0) == 13) { + c[g >> 2] = e + 4; + f = 10; + break + } else if ((h | 0) == 14) { + c[g >> 2] = i; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function xY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = f; + j = o - e | 0; + a:do if ((j | 0) > 1) { + k = a[e + 1 >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + m = i & 255; + if (!(1 << (m & 31) & c[56836 + ((m >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = e; + h = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + h = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 16: { + i = e + 2 | 0; + if ((o - i | 0) <= 1) { + h = -1; + break a + } + h = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[i >> 0] | 0) >> 0] | 0; else h = sY(h, a[i >> 0] | 0) | 0; + switch (h | 0) { + case 27: { + h = yY(b, e + 4 | 0, f, g) | 0; + break a + } + case 20: { + h = zY(e + 4 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = i; + h = 0; + break a + } + } + } + case 15: { + h = AY(b, e + 2 | 0, f, g) | 0; + break a + } + case 17: { + h = BY(b, e + 2 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } + m = b + 72 | 0; + l = 0; + h = e + 2 | 0; + b:while (1) { + c:while (1) { + i = o - h | 0; + if ((i | 0) <= 1) { + h = -1; + break a + } + j = a[h + 1 >> 0] | 0; + k = a[h >> 0] | 0; + if (!(j << 24 >> 24)) e = d[m + (k & 255) >> 0] | 0; else e = sY(j, k) | 0; + switch (e | 0) { + case 5: { + n = 34; + break b + } + case 6: { + n = 35; + break b + } + case 7: { + n = 37; + break b + } + case 10: + case 9: + case 21: { + n = 55; + break b + } + case 11: { + n = 69; + break b + } + case 17: + break b; + case 23: + break c; + case 29: { + e = k & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | d[140962 + (j & 255) >> 0] << 3) << 2) >> 2])) { + n = 32; + break b + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + n = 75; + break b + } + } + h = h + 2 | 0 + } + if (l | 0) { + n = 40; + break + } + k = h + 2 | 0; + e = o - k | 0; + if ((e | 0) <= 1) { + h = -1; + break a + } + l = a[h + 3 >> 0] | 0; + i = a[k >> 0] | 0; + if (!(l << 24 >> 24)) j = d[m + (i & 255) >> 0] | 0; else j = sY(l, i) | 0; + switch (j | 0) { + case 5: { + n = 49; + break b + } + case 6: { + n = 50; + break b + } + case 7: { + n = 52; + break b + } + case 29: { + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | d[140706 + (l & 255) >> 0] << 3) << 2) >> 2])) { + n = 47; + break b + } + break + } + case 24: + case 22: + break; + default: { + n = 54; + break b + } + } + l = 1; + h = h + 4 | 0 + } + d:switch (n | 0) { + case 32: { + c[g >> 2] = h; + h = 0; + break a + } + case 34: { + c[g >> 2] = h; + h = 0; + break a + } + case 35: { + if ((i | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = h; + h = 0; + break a + } + case 37: { + if ((i | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = h; + h = 0; + break a + } + case 40: { + c[g >> 2] = h; + h = 0; + break a + } + case 47: { + c[g >> 2] = k; + h = 0; + break a + } + case 49: { + c[g >> 2] = k; + h = 0; + break a + } + case 50: { + if ((e | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = k; + h = 0; + break a + } + case 52: { + if ((e | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = k; + h = 0; + break a + } + case 54: { + c[g >> 2] = k; + h = 0; + break a + } + case 55: { + e:while (1) { + n = 0; + i = h + 2 | 0; + j = o - i | 0; + if ((j | 0) <= 1) { + h = -1; + break a + } + k = a[h + 3 >> 0] | 0; + e = a[i >> 0] | 0; + if (!(k << 24 >> 24)) l = d[m + (e & 255) >> 0] | 0; else l = sY(k, e) | 0; + switch (l | 0) { + case 11: { + h = i; + n = 69; + break d + } + case 17: { + h = i; + break d + } + case 10: + case 9: + case 21: { + h = i; + n = 55; + break + } + case 29: { + n = 60; + break e + } + case 24: + case 22: + break e; + case 5: { + n = 63; + break e + } + case 6: { + n = 64; + break e + } + case 7: { + n = 66; + break e + } + default: { + n = 68; + break e + } + } + } + if ((n | 0) == 60) { + o = e & 255; + if (!(1 << (o & 31) & c[56836 + ((o >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = i; + h = 0; + break a + } + } else if ((n | 0) == 63) { + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 64) { + if ((j | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 66) { + if ((j | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 68) { + c[g >> 2] = i; + h = 0; + break a + } + h = CY(b, h + 4 | 0, f, g) | 0; + break a + } + case 75: { + c[g >> 2] = h; + h = 0; + break a + } + } + if ((n | 0) == 69) { + c[g >> 2] = h + 2; + h = 2; + break + } + i = h + 2 | 0; + if ((o - i | 0) > 1) { + if ((a[h + 3 >> 0] | 0) == 0 ? (a[i >> 0] | 0) == 62 : 0) { + c[g >> 2] = h + 4; + h = 4; + break + } + c[g >> 2] = i; + h = 0 + } else h = -1 + } else h = -1; while (0); + return h | 0 + } + + function yY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = f; + a:do if ((j - e | 0) > 1) { + if ((a[e + 1 >> 0] | 0) == 0 ? (a[e >> 0] | 0) == 45 : 0) { + i = b + 72 | 0; + h = e + 2 | 0; + b:while (1) { + e = j - h | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + f = a[h + 1 >> 0] | 0; + b = a[h >> 0] | 0; + if (!(f << 24 >> 24)) f = d[i + (b & 255) >> 0] | 0; else f = sY(f, b) | 0; + switch (f | 0) { + case 8: + case 1: + case 0: { + k = 16; + break b + } + case 5: { + h = h + 2 | 0; + continue b + } + case 6: { + if ((e | 0) < 3) { + f = -2; + break a + } + h = h + 3 | 0; + continue b + } + case 7: { + if ((e | 0) < 4) { + f = -2; + break a + } + h = h + 4 | 0; + continue b + } + case 27: { + f = h + 2 | 0; + if ((j - f | 0) <= 1) { + f = -1; + break a + } + if (a[h + 3 >> 0] | 0) { + h = f; + continue b + } + if ((a[f >> 0] | 0) == 45) break b; else { + h = f; + continue b + } + } + default: { + h = h + 2 | 0; + continue b + } + } + } + if ((k | 0) == 16) { + c[g >> 2] = h; + f = 0; + break + } + f = h + 4 | 0; + if ((j - f | 0) <= 1) { + f = -1; + break + } + if ((a[h + 5 >> 0] | 0) == 0 ? (a[f >> 0] | 0) == 62 : 0) { + c[g >> 2] = h + 6; + f = 13; + break + } + c[g >> 2] = f; + f = 0; + break + } + c[g >> 2] = e; + f = 0 + } else f = -1; while (0); + return f | 0 + } + + function zY(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + if ((d - b | 0) > 11) { + d = 0; + while (1) { + if ((d | 0) >= 6) { + d = 8; + break + } + if (a[b + 1 >> 0] | 0) { + d = 0; + break + } + if ((a[b >> 0] | 0) != (a[141218 + d >> 0] | 0)) { + d = 0; + break + } + d = d + 1 | 0; + b = b + 2 | 0 + } + c[e >> 2] = b + } else d = -1; + return d | 0 + } + + function AY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + p = q; + o = f; + j = o - e | 0; + a:do if ((j | 0) > 1) { + f = a[e + 1 >> 0] | 0; + if (!(f << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(f, i) | 0 + } + switch (h | 0) { + case 29: { + m = i & 255; + if (!(1 << (m & 31) & c[56836 + ((m >>> 5 | d[140706 + (f & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + m = b + 72 | 0; + k = e; + b:while (1) { + f = k + 2 | 0; + h = o - f | 0; + if ((h | 0) <= 1) { + f = -1; + break a + } + i = a[k + 3 >> 0] | 0; + j = a[f >> 0] | 0; + if (!(i << 24 >> 24)) b = d[m + (j & 255) >> 0] | 0; else b = sY(i, j) | 0; + switch (b | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + k = f; + continue b + } + case 5: { + n = 22; + break b + } + case 6: { + n = 23; + break b + } + case 7: { + n = 25; + break b + } + case 10: + case 9: + case 21: { + n = 27; + break b + } + case 15: { + n = 46; + break b + } + case 29: + break; + default: + break b + } + k = j & 255; + if (!(1 << (k & 31) & c[56836 + ((k >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + n = 21; + break + } else k = f + } + if ((n | 0) == 21) { + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 22) { + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 23) { + if ((h | 0) < 3) { + f = -2; + break + } + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 25) { + if ((h | 0) < 4) { + f = -2; + break + } + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 27) { + if (!(DY(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + j = k + 4 | 0; + c:while (1) { + i = o - j | 0; + if ((i | 0) <= 1) { + f = -1; + break a + } + f = a[j + 1 >> 0] | 0; + h = a[j >> 0] | 0; + if (!(f << 24 >> 24)) f = d[m + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 8: + case 1: + case 0: { + n = 40; + break c + } + case 5: { + j = j + 2 | 0; + continue c + } + case 6: { + if ((i | 0) < 3) { + f = -2; + break a + } + j = j + 3 | 0; + continue c + } + case 7: { + if ((i | 0) < 4) { + f = -2; + break a + } + j = j + 4 | 0; + continue c + } + case 15: { + f = j + 2 | 0; + if ((o - f | 0) <= 1) { + f = -1; + break a + } + if (a[j + 3 >> 0] | 0) { + j = f; + continue c + } + if ((a[f >> 0] | 0) == 62) { + n = 44; + break c + } else { + j = f; + continue c + } + } + default: { + j = j + 2 | 0; + continue c + } + } + } + if ((n | 0) == 40) { + c[g >> 2] = j; + f = 0; + break + } else if ((n | 0) == 44) { + c[g >> 2] = j + 4; + f = c[p >> 2] | 0; + break + } + } else if ((n | 0) == 46) { + if (!(DY(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + f = k + 4 | 0; + if ((o - f | 0) <= 1) { + f = -1; + break + } + if ((a[k + 5 >> 0] | 0) == 0 ? (a[f >> 0] | 0) == 62 : 0) { + c[g >> 2] = k + 6; + f = c[p >> 2] | 0; + break + } + } + c[g >> 2] = f; + f = 0 + } else f = -1; while (0); + l = q; + return f | 0 + } + + function BY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e + 1 >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + l = i & 255; + if (!(1 << (l & 31) & c[56836 + ((l >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + l = b + 72 | 0; + b = e; + b:while (1) { + j = b + 2 | 0; + e = f - j | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + h = a[b + 3 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) k = d[l + (i & 255) >> 0] | 0; else k = sY(h, i) | 0; + switch (k | 0) { + case 23: + case 27: + case 26: + case 25: + case 24: + case 22: { + b = j; + continue b + } + case 5: { + h = 22; + break b + } + case 6: { + h = 23; + break b + } + case 7: { + h = 25; + break b + } + case 10: + case 9: + case 21: { + h = 27; + break b + } + case 11: { + h = 34; + break b + } + case 29: + break; + default: { + h = 35; + break b + } + } + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (h & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 21; + break + } else b = j + } + if ((h | 0) == 21) { + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 22) { + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 23) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 25) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 27) { + c:while (1) { + k = j + 2 | 0; + if ((f - k | 0) <= 1) { + f = -1; + break a + } + h = a[j + 3 >> 0] | 0; + i = a[k >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 10: + case 9: + case 21: { + j = k; + h = 27; + break + } + case 11: { + h = 32; + break c + } + default: { + h = 33; + break c + } + } + } + if ((h | 0) == 32) { + c[g >> 2] = j + 4; + f = 5; + break + } else if ((h | 0) == 33) { + c[g >> 2] = k; + f = 0; + break + } + } else if ((h | 0) == 34) { + c[g >> 2] = b + 4; + f = 5; + break + } else if ((h | 0) == 35) { + c[g >> 2] = j; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function CY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 16 | 0; + q = s; + c[q >> 2] = e; + r = f; + o = b + 72 | 0; + h = 0; + a:while (1) { + b:while (1) { + m = r - e | 0; + if ((m | 0) <= 1) { + e = -1; + break a + } + i = a[e + 1 >> 0] | 0; + j = a[e >> 0] | 0; + if (!(i << 24 >> 24)) k = d[o + (j & 255) >> 0] | 0; else k = sY(i, j) | 0; + switch (k | 0) { + case 5: { + p = 11; + break a + } + case 6: { + p = 12; + break a + } + case 7: { + p = 14; + break a + } + case 23: { + p = 16; + break b + } + case 10: + case 9: + case 21: { + p = 31; + break b + } + case 14: { + p = 37; + break b + } + case 29: { + n = j & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + p = 9; + break a + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + p = 89; + break a + } + } + n = e + 2 | 0; + c[q >> 2] = n; + e = n + } + c:do if ((p | 0) == 16) { + p = 0; + if (h | 0) { + p = 17; + break a + } + h = e + 2 | 0; + c[q >> 2] = h; + i = h; + j = r - i | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + k = a[e + 3 >> 0] | 0; + m = a[h >> 0] | 0; + if (!(k << 24 >> 24)) n = d[o + (m & 255) >> 0] | 0; else n = sY(k, m) | 0; + switch (n | 0) { + case 5: { + p = 25; + break a + } + case 6: { + p = 26; + break a + } + case 7: { + p = 28; + break a + } + case 24: + case 22: { + h = 1; + break c + } + case 29: + break; + default: { + p = 30; + break a + } + } + n = m & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + p = 24; + break a + } else h = 1 + } else if ((p | 0) == 31) while (1) { + p = 0; + i = e + 2 | 0; + c[q >> 2] = i; + j = i; + if ((r - j | 0) <= 1) { + e = -1; + break a + } + e = a[e + 3 >> 0] | 0; + h = a[i >> 0] | 0; + if (!(e << 24 >> 24)) e = d[o + (h & 255) >> 0] | 0; else e = sY(e, h) | 0; + switch (e | 0) { + case 14: { + e = i; + p = 37; + break c + } + case 9: + case 10: + case 21: { + e = i; + p = 31; + break + } + default: { + p = 36; + break a + } + } + } while (0); + d:do if ((p | 0) == 37) { + while (1) { + p = 0; + j = e + 2 | 0; + c[q >> 2] = j; + k = j; + if ((r - k | 0) <= 1) { + e = -1; + break a + } + h = a[e + 3 >> 0] | 0; + i = a[j >> 0] | 0; + if (!(h << 24 >> 24)) m = d[o + (i & 255) >> 0] | 0; else m = sY(h, i) | 0; + if ((m | 1 | 0) == 13) break; + switch (m | 0) { + case 9: + case 10: + case 21: { + e = j; + p = 37; + break + } + default: { + p = 43; + break a + } + } + } + e = e + 4 | 0; + c[q >> 2] = e; + e:while (1) { + j = r - e | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + h = a[e + 1 >> 0] | 0; + i = a[e >> 0] | 0; + if (!(h << 24 >> 24)) h = d[o + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + if ((h | 0) == (m | 0)) break; + switch (h | 0) { + case 8: + case 1: + case 0: { + p = 56; + break a + } + case 2: { + p = 61; + break a + } + case 5: { + n = e + 2 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 6: { + if ((j | 0) < 3) { + e = -2; + break a + } + n = e + 3 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 7: { + if ((j | 0) < 4) { + e = -2; + break a + } + n = e + 4 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 3: { + e = tY(b, e + 2 | 0, f, q) | 0; + if ((e | 0) < 1) { + p = 59; + break a + } + e = c[q >> 2] | 0; + continue e + } + default: { + n = e + 2 | 0; + c[q >> 2] = n; + e = n; + continue e + } + } + } + i = e + 2 | 0; + c[q >> 2] = i; + k = i; + if ((r - k | 0) <= 1) { + e = -1; + break a + } + h = a[e + 3 >> 0] | 0; + j = a[i >> 0] | 0; + if (!(h << 24 >> 24)) h = d[o + (j & 255) >> 0] | 0; else h = sY(h, j) | 0; + switch (h | 0) { + case 11: { + p = 81; + break a + } + case 17: { + p = 82; + break a + } + case 10: + case 9: + case 21: { + e = i; + break + } + default: { + p = 68; + break a + } + } + f:while (1) { + i = e + 2 | 0; + c[q >> 2] = i; + h = i; + j = r - h | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + k = a[e + 3 >> 0] | 0; + m = a[i >> 0] | 0; + if (!(k << 24 >> 24)) n = d[o + (m & 255) >> 0] | 0; else n = sY(k, m) | 0; + switch (n | 0) { + case 5: { + p = 76; + break a + } + case 6: { + p = 77; + break a + } + case 7: { + p = 79; + break a + } + case 11: { + p = 81; + break a + } + case 17: { + p = 82; + break a + } + case 24: + case 22: { + h = 0; + break d + } + case 10: + case 9: + case 21: { + e = i; + break + } + case 29: + break f; + default: { + p = 87; + break a + } + } + } + n = m & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + p = 75; + break a + } else h = 0 + } while (0); + e = e + 4 | 0; + c[q >> 2] = e + } + switch (p | 0) { + case 9: { + c[g >> 2] = e; + e = 0; + break + } + case 11: { + c[g >> 2] = e; + e = 0; + break + } + case 12: { + if ((m | 0) < 3) e = -2; else { + c[g >> 2] = e; + e = 0 + } + break + } + case 14: { + if ((m | 0) < 4) e = -2; else { + c[g >> 2] = e; + e = 0 + } + break + } + case 17: { + c[g >> 2] = e; + e = 0; + break + } + case 24: { + c[g >> 2] = h; + e = 0; + break + } + case 25: { + c[g >> 2] = h; + e = 0; + break + } + case 26: { + if ((j | 0) < 3) e = -2; else { + c[g >> 2] = h; + e = 0 + } + break + } + case 28: { + if ((j | 0) < 4) e = -2; else { + c[g >> 2] = h; + e = 0 + } + break + } + case 30: { + c[g >> 2] = i; + e = 0; + break + } + case 36: { + c[g >> 2] = j; + e = 0; + break + } + case 43: { + c[g >> 2] = k; + e = 0; + break + } + case 56: { + c[g >> 2] = e; + e = 0; + break + } + case 59: { + if (!e) { + c[g >> 2] = c[q >> 2]; + e = 0 + } + break + } + case 61: { + c[g >> 2] = e; + e = 0; + break + } + case 68: { + c[g >> 2] = k; + e = 0; + break + } + case 75: { + c[g >> 2] = i; + e = 0; + break + } + case 76: { + c[g >> 2] = i; + e = 0; + break + } + case 77: { + if ((j | 0) < 3) e = -2; else { + c[g >> 2] = i; + e = 0 + } + break + } + case 79: { + if ((j | 0) < 4) e = -2; else { + c[g >> 2] = i; + e = 0 + } + break + } + case 81: { + c[g >> 2] = e + 4; + e = 1; + break + } + case 82: { + h = i + 2 | 0; + c[q >> 2] = h; + e = h; + if ((r - e | 0) > 1) { + if ((a[i + 3 >> 0] | 0) == 0 ? (a[h >> 0] | 0) == 62 : 0) { + c[g >> 2] = i + 4; + e = 3; + break + } + c[g >> 2] = e; + e = 0 + } else e = -1; + break + } + case 87: { + c[g >> 2] = h; + e = 0; + break + } + case 89: { + c[g >> 2] = e; + e = 0; + break + } + } + l = s; + return e | 0 + } + + function DY(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + c[e >> 2] = 11; + a:do if ((d - b | 0) == 6 ? (a[b + 1 >> 0] | 0) == 0 : 0) { + switch (a[b >> 0] | 0) { + case 120: { + d = 0; + break + } + case 88: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + if (!(a[b + 3 >> 0] | 0)) { + switch (a[b + 2 >> 0] | 0) { + case 109: + break; + case 77: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + if (!(a[b + 5 >> 0] | 0)) { + switch (a[b + 4 >> 0] | 0) { + case 108: + break; + case 76: { + d = 0; + break a + } + default: { + d = 1; + break a + } + } + if (!d) { + c[e >> 2] = 12; + d = 1 + } else d = 0 + } else d = 1 + } else d = 1 + } else d = 1; while (0); + return d | 0 + } + + function EY(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; + k = e + 72 | 0; + a:while (1) { + b:while (1) { + j = g - f | 0; + if ((j | 0) <= 1) { + f = -1; + break a + } + e = a[f + 1 >> 0] | 0; + i = a[f >> 0] | 0; + if (!(e << 24 >> 24)) e = d[k + (i & 255) >> 0] | 0; else e = sY(e, i) | 0; + switch (e | 0) { + case 8: + case 1: + case 0: { + l = 10; + break a + } + case 6: { + l = 9; + break b + } + case 7: { + l = 19; + break b + } + case 5: { + f = f + 2 | 0; + continue b + } + case 13: + case 12: { + i = f + 2 | 0; + if ((e | 0) == (b | 0)) { + l = 12; + break a + } else { + f = i; + continue b + } + } + default: { + f = f + 2 | 0; + continue b + } + } + } + if ((l | 0) == 9) { + l = 0; + if ((j | 0) < 3) { + f = -2; + break + } else { + f = f + 3 | 0; + continue + } + } else if ((l | 0) == 19) { + l = 0; + if ((j | 0) < 4) { + f = -2; + break + } else { + f = f + 4 | 0; + continue + } + } + } + c:do if ((l | 0) == 10) { + c[h >> 2] = f; + f = 0 + } else if ((l | 0) == 12) if ((g - i | 0) > 1) { + c[h >> 2] = i; + g = a[f + 3 >> 0] | 0; + f = a[i >> 0] | 0; + if (!(g << 24 >> 24)) f = d[k + (f & 255) >> 0] | 0; else f = sY(g, f) | 0; + switch (f | 0) { + case 20: + case 30: + case 11: + case 10: + case 9: + case 21: { + f = 27; + break c + } + default: { + } + } + f = 0 + } else f = -27; while (0); + return f | 0 + } + + function FY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f; + a:do if ((k - e | 0) > 1) { + h = a[e + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[e >> 0] | 0) >> 0] | 0; else h = sY(h, a[e >> 0] | 0) | 0; + switch (h | 0) { + case 27: { + h = yY(b, e + 2 | 0, f, g) | 0; + break a + } + case 20: { + c[g >> 2] = e + 2; + h = 33; + break a + } + case 24: + case 22: { + j = b + 72 | 0; + b:while (1) { + i = e + 2 | 0; + f = k - i | 0; + if ((f | 0) <= 1) { + h = -1; + break a + } + h = a[e + 3 >> 0] | 0; + b = a[i >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (b & 255) >> 0] | 0; else h = sY(h, b) | 0; + switch (h | 0) { + case 24: + case 22: { + e = i; + break + } + case 30: { + l = 15; + break b + } + case 10: + case 9: + case 21: + break b; + default: { + l = 22; + break b + } + } + } + if ((l | 0) == 22) { + c[g >> 2] = i; + h = 0; + break a + } + c:do if ((l | 0) == 15) { + if ((f | 0) <= 3) { + h = -1; + break a + } + b = a[e + 5 >> 0] | 0; + h = a[e + 4 >> 0] | 0; + if (!(b << 24 >> 24)) h = d[j + (h & 255) >> 0] | 0; else h = sY(b, h) | 0; + switch (h | 0) { + case 30: + case 10: + case 9: + case 21: + break; + default: + break c + } + c[g >> 2] = i; + h = 0; + break a + } while (0); + c[g >> 2] = i; + h = 16; + break a + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } + } else h = -1; while (0); + return h | 0 + } + + function GY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e + 1 >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + j = i & 255; + if (!(1 << (j & 31) & c[56836 + ((j >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + b = b + 72 | 0; + k = e; + b:while (1) { + h = k; + k = k + 2 | 0; + e = f - k | 0; + if ((e | 0) <= 1) { + f = -20; + break a + } + h = a[h + 3 >> 0] | 0; + i = a[k >> 0] | 0; + if (!(h << 24 >> 24)) j = d[b + (i & 255) >> 0] | 0; else j = sY(h, i) | 0; + switch (j | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: + continue b; + case 5: { + h = 22; + break b + } + case 6: { + h = 23; + break b + } + case 7: { + h = 25; + break b + } + case 36: + case 30: + case 11: + case 32: + case 21: + case 10: + case 9: { + h = 27; + break b + } + case 29: + break; + default: { + h = 28; + break b + } + } + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (h & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 21; + break + } + } + if ((h | 0) == 21) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 22) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 23) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 25) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 27) { + c[g >> 2] = k; + f = 20; + break + } else if ((h | 0) == 28) { + c[g >> 2] = k; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function HY(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + e = IY(e) | 0; + if ((e | 0) == -1) e = 0; else { + a[b + 69 >> 0] = e; + c[b >> 2] = 67; + c[b + 4 >> 2] = 68; + c[b + 48 >> 2] = 31; + c[b + 72 >> 2] = d; + c[d >> 2] = b; + e = 1 + } + return e | 0 + } + + function IY(a) { + a = a | 0; + var b = 0; + a:do if (!a) b = 6; else { + b = 0; + while (1) { + if ((b | 0) >= 6) { + b = -1; + break a + } + if (qZ(a, c[59964 + (b << 2) >> 2] | 0) | 0) break a; + b = b + 1 | 0 + } + } while (0); + return b | 0 + } + + function JY(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return MY(58844, a, 0, b, c, d) | 0 + } + + function KY(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return MY(58844, a, 1, b, c, d) | 0 + } + + function LY(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + BX(58480, b, c, d); + return + } + + function MY(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0; + a:do if (f >>> 0 < g >>> 0) { + l = c[d + 72 >> 2] | 0; + i = f + 1 | 0; + b:do if ((i | 0) == (g | 0)) { + i = a[d + 69 >> 0] | 0; + if (((i << 24 >> 24) + -3 | 0) >>> 0 < 3) { + i = -1; + break a + } + switch (a[f >> 0] | 0) { + case 60: + case 0: { + i = -1; + break a + } + case -17: + case -1: + case -2: + break; + default: + break b + } + if (!((e | 0) == 1 & i << 24 >> 24 == 0)) { + i = -1; + break a + } + } else { + k = a[f >> 0] | 0; + i = a[i >> 0] | 0; + j = ((k & 255) << 8 | i & 255) & 65535; + c:do if (j << 16 >> 16 < -2) { + if (j << 16 >> 16 >= -257) { + switch (j << 16 >> 16) { + case -257: + break; + default: + break c + } + if ((e | 0) == 1 & (a[d + 69 >> 0] | 0) == 0) break b; + c[h >> 2] = f + 2; + c[l >> 2] = c[b + 16 >> 2]; + i = 14; + break a + } + switch (j << 16 >> 16) { + case -4165: + break; + default: + break c + } + if ((e | 0) == 1) switch (a[d + 69 >> 0] | 0) { + case 0: + case 3: + case 4: + case 5: + break b; + default: { + } + } + i = f + 2 | 0; + if ((i | 0) == (g | 0)) { + i = -1; + break a + } + if ((a[i >> 0] | 0) != -65) break b; + c[h >> 2] = f + 3; + c[l >> 2] = c[b + 8 >> 2]; + i = 14; + break a + } else { + if (j << 16 >> 16 < 15360) { + switch (j << 16 >> 16) { + case -2: + break; + default: + break c + } + if ((e | 0) == 1 & (a[d + 69 >> 0] | 0) == 0) break b; + c[h >> 2] = f + 2; + c[l >> 2] = c[b + 20 >> 2]; + i = 14; + break a + } + switch (j << 16 >> 16) { + case 15360: + break; + default: + break c + } + i = a[d + 69 >> 0] | 0; + if (i << 24 >> 24 == 4) { + if ((e | 0) == 1) break b + } else if ((e | 0) == 1 & i << 24 >> 24 == 3) break b; + i = c[b + 20 >> 2] | 0; + c[l >> 2] = i; + i = ob[c[i + (e << 2) >> 2] & 127](i, f, g, h) | 0; + break a + } while (0); + if (k << 24 >> 24) { + if ((e | 0) == 1 | i << 24 >> 24 != 0) break; + i = c[b + 20 >> 2] | 0; + c[l >> 2] = i; + i = ob[c[i + (e << 2) >> 2] & 127](i, f, g, h) | 0; + break a + } + if ((e | 0) == 1 ? (a[d + 69 >> 0] | 0) == 5 : 0) break; + i = c[b + 16 >> 2] | 0; + c[l >> 2] = i; + i = ob[c[i + (e << 2) >> 2] & 127](i, f, g, h) | 0; + break a + } while (0); + i = c[b + (a[d + 69 >> 0] << 2) >> 2] | 0; + c[l >> 2] = i; + i = ob[c[i + (e << 2) >> 2] & 127](i, f, g, h) | 0 + } else i = -4; while (0); + return i | 0 + } + + function NY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + a:do if (e >>> 0 < f >>> 0) { + i = e; + m = f - i | 0; + k = (m & 1 | 0) == 0; + m = m & -2; + l = (m | 0) == 0; + m = k | l ? f : e + m | 0; + if (k | l ^ 1) { + f = a[e >> 0] | 0; + if (!(f << 24 >> 24)) { + h = a[e + 1 >> 0] | 0; + j = h; + h = d[b + 72 + (h & 255) >> 0] | 0 + } else { + h = a[e + 1 >> 0] | 0; + j = h; + h = sY(f, h) | 0 + } + do switch (h | 0) { + case 12: { + f = mZ(12, b, e + 2 | 0, m, g) | 0; + break a + } + case 13: { + f = mZ(13, b, e + 2 | 0, m, g) | 0; + break a + } + case 2: { + h = e + 2 | 0; + if ((m - h | 0) <= 1) { + f = -1; + break a + } + f = a[h >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 3 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 3 >> 0] | 0) | 0; + switch (f | 0) { + case 16: { + f = nZ(b, e + 4 | 0, m, g) | 0; + break a + } + case 15: { + f = iZ(b, e + 4 | 0, m, g) | 0; + break a + } + case 7: + case 6: + case 5: + case 29: + case 24: + case 22: { + c[g >> 2] = e; + f = 29; + break a + } + default: { + c[g >> 2] = h; + f = 0; + break a + } + } + } + case 9: { + if ((e + 2 | 0) == (m | 0)) { + c[g >> 2] = m; + f = -15; + break a + } else i = 7; + break + } + case 10: + case 21: { + i = 7; + break + } + case 30: { + f = cZ(b, e + 2 | 0, m, g) | 0; + break a + } + case 35: { + c[g >> 2] = e + 2; + f = 38; + break a + } + case 20: { + c[g >> 2] = e + 2; + f = 25; + break a + } + case 4: { + h = e + 2 | 0; + f = m - h | 0; + if ((f | 0) <= 1) { + f = -26; + break a + } + if ((a[h >> 0] | 0) == 0 ? (a[e + 3 >> 0] | 0) == 93 : 0) { + if ((f | 0) <= 3) { + f = -1; + break a + } + if ((a[e + 4 >> 0] | 0) == 0 ? (a[e + 5 >> 0] | 0) == 62 : 0) { + c[g >> 2] = e + 6; + f = 34; + break a + } + } + c[g >> 2] = h; + f = 26; + break a + } + case 31: { + c[g >> 2] = e + 2; + f = 23; + break a + } + case 32: { + h = e + 2 | 0; + if ((m - h | 0) <= 1) { + f = -24; + break a + } + f = a[h >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 3 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 3 >> 0] | 0) | 0; + switch (f | 0) { + case 33: { + c[g >> 2] = e + 4; + f = 36; + break a + } + case 15: { + c[g >> 2] = e + 4; + f = 35; + break a + } + case 34: { + c[g >> 2] = e + 4; + f = 37; + break a + } + case 32: + case 36: + case 35: + case 11: + case 21: + case 10: + case 9: { + c[g >> 2] = h; + f = 24; + break a + } + default: { + c[g >> 2] = h; + f = 0; + break a + } + } + } + case 36: { + c[g >> 2] = e + 2; + f = 21; + break a + } + case 11: { + c[g >> 2] = e + 2; + f = 17; + break a + } + case 19: { + f = oZ(b, e + 2 | 0, m, g) | 0; + break a + } + case 5: { + if ((m - i | 0) < 2) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((m - i | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((m - i | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 24: + case 22: { + f = 18; + i = 61; + break + } + case 23: + case 27: + case 26: + case 25: { + f = 19; + i = 61; + break + } + case 29: { + i = f & 255; + h = j & 255; + f = h >>> 5; + h = 1 << (h & 31); + if (!(h & c[56836 + ((f | d[140706 + i >> 0] << 3) << 2) >> 2])) if (!(c[56836 + ((d[140962 + i >> 0] << 3 | f) << 2) >> 2] & h)) i = 64; else { + f = 19; + i = 61 + } else { + f = 18; + i = 61 + } + break + } + default: + i = 64 + } while (0); + if ((i | 0) == 7) { + k = m; + b = b + 72 | 0; + j = e; + b:while (1) { + i = j; + j = j + 2 | 0; + if ((k - j | 0) <= 1) { + i = 28; + break + } + f = a[j >> 0] | 0; + h = a[i + 3 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 10: + case 21: + continue b; + case 9: + break; + default: { + i = 27; + break b + } + } + if ((i + 4 | 0) == (m | 0)) { + i = 27; + break + } + } + if ((i | 0) == 27) { + c[g >> 2] = j; + f = 15; + break + } else if ((i | 0) == 28) { + c[g >> 2] = j; + f = 15; + break + } + } else if ((i | 0) == 61) { + l = b + 72 | 0; + h = e + 2 | 0; + c:while (1) { + e = f & 255; + d:while (1) { + k = m - h | 0; + if ((k | 0) <= 1) { + i = 104; + break c + } + i = a[h >> 0] | 0; + j = a[h + 1 >> 0] | 0; + if (!(i << 24 >> 24)) b = d[l + (j & 255) >> 0] | 0; else b = sY(i, j) | 0; + switch (b | 0) { + case 5: { + i = 73; + break c + } + case 6: { + i = 74; + break c + } + case 7: { + i = 76; + break c + } + case 10: + case 9: + case 21: + case 30: + case 20: + case 36: + case 35: + case 32: + case 11: { + i = 78; + break c + } + case 34: { + i = 94; + break c + } + case 33: { + i = 97; + break c + } + case 15: { + i = 100; + break c + } + case 29: { + k = j & 255; + if (!(1 << (k & 31) & c[56836 + ((k >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + i = 71; + break c + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + case 23: { + k = h + 2 | 0; + switch (e & 63) { + case 41: { + f = 19; + h = k; + continue c + } + case 18: + break d; + default: { + h = k; + continue d + } + } + } + default: { + i = 103; + break c + } + } + h = h + 2 | 0 + } + b = m - k | 0; + if ((b | 0) <= 1) { + f = -1; + break a + } + f = a[k >> 0] | 0; + i = a[h + 3 >> 0] | 0; + if (!(f << 24 >> 24)) j = d[l + (i & 255) >> 0] | 0; else j = sY(f, i) | 0; + switch (j | 0) { + case 5: { + i = 89; + break c + } + case 6: { + i = 90; + break c + } + case 7: { + i = 92; + break c + } + case 29: { + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | d[140962 + (f & 255) >> 0] << 3) << 2) >> 2])) { + i = 87; + break c + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + f = 19; + h = k; + continue c + } + } + f = 41; + h = h + 4 | 0 + } + switch (i | 0) { + case 71: { + c[g >> 2] = h; + f = 0; + break a + } + case 73: { + c[g >> 2] = h; + f = 0; + break a + } + case 74: { + if ((k | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = h; + f = 0; + break a + } + case 76: { + if ((k | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = h; + f = 0; + break a + } + case 78: { + c[g >> 2] = h; + break a + } + case 87: { + c[g >> 2] = k; + f = 0; + break a + } + case 89: { + c[g >> 2] = k; + f = 0; + break a + } + case 90: { + if ((b | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = k; + f = 0; + break a + } + case 92: { + if ((b | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = k; + f = 0; + break a + } + case 94: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 32; + break a + } + case 97: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 31; + break a + } + case 100: + if ((f | 0) == 19) { + c[g >> 2] = h; + f = 0; + break a + } else { + c[g >> 2] = h + 2; + f = 30; + break a + } + case 103: { + c[g >> 2] = h; + f = 0; + break a + } + case 104: { + f = 0 - f | 0; + break a + } + } + } else if ((i | 0) == 64) { + c[g >> 2] = e; + f = 0; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function OY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + a:do if (e >>> 0 < f >>> 0) { + h = e; + i = f - h | 0; + k = (i & 1 | 0) == 0; + i = i & -2; + j = (i | 0) == 0; + i = k | j ? f : e + i | 0; + if (k | j ^ 1) { + f = a[e >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 1 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 1 >> 0] | 0) | 0; + do switch (f | 0) { + case 2: { + f = fZ(b, e + 2 | 0, i, g) | 0; + break a + } + case 3: { + f = bZ(b, e + 2 | 0, i, g) | 0; + break a + } + case 9: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -3; + break a + } + f = a[h >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 3 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 3 >> 0] | 0) | 0; + c[g >> 2] = (f | 0) == 10 ? e + 4 | 0 : h; + f = 7; + break a + } + case 10: { + c[g >> 2] = e + 2; + f = 7; + break a + } + case 4: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -5; + break a + } + if ((a[h >> 0] | 0) == 0 ? (a[e + 3 >> 0] | 0) == 93 : 0) { + f = e + 4 | 0; + if ((i - f | 0) <= 1) { + f = -5; + break a + } + if ((a[f >> 0] | 0) == 0 ? (a[e + 5 >> 0] | 0) == 62 : 0) { + c[g >> 2] = f; + f = 0; + break a + } else f = i + } else f = i; + break + } + case 5: { + f = i; + if ((f - h | 0) < 2) { + f = -2; + break a + } + h = e + 2 | 0; + break + } + case 6: { + f = i; + if ((f - h | 0) < 3) { + f = -2; + break a + } + h = e + 3 | 0; + break + } + case 7: { + f = i; + if ((f - h | 0) < 4) { + f = -2; + break a + } + h = e + 4 | 0; + break + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + f = 0; + break a + } + default: { + h = e + 2 | 0; + f = i + } + } while (0); + j = b + 72 | 0; + b = h; + b:while (1) { + e = f - b | 0; + if ((e | 0) <= 1) { + h = 52; + break + } + h = a[b >> 0] | 0; + i = a[b + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 10: + case 9: + case 8: + case 1: + case 0: + case 2: + case 3: { + h = 50; + break b + } + case 5: { + b = b + 2 | 0; + continue b + } + case 6: { + if ((e | 0) < 3) { + h = 38; + break b + } + b = b + 3 | 0; + continue b + } + case 7: { + if ((e | 0) < 4) { + h = 41; + break b + } + b = b + 4 | 0; + continue b + } + case 4: { + if ((e | 0) <= 3) { + h = 50; + break b + } + h = b + 2 | 0; + if (a[h >> 0] | 0) { + b = h; + continue b + } + if ((a[b + 3 >> 0] | 0) != 93) { + b = h; + continue b + } + if ((e | 0) <= 5) { + h = 50; + break b + } + i = b + 4 | 0; + if (a[i >> 0] | 0) { + b = h; + continue b + } + if ((a[b + 5 >> 0] | 0) == 62) { + h = 49; + break b + } else { + b = h; + continue b + } + } + default: { + b = b + 2 | 0; + continue b + } + } + } + if ((h | 0) == 38) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 41) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 49) { + c[g >> 2] = i; + f = 0; + break + } else if ((h | 0) == 50) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 52) { + c[g >> 2] = b; + f = 6; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function PY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + a:do if (e >>> 0 < f >>> 0) { + h = e; + i = f - h | 0; + k = (i & 1 | 0) == 0; + i = i & -2; + j = (i | 0) == 0; + i = k | j ? f : e + i | 0; + if (k | j ^ 1) { + f = a[e >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 1 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 1 >> 0] | 0) | 0; + switch (f | 0) { + case 4: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -1; + break a + } + if ((a[h >> 0] | 0) == 0 ? (a[e + 3 >> 0] | 0) == 93 : 0) { + f = e + 4 | 0; + if ((i - f | 0) <= 1) { + f = -1; + break a + } + if ((a[f >> 0] | 0) == 0 ? (a[e + 5 >> 0] | 0) == 62 : 0) { + c[g >> 2] = e + 6; + f = 40; + break a + } + } + break + } + case 9: { + h = e + 2 | 0; + if ((i - h | 0) <= 1) { + f = -1; + break a + } + f = a[h >> 0] | 0; + if (!(f << 24 >> 24)) f = d[b + 72 + (d[e + 3 >> 0] | 0) >> 0] | 0; else f = sY(f, a[e + 3 >> 0] | 0) | 0; + c[g >> 2] = (f | 0) == 10 ? e + 4 | 0 : h; + f = 7; + break a + } + case 10: { + c[g >> 2] = e + 2; + f = 7; + break a + } + case 5: { + f = i; + if ((f - h | 0) < 2) { + f = -2; + break a + } + h = e + 2 | 0; + i = f; + break + } + case 6: { + f = i; + if ((f - h | 0) < 3) { + f = -2; + break a + } + h = e + 3 | 0; + i = f; + break + } + case 7: { + f = i; + if ((f - h | 0) < 4) { + f = -2; + break a + } + h = e + 4 | 0; + i = f; + break + } + case 8: + case 1: + case 0: { + c[g >> 2] = e; + f = 0; + break a + } + default: + h = e + 2 | 0 + } + j = b + 72 | 0; + b = h; + b:while (1) { + e = i - b | 0; + if ((e | 0) <= 1) { + h = 40; + break + } + f = a[b >> 0] | 0; + h = a[b + 1 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[j + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 10: + case 9: + case 8: + case 1: + case 0: + case 4: { + h = 38; + break b + } + case 6: { + if ((e | 0) < 3) { + h = 35; + break b + } else f = 3; + break + } + case 7: { + if ((e | 0) < 4) { + h = 37; + break b + } else f = 4; + break + } + default: + f = 2 + } + b = b + f | 0 + } + if ((h | 0) == 35) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 37) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 38) { + c[g >> 2] = b; + f = 6; + break + } else if ((h | 0) == 40) { + c[g >> 2] = b; + f = 6; + break + } + } else f = -1 + } else f = -4; while (0); + return f | 0 + } + + function QY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f - e | 0; + k = (k & 1 | 0) == 0 ? f : e + (k & -2) | 0; + j = b + 72 | 0; + i = 0; + f = e; + a:while (1) { + h = k - f | 0; + if ((h | 0) <= 1) { + f = -1; + break + } + b = a[f >> 0] | 0; + e = a[f + 1 >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 8: + case 1: + case 0: { + l = 12; + break a + } + case 5: { + h = i; + f = f + 2 | 0; + i = h; + continue a + } + case 6: { + if ((h | 0) < 3) { + f = -2; + break a + } + h = i; + f = f + 3 | 0; + i = h; + continue a + } + case 7: { + if ((h | 0) < 4) { + f = -2; + break a + } + h = i; + f = f + 4 | 0; + i = h; + continue a + } + case 2: { + b = f + 2 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[b >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[f + 3 >> 0] | 0) != 33) { + h = i; + f = b; + i = h; + continue a + } + b = f + 4 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[b >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + h = (a[f + 5 >> 0] | 0) == 91; + i = i + (h & 1) | 0; + f = h ? f + 6 | 0 : b; + continue a + } + case 4: { + b = f + 2 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[b >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[f + 3 >> 0] | 0) != 93) { + h = i; + f = b; + i = h; + continue a + } + b = f + 4 | 0; + if ((k - b | 0) <= 1) { + f = -1; + break a + } + if (a[b >> 0] | 0) { + h = i; + f = b; + i = h; + continue a + } + if ((a[f + 5 >> 0] | 0) != 62) { + h = i; + f = b; + i = h; + continue a + } + f = f + 6 | 0; + if (!i) { + l = 26; + break a + } + i = i + -1 | 0; + continue a + } + default: { + h = i; + f = f + 2 | 0; + i = h; + continue a + } + } + } + if ((l | 0) == 12) { + c[g >> 2] = f; + f = 0 + } else if ((l | 0) == 26) { + c[g >> 2] = f; + f = 42 + } + return f | 0 + } + + function RY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 1) { + l = b + 72 | 0; + j = e; + a:while (1) { + if ((k - j | 0) <= 1) { + i = 30; + break + } + h = a[j >> 0] | 0; + i = a[j + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 3: { + i = 11; + break a + } + case 2: { + i = 14; + break a + } + case 10: { + i = 15; + break a + } + case 9: { + i = 18; + break a + } + case 21: { + i = 25; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 2 + } + j = j + h | 0 + } + if ((i | 0) == 11) if ((j | 0) == (e | 0)) { + h = bZ(b, e + 2 | 0, f, g) | 0; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 14) { + c[g >> 2] = j; + h = 0; + break + } else if ((i | 0) == 15) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 7; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 18) { + if ((j | 0) != (e | 0)) { + c[g >> 2] = j; + h = 6; + break + } + j = e + 2 | 0; + if ((k - j | 0) <= 1) { + h = -3; + break + } + h = a[j >> 0] | 0; + i = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + c[g >> 2] = (h | 0) == 10 ? e + 4 | 0 : j; + h = 7; + break + } else if ((i | 0) == 25) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 39; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 30) { + c[g >> 2] = j; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function SY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + do if (e >>> 0 < f >>> 0) { + k = f; + if ((k - e | 0) > 1) { + l = b + 72 | 0; + j = e; + a:while (1) { + if ((k - j | 0) <= 1) { + i = 29; + break + } + h = a[j >> 0] | 0; + i = a[j + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 3: { + i = 11; + break a + } + case 30: { + i = 14; + break a + } + case 10: { + i = 17; + break a + } + case 9: { + i = 20; + break a + } + case 5: { + h = 2; + break + } + case 6: { + h = 3; + break + } + case 7: { + h = 4; + break + } + default: + h = 2 + } + j = j + h | 0 + } + if ((i | 0) == 11) if ((j | 0) == (e | 0)) { + h = bZ(b, e + 2 | 0, f, g) | 0; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 14) if ((j | 0) == (e | 0)) { + h = cZ(b, e + 2 | 0, f, g) | 0; + h = (h | 0) == 22 ? 0 : h; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 17) if ((j | 0) == (e | 0)) { + c[g >> 2] = e + 2; + h = 7; + break + } else { + c[g >> 2] = j; + h = 6; + break + } else if ((i | 0) == 20) { + if ((j | 0) != (e | 0)) { + c[g >> 2] = j; + h = 6; + break + } + j = e + 2 | 0; + if ((k - j | 0) <= 1) { + h = -3; + break + } + h = a[j >> 0] | 0; + i = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + c[g >> 2] = (h | 0) == 10 ? e + 4 | 0 : j; + h = 7; + break + } else if ((i | 0) == 29) { + c[g >> 2] = j; + h = 6; + break + } + } else h = -1 + } else h = -4; while (0); + return h | 0 + } + + function TY(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = d; + b = c; + while (1) { + c = a[e >> 0] | 0; + if (!(c << 24 >> 24)) { + g = 7; + break + } + if ((f - b | 0) < 2) { + b = 0; + break + } + if (a[b >> 0] | 0) { + b = 0; + break + } + if ((a[b + 1 >> 0] | 0) != c << 24 >> 24) { + b = 0; + break + } + e = e + 1 | 0; + b = b + 2 | 0 + } + if ((g | 0) == 7) b = (b | 0) == (d | 0) & 1; + return b | 0 + } + + function UY(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0; + g = b + 72 | 0; + f = c; + a:while (1) { + b = a[f >> 0] | 0; + e = a[f + 1 >> 0] | 0; + if (!(b << 24 >> 24)) b = d[g + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 5: { + b = 2; + break + } + case 6: { + b = 3; + break + } + case 7: { + b = 4; + break + } + case 27: + case 26: + case 25: + case 24: + case 23: + case 22: + case 29: { + b = 2; + break + } + default: + break a + } + f = f + b | 0 + } + return f - c | 0 + } + + function VY(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0; + f = b + 72 | 0; + a:while (1) { + b = a[c >> 0] | 0; + e = a[c + 1 >> 0] | 0; + if (!(b << 24 >> 24)) b = d[f + (e & 255) >> 0] | 0; else b = sY(b, e) | 0; + switch (b | 0) { + case 21: + case 9: + case 10: + break; + default: + break a + } + c = c + 2 | 0 + } + return c | 0 + } + + function WY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = b + 72 | 0; + m = 0; + n = 0; + b = 1; + a:while (1) { + l = e + 2 | 0; + h = a[l >> 0] | 0; + j = h << 24 >> 24 == 0; + i = e + 3 | 0; + k = a[i >> 0] | 0; + if (j) h = d[o + (k & 255) >> 0] | 0; else h = sY(h, k) | 0; + do switch (h | 0) { + case 5: { + if (b | 0) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + case 6: { + if (b | 0) { + j = b; + k = n; + l = m; + e = i; + b = j; + n = k; + m = l; + continue a + } + if ((n | 0) >= (f | 0)) { + k = n; + l = m; + b = 1; + e = i; + n = k; + m = l; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + k = n; + l = m; + b = 1; + e = i; + n = k; + m = l; + continue a + } + case 7: { + if (!b) if ((n | 0) < (f | 0)) { + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + b = 1 + } else b = 1; + k = n; + l = m; + e = e + 4 | 0; + n = k; + m = l; + continue a + } + case 24: + case 22: + case 29: { + if (b | 0) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + c[g + (n << 4) >> 2] = l; + a[g + (n << 4) + 12 >> 0] = 1; + j = n; + k = m; + b = 1; + e = l; + n = j; + m = k; + continue a + } + case 12: { + if ((b | 0) != 2) { + if ((n | 0) >= (f | 0)) { + k = n; + m = 12; + b = 2; + e = l; + n = k; + continue a + } + c[g + (n << 4) + 4 >> 2] = e + 4; + k = n; + m = 12; + b = 2; + e = l; + n = k; + continue a + } + if ((m | 0) != 12) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + if ((n | 0) < (f | 0)) c[g + (n << 4) + 8 >> 2] = l; + m = 12; + n = n + 1 | 0; + b = 0; + e = l; + continue a + } + case 13: { + if ((b | 0) != 2) { + if ((n | 0) >= (f | 0)) { + k = n; + m = 13; + b = 2; + e = l; + n = k; + continue a + } + c[g + (n << 4) + 4 >> 2] = e + 4; + k = n; + m = 13; + b = 2; + e = l; + n = k; + continue a + } + if ((m | 0) != 13) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + if ((n | 0) < (f | 0)) c[g + (n << 4) + 8 >> 2] = l; + m = 13; + n = n + 1 | 0; + b = 0; + e = l; + continue a + } + case 3: { + if ((n | 0) >= (f | 0)) { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + a[g + (n << 4) + 12 >> 0] = 0; + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + case 21: { + switch (b | 0) { + case 1: { + j = n; + k = m; + b = 0; + e = l; + n = j; + m = k; + continue a + } + case 2: + break; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + i = g + (n << 4) + 12 | 0; + if (!(a[i >> 0] | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + do if (j & (l | 0) != (c[g + (n << 4) + 4 >> 2] | 0) & k << 24 >> 24 == 32) { + h = a[e + 4 >> 0] | 0; + b = a[e + 5 >> 0] | 0; + if (!(h << 24 >> 24)) { + if (b << 24 >> 24 == 32) break; + b = d[o + (b & 255) >> 0] | 0 + } else b = sY(h, b) | 0; + if ((b | 0) != (m | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + } while (0); + a[i >> 0] = 0; + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + case 10: + case 9: { + switch (b | 0) { + case 1: { + j = n; + k = m; + b = 0; + e = l; + n = j; + m = k; + continue a + } + case 2: + break; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } + if ((n | 0) >= (f | 0)) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + a[g + (n << 4) + 12 >> 0] = 0; + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } + case 17: + case 11: + if ((b | 0) == 2) { + j = n; + k = m; + b = 2; + e = l; + n = j; + m = k; + continue a + } else break a; + default: { + i = b; + j = n; + k = m; + e = l; + b = i; + n = j; + m = k; + continue a + } + } while (0) + } + return n | 0 + } + + function XY(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + b = c + 4 | 0; + a:do if (!(a[b >> 0] | 0)) if ((a[c + 5 >> 0] | 0) == 120) { + c = c + 6 | 0; + b = 0; + while (1) { + b:while (1) { + if (!(a[c >> 0] | 0)) { + d = a[c + 1 >> 0] | 0; + if (d << 24 >> 24 == 59) { + e = 18; + break a + } + d = d << 24 >> 24; + switch (d | 0) { + case 57: + case 56: + case 55: + case 54: + case 53: + case 52: + case 51: + case 50: + case 49: + case 48: { + e = 8; + break b + } + case 70: + case 69: + case 68: + case 67: + case 66: + case 65: { + e = 9; + break b + } + case 102: + case 101: + case 100: + case 99: + case 98: + case 97: { + e = 10; + break b + } + default: { + } + } + } + c = c + 2 | 0 + } + if ((e | 0) == 8) b = d + -48 | b << 4; else if ((e | 0) == 9) b = (b << 4) + -55 + d | 0; else if ((e | 0) == 10) b = (b << 4) + -87 + d | 0; + if ((b | 0) < 1114112) c = c + 2 | 0; else { + b = -1; + e = 19; + break + } + } + } else { + c = b; + b = 0; + e = 13 + } else { + d = b; + b = 0; + c = -1; + e = 16 + } while (0); + while (1) if ((e | 0) == 13) { + if (a[c >> 0] | 0) { + d = c; + c = -1; + e = 16; + continue + } + if ((a[c + 1 >> 0] | 0) == 59) { + e = 18; + continue + } + d = c; + c = a[c + 1 >> 0] | 0; + e = 16; + continue + } else if ((e | 0) == 16) { + b = (b * 10 | 0) + -48 + c | 0; + if ((b | 0) >= 1114112) { + b = -1; + e = 19; + continue + } + c = d + 2 | 0; + e = 13; + continue + } else if ((e | 0) == 18) { + b = jX(b) | 0; + e = 19; + continue + } else if ((e | 0) == 19) return b | 0; + return 0 + } + + function YY(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + a:do switch ((d - c | 0) / 2 | 0 | 0) { + case 2: { + if ((a[c + 2 >> 0] | 0) == 0 ? (a[c + 3 >> 0] | 0) == 116 : 0) { + if (!(a[c >> 0] | 0)) b = a[c + 1 >> 0] | 0; else b = -1; + b = (b | 0) == 108 ? 60 : (b | 0) == 103 ? 62 : 0 + } else e = 27; + break + } + case 3: { + if ((((((a[c >> 0] | 0) == 0 ? (a[c + 1 >> 0] | 0) == 97 : 0) ? (a[c + 2 >> 0] | 0) == 0 : 0) ? (a[c + 3 >> 0] | 0) == 109 : 0) ? (a[c + 4 >> 0] | 0) == 0 : 0) ? (a[c + 5 >> 0] | 0) == 112 : 0) b = 38; else e = 27; + break + } + case 4: { + if (!(a[c >> 0] | 0)) switch (a[c + 1 >> 0] | 0) { + case 113: { + if (a[c + 2 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 3 >> 0] | 0) != 117) { + e = 27; + break a + } + if (a[c + 4 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 5 >> 0] | 0) != 111) { + e = 27; + break a + } + if (a[c + 6 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 7 >> 0] | 0) == 116) { + b = 34; + break a + } else { + e = 27; + break a + } + } + case 97: { + if (a[c + 2 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 3 >> 0] | 0) != 112) { + e = 27; + break a + } + if (a[c + 4 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 5 >> 0] | 0) != 111) { + e = 27; + break a + } + if (a[c + 6 >> 0] | 0) { + e = 27; + break a + } + if ((a[c + 7 >> 0] | 0) == 115) { + b = 39; + break a + } else { + e = 27; + break a + } + } + default: { + e = 27; + break a + } + } else e = 27; + break + } + default: + e = 27 + } while (0); + if ((e | 0) == 27) b = 0; + return b | 0 + } + + function ZY(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = b + 72 | 0; + k = g + 4 | 0; + while (1) { + if ((f - e | 0) <= 1) break; + b = a[e >> 0] | 0; + h = a[e + 1 >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (h & 255) >> 0] | 0; else b = sY(b, h) | 0; + switch (b | 0) { + case 5: { + e = e + 2 | 0; + break + } + case 6: { + e = e + 3 | 0; + break + } + case 7: { + e = e + 4 | 0; + break + } + case 10: { + c[k >> 2] = -1; + c[g >> 2] = (c[g >> 2] | 0) + 1; + e = e + 2 | 0; + break + } + case 9: { + c[g >> 2] = (c[g >> 2] | 0) + 1; + i = e + 2 | 0; + if ((f - i | 0) > 1) { + b = a[i >> 0] | 0; + h = a[e + 3 >> 0] | 0; + if (!(b << 24 >> 24)) b = d[j + (h & 255) >> 0] | 0; else b = sY(b, h) | 0; + e = (b | 0) == 10 ? e + 4 | 0 : i + } else e = i; + c[k >> 2] = -1; + break + } + default: + e = e + 2 | 0 + } + c[k >> 2] = (c[k >> 2] | 0) + 1 + } + return + } + + function _Y(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f + -2 | 0; + j = b + 72 | 0; + a:while (1) { + h = e + 2 | 0; + if ((k - h | 0) <= 1) { + f = 1; + break + } + f = a[h >> 0] | 0; + i = f << 24 >> 24 == 0; + b = a[e + 3 >> 0] | 0; + if (i) f = d[j + (b & 255) >> 0] | 0; else f = sY(f, b) | 0; + switch (f | 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: { + e = h; + continue a + } + case 21: + if (i & b << 24 >> 24 == 9) { + l = 12; + break a + } else { + e = h; + continue a + } + case 22: + case 26: { + if (!i) { + l = 12; + break a + } + if (b << 24 >> 24 >= 0) { + e = h; + continue a + } + break + } + default: + if (!i) { + l = 12; + break a + } + } + switch (b << 24 >> 24 | 0) { + case 64: + case 36: { + e = h; + break + } + default: { + l = 12; + break a + } + } + } + if ((l | 0) == 12) { + c[g >> 2] = h; + f = 0 + } + return f | 0 + } + + function $Y(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; + j = c[e >> 2] | 0; + k = j + (f - j & -2) | 0; + l = k; + m = h; + a:while (1) { + if (j >>> 0 >= k >>> 0) { + b = 0; + break + } + i = a[j + 1 >> 0] | 0; + b = a[j >> 0] | 0; + f = b & 255; + switch (b << 24 >> 24) { + case 0: { + if (i << 24 >> 24 > -1) { + b = c[g >> 2] | 0; + if ((b | 0) == (h | 0)) { + b = 2; + break a + } + c[g >> 2] = b + 1; + a[b >> 0] = i; + b = j + } else n = 7; + break + } + case 7: + case 6: + case 5: + case 4: + case 3: + case 2: + case 1: { + n = 7; + break + } + case -37: + case -38: + case -39: + case -40: { + b = c[g >> 2] | 0; + if ((m - b | 0) < 4) { + b = 2; + break a + } + if ((l - j | 0) < 4) { + b = 1; + break a + } + o = i & 255; + i = (f << 2 & 12 | o >>> 6) + 1 | 0; + c[g >> 2] = b + 1; + a[b >> 0] = i >>> 2 | 240; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 2 & 15 | i << 4 & 48 | 128; + b = j + 2 | 0; + i = d[j + 3 >> 0] | 0; + f = (o << 4 & 48 | i >>> 6 | a[b >> 0] << 2 & 12 | 128) & 255; + j = c[g >> 2] | 0; + c[g >> 2] = j + 1; + a[j >> 0] = f; + j = c[g >> 2] | 0; + c[g >> 2] = j + 1; + a[j >> 0] = i & 63 | 128; + break + } + default: { + b = c[g >> 2] | 0; + if ((m - b | 0) < 3) { + b = 2; + break a + } + c[g >> 2] = b + 1; + a[b >> 0] = f >>> 4 | 224; + o = i & 255; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 6 | f << 2 & 60 | 128; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o & 63 | 128; + b = j + } + } + if ((n | 0) == 7) { + n = 0; + b = c[g >> 2] | 0; + if ((m - b | 0) < 2) { + b = 2; + break + } + o = i & 255; + c[g >> 2] = b + 1; + a[b >> 0] = o >>> 6 | f << 2 | 192; + b = c[g >> 2] | 0; + c[g >> 2] = b + 1; + a[b >> 0] = o & 63 | 128; + b = j + } + j = b + 2 | 0 + } + c[e >> 2] = j; + return b | 0 + } + + function aZ(e, f, g, h, i) { + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + var j = 0, k = 0, l = 0; + j = c[f >> 2] | 0; + l = g - j & -2; + e = j + l | 0; + if ((l | 0) > (i - (c[h >> 2] | 0) | 0)) { + k = e + -2 | 0; + g = (a[k >> 0] & -8) << 24 >> 24 == -40; + l = g & 1; + e = g ? k : e + } else l = 0; + g = j; + while (1) { + j = g >>> 0 < e >>> 0; + k = c[h >> 2] | 0; + if (!(j & k >>> 0 < i >>> 0)) break; + j = ((d[g >> 0] | 0) << 8 | (d[g + 1 >> 0] | 0)) & 65535; + c[h >> 2] = k + 2; + b[k >> 1] = j; + k = (c[f >> 2] | 0) + 2 | 0; + c[f >> 2] = k; + g = k + } + return ((k | 0) != (i | 0) | j ^ 1 ? l : 2) | 0 + } + + function bZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + l = f; + j = l - e | 0; + a:do if ((j | 0) > 1) { + k = a[e >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e + 1 >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e + 1 >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + j = i & 255; + if (!(1 << (j & 31) & c[56836 + ((j >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + b = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + b = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + b = -2; + break a + } + c[g >> 2] = e; + b = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + b = -2; + break a + } + c[g >> 2] = e; + b = 0; + break a + } + case 19: { + b = dZ(b, e + 2 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + b = 0; + break a + } + } + k = b + 72 | 0; + j = e; + b:while (1) { + i = j + 2 | 0; + e = l - i | 0; + if ((e | 0) <= 1) { + b = -1; + break a + } + b = a[i >> 0] | 0; + f = a[j + 3 >> 0] | 0; + if (!(b << 24 >> 24)) h = d[k + (f & 255) >> 0] | 0; else h = sY(b, f) | 0; + switch (h | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + j = i; + continue b + } + case 5: { + f = 23; + break b + } + case 6: { + f = 24; + break b + } + case 7: { + f = 26; + break b + } + case 18: { + f = 28; + break b + } + case 29: + break; + default: { + f = 29; + break b + } + } + e = f & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (b & 255) >> 0] | 0) << 3) << 2) >> 2])) { + f = 22; + break + } else j = i + } + if ((f | 0) == 22) { + c[g >> 2] = i; + b = 0; + break + } else if ((f | 0) == 23) { + c[g >> 2] = i; + b = 0; + break + } else if ((f | 0) == 24) { + if ((e | 0) < 3) { + b = -2; + break + } + c[g >> 2] = i; + b = 0; + break + } else if ((f | 0) == 26) { + if ((e | 0) < 4) { + b = -2; + break + } + c[g >> 2] = i; + b = 0; + break + } else if ((f | 0) == 28) { + c[g >> 2] = j + 4; + b = 9; + break + } else if ((f | 0) == 29) { + c[g >> 2] = i; + b = 0; + break + } + } else b = -1; while (0); + return b | 0 + } + + function cZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e + 1 >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e + 1 >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + l = i & 255; + if (!(1 << (l & 31) & c[56836 + ((l >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 30: + case 9: + case 10: + case 21: { + c[g >> 2] = e; + f = 22; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + l = b + 72 | 0; + b = e; + b:while (1) { + k = b + 2 | 0; + e = f - k | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + h = a[k >> 0] | 0; + i = a[b + 3 >> 0] | 0; + if (!(h << 24 >> 24)) j = d[l + (i & 255) >> 0] | 0; else j = sY(h, i) | 0; + switch (j | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + b = k; + continue b + } + case 5: { + h = 23; + break b + } + case 6: { + h = 24; + break b + } + case 7: { + h = 26; + break b + } + case 18: { + h = 28; + break b + } + case 29: + break; + default: { + h = 29; + break b + } + } + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (h & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 22; + break + } else b = k + } + if ((h | 0) == 22) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 23) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 24) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 26) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 28) { + c[g >> 2] = b + 4; + f = 28; + break + } else if ((h | 0) == 29) { + c[g >> 2] = k; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function dZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + k = f; + a:do if ((k - e | 0) > 1) { + i = a[e >> 0] | 0; + h = a[e + 1 >> 0] | 0; + do if (!(i << 24 >> 24)) if (h << 24 >> 24 == 120) { + h = eZ(b, e + 2 | 0, f, g) | 0; + break a + } else { + h = d[b + 72 + (h & 255) >> 0] | 0; + break + } else h = sY(i, h) | 0; while (0); + if ((h | 0) != 25) { + c[g >> 2] = e; + h = 0; + break + } + j = b + 72 | 0; + b = e; + b:while (1) { + i = b + 2 | 0; + if ((k - i | 0) <= 1) { + h = -1; + break a + } + h = a[i >> 0] | 0; + f = a[b + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (f & 255) >> 0] | 0; else h = sY(h, f) | 0; + switch (h | 0) { + case 25: { + b = i; + break + } + case 18: { + f = 15; + break b + } + default: { + f = 16; + break b + } + } + } + if ((f | 0) == 15) { + c[g >> 2] = b + 4; + h = 10; + break + } else if ((f | 0) == 16) { + c[g >> 2] = i; + h = 0; + break + } + } else h = -1; while (0); + return h | 0 + } + + function eZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0; + a:do if ((f - e | 0) > 1) { + h = a[e >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[e + 1 >> 0] | 0) >> 0] | 0; else h = sY(h, a[e + 1 >> 0] | 0) | 0; + if ((h & -2 | 0) != 24) { + c[g >> 2] = e; + f = 0; + break + } + j = b + 72 | 0; + b:while (1) { + i = e + 2 | 0; + if ((f - i | 0) <= 1) { + f = -1; + break a + } + h = a[i >> 0] | 0; + b = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (b & 255) >> 0] | 0; else h = sY(h, b) | 0; + switch (h | 0) { + case 24: + case 25: { + e = i; + break + } + case 18: { + h = 13; + break b + } + default: { + h = 14; + break b + } + } + } + if ((h | 0) == 13) { + c[g >> 2] = e + 4; + f = 10; + break + } else if ((h | 0) == 14) { + c[g >> 2] = i; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function fZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = f; + j = o - e | 0; + a:do if ((j | 0) > 1) { + k = a[e >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e + 1 >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e + 1 >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + m = i & 255; + if (!(1 << (m & 31) & c[56836 + ((m >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = e; + h = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + h = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 16: { + i = e + 2 | 0; + if ((o - i | 0) <= 1) { + h = -1; + break a + } + h = a[i >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[e + 3 >> 0] | 0) >> 0] | 0; else h = sY(h, a[e + 3 >> 0] | 0) | 0; + switch (h | 0) { + case 27: { + h = gZ(b, e + 4 | 0, f, g) | 0; + break a + } + case 20: { + h = hZ(e + 4 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = i; + h = 0; + break a + } + } + } + case 15: { + h = iZ(b, e + 2 | 0, f, g) | 0; + break a + } + case 17: { + h = jZ(b, e + 2 | 0, f, g) | 0; + break a + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } + m = b + 72 | 0; + l = 0; + h = e + 2 | 0; + b:while (1) { + c:while (1) { + i = o - h | 0; + if ((i | 0) <= 1) { + h = -1; + break a + } + j = a[h >> 0] | 0; + k = a[h + 1 >> 0] | 0; + if (!(j << 24 >> 24)) e = d[m + (k & 255) >> 0] | 0; else e = sY(j, k) | 0; + switch (e | 0) { + case 5: { + n = 34; + break b + } + case 6: { + n = 35; + break b + } + case 7: { + n = 37; + break b + } + case 10: + case 9: + case 21: { + n = 55; + break b + } + case 11: { + n = 69; + break b + } + case 17: + break b; + case 23: + break c; + case 29: { + e = k & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | d[140962 + (j & 255) >> 0] << 3) << 2) >> 2])) { + n = 32; + break b + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + n = 75; + break b + } + } + h = h + 2 | 0 + } + if (l | 0) { + n = 40; + break + } + e = h + 2 | 0; + l = o - e | 0; + if ((l | 0) <= 1) { + h = -1; + break a + } + i = a[e >> 0] | 0; + j = a[h + 3 >> 0] | 0; + if (!(i << 24 >> 24)) k = d[m + (j & 255) >> 0] | 0; else k = sY(i, j) | 0; + switch (k | 0) { + case 5: { + n = 49; + break b + } + case 6: { + n = 50; + break b + } + case 7: { + n = 52; + break b + } + case 29: { + l = j & 255; + if (!(1 << (l & 31) & c[56836 + ((l >>> 5 | d[140706 + (i & 255) >> 0] << 3) << 2) >> 2])) { + n = 47; + break b + } + break + } + case 24: + case 22: + break; + default: { + n = 54; + break b + } + } + l = 1; + h = h + 4 | 0 + } + d:switch (n | 0) { + case 32: { + c[g >> 2] = h; + h = 0; + break a + } + case 34: { + c[g >> 2] = h; + h = 0; + break a + } + case 35: { + if ((i | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = h; + h = 0; + break a + } + case 37: { + if ((i | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = h; + h = 0; + break a + } + case 40: { + c[g >> 2] = h; + h = 0; + break a + } + case 47: { + c[g >> 2] = e; + h = 0; + break a + } + case 49: { + c[g >> 2] = e; + h = 0; + break a + } + case 50: { + if ((l | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 52: { + if ((l | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = e; + h = 0; + break a + } + case 54: { + c[g >> 2] = e; + h = 0; + break a + } + case 55: { + e:while (1) { + n = 0; + i = h + 2 | 0; + j = o - i | 0; + if ((j | 0) <= 1) { + h = -1; + break a + } + k = a[i >> 0] | 0; + e = a[h + 3 >> 0] | 0; + if (!(k << 24 >> 24)) l = d[m + (e & 255) >> 0] | 0; else l = sY(k, e) | 0; + switch (l | 0) { + case 11: { + h = i; + n = 69; + break d + } + case 17: { + h = i; + break d + } + case 10: + case 9: + case 21: { + h = i; + n = 55; + break + } + case 29: { + n = 60; + break e + } + case 24: + case 22: + break e; + case 5: { + n = 63; + break e + } + case 6: { + n = 64; + break e + } + case 7: { + n = 66; + break e + } + default: { + n = 68; + break e + } + } + } + if ((n | 0) == 60) { + o = e & 255; + if (!(1 << (o & 31) & c[56836 + ((o >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = i; + h = 0; + break a + } + } else if ((n | 0) == 63) { + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 64) { + if ((j | 0) < 3) { + h = -2; + break a + } + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 66) { + if ((j | 0) < 4) { + h = -2; + break a + } + c[g >> 2] = i; + h = 0; + break a + } else if ((n | 0) == 68) { + c[g >> 2] = i; + h = 0; + break a + } + h = kZ(b, h + 4 | 0, f, g) | 0; + break a + } + case 75: { + c[g >> 2] = h; + h = 0; + break a + } + } + if ((n | 0) == 69) { + c[g >> 2] = h + 2; + h = 2; + break + } + i = h + 2 | 0; + if ((o - i | 0) > 1) { + if ((a[i >> 0] | 0) == 0 ? (a[h + 3 >> 0] | 0) == 62 : 0) { + c[g >> 2] = h + 4; + h = 4; + break + } + c[g >> 2] = i; + h = 0 + } else h = -1 + } else h = -1; while (0); + return h | 0 + } + + function gZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = f; + a:do if ((j - e | 0) > 1) { + if ((a[e >> 0] | 0) == 0 ? (a[e + 1 >> 0] | 0) == 45 : 0) { + i = b + 72 | 0; + h = e + 2 | 0; + b:while (1) { + e = j - h | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + f = a[h >> 0] | 0; + b = a[h + 1 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[i + (b & 255) >> 0] | 0; else f = sY(f, b) | 0; + switch (f | 0) { + case 8: + case 1: + case 0: { + k = 16; + break b + } + case 5: { + h = h + 2 | 0; + continue b + } + case 6: { + if ((e | 0) < 3) { + f = -2; + break a + } + h = h + 3 | 0; + continue b + } + case 7: { + if ((e | 0) < 4) { + f = -2; + break a + } + h = h + 4 | 0; + continue b + } + case 27: { + f = h + 2 | 0; + if ((j - f | 0) <= 1) { + f = -1; + break a + } + if (a[f >> 0] | 0) { + h = f; + continue b + } + if ((a[h + 3 >> 0] | 0) == 45) break b; else { + h = f; + continue b + } + } + default: { + h = h + 2 | 0; + continue b + } + } + } + if ((k | 0) == 16) { + c[g >> 2] = h; + f = 0; + break + } + f = h + 4 | 0; + if ((j - f | 0) <= 1) { + f = -1; + break + } + if ((a[f >> 0] | 0) == 0 ? (a[h + 5 >> 0] | 0) == 62 : 0) { + c[g >> 2] = h + 6; + f = 13; + break + } + c[g >> 2] = f; + f = 0; + break + } + c[g >> 2] = e; + f = 0 + } else f = -1; while (0); + return f | 0 + } + + function hZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + if ((d - b | 0) > 11) { + d = 0; + while (1) { + if ((d | 0) >= 6) { + d = 8; + break + } + if (a[b >> 0] | 0) { + d = 0; + break + } + if ((a[b + 1 >> 0] | 0) != (a[141218 + d >> 0] | 0)) { + d = 0; + break + } + d = d + 1 | 0; + b = b + 2 | 0 + } + c[e >> 2] = b + } else d = -1; + return d | 0 + } + + function iZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + q = l; + l = l + 16 | 0; + p = q; + o = f; + i = o - e | 0; + a:do if ((i | 0) > 1) { + j = a[e >> 0] | 0; + if (!(j << 24 >> 24)) { + h = a[e + 1 >> 0] | 0; + f = d[b + 72 + (h & 255) >> 0] | 0 + } else { + h = a[e + 1 >> 0] | 0; + f = sY(j, h) | 0 + } + switch (f | 0) { + case 29: { + m = h & 255; + if (!(1 << (m & 31) & c[56836 + ((m >>> 5 | d[140706 + (j & 255) >> 0] << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((i | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((i | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + m = b + 72 | 0; + k = e; + b:while (1) { + f = k + 2 | 0; + h = o - f | 0; + if ((h | 0) <= 1) { + f = -1; + break a + } + i = a[f >> 0] | 0; + j = a[k + 3 >> 0] | 0; + if (!(i << 24 >> 24)) b = d[m + (j & 255) >> 0] | 0; else b = sY(i, j) | 0; + switch (b | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: { + k = f; + continue b + } + case 5: { + n = 22; + break b + } + case 6: { + n = 23; + break b + } + case 7: { + n = 25; + break b + } + case 10: + case 9: + case 21: { + n = 27; + break b + } + case 15: { + n = 46; + break b + } + case 29: + break; + default: + break b + } + k = j & 255; + if (!(1 << (k & 31) & c[56836 + ((k >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + n = 21; + break + } else k = f + } + if ((n | 0) == 21) { + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 22) { + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 23) { + if ((h | 0) < 3) { + f = -2; + break + } + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 25) { + if ((h | 0) < 4) { + f = -2; + break + } + c[g >> 2] = f; + f = 0; + break + } else if ((n | 0) == 27) { + if (!(lZ(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + j = k + 4 | 0; + c:while (1) { + i = o - j | 0; + if ((i | 0) <= 1) { + f = -1; + break a + } + f = a[j >> 0] | 0; + h = a[j + 1 >> 0] | 0; + if (!(f << 24 >> 24)) f = d[m + (h & 255) >> 0] | 0; else f = sY(f, h) | 0; + switch (f | 0) { + case 8: + case 1: + case 0: { + n = 40; + break c + } + case 5: { + j = j + 2 | 0; + continue c + } + case 6: { + if ((i | 0) < 3) { + f = -2; + break a + } + j = j + 3 | 0; + continue c + } + case 7: { + if ((i | 0) < 4) { + f = -2; + break a + } + j = j + 4 | 0; + continue c + } + case 15: { + f = j + 2 | 0; + if ((o - f | 0) <= 1) { + f = -1; + break a + } + if (a[f >> 0] | 0) { + j = f; + continue c + } + if ((a[j + 3 >> 0] | 0) == 62) { + n = 44; + break c + } else { + j = f; + continue c + } + } + default: { + j = j + 2 | 0; + continue c + } + } + } + if ((n | 0) == 40) { + c[g >> 2] = j; + f = 0; + break + } else if ((n | 0) == 44) { + c[g >> 2] = j + 4; + f = c[p >> 2] | 0; + break + } + } else if ((n | 0) == 46) { + if (!(lZ(e, f, p) | 0)) { + c[g >> 2] = f; + f = 0; + break + } + f = k + 4 | 0; + if ((o - f | 0) <= 1) { + f = -1; + break + } + if ((a[f >> 0] | 0) == 0 ? (a[k + 5 >> 0] | 0) == 62 : 0) { + c[g >> 2] = k + 6; + f = c[p >> 2] | 0; + break + } + } + c[g >> 2] = f; + f = 0 + } else f = -1; while (0); + l = q; + return f | 0 + } + + function jZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e + 1 >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e + 1 >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + l = i & 255; + if (!(1 << (l & 31) & c[56836 + ((l >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + l = b + 72 | 0; + b = e; + b:while (1) { + j = b + 2 | 0; + e = f - j | 0; + if ((e | 0) <= 1) { + f = -1; + break a + } + h = a[j >> 0] | 0; + i = a[b + 3 >> 0] | 0; + if (!(h << 24 >> 24)) k = d[l + (i & 255) >> 0] | 0; else k = sY(h, i) | 0; + switch (k | 0) { + case 23: + case 27: + case 26: + case 25: + case 24: + case 22: { + b = j; + continue b + } + case 5: { + h = 22; + break b + } + case 6: { + h = 23; + break b + } + case 7: { + h = 25; + break b + } + case 10: + case 9: + case 21: { + h = 27; + break b + } + case 11: { + h = 34; + break b + } + case 29: + break; + default: { + h = 35; + break b + } + } + e = i & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (h & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 21; + break + } else b = j + } + if ((h | 0) == 21) { + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 22) { + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 23) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 25) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = j; + f = 0; + break + } else if ((h | 0) == 27) { + c:while (1) { + k = j + 2 | 0; + if ((f - k | 0) <= 1) { + f = -1; + break a + } + h = a[k >> 0] | 0; + i = a[j + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[l + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + switch (h | 0) { + case 10: + case 9: + case 21: { + j = k; + h = 27; + break + } + case 11: { + h = 32; + break c + } + default: { + h = 33; + break c + } + } + } + if ((h | 0) == 32) { + c[g >> 2] = j + 4; + f = 5; + break + } else if ((h | 0) == 33) { + c[g >> 2] = k; + f = 0; + break + } + } else if ((h | 0) == 34) { + c[g >> 2] = b + 4; + f = 5; + break + } else if ((h | 0) == 35) { + c[g >> 2] = j; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function kZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 16 | 0; + q = s; + c[q >> 2] = e; + r = f; + o = b + 72 | 0; + h = 0; + a:while (1) { + b:while (1) { + m = r - e | 0; + if ((m | 0) <= 1) { + e = -1; + break a + } + i = a[e >> 0] | 0; + j = a[e + 1 >> 0] | 0; + if (!(i << 24 >> 24)) k = d[o + (j & 255) >> 0] | 0; else k = sY(i, j) | 0; + switch (k | 0) { + case 5: { + p = 11; + break a + } + case 6: { + p = 12; + break a + } + case 7: { + p = 14; + break a + } + case 23: { + p = 16; + break b + } + case 10: + case 9: + case 21: { + p = 31; + break b + } + case 14: { + p = 37; + break b + } + case 29: { + n = j & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140962 + (i & 255) >> 0] << 3) << 2) >> 2])) { + p = 9; + break a + } + break + } + case 27: + case 26: + case 25: + case 24: + case 22: + break; + default: { + p = 89; + break a + } + } + n = e + 2 | 0; + c[q >> 2] = n; + e = n + } + c:do if ((p | 0) == 16) { + p = 0; + if (h | 0) { + p = 17; + break a + } + h = e + 2 | 0; + c[q >> 2] = h; + i = h; + j = r - i | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + k = a[h >> 0] | 0; + m = a[e + 3 >> 0] | 0; + if (!(k << 24 >> 24)) n = d[o + (m & 255) >> 0] | 0; else n = sY(k, m) | 0; + switch (n | 0) { + case 5: { + p = 25; + break a + } + case 6: { + p = 26; + break a + } + case 7: { + p = 28; + break a + } + case 24: + case 22: { + h = 1; + break c + } + case 29: + break; + default: { + p = 30; + break a + } + } + n = m & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + p = 24; + break a + } else h = 1 + } else if ((p | 0) == 31) while (1) { + p = 0; + i = e + 2 | 0; + c[q >> 2] = i; + j = i; + if ((r - j | 0) <= 1) { + e = -1; + break a + } + h = a[i >> 0] | 0; + e = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) e = d[o + (e & 255) >> 0] | 0; else e = sY(h, e) | 0; + switch (e | 0) { + case 14: { + e = i; + p = 37; + break c + } + case 9: + case 10: + case 21: { + e = i; + p = 31; + break + } + default: { + p = 36; + break a + } + } + } while (0); + d:do if ((p | 0) == 37) { + while (1) { + p = 0; + j = e + 2 | 0; + c[q >> 2] = j; + k = j; + if ((r - k | 0) <= 1) { + e = -1; + break a + } + h = a[j >> 0] | 0; + i = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) m = d[o + (i & 255) >> 0] | 0; else m = sY(h, i) | 0; + if ((m | 1 | 0) == 13) break; + switch (m | 0) { + case 9: + case 10: + case 21: { + e = j; + p = 37; + break + } + default: { + p = 43; + break a + } + } + } + e = e + 4 | 0; + c[q >> 2] = e; + e:while (1) { + j = r - e | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + h = a[e >> 0] | 0; + i = a[e + 1 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[o + (i & 255) >> 0] | 0; else h = sY(h, i) | 0; + if ((h | 0) == (m | 0)) break; + switch (h | 0) { + case 8: + case 1: + case 0: { + p = 56; + break a + } + case 2: { + p = 61; + break a + } + case 5: { + n = e + 2 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 6: { + if ((j | 0) < 3) { + e = -2; + break a + } + n = e + 3 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 7: { + if ((j | 0) < 4) { + e = -2; + break a + } + n = e + 4 | 0; + c[q >> 2] = n; + e = n; + continue e + } + case 3: { + e = bZ(b, e + 2 | 0, f, q) | 0; + if ((e | 0) < 1) { + p = 59; + break a + } + e = c[q >> 2] | 0; + continue e + } + default: { + n = e + 2 | 0; + c[q >> 2] = n; + e = n; + continue e + } + } + } + i = e + 2 | 0; + c[q >> 2] = i; + k = i; + if ((r - k | 0) <= 1) { + e = -1; + break a + } + h = a[i >> 0] | 0; + j = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[o + (j & 255) >> 0] | 0; else h = sY(h, j) | 0; + switch (h | 0) { + case 11: { + p = 81; + break a + } + case 17: { + p = 82; + break a + } + case 10: + case 9: + case 21: { + e = i; + break + } + default: { + p = 68; + break a + } + } + f:while (1) { + i = e + 2 | 0; + c[q >> 2] = i; + h = i; + j = r - h | 0; + if ((j | 0) <= 1) { + e = -1; + break a + } + k = a[i >> 0] | 0; + m = a[e + 3 >> 0] | 0; + if (!(k << 24 >> 24)) n = d[o + (m & 255) >> 0] | 0; else n = sY(k, m) | 0; + switch (n | 0) { + case 5: { + p = 76; + break a + } + case 6: { + p = 77; + break a + } + case 7: { + p = 79; + break a + } + case 11: { + p = 81; + break a + } + case 17: { + p = 82; + break a + } + case 24: + case 22: { + h = 0; + break d + } + case 10: + case 9: + case 21: { + e = i; + break + } + case 29: + break f; + default: { + p = 87; + break a + } + } + } + n = m & 255; + if (!(1 << (n & 31) & c[56836 + ((n >>> 5 | d[140706 + (k & 255) >> 0] << 3) << 2) >> 2])) { + p = 75; + break a + } else h = 0 + } while (0); + e = e + 4 | 0; + c[q >> 2] = e + } + switch (p | 0) { + case 9: { + c[g >> 2] = e; + e = 0; + break + } + case 11: { + c[g >> 2] = e; + e = 0; + break + } + case 12: { + if ((m | 0) < 3) e = -2; else { + c[g >> 2] = e; + e = 0 + } + break + } + case 14: { + if ((m | 0) < 4) e = -2; else { + c[g >> 2] = e; + e = 0 + } + break + } + case 17: { + c[g >> 2] = e; + e = 0; + break + } + case 24: { + c[g >> 2] = h; + e = 0; + break + } + case 25: { + c[g >> 2] = h; + e = 0; + break + } + case 26: { + if ((j | 0) < 3) e = -2; else { + c[g >> 2] = h; + e = 0 + } + break + } + case 28: { + if ((j | 0) < 4) e = -2; else { + c[g >> 2] = h; + e = 0 + } + break + } + case 30: { + c[g >> 2] = i; + e = 0; + break + } + case 36: { + c[g >> 2] = j; + e = 0; + break + } + case 43: { + c[g >> 2] = k; + e = 0; + break + } + case 56: { + c[g >> 2] = e; + e = 0; + break + } + case 59: { + if (!e) { + c[g >> 2] = c[q >> 2]; + e = 0 + } + break + } + case 61: { + c[g >> 2] = e; + e = 0; + break + } + case 68: { + c[g >> 2] = k; + e = 0; + break + } + case 75: { + c[g >> 2] = i; + e = 0; + break + } + case 76: { + c[g >> 2] = i; + e = 0; + break + } + case 77: { + if ((j | 0) < 3) e = -2; else { + c[g >> 2] = i; + e = 0 + } + break + } + case 79: { + if ((j | 0) < 4) e = -2; else { + c[g >> 2] = i; + e = 0 + } + break + } + case 81: { + c[g >> 2] = e + 4; + e = 1; + break + } + case 82: { + h = i + 2 | 0; + c[q >> 2] = h; + e = h; + if ((r - e | 0) > 1) { + if ((a[h >> 0] | 0) == 0 ? (a[i + 3 >> 0] | 0) == 62 : 0) { + c[g >> 2] = i + 4; + e = 3; + break + } + c[g >> 2] = e; + e = 0 + } else e = -1; + break + } + case 87: { + c[g >> 2] = h; + e = 0; + break + } + case 89: { + c[g >> 2] = e; + e = 0; + break + } + } + l = s; + return e | 0 + } + + function lZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + c[e >> 2] = 11; + a:do if ((d - b | 0) == 6 ? (a[b >> 0] | 0) == 0 : 0) { + switch (a[b + 1 >> 0] | 0) { + case 120: { + d = 0; + break + } + case 88: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + if (!(a[b + 2 >> 0] | 0)) { + switch (a[b + 3 >> 0] | 0) { + case 109: + break; + case 77: { + d = 1; + break + } + default: { + d = 1; + break a + } + } + if (!(a[b + 4 >> 0] | 0)) { + switch (a[b + 5 >> 0] | 0) { + case 108: + break; + case 76: { + d = 0; + break a + } + default: { + d = 1; + break a + } + } + if (!d) { + c[e >> 2] = 12; + d = 1 + } else d = 0 + } else d = 1 + } else d = 1 + } else d = 1; while (0); + return d | 0 + } + + function mZ(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; + k = e + 72 | 0; + a:while (1) { + b:while (1) { + j = g - f | 0; + if ((j | 0) <= 1) { + f = -1; + break a + } + e = a[f >> 0] | 0; + i = a[f + 1 >> 0] | 0; + if (!(e << 24 >> 24)) i = d[k + (i & 255) >> 0] | 0; else i = sY(e, i) | 0; + switch (i | 0) { + case 8: + case 1: + case 0: { + l = 10; + break a + } + case 6: { + l = 9; + break b + } + case 7: { + l = 19; + break b + } + case 5: { + f = f + 2 | 0; + continue b + } + case 13: + case 12: { + e = f + 2 | 0; + if ((i | 0) == (b | 0)) { + l = 12; + break a + } else { + f = e; + continue b + } + } + default: { + f = f + 2 | 0; + continue b + } + } + } + if ((l | 0) == 9) { + l = 0; + if ((j | 0) < 3) { + f = -2; + break + } else { + f = f + 3 | 0; + continue + } + } else if ((l | 0) == 19) { + l = 0; + if ((j | 0) < 4) { + f = -2; + break + } else { + f = f + 4 | 0; + continue + } + } + } + c:do if ((l | 0) == 10) { + c[h >> 2] = f; + f = 0 + } else if ((l | 0) == 12) if ((g - e | 0) > 1) { + c[h >> 2] = e; + g = a[e >> 0] | 0; + f = a[f + 3 >> 0] | 0; + if (!(g << 24 >> 24)) f = d[k + (f & 255) >> 0] | 0; else f = sY(g, f) | 0; + switch (f | 0) { + case 20: + case 30: + case 11: + case 10: + case 9: + case 21: { + f = 27; + break c + } + default: { + } + } + f = 0 + } else f = -27; while (0); + return f | 0 + } + + function nZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0; + k = f; + a:do if ((k - e | 0) > 1) { + h = a[e >> 0] | 0; + if (!(h << 24 >> 24)) h = d[b + 72 + (d[e + 1 >> 0] | 0) >> 0] | 0; else h = sY(h, a[e + 1 >> 0] | 0) | 0; + switch (h | 0) { + case 27: { + h = gZ(b, e + 2 | 0, f, g) | 0; + break a + } + case 20: { + c[g >> 2] = e + 2; + h = 33; + break a + } + case 24: + case 22: { + j = b + 72 | 0; + b:while (1) { + i = e + 2 | 0; + f = k - i | 0; + if ((f | 0) <= 1) { + h = -1; + break a + } + h = a[i >> 0] | 0; + b = a[e + 3 >> 0] | 0; + if (!(h << 24 >> 24)) h = d[j + (b & 255) >> 0] | 0; else h = sY(h, b) | 0; + switch (h | 0) { + case 24: + case 22: { + e = i; + break + } + case 30: { + l = 15; + break b + } + case 10: + case 9: + case 21: + break b; + default: { + l = 22; + break b + } + } + } + if ((l | 0) == 22) { + c[g >> 2] = i; + h = 0; + break a + } + c:do if ((l | 0) == 15) { + if ((f | 0) <= 3) { + h = -1; + break a + } + b = a[e + 4 >> 0] | 0; + h = a[e + 5 >> 0] | 0; + if (!(b << 24 >> 24)) h = d[j + (h & 255) >> 0] | 0; else h = sY(b, h) | 0; + switch (h | 0) { + case 30: + case 10: + case 9: + case 21: + break; + default: + break c + } + c[g >> 2] = i; + h = 0; + break a + } while (0); + c[g >> 2] = i; + h = 16; + break a + } + default: { + c[g >> 2] = e; + h = 0; + break a + } + } + } else h = -1; while (0); + return h | 0 + } + + function oZ(b, e, f, g) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0; + j = f - e | 0; + a:do if ((j | 0) > 1) { + k = a[e >> 0] | 0; + if (!(k << 24 >> 24)) { + i = a[e + 1 >> 0] | 0; + h = d[b + 72 + (i & 255) >> 0] | 0 + } else { + i = a[e + 1 >> 0] | 0; + h = sY(k, i) | 0 + } + switch (h | 0) { + case 29: { + j = i & 255; + if (!(1 << (j & 31) & c[56836 + ((j >>> 5 | (d[140706 + (k & 255) >> 0] | 0) << 3) << 2) >> 2])) { + c[g >> 2] = e; + f = 0; + break a + } + break + } + case 24: + case 22: + break; + case 5: { + c[g >> 2] = e; + f = 0; + break a + } + case 6: { + if ((j | 0) < 3) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + case 7: { + if ((j | 0) < 4) { + f = -2; + break a + } + c[g >> 2] = e; + f = 0; + break a + } + default: { + c[g >> 2] = e; + f = 0; + break a + } + } + b = b + 72 | 0; + k = e; + b:while (1) { + h = k; + k = k + 2 | 0; + e = f - k | 0; + if ((e | 0) <= 1) { + f = -20; + break a + } + j = a[k >> 0] | 0; + h = a[h + 3 >> 0] | 0; + if (!(j << 24 >> 24)) i = d[b + (h & 255) >> 0] | 0; else i = sY(j, h) | 0; + switch (i | 0) { + case 27: + case 26: + case 25: + case 24: + case 22: + continue b; + case 5: { + h = 22; + break b + } + case 6: { + h = 23; + break b + } + case 7: { + h = 25; + break b + } + case 36: + case 30: + case 11: + case 32: + case 21: + case 10: + case 9: { + h = 27; + break b + } + case 29: + break; + default: { + h = 28; + break b + } + } + e = h & 255; + if (!(1 << (e & 31) & c[56836 + ((e >>> 5 | (d[140962 + (j & 255) >> 0] | 0) << 3) << 2) >> 2])) { + h = 21; + break + } + } + if ((h | 0) == 21) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 22) { + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 23) { + if ((e | 0) < 3) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 25) { + if ((e | 0) < 4) { + f = -2; + break + } + c[g >> 2] = k; + f = 0; + break + } else if ((h | 0) == 27) { + c[g >> 2] = k; + f = 20; + break + } else if ((h | 0) == 28) { + c[g >> 2] = k; + f = 0; + break + } + } else f = -1; while (0); + return f | 0 + } + + function pZ(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0; + while (1) { + b = c[d >> 2] | 0; + h = b >>> 0 < e >>> 0; + i = c[f >> 2] | 0; + if (!(h & i >>> 0 < g >>> 0)) break; + c[d >> 2] = b + 1; + h = a[b >> 0] | 0; + i = c[f >> 2] | 0; + c[f >> 2] = i + 1; + a[i >> 0] = h + } + return ((i | 0) != (g | 0) | h ^ 1 ? 0 : 2) | 0 + } + + function qZ(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + a:while (1) { + f = a[b >> 0] | 0; + g = a[c >> 0] | 0; + f = (f + -97 & 255) < 26 ? (f & 255) + 224 & 255 : f; + switch ((f << 24 >> 24 == ((g + -97 & 255) < 26 ? (g & 255) + 224 & 255 : g) << 24 >> 24 ? (f << 24 >> 24 == 0 ? 2 : 0) : 1) & 3) { + case 0: { + c = c + 1 | 0; + b = b + 1 | 0; + break + } + case 1: { + e = 3; + break a + } + case 2: { + d = 1; + break a + } + default: { + e = 5; + break a + } + } + } + if ((e | 0) == 3) d = 0; + return d | 0 + } + + function rZ(a, b, c, d, e, f, g, h, i, j) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + return tZ(36, a, b, c, d, e, f, g, h, i, j) | 0 + } + + function sZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 144 | 0; + i = h + 4 | 0; + f = h + 8 | 0; + g = h; + c[i >> 2] = d; + c[g >> 2] = f; + pb[c[b + 56 >> 2] & 127](b, i, e, g, f + 127 | 0) | 0; + do if ((c[i >> 2] | 0) == (e | 0)) { + a[c[g >> 2] >> 0] = 0; + if (qZ(f, 141233) | 0 ? (c[b + 64 >> 2] | 0) == 2 : 0) break; + b = IY(f) | 0; + if ((b | 0) != -1) b = c[58844 + (b << 2) >> 2] | 0; else b = 0 + } else b = 0; while (0); + l = h; + return b | 0 + } + + function tZ(a, b, d, e, f, g, h, i, j, k, m) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + k = k | 0; + m = m | 0; + var n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0; + v = l; + l = l + 16 | 0; + t = v + 8 | 0; + q = v + 12 | 0; + o = v + 4 | 0; + p = v; + c[q >> 2] = 0; + c[o >> 2] = 0; + c[p >> 2] = 0; + u = d + 64 | 0; + s = c[u >> 2] | 0; + r = e + (s * 5 | 0) | 0; + c[t >> 2] = r; + s = f + (0 - (s << 1)) | 0; + r = (uZ(d, r, s, o, p, q, t) | 0) != 0; + n = c[o >> 2] | 0; + e = n; + a:do if (r & (n | 0) != 0) { + r = d + 24 | 0; + f = c[p >> 2] | 0; + do if (!(ob[c[r >> 2] & 127](d, n, f, 141258) | 0)) { + if (!b) { + c[g >> 2] = e; + e = 0; + break a + } + } else { + if (h | 0) c[h >> 2] = c[q >> 2]; + if (!i) e = c[t >> 2] | 0; else { + e = c[t >> 2] | 0; + c[i >> 2] = e + } + if (!(uZ(d, e, s, o, p, q, t) | 0)) { + c[g >> 2] = c[t >> 2]; + e = 0; + break a + } + f = c[o >> 2] | 0; + if (f | 0) { + e = f; + n = f; + f = c[p >> 2] | 0; + break + } + if (!b) { + e = 1; + break a + } + c[g >> 2] = c[t >> 2]; + e = 0; + break a + } while (0); + if (ob[c[r >> 2] & 127](d, n, f, 141266) | 0) { + f = c[q >> 2] | 0; + e = f; + if ((((vZ(d, f, s) | 0) & -33) + -65 | 0) >>> 0 >= 26) { + c[g >> 2] = e; + e = 0; + break + } + if (j | 0) c[j >> 2] = e; + e = c[t >> 2] | 0; + if (k | 0) c[k >> 2] = nb[a & 63](d, f, e + (0 - (c[u >> 2] | 0)) | 0) | 0; + if (!(uZ(d, e, s, o, p, q, t) | 0)) { + c[g >> 2] = c[t >> 2]; + e = 0; + break + } + e = c[o >> 2] | 0; + if (!e) { + e = 1; + break + } + n = e; + f = c[p >> 2] | 0 + } + if ((b | 0) != 0 | (ob[c[r >> 2] & 127](d, n, f, 141275) | 0) == 0) { + c[g >> 2] = e; + e = 0; + break + } + f = c[q >> 2] | 0; + e = c[t >> 2] | 0; + n = f; + if (!(ob[c[r >> 2] & 127](d, f, e + (0 - (c[u >> 2] | 0)) | 0, 104631) | 0)) { + if (!(ob[c[r >> 2] & 127](d, f, e + (0 - (c[u >> 2] | 0)) | 0, 104623) | 0)) { + c[g >> 2] = n; + e = 0; + break + } + if (m) c[m >> 2] = 0 + } else if (m) c[m >> 2] = 1; + while (1) { + if (!(wZ(vZ(d, e, s) | 0) | 0)) break; + e = e + (c[u >> 2] | 0) | 0 + } + c[t >> 2] = e; + if ((e | 0) == (s | 0)) e = 1; else { + c[g >> 2] = e; + e = 0 + } + } else { + c[g >> 2] = c[t >> 2]; + e = 0 + } while (0); + l = v; + return e | 0 + } + + function uZ(a, b, d, e, f, g, h) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0; + a:do if ((b | 0) != (d | 0)) { + if (!(wZ(vZ(a, b, d) | 0) | 0)) { + c[h >> 2] = b; + b = 0; + break + } + j = a + 64 | 0; + do b = b + (c[j >> 2] | 0) | 0; while ((wZ(vZ(a, b, d) | 0) | 0) != 0); + if ((b | 0) == (d | 0)) { + c[e >> 2] = 0; + b = 1; + break + } + c[e >> 2] = b; + b:while (1) { + i = vZ(a, b, d) | 0; + switch (i | 0) { + case -1: { + i = 11; + break b + } + case 61: { + i = 12; + break b + } + default: { + } + } + if (wZ(i) | 0) { + i = 14; + break + } + b = b + (c[j >> 2] | 0) | 0 + } + if ((i | 0) == 11) { + c[h >> 2] = b; + b = 0; + break + } else if ((i | 0) == 12) c[f >> 2] = b; else if ((i | 0) == 14) { + c[f >> 2] = b; + do { + b = b + (c[j >> 2] | 0) | 0; + i = vZ(a, b, d) | 0 + } while ((wZ(i) | 0) != 0); + if ((i | 0) != 61) { + c[h >> 2] = b; + b = 0; + break + } + } + if ((b | 0) == (c[e >> 2] | 0)) { + c[h >> 2] = b; + b = 0; + break + } + do { + b = b + (c[j >> 2] | 0) | 0; + i = vZ(a, b, d) | 0 + } while ((wZ(i) | 0) != 0); + switch (i | 0) { + case 34: + case 39: + break; + default: { + c[h >> 2] = b; + b = 0; + break a + } + } + f = b + (c[j >> 2] | 0) | 0; + c[g >> 2] = f; + b = i << 24 >> 24; + c:while (1) { + i = vZ(a, f, d) | 0; + if ((i | 0) == (b | 0)) { + i = 30; + break + } + if ((i + -48 | 0) >>> 0 > 9 & ((i & -33) + -65 | 0) >>> 0 > 25) switch (i | 0) { + case 45: + case 46: + case 95: + break; + default: { + i = 28; + break c + } + } + f = f + (c[j >> 2] | 0) | 0 + } + if ((i | 0) == 28) { + c[h >> 2] = f; + b = 0; + break + } else if ((i | 0) == 30) { + c[h >> 2] = f + (c[j >> 2] | 0); + b = 1; + break + } + } else { + c[e >> 2] = 0; + b = 1 + } while (0); + return b | 0 + } + + function vZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 16 | 0; + i = h + 4 | 0; + f = h + 8 | 0; + g = h; + c[i >> 2] = d; + c[g >> 2] = f; + pb[c[b + 56 >> 2] & 127](b, i, e, g, f + 1 | 0) | 0; + l = h; + return ((c[g >> 2] | 0) == (f | 0) ? -1 : a[f >> 0] | 0) | 0 + } + + function wZ(a) { + a = a | 0; + switch (a | 0) { + case 9: + case 10: + case 13: + case 32: { + a = 1; + break + } + default: + a = 0 + } + return a | 0 + } + + function xZ() { + return 59988 + } + + function yZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + e = IY(e) | 0; + if ((e | 0) == -1) e = 0; else { + a[b + 69 >> 0] = e; + c[b >> 2] = 69; + c[b + 4 >> 2] = 70; + c[b + 48 >> 2] = 31; + c[b + 72 >> 2] = d; + c[d >> 2] = b; + e = 1 + } + return e | 0 + } + + function zZ(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return MY(60352, a, 0, b, c, d) | 0 + } + + function AZ(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return MY(60352, a, 1, b, c, d) | 0 + } + + function BZ(a, b, c, d, e, f, g, h, i, j) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + return tZ(37, a, b, c, d, e, f, g, h, i, j) | 0 + } + + function CZ(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 144 | 0; + i = h + 4 | 0; + f = h + 8 | 0; + g = h; + c[i >> 2] = d; + c[g >> 2] = f; + pb[c[b + 56 >> 2] & 127](b, i, e, g, f + 127 | 0) | 0; + do if ((c[i >> 2] | 0) == (e | 0)) { + a[c[g >> 2] >> 0] = 0; + if (qZ(f, 141233) | 0 ? (c[b + 64 >> 2] | 0) == 2 : 0) break; + b = IY(f) | 0; + if ((b | 0) != -1) b = c[60352 + (b << 2) >> 2] | 0; else b = 0 + } else b = 0; while (0); + l = h; + return b | 0 + } + + function DZ(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + b = iX(b, c, d, e) | 0; + if (b | 0) a[b + 72 + 58 >> 0] = 23; + return b | 0 + } + + function EZ(a) { + a = a | 0; + c[a >> 2] = 15; + c[a + 16 >> 2] = 1; + c[a + 12 >> 2] = 0; + c[a + 20 >> 2] = 0; + return + } + + function FZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + switch (b | 0) { + case 15: { + c[a >> 2] = 16; + a = 0; + break + } + case 12: { + c[a >> 2] = 16; + a = 1; + break + } + case 11: { + c[a >> 2] = 16; + a = 55; + break + } + case 13: { + c[a >> 2] = 16; + a = 56; + break + } + case 14: { + a = 0; + break + } + case 16: { + if (!(ob[c[f + 24 >> 2] & 127](f, d + (c[f + 64 >> 2] << 1) | 0, e, 141286) | 0)) g = 9; else { + c[a >> 2] = 17; + a = 3 + } + break + } + case 29: { + c[a >> 2] = 18; + a = 2; + break + } + default: + g = 9 + } + if ((g | 0) == 9) a = JZ(a, b) | 0; + return a | 0 + } + + function GZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + switch (b | 0) { + case 14: + case 15: { + a = 0; + break + } + case 11: { + a = 55; + break + } + case 13: { + a = 56; + break + } + case 16: { + if (!(ob[c[f + 24 >> 2] & 127](f, d + (c[f + 64 >> 2] << 1) | 0, e, 141286) | 0)) g = 7; else { + c[a >> 2] = 17; + a = 3 + } + break + } + case 29: { + c[a >> 2] = 18; + a = 2; + break + } + default: + g = 7 + } + if ((g | 0) == 7) a = JZ(a, b) | 0; + return a | 0 + } + + function HZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 3; + break + } + case 41: + case 18: { + c[a >> 2] = 19; + a = 4; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function IZ(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return 0 + } + + function JZ(a, b) { + a = a | 0; + b = b | 0; + if ((b | 0) == 28 & (c[a + 16 >> 2] | 0) == 0) a = 59; else { + c[a >> 2] = 18; + a = -1 + } + return a | 0 + } + + function KZ(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; + a:do switch (b | 0) { + case 15: { + a = 3; + break + } + case 25: { + c[a >> 2] = 20; + a = 7; + break + } + case 17: { + c[a >> 2] = 21; + a = 8; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141294) | 0) { + c[a >> 2] = 22; + a = 3; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141301) | 0)) h = 8; else { + c[a >> 2] = 23; + a = 3 + } + break + } + default: + h = 8 + } while (0); + if ((h | 0) == 8) a = JZ(a, b) | 0; + return a | 0 + } + + function LZ(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; + a:do switch (b | 0) { + case -4: + case 15: { + a = 0; + break + } + case 16: { + g = f + 24 | 0; + h = f + 64 | 0; + if (ob[c[g >> 2] & 127](f, d + (c[h >> 2] << 1) | 0, e, 141308) | 0) { + c[a >> 2] = 24; + a = 11; + break a + } + if (ob[c[g >> 2] & 127](f, d + (c[h >> 2] << 1) | 0, e, 141315) | 0) { + c[a >> 2] = 25; + a = 33; + break a + } + if (ob[c[g >> 2] & 127](f, d + (c[h >> 2] << 1) | 0, e, 141323) | 0) { + c[a >> 2] = 26; + a = 39; + break a + } + if (!(ob[c[g >> 2] & 127](f, d + (c[h >> 2] << 1) | 0, e, 141331) | 0)) i = 14; else { + c[a >> 2] = 27; + a = 17 + } + break + } + case 11: { + a = 55; + break + } + case 13: { + a = 56; + break + } + case 28: { + a = 60; + break + } + case 26: { + c[a >> 2] = 28; + a = 3; + break + } + default: + i = 14 + } while (0); + if ((i | 0) == 14) a = JZ(a, b) | 0; + return a | 0 + } + + function MZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + f = b + -11 | 0; + switch (f >>> 1 | f << 31 | 0) { + case 2: { + a = 0; + break + } + case 0: { + a = 55; + break + } + case 1: { + a = 56; + break + } + case 9: { + c[a >> 2] = 18; + a = 2; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function NZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 3; + break + } + case 27: { + c[a >> 2] = 29; + a = 5; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function OZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 3; + break + } + case 27: { + c[a >> 2] = 22; + a = 6; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function PZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 3; + break + } + case 25: { + c[a >> 2] = 20; + a = 7; + break + } + case 17: { + c[a >> 2] = 21; + a = 8; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function QZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 22: { + c[a >> 2] = 30; + a = 11; + break + } + case 18: { + c[a >> 2] = 31; + a = 9; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function RZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 41: + case 18: { + c[a >> 2] = 32; + a = 34; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function SZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 41: + case 18: { + c[a >> 2] = 33; + a = 40; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function TZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 17; + break + } + case 18: { + c[a >> 2] = 34; + a = 18; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function UZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 3; + break + } + case 17: { + c[a >> 2] = 21; + a = 8; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function VZ(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; + a:do switch (b | 0) { + case 15: { + a = 17; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141294) | 0) { + c[a >> 2] = 35; + a = 17; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141301) | 0)) h = 6; else { + c[a >> 2] = 36; + a = 17 + } + break + } + default: + h = 6 + } while (0); + if ((h | 0) == 6) a = JZ(a, b) | 0; + return a | 0 + } + + function WZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 17; + break + } + case 27: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 17; + a = 19; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function XZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 17; + break + } + case 27: { + c[a >> 2] = 38; + a = 21; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function YZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 17; + break + } + case 27: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 17; + a = 19; + break + } + case 17: { + c[a >> 2] = c[a + 16 >> 2] | 0 ? 20 : 39; + a = 20; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function ZZ(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = c[a + 8 >> 2] | 0; + break + } + case 17: { + c[a >> 2] = c[a + 16 >> 2] | 0 ? 20 : 39; + a = c[a + 8 >> 2] | 0; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function _Z(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + switch (b | 0) { + case 33: { + c[a >> 2] = 40; + d = 0; + break + } + case 34: { + d = a + 12 | 0; + e = c[d >> 2] | 0; + if (!e) g = 7; else { + c[d >> 2] = e + -1; + d = 0 + } + break + } + case 15: { + d = 0; + break + } + case 26: { + g = 7; + break + } + case -4: { + if (!(c[a + 12 >> 2] | 0)) d = 0; else g = 7; + break + } + default: + d = LZ(a, b, d, e, f) | 0 + } + if ((g | 0) == 7) d = JZ(a, b) | 0; + return d | 0 + } + + function $Z(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; + a:do switch (b | 0) { + case 15: { + a = 0; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141340) | 0) { + c[a >> 2] = 41; + a = 0; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141348) | 0)) h = 6; else { + c[a >> 2] = 42; + a = 0 + } + break + } + default: + h = 6 + } while (0); + if ((h | 0) == 6) a = JZ(a, b) | 0; + return a | 0 + } + + function a_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 0; + break + } + case 25: { + c[a >> 2] = 39; + a = a + 12 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + a = 0; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function b_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 0; + break + } + case 25: { + c[a >> 2] = 39; + a = 58; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function c_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + a:do switch (b | 0) { + case 15: { + a = 39; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141355) | 0) { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 42; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141361) | 0)) h = 7; else { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 41 + } + break + } + case 23: { + c[a >> 2] = 43; + c[a + 4 >> 2] = 1; + a = 44; + break + } + default: + h = 7 + } while (0); + if ((h | 0) == 7) a = JZ(a, b) | 0; + return a | 0 + } + + function d_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 20: { + if (!(ob[c[f + 24 >> 2] & 127](f, d + (c[f + 64 >> 2] | 0) | 0, e, 141365) | 0)) g = 9; else { + c[a >> 2] = 44; + a = 43 + } + break + } + case 23: { + c[a + 4 >> 2] = 2; + c[a >> 2] = 45; + a = 44; + break + } + case 41: + case 18: { + c[a >> 2] = 46; + a = 51; + break + } + case 30: { + c[a >> 2] = 46; + a = 53; + break + } + case 31: { + c[a >> 2] = 46; + a = 52; + break + } + case 32: { + c[a >> 2] = 46; + a = 54; + break + } + default: + g = 9 + } + if ((g | 0) == 9) a = JZ(a, b) | 0; + return a | 0 + } + + function e_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 24: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 45; + break + } + case 36: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 46; + break + } + case 21: { + c[a >> 2] = 47; + a = 39; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function f_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 23: { + a = a + 4 | 0; + c[a >> 2] = (c[a >> 2] | 0) + 1; + a = 44; + break + } + case 41: + case 18: { + c[a >> 2] = 46; + a = 51; + break + } + case 30: { + c[a >> 2] = 46; + a = 53; + break + } + case 31: { + c[a >> 2] = 46; + a = 52; + break + } + case 32: { + c[a >> 2] = 46; + a = 54; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function g_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 24: { + e = a + 4 | 0; + f = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = f; + if (!f) { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 45 + } else a = 45; + break + } + case 36: { + e = a + 4 | 0; + f = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = f; + if (!f) { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 46 + } else a = 46; + break + } + case 35: { + e = a + 4 | 0; + f = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = f; + if (!f) { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 47 + } else a = 47; + break + } + case 37: { + e = a + 4 | 0; + f = (c[e >> 2] | 0) + -1 | 0; + c[e >> 2] = f; + if (!f) { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 48 + } else a = 48; + break + } + case 38: { + c[a >> 2] = 45; + a = 50; + break + } + case 21: { + c[a >> 2] = 45; + a = 49; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function h_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 41: + case 18: { + c[a >> 2] = 48; + a = 51; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function i_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 39; + break + } + case 36: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 39; + a = 46; + break + } + case 21: { + c[a >> 2] = 47; + a = 39; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function j_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 17: { + c[a >> 2] = c[a + 16 >> 2] | 0 ? 20 : 39; + a = 33; + break + } + case 41: + case 18: { + c[a >> 2] = 49; + a = 22; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function k_(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; + a:do switch (b | 0) { + case 15: { + g = 33; + break + } + case 18: { + h = f + 24 | 0; + g = 0; + while (1) { + i = c[h >> 2] | 0; + if ((g | 0) >= 8) break; + if (ob[i & 127](f, d, e, c[62200 + (g << 2) >> 2] | 0) | 0) { + j = 6; + break + } + g = g + 1 | 0 + } + if ((j | 0) == 6) { + c[a >> 2] = 50; + g = g + 23 | 0; + break a + } + if (!(ob[i & 127](f, d, e, 141331) | 0)) j = 10; else { + c[a >> 2] = 51; + g = 33 + } + break + } + case 23: { + c[a >> 2] = 52; + g = 33; + break + } + default: + j = 10 + } while (0); + if ((j | 0) == 10) g = JZ(a, b) | 0; + return g | 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, i = 0; + a:do switch (b | 0) { + case 15: { + a = 33; + break + } + case 20: { + g = f + 24 | 0; + h = f + 64 | 0; + if (ob[c[g >> 2] & 127](f, d + (c[h >> 2] | 0) | 0, e, 141372) | 0) { + c[a >> 2] = 32; + a = 35; + break a + } + if (ob[c[g >> 2] & 127](f, d + (c[h >> 2] | 0) | 0, e, 141380) | 0) { + c[a >> 2] = 32; + a = 36; + break a + } + if (!(ob[c[g >> 2] & 127](f, d + (c[h >> 2] | 0) | 0, e, 141389) | 0)) i = 9; else { + c[a >> 2] = 53; + a = 33 + } + break + } + case 27: { + c[a >> 2] = 32; + a = 37; + break + } + default: + i = 9 + } while (0); + if ((i | 0) == 9) a = JZ(a, b) | 0; + return a | 0 + } + + function m_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 23: { + c[a >> 2] = 54; + a = 33; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function n_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 41: + case 18: + case 19: { + c[a >> 2] = 55; + a = 31; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function o_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 24: { + c[a >> 2] = 50; + a = 33; + break + } + case 21: { + c[a >> 2] = 52; + a = 33; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function p_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 18: { + c[a >> 2] = 56; + a = 32; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function q_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 24: { + c[a >> 2] = 50; + a = 33; + break + } + case 21: { + c[a >> 2] = 54; + a = 33; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function r_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 33; + break + } + case 27: { + c[a >> 2] = 32; + a = 38; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function s_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 18: { + c[a >> 2] = 57; + a = 10; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + 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, h = 0; + a:do switch (b | 0) { + case 15: { + a = 11; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141294) | 0) { + c[a >> 2] = 58; + a = 11; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141301) | 0)) h = 7; else { + c[a >> 2] = 59; + a = 11 + } + break + } + case 27: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 11; + a = 12; + break + } + default: + h = 7 + } while (0); + if ((h | 0) == 7) a = JZ(a, b) | 0; + return a | 0 + } + + function u_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 27: { + c[a >> 2] = 60; + a = 13; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function v_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 27: { + c[a >> 2] = 58; + a = 14; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function w_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 17: { + c[a >> 2] = c[a + 16 >> 2] | 0 ? 20 : 39; + a = 15; + break + } + case 18: { + if (!(ob[c[f + 24 >> 2] & 127](f, d, e, 141443) | 0)) g = 5; else { + c[a >> 2] = 61; + a = 11 + } + break + } + default: + g = 5 + } + if ((g | 0) == 5) a = JZ(a, b) | 0; + return a | 0 + } + + function x_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 18: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 11; + a = 16; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + 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; + a:do switch (b | 0) { + case 15: { + a = 11; + break + } + case 18: { + g = f + 24 | 0; + if (ob[c[g >> 2] & 127](f, d, e, 141294) | 0) { + c[a >> 2] = 62; + a = 11; + break a + } + if (!(ob[c[g >> 2] & 127](f, d, e, 141301) | 0)) h = 7; else { + c[a >> 2] = 63; + a = 11 + } + break + } + case 27: { + c[a >> 2] = 37; + c[a + 8 >> 2] = 11; + a = 12; + break + } + default: + h = 7 + } while (0); + if ((h | 0) == 7) a = JZ(a, b) | 0; + return a | 0 + } + + function z_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 27: { + c[a >> 2] = 64; + a = 13; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function A_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 27: { + c[a >> 2] = 62; + a = 14; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function B_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + switch (b | 0) { + case 15: { + a = 11; + break + } + case 17: { + c[a >> 2] = c[a + 16 >> 2] | 0 ? 20 : 39; + a = 15; + break + } + default: + a = JZ(a, b) | 0 + } + return a | 0 + } + + function C_(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, + r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + x = l; + l = l + 16 | 0; + p = x; + do if (a >>> 0 < 245) { + m = a >>> 0 < 11 ? 16 : a + 11 & -8; + a = m >>> 3; + o = c[46749] | 0; + d = o >>> a; + if (d & 3 | 0) { + b = (d & 1 ^ 1) + a | 0; + a = 187036 + (b << 1 << 2) | 0; + d = a + 8 | 0; + e = c[d >> 2] | 0; + f = e + 8 | 0; + g = c[f >> 2] | 0; + if ((g | 0) == (a | 0)) c[46749] = o & ~(1 << b); else { + c[g + 12 >> 2] = a; + c[d >> 2] = g + } + w = b << 3; + c[e + 4 >> 2] = w | 3; + w = e + w + 4 | 0; + c[w >> 2] = c[w >> 2] | 1; + w = f; + l = x; + return w | 0 + } + n = c[46751] | 0; + if (m >>> 0 > n >>> 0) { + if (d | 0) { + b = 2 << a; + b = d << a & (b | 0 - b); + b = (b & 0 - b) + -1 | 0; + i = b >>> 12 & 16; + b = b >>> i; + d = b >>> 5 & 8; + b = b >>> d; + g = b >>> 2 & 4; + b = b >>> g; + a = b >>> 1 & 2; + b = b >>> a; + e = b >>> 1 & 1; + e = (d | i | g | a | e) + (b >>> e) | 0; + b = 187036 + (e << 1 << 2) | 0; + a = b + 8 | 0; + g = c[a >> 2] | 0; + i = g + 8 | 0; + d = c[i >> 2] | 0; + if ((d | 0) == (b | 0)) { + a = o & ~(1 << e); + c[46749] = a + } else { + c[d + 12 >> 2] = b; + c[a >> 2] = d; + a = o + } + w = e << 3; + h = w - m | 0; + c[g + 4 >> 2] = m | 3; + f = g + m | 0; + c[f + 4 >> 2] = h | 1; + c[g + w >> 2] = h; + if (n | 0) { + e = c[46754] | 0; + b = n >>> 3; + d = 187036 + (b << 1 << 2) | 0; + b = 1 << b; + if (!(a & b)) { + c[46749] = a | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = e; + c[b + 12 >> 2] = e; + c[e + 8 >> 2] = b; + c[e + 12 >> 2] = d + } + c[46751] = h; + c[46754] = f; + w = i; + l = x; + return w | 0 + } + j = c[46750] | 0; + if (j) { + d = (j & 0 - j) + -1 | 0; + i = d >>> 12 & 16; + d = d >>> i; + h = d >>> 5 & 8; + d = d >>> h; + k = d >>> 2 & 4; + d = d >>> k; + e = d >>> 1 & 2; + d = d >>> e; + a = d >>> 1 & 1; + a = c[187300 + ((h | i | k | e | a) + (d >>> a) << 2) >> 2] | 0; + d = (c[a + 4 >> 2] & -8) - m | 0; + e = c[a + 16 + (((c[a + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0; + if (!e) { + k = a; + h = d + } else { + do { + i = (c[e + 4 >> 2] & -8) - m | 0; + k = i >>> 0 < d >>> 0; + d = k ? i : d; + a = k ? e : a; + e = c[e + 16 + (((c[e + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0 + } while ((e | 0) != 0); + k = a; + h = d + } + i = k + m | 0; + if (i >>> 0 > k >>> 0) { + f = c[k + 24 >> 2] | 0; + b = c[k + 12 >> 2] | 0; + do if ((b | 0) == (k | 0)) { + a = k + 20 | 0; + b = c[a >> 2] | 0; + if (!b) { + a = k + 16 | 0; + b = c[a >> 2] | 0; + if (!b) { + d = 0; + break + } + } + while (1) { + d = b + 20 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + b = e; + a = d; + continue + } + d = b + 16 | 0; + e = c[d >> 2] | 0; + if (!e) break; else { + b = e; + a = d + } + } + c[a >> 2] = 0; + d = b + } else { + d = c[k + 8 >> 2] | 0; + c[d + 12 >> 2] = b; + c[b + 8 >> 2] = d; + d = b + } while (0); + do if (f | 0) { + b = c[k + 28 >> 2] | 0; + a = 187300 + (b << 2) | 0; + if ((k | 0) == (c[a >> 2] | 0)) { + c[a >> 2] = d; + if (!d) { + c[46750] = j & ~(1 << b); + break + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (k | 0) & 1) << 2) >> 2] = d; + if (!d) break + } + c[d + 24 >> 2] = f; + b = c[k + 16 >> 2] | 0; + if (b | 0) { + c[d + 16 >> 2] = b; + c[b + 24 >> 2] = d + } + b = c[k + 20 >> 2] | 0; + if (b | 0) { + c[d + 20 >> 2] = b; + c[b + 24 >> 2] = d + } + } while (0); + if (h >>> 0 < 16) { + w = h + m | 0; + c[k + 4 >> 2] = w | 3; + w = k + w + 4 | 0; + c[w >> 2] = c[w >> 2] | 1 + } else { + c[k + 4 >> 2] = m | 3; + c[i + 4 >> 2] = h | 1; + c[i + h >> 2] = h; + if (n | 0) { + e = c[46754] | 0; + b = n >>> 3; + d = 187036 + (b << 1 << 2) | 0; + b = 1 << b; + if (!(o & b)) { + c[46749] = o | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = e; + c[b + 12 >> 2] = e; + c[e + 8 >> 2] = b; + c[e + 12 >> 2] = d + } + c[46751] = h; + c[46754] = i + } + w = k + 8 | 0; + l = x; + return w | 0 + } else n = m + } else n = m + } else n = m + } else if (a >>> 0 <= 4294967231) { + a = a + 11 | 0; + m = a & -8; + k = c[46750] | 0; + if (k) { + e = 0 - m | 0; + a = a >>> 8; + if (a) if (m >>> 0 > 16777215) j = 31; else { + o = (a + 1048320 | 0) >>> 16 & 8; + v = a << o; + n = (v + 520192 | 0) >>> 16 & 4; + v = v << n; + j = (v + 245760 | 0) >>> 16 & 2; + j = 14 - (n | o | j) + (v << j >>> 15) | 0; + j = m >>> (j + 7 | 0) & 1 | j << 1 + } else j = 0; + d = c[187300 + (j << 2) >> 2] | 0; + a:do if (!d) { + d = 0; + a = 0; + v = 57 + } else { + a = 0; + i = d; + h = m << ((j | 0) == 31 ? 0 : 25 - (j >>> 1) | 0); + d = 0; + while (1) { + f = (c[i + 4 >> 2] & -8) - m | 0; + if (f >>> 0 < e >>> 0) if (!f) { + e = 0; + d = i; + a = i; + v = 61; + break a + } else { + a = i; + e = f + } + f = c[i + 20 >> 2] | 0; + i = c[i + 16 + (h >>> 31 << 2) >> 2] | 0; + d = (f | 0) == 0 | (f | 0) == (i | 0) ? d : f; + f = (i | 0) == 0; + if (f) { + v = 57; + break + } else h = h << ((f ^ 1) & 1) + } + } while (0); + if ((v | 0) == 57) { + if ((d | 0) == 0 & (a | 0) == 0) { + a = 2 << j; + a = k & (a | 0 - a); + if (!a) { + n = m; + break + } + o = (a & 0 - a) + -1 | 0; + i = o >>> 12 & 16; + o = o >>> i; + h = o >>> 5 & 8; + o = o >>> h; + j = o >>> 2 & 4; + o = o >>> j; + n = o >>> 1 & 2; + o = o >>> n; + d = o >>> 1 & 1; + a = 0; + d = c[187300 + ((h | i | j | n | d) + (o >>> d) << 2) >> 2] | 0 + } + if (!d) { + i = a; + h = e + } else v = 61 + } + if ((v | 0) == 61) while (1) { + v = 0; + n = (c[d + 4 >> 2] & -8) - m | 0; + o = n >>> 0 < e >>> 0; + e = o ? n : e; + a = o ? d : a; + d = c[d + 16 + (((c[d + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0; + if (!d) { + i = a; + h = e; + break + } else v = 61 + } + if ((i | 0) != 0 ? h >>> 0 < ((c[46751] | 0) - m | 0) >>> 0 : 0) { + g = i + m | 0; + if (g >>> 0 <= i >>> 0) { + w = 0; + l = x; + return w | 0 + } + f = c[i + 24 >> 2] | 0; + b = c[i + 12 >> 2] | 0; + do if ((b | 0) == (i | 0)) { + a = i + 20 | 0; + b = c[a >> 2] | 0; + if (!b) { + a = i + 16 | 0; + b = c[a >> 2] | 0; + if (!b) { + b = 0; + break + } + } + while (1) { + d = b + 20 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + b = e; + a = d; + continue + } + d = b + 16 | 0; + e = c[d >> 2] | 0; + if (!e) break; else { + b = e; + a = d + } + } + c[a >> 2] = 0 + } else { + w = c[i + 8 >> 2] | 0; + c[w + 12 >> 2] = b; + c[b + 8 >> 2] = w + } while (0); + do if (f) { + a = c[i + 28 >> 2] | 0; + d = 187300 + (a << 2) | 0; + if ((i | 0) == (c[d >> 2] | 0)) { + c[d >> 2] = b; + if (!b) { + e = k & ~(1 << a); + c[46750] = e; + break + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (i | 0) & 1) << 2) >> 2] = b; + if (!b) { + e = k; + break + } + } + c[b + 24 >> 2] = f; + a = c[i + 16 >> 2] | 0; + if (a | 0) { + c[b + 16 >> 2] = a; + c[a + 24 >> 2] = b + } + a = c[i + 20 >> 2] | 0; + if (a) { + c[b + 20 >> 2] = a; + c[a + 24 >> 2] = b; + e = k + } else e = k + } else e = k; while (0); + do if (h >>> 0 >= 16) { + c[i + 4 >> 2] = m | 3; + c[g + 4 >> 2] = h | 1; + c[g + h >> 2] = h; + b = h >>> 3; + if (h >>> 0 < 256) { + d = 187036 + (b << 1 << 2) | 0; + a = c[46749] | 0; + b = 1 << b; + if (!(a & b)) { + c[46749] = a | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = g; + c[b + 12 >> 2] = g; + c[g + 8 >> 2] = b; + c[g + 12 >> 2] = d; + break + } + b = h >>> 8; + if (b) if (h >>> 0 > 16777215) b = 31; else { + v = (b + 1048320 | 0) >>> 16 & 8; + w = b << v; + u = (w + 520192 | 0) >>> 16 & 4; + w = w << u; + b = (w + 245760 | 0) >>> 16 & 2; + b = 14 - (u | v | b) + (w << b >>> 15) | 0; + b = h >>> (b + 7 | 0) & 1 | b << 1 + } else b = 0; + d = 187300 + (b << 2) | 0; + c[g + 28 >> 2] = b; + a = g + 16 | 0; + c[a + 4 >> 2] = 0; + c[a >> 2] = 0; + a = 1 << b; + if (!(e & a)) { + c[46750] = e | a; + c[d >> 2] = g; + c[g + 24 >> 2] = d; + c[g + 12 >> 2] = g; + c[g + 8 >> 2] = g; + break + } + a = h << ((b | 0) == 31 ? 0 : 25 - (b >>> 1) | 0); + d = c[d >> 2] | 0; + while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (h | 0)) { + v = 97; + break + } + e = d + 16 + (a >>> 31 << 2) | 0; + b = c[e >> 2] | 0; + if (!b) { + v = 96; + break + } else { + a = a << 1; + d = b + } + } + if ((v | 0) == 96) { + c[e >> 2] = g; + c[g + 24 >> 2] = d; + c[g + 12 >> 2] = g; + c[g + 8 >> 2] = g; + break + } else if ((v | 0) == 97) { + v = d + 8 | 0; + w = c[v >> 2] | 0; + c[w + 12 >> 2] = g; + c[v >> 2] = g; + c[g + 8 >> 2] = w; + c[g + 12 >> 2] = d; + c[g + 24 >> 2] = 0; + break + } + } else { + w = h + m | 0; + c[i + 4 >> 2] = w | 3; + w = i + w + 4 | 0; + c[w >> 2] = c[w >> 2] | 1 + } while (0); + w = i + 8 | 0; + l = x; + return w | 0 + } else n = m + } else n = m + } else n = -1; while (0); + d = c[46751] | 0; + if (d >>> 0 >= n >>> 0) { + b = d - n | 0; + a = c[46754] | 0; + if (b >>> 0 > 15) { + w = a + n | 0; + c[46754] = w; + c[46751] = b; + c[w + 4 >> 2] = b | 1; + c[a + d >> 2] = b; + c[a + 4 >> 2] = n | 3 + } else { + c[46751] = 0; + c[46754] = 0; + c[a + 4 >> 2] = d | 3; + w = a + d + 4 | 0; + c[w >> 2] = c[w >> 2] | 1 + } + w = a + 8 | 0; + l = x; + return w | 0 + } + i = c[46752] | 0; + if (i >>> 0 > n >>> 0) { + u = i - n | 0; + c[46752] = u; + w = c[46755] | 0; + v = w + n | 0; + c[46755] = v; + c[v + 4 >> 2] = u | 1; + c[w + 4 >> 2] = n | 3; + w = w + 8 | 0; + l = x; + return w | 0 + } + if (!(c[46867] | 0)) { + c[46869] = 4096; + c[46868] = 4096; + c[46870] = -1; + c[46871] = -1; + c[46872] = 0; + c[46860] = 0; + c[46867] = p & -16 ^ 1431655768; + a = 4096 + } else a = c[46869] | 0; + j = n + 48 | 0; + k = n + 47 | 0; + h = a + k | 0; + f = 0 - a | 0; + m = h & f; + if (m >>> 0 <= n >>> 0) { + w = 0; + l = x; + return w | 0 + } + a = c[46859] | 0; + if (a | 0 ? (o = c[46857] | 0, p = o + m | 0, p >>> 0 <= o >>> 0 | p >>> 0 > a >>> 0) : 0) { + w = 0; + l = x; + return w | 0 + } + b:do if (!(c[46860] & 4)) { + d = c[46755] | 0; + c:do if (d) { + e = 187444; + while (1) { + a = c[e >> 2] | 0; + if (a >>> 0 <= d >>> 0 ? (s = e + 4 | 0, (a + (c[s >> 2] | 0) | 0) >>> 0 > d >>> 0) : 0) break; + a = c[e + 8 >> 2] | 0; + if (!a) { + v = 118; + break c + } else e = a + } + b = h - i & f; + if (b >>> 0 < 2147483647) { + a = I3(b | 0) | 0; + if ((a | 0) == ((c[e >> 2] | 0) + (c[s >> 2] | 0) | 0)) { + if ((a | 0) != (-1 | 0)) { + h = b; + g = a; + v = 135; + break b + } + } else { + e = a; + v = 126 + } + } else b = 0 + } else v = 118; while (0); + do if ((v | 0) == 118) { + d = I3(0) | 0; + if ((d | 0) != (-1 | 0) ? (b = d, q = c[46868] | 0, r = q + -1 | 0, b = ((r & b | 0) == 0 ? 0 : (r + b & 0 - q) - b | 0) + m | 0, q = c[46857] | 0, r = b + q | 0, b >>> 0 > n >>> 0 & b >>> 0 < 2147483647) : 0) { + s = c[46859] | 0; + if (s | 0 ? r >>> 0 <= q >>> 0 | r >>> 0 > s >>> 0 : 0) { + b = 0; + break + } + a = I3(b | 0) | 0; + if ((a | 0) == (d | 0)) { + h = b; + g = d; + v = 135; + break b + } else { + e = a; + v = 126 + } + } else b = 0 + } while (0); + do if ((v | 0) == 126) { + d = 0 - b | 0; + if (!(j >>> 0 > b >>> 0 & (b >>> 0 < 2147483647 & (e | 0) != (-1 | 0)))) if ((e | 0) == (-1 | 0)) { + b = 0; + break + } else { + h = b; + g = e; + v = 135; + break b + } + a = c[46869] | 0; + a = k - b + a & 0 - a; + if (a >>> 0 >= 2147483647) { + h = b; + g = e; + v = 135; + break b + } + if ((I3(a | 0) | 0) == (-1 | 0)) { + I3(d | 0) | 0; + b = 0; + break + } else { + h = a + b | 0; + g = e; + v = 135; + break b + } + } while (0); + c[46860] = c[46860] | 4; + v = 133 + } else { + b = 0; + v = 133 + } while (0); + if (((v | 0) == 133 ? m >>> 0 < 2147483647 : 0) ? (g = I3(m | 0) | 0, s = I3(0) | 0, t = s - g | 0, u = t >>> 0 > (n + 40 | 0) >>> 0, !((g | 0) == (-1 | 0) | u ^ 1 | g >>> 0 < s >>> 0 & ((g | 0) != (-1 | 0) & (s | 0) != (-1 | 0)) ^ 1)) : 0) { + h = u ? t : b; + v = 135 + } + if ((v | 0) == 135) { + b = (c[46857] | 0) + h | 0; + c[46857] = b; + if (b >>> 0 > (c[46858] | 0) >>> 0) c[46858] = b; + j = c[46755] | 0; + do if (j) { + b = 187444; + while (1) { + a = c[b >> 2] | 0; + d = b + 4 | 0; + e = c[d >> 2] | 0; + if ((g | 0) == (a + e | 0)) { + v = 143; + break + } + f = c[b + 8 >> 2] | 0; + if (!f) break; else b = f + } + if (((v | 0) == 143 ? (c[b + 12 >> 2] & 8 | 0) == 0 : 0) ? g >>> 0 > j >>> 0 & a >>> 0 <= j >>> 0 : 0) { + c[d >> 2] = e + h; + w = (c[46752] | 0) + h | 0; + u = j + 8 | 0; + u = (u & 7 | 0) == 0 ? 0 : 0 - u & 7; + v = j + u | 0; + u = w - u | 0; + c[46755] = v; + c[46752] = u; + c[v + 4 >> 2] = u | 1; + c[j + w + 4 >> 2] = 40; + c[46756] = c[46871]; + break + } + if (g >>> 0 < (c[46753] | 0) >>> 0) c[46753] = g; + a = g + h | 0; + b = 187444; + while (1) { + if ((c[b >> 2] | 0) == (a | 0)) { + v = 151; + break + } + b = c[b + 8 >> 2] | 0; + if (!b) { + a = 187444; + break + } + } + if ((v | 0) == 151) if (!(c[b + 12 >> 2] & 8)) { + c[b >> 2] = g; + m = b + 4 | 0; + c[m >> 2] = (c[m >> 2] | 0) + h; + m = g + 8 | 0; + m = g + ((m & 7 | 0) == 0 ? 0 : 0 - m & 7) | 0; + b = a + 8 | 0; + b = a + ((b & 7 | 0) == 0 ? 0 : 0 - b & 7) | 0; + k = m + n | 0; + i = b - m - n | 0; + c[m + 4 >> 2] = n | 3; + do if ((j | 0) != (b | 0)) { + if ((c[46754] | 0) == (b | 0)) { + w = (c[46751] | 0) + i | 0; + c[46751] = w; + c[46754] = k; + c[k + 4 >> 2] = w | 1; + c[k + w >> 2] = w; + break + } + a = c[b + 4 >> 2] | 0; + if ((a & 3 | 0) == 1) { + h = a & -8; + e = a >>> 3; + d:do if (a >>> 0 < 256) { + a = c[b + 8 >> 2] | 0; + d = c[b + 12 >> 2] | 0; + if ((d | 0) == (a | 0)) { + c[46749] = c[46749] & ~(1 << e); + break + } else { + c[a + 12 >> 2] = d; + c[d + 8 >> 2] = a; + break + } + } else { + g = c[b + 24 >> 2] | 0; + a = c[b + 12 >> 2] | 0; + do if ((a | 0) == (b | 0)) { + e = b + 16 | 0; + d = e + 4 | 0; + a = c[d >> 2] | 0; + if (!a) { + a = c[e >> 2] | 0; + if (!a) { + a = 0; + break + } else d = e + } + while (1) { + e = a + 20 | 0; + f = c[e >> 2] | 0; + if (f | 0) { + a = f; + d = e; + continue + } + e = a + 16 | 0; + f = c[e >> 2] | 0; + if (!f) break; else { + a = f; + d = e + } + } + c[d >> 2] = 0 + } else { + w = c[b + 8 >> 2] | 0; + c[w + 12 >> 2] = a; + c[a + 8 >> 2] = w + } while (0); + if (!g) break; + d = c[b + 28 >> 2] | 0; + e = 187300 + (d << 2) | 0; + do if ((c[e >> 2] | 0) != (b | 0)) { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (b | 0) & 1) << 2) >> 2] = a; + if (!a) break d + } else { + c[e >> 2] = a; + if (a | 0) break; + c[46750] = c[46750] & ~(1 << d); + break d + } while (0); + c[a + 24 >> 2] = g; + d = b + 16 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + c[a + 16 >> 2] = e; + c[e + 24 >> 2] = a + } + d = c[d + 4 >> 2] | 0; + if (!d) break; + c[a + 20 >> 2] = d; + c[d + 24 >> 2] = a + } while (0); + b = b + h | 0; + f = h + i | 0 + } else f = i; + b = b + 4 | 0; + c[b >> 2] = c[b >> 2] & -2; + c[k + 4 >> 2] = f | 1; + c[k + f >> 2] = f; + b = f >>> 3; + if (f >>> 0 < 256) { + d = 187036 + (b << 1 << 2) | 0; + a = c[46749] | 0; + b = 1 << b; + if (!(a & b)) { + c[46749] = a | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = k; + c[b + 12 >> 2] = k; + c[k + 8 >> 2] = b; + c[k + 12 >> 2] = d; + break + } + b = f >>> 8; + do if (!b) b = 0; else { + if (f >>> 0 > 16777215) { + b = 31; + break + } + v = (b + 1048320 | 0) >>> 16 & 8; + w = b << v; + u = (w + 520192 | 0) >>> 16 & 4; + w = w << u; + b = (w + 245760 | 0) >>> 16 & 2; + b = 14 - (u | v | b) + (w << b >>> 15) | 0; + b = f >>> (b + 7 | 0) & 1 | b << 1 + } while (0); + e = 187300 + (b << 2) | 0; + c[k + 28 >> 2] = b; + a = k + 16 | 0; + c[a + 4 >> 2] = 0; + c[a >> 2] = 0; + a = c[46750] | 0; + d = 1 << b; + if (!(a & d)) { + c[46750] = a | d; + c[e >> 2] = k; + c[k + 24 >> 2] = e; + c[k + 12 >> 2] = k; + c[k + 8 >> 2] = k; + break + } + a = f << ((b | 0) == 31 ? 0 : 25 - (b >>> 1) | 0); + d = c[e >> 2] | 0; + while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (f | 0)) { + v = 192; + break + } + e = d + 16 + (a >>> 31 << 2) | 0; + b = c[e >> 2] | 0; + if (!b) { + v = 191; + break + } else { + a = a << 1; + d = b + } + } + if ((v | 0) == 191) { + c[e >> 2] = k; + c[k + 24 >> 2] = d; + c[k + 12 >> 2] = k; + c[k + 8 >> 2] = k; + break + } else if ((v | 0) == 192) { + v = d + 8 | 0; + w = c[v >> 2] | 0; + c[w + 12 >> 2] = k; + c[v >> 2] = k; + c[k + 8 >> 2] = w; + c[k + 12 >> 2] = d; + c[k + 24 >> 2] = 0; + break + } + } else { + w = (c[46752] | 0) + i | 0; + c[46752] = w; + c[46755] = k; + c[k + 4 >> 2] = w | 1 + } while (0); + w = m + 8 | 0; + l = x; + return w | 0 + } else a = 187444; + while (1) { + b = c[a >> 2] | 0; + if (b >>> 0 <= j >>> 0 ? (w = b + (c[a + 4 >> 2] | 0) | 0, w >>> 0 > j >>> 0) : 0) break; + a = c[a + 8 >> 2] | 0 + } + f = w + -47 | 0; + a = f + 8 | 0; + a = f + ((a & 7 | 0) == 0 ? 0 : 0 - a & 7) | 0; + f = j + 16 | 0; + a = a >>> 0 < f >>> 0 ? j : a; + b = a + 8 | 0; + d = h + -40 | 0; + u = g + 8 | 0; + u = (u & 7 | 0) == 0 ? 0 : 0 - u & 7; + v = g + u | 0; + u = d - u | 0; + c[46755] = v; + c[46752] = u; + c[v + 4 >> 2] = u | 1; + c[g + d + 4 >> 2] = 40; + c[46756] = c[46871]; + d = a + 4 | 0; + c[d >> 2] = 27; + c[b >> 2] = c[46861]; + c[b + 4 >> 2] = c[46862]; + c[b + 8 >> 2] = c[46863]; + c[b + 12 >> 2] = c[46864]; + c[46861] = g; + c[46862] = h; + c[46864] = 0; + c[46863] = b; + b = a + 24 | 0; + do { + v = b; + b = b + 4 | 0; + c[b >> 2] = 7 + } while ((v + 8 | 0) >>> 0 < w >>> 0); + if ((a | 0) != (j | 0)) { + g = a - j | 0; + c[d >> 2] = c[d >> 2] & -2; + c[j + 4 >> 2] = g | 1; + c[a >> 2] = g; + b = g >>> 3; + if (g >>> 0 < 256) { + d = 187036 + (b << 1 << 2) | 0; + a = c[46749] | 0; + b = 1 << b; + if (!(a & b)) { + c[46749] = a | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = j; + c[b + 12 >> 2] = j; + c[j + 8 >> 2] = b; + c[j + 12 >> 2] = d; + break + } + b = g >>> 8; + if (b) if (g >>> 0 > 16777215) d = 31; else { + v = (b + 1048320 | 0) >>> 16 & 8; + w = b << v; + u = (w + 520192 | 0) >>> 16 & 4; + w = w << u; + d = (w + 245760 | 0) >>> 16 & 2; + d = 14 - (u | v | d) + (w << d >>> 15) | 0; + d = g >>> (d + 7 | 0) & 1 | d << 1 + } else d = 0; + e = 187300 + (d << 2) | 0; + c[j + 28 >> 2] = d; + c[j + 20 >> 2] = 0; + c[f >> 2] = 0; + b = c[46750] | 0; + a = 1 << d; + if (!(b & a)) { + c[46750] = b | a; + c[e >> 2] = j; + c[j + 24 >> 2] = e; + c[j + 12 >> 2] = j; + c[j + 8 >> 2] = j; + break + } + a = g << ((d | 0) == 31 ? 0 : 25 - (d >>> 1) | 0); + d = c[e >> 2] | 0; + while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (g | 0)) { + v = 213; + break + } + e = d + 16 + (a >>> 31 << 2) | 0; + b = c[e >> 2] | 0; + if (!b) { + v = 212; + break + } else { + a = a << 1; + d = b + } + } + if ((v | 0) == 212) { + c[e >> 2] = j; + c[j + 24 >> 2] = d; + c[j + 12 >> 2] = j; + c[j + 8 >> 2] = j; + break + } else if ((v | 0) == 213) { + v = d + 8 | 0; + w = c[v >> 2] | 0; + c[w + 12 >> 2] = j; + c[v >> 2] = j; + c[j + 8 >> 2] = w; + c[j + 12 >> 2] = d; + c[j + 24 >> 2] = 0; + break + } + } + } else { + w = c[46753] | 0; + if ((w | 0) == 0 | g >>> 0 < w >>> 0) c[46753] = g; + c[46861] = g; + c[46862] = h; + c[46864] = 0; + c[46758] = c[46867]; + c[46757] = -1; + c[46762] = 187036; + c[46761] = 187036; + c[46764] = 187044; + c[46763] = 187044; + c[46766] = 187052; + c[46765] = 187052; + c[46768] = 187060; + c[46767] = 187060; + c[46770] = 187068; + c[46769] = 187068; + c[46772] = 187076; + c[46771] = 187076; + c[46774] = 187084; + c[46773] = 187084; + c[46776] = 187092; + c[46775] = 187092; + c[46778] = 187100; + c[46777] = 187100; + c[46780] = 187108; + c[46779] = 187108; + c[46782] = 187116; + c[46781] = 187116; + c[46784] = 187124; + c[46783] = 187124; + c[46786] = 187132; + c[46785] = 187132; + c[46788] = 187140; + c[46787] = 187140; + c[46790] = 187148; + c[46789] = 187148; + c[46792] = 187156; + c[46791] = 187156; + c[46794] = 187164; + c[46793] = 187164; + c[46796] = 187172; + c[46795] = 187172; + c[46798] = 187180; + c[46797] = 187180; + c[46800] = 187188; + c[46799] = 187188; + c[46802] = 187196; + c[46801] = 187196; + c[46804] = 187204; + c[46803] = 187204; + c[46806] = 187212; + c[46805] = 187212; + c[46808] = 187220; + c[46807] = 187220; + c[46810] = 187228; + c[46809] = 187228; + c[46812] = 187236; + c[46811] = 187236; + c[46814] = 187244; + c[46813] = 187244; + c[46816] = 187252; + c[46815] = 187252; + c[46818] = 187260; + c[46817] = 187260; + c[46820] = 187268; + c[46819] = 187268; + c[46822] = 187276; + c[46821] = 187276; + c[46824] = 187284; + c[46823] = 187284; + w = h + -40 | 0; + u = g + 8 | 0; + u = (u & 7 | 0) == 0 ? 0 : 0 - u & 7; + v = g + u | 0; + u = w - u | 0; + c[46755] = v; + c[46752] = u; + c[v + 4 >> 2] = u | 1; + c[g + w + 4 >> 2] = 40; + c[46756] = c[46871] + } while (0); + b = c[46752] | 0; + if (b >>> 0 > n >>> 0) { + u = b - n | 0; + c[46752] = u; + w = c[46755] | 0; + v = w + n | 0; + c[46755] = v; + c[v + 4 >> 2] = u | 1; + c[w + 4 >> 2] = n | 3; + w = w + 8 | 0; + l = x; + return w | 0 + } + } + c[(O_() | 0) >> 2] = 12; + w = 0; + l = x; + return w | 0 + } + + function D_(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + if (!a) return; + d = a + -8 | 0; + f = c[46753] | 0; + a = c[a + -4 >> 2] | 0; + b = a & -8; + j = d + b | 0; + do if (!(a & 1)) { + e = c[d >> 2] | 0; + if (!(a & 3)) return; + h = d + (0 - e) | 0; + g = e + b | 0; + if (h >>> 0 < f >>> 0) return; + if ((c[46754] | 0) == (h | 0)) { + a = j + 4 | 0; + b = c[a >> 2] | 0; + if ((b & 3 | 0) != 3) { + i = h; + b = g; + break + } + c[46751] = g; + c[a >> 2] = b & -2; + c[h + 4 >> 2] = g | 1; + c[h + g >> 2] = g; + return + } + d = e >>> 3; + if (e >>> 0 < 256) { + a = c[h + 8 >> 2] | 0; + b = c[h + 12 >> 2] | 0; + if ((b | 0) == (a | 0)) { + c[46749] = c[46749] & ~(1 << d); + i = h; + b = g; + break + } else { + c[a + 12 >> 2] = b; + c[b + 8 >> 2] = a; + i = h; + b = g; + break + } + } + f = c[h + 24 >> 2] | 0; + a = c[h + 12 >> 2] | 0; + do if ((a | 0) == (h | 0)) { + d = h + 16 | 0; + b = d + 4 | 0; + a = c[b >> 2] | 0; + if (!a) { + a = c[d >> 2] | 0; + if (!a) { + a = 0; + break + } else b = d + } + while (1) { + d = a + 20 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + a = e; + b = d; + continue + } + d = a + 16 | 0; + e = c[d >> 2] | 0; + if (!e) break; else { + a = e; + b = d + } + } + c[b >> 2] = 0 + } else { + i = c[h + 8 >> 2] | 0; + c[i + 12 >> 2] = a; + c[a + 8 >> 2] = i + } while (0); + if (f) { + b = c[h + 28 >> 2] | 0; + d = 187300 + (b << 2) | 0; + if ((c[d >> 2] | 0) == (h | 0)) { + c[d >> 2] = a; + if (!a) { + c[46750] = c[46750] & ~(1 << b); + i = h; + b = g; + break + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (h | 0) & 1) << 2) >> 2] = a; + if (!a) { + i = h; + b = g; + break + } + } + c[a + 24 >> 2] = f; + b = h + 16 | 0; + d = c[b >> 2] | 0; + if (d | 0) { + c[a + 16 >> 2] = d; + c[d + 24 >> 2] = a + } + b = c[b + 4 >> 2] | 0; + if (b) { + c[a + 20 >> 2] = b; + c[b + 24 >> 2] = a; + i = h; + b = g + } else { + i = h; + b = g + } + } else { + i = h; + b = g + } + } else { + i = d; + h = d + } while (0); + if (h >>> 0 >= j >>> 0) return; + a = j + 4 | 0; + e = c[a >> 2] | 0; + if (!(e & 1)) return; + if (!(e & 2)) { + if ((c[46755] | 0) == (j | 0)) { + j = (c[46752] | 0) + b | 0; + c[46752] = j; + c[46755] = i; + c[i + 4 >> 2] = j | 1; + if ((i | 0) != (c[46754] | 0)) return; + c[46754] = 0; + c[46751] = 0; + return + } + if ((c[46754] | 0) == (j | 0)) { + j = (c[46751] | 0) + b | 0; + c[46751] = j; + c[46754] = h; + c[i + 4 >> 2] = j | 1; + c[h + j >> 2] = j; + return + } + f = (e & -8) + b | 0; + d = e >>> 3; + do if (e >>> 0 < 256) { + b = c[j + 8 >> 2] | 0; + a = c[j + 12 >> 2] | 0; + if ((a | 0) == (b | 0)) { + c[46749] = c[46749] & ~(1 << d); + break + } else { + c[b + 12 >> 2] = a; + c[a + 8 >> 2] = b; + break + } + } else { + g = c[j + 24 >> 2] | 0; + a = c[j + 12 >> 2] | 0; + do if ((a | 0) == (j | 0)) { + d = j + 16 | 0; + b = d + 4 | 0; + a = c[b >> 2] | 0; + if (!a) { + a = c[d >> 2] | 0; + if (!a) { + d = 0; + break + } else b = d + } + while (1) { + d = a + 20 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + a = e; + b = d; + continue + } + d = a + 16 | 0; + e = c[d >> 2] | 0; + if (!e) break; else { + a = e; + b = d + } + } + c[b >> 2] = 0; + d = a + } else { + d = c[j + 8 >> 2] | 0; + c[d + 12 >> 2] = a; + c[a + 8 >> 2] = d; + d = a + } while (0); + if (g | 0) { + a = c[j + 28 >> 2] | 0; + b = 187300 + (a << 2) | 0; + if ((c[b >> 2] | 0) == (j | 0)) { + c[b >> 2] = d; + if (!d) { + c[46750] = c[46750] & ~(1 << a); + break + } + } else { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (j | 0) & 1) << 2) >> 2] = d; + if (!d) break + } + c[d + 24 >> 2] = g; + a = j + 16 | 0; + b = c[a >> 2] | 0; + if (b | 0) { + c[d + 16 >> 2] = b; + c[b + 24 >> 2] = d + } + a = c[a + 4 >> 2] | 0; + if (a | 0) { + c[d + 20 >> 2] = a; + c[a + 24 >> 2] = d + } + } + } while (0); + c[i + 4 >> 2] = f | 1; + c[h + f >> 2] = f; + if ((i | 0) == (c[46754] | 0)) { + c[46751] = f; + return + } + } else { + c[a >> 2] = e & -2; + c[i + 4 >> 2] = b | 1; + c[h + b >> 2] = b; + f = b + } + a = f >>> 3; + if (f >>> 0 < 256) { + d = 187036 + (a << 1 << 2) | 0; + b = c[46749] | 0; + a = 1 << a; + if (!(b & a)) { + c[46749] = b | a; + a = d; + b = d + 8 | 0 + } else { + b = d + 8 | 0; + a = c[b >> 2] | 0 + } + c[b >> 2] = i; + c[a + 12 >> 2] = i; + c[i + 8 >> 2] = a; + c[i + 12 >> 2] = d; + return + } + a = f >>> 8; + if (a) if (f >>> 0 > 16777215) a = 31; else { + h = (a + 1048320 | 0) >>> 16 & 8; + j = a << h; + g = (j + 520192 | 0) >>> 16 & 4; + j = j << g; + a = (j + 245760 | 0) >>> 16 & 2; + a = 14 - (g | h | a) + (j << a >>> 15) | 0; + a = f >>> (a + 7 | 0) & 1 | a << 1 + } else a = 0; + e = 187300 + (a << 2) | 0; + c[i + 28 >> 2] = a; + c[i + 20 >> 2] = 0; + c[i + 16 >> 2] = 0; + b = c[46750] | 0; + d = 1 << a; + do if (b & d) { + b = f << ((a | 0) == 31 ? 0 : 25 - (a >>> 1) | 0); + d = c[e >> 2] | 0; + while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (f | 0)) { + a = 73; + break + } + e = d + 16 + (b >>> 31 << 2) | 0; + a = c[e >> 2] | 0; + if (!a) { + a = 72; + break + } else { + b = b << 1; + d = a + } + } + if ((a | 0) == 72) { + c[e >> 2] = i; + c[i + 24 >> 2] = d; + c[i + 12 >> 2] = i; + c[i + 8 >> 2] = i; + break + } else if ((a | 0) == 73) { + h = d + 8 | 0; + j = c[h >> 2] | 0; + c[j + 12 >> 2] = i; + c[h >> 2] = i; + c[i + 8 >> 2] = j; + c[i + 12 >> 2] = d; + c[i + 24 >> 2] = 0; + break + } + } else { + c[46750] = b | d; + c[e >> 2] = i; + c[i + 24 >> 2] = e; + c[i + 12 >> 2] = i; + c[i + 8 >> 2] = i + } while (0); + j = (c[46757] | 0) + -1 | 0; + c[46757] = j; + if (!j) a = 187452; else return; + while (1) { + a = c[a >> 2] | 0; + if (!a) break; else a = a + 8 | 0 + } + c[46757] = -1; + return + } + + function E_(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + if (a) { + d = O(b, a) | 0; + if ((b | a) >>> 0 > 65535) d = ((d >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? d : -1 + } else d = 0; + a = C_(d) | 0; + if (!a) return a | 0; + if (!(c[a + -4 >> 2] & 3)) return a | 0; + H3(a | 0, 0, d | 0) | 0; + return a | 0 + } + + function F_(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + if (!a) { + b = C_(b) | 0; + return b | 0 + } + if (b >>> 0 > 4294967231) { + c[(O_() | 0) >> 2] = 12; + b = 0; + return b | 0 + } + d = G_(a + -8 | 0, b >>> 0 < 11 ? 16 : b + 11 & -8) | 0; + if (d | 0) { + b = d + 8 | 0; + return b | 0 + } + d = C_(b) | 0; + if (!d) { + b = 0; + return b | 0 + } + e = c[a + -4 >> 2] | 0; + e = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; + F3(d | 0, a | 0, (e >>> 0 < b >>> 0 ? e : b) | 0) | 0; + D_(a); + b = 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, i = 0, j = 0, k = 0, l = 0, m = 0; + l = a + 4 | 0; + m = c[l >> 2] | 0; + d = m & -8; + i = a + d | 0; + if (!(m & 3)) { + if (b >>> 0 < 256) { + a = 0; + return a | 0 + } + if (d >>> 0 >= (b + 4 | 0) >>> 0 ? (d - b | 0) >>> 0 <= c[46869] << 1 >>> 0 : 0) return a | 0; + a = 0; + return a | 0 + } + if (d >>> 0 >= b >>> 0) { + d = d - b | 0; + if (d >>> 0 <= 15) return a | 0; + k = a + b | 0; + c[l >> 2] = m & 1 | b | 2; + c[k + 4 >> 2] = d | 3; + m = i + 4 | 0; + c[m >> 2] = c[m >> 2] | 1; + H_(k, d); + return a | 0 + } + if ((c[46755] | 0) == (i | 0)) { + k = (c[46752] | 0) + d | 0; + d = k - b | 0; + e = a + b | 0; + if (k >>> 0 <= b >>> 0) { + a = 0; + return a | 0 + } + c[l >> 2] = m & 1 | b | 2; + c[e + 4 >> 2] = d | 1; + c[46755] = e; + c[46752] = d; + return a | 0 + } + if ((c[46754] | 0) == (i | 0)) { + e = (c[46751] | 0) + d | 0; + if (e >>> 0 < b >>> 0) { + a = 0; + return a | 0 + } + d = e - b | 0; + if (d >>> 0 > 15) { + k = a + b | 0; + e = a + e | 0; + c[l >> 2] = m & 1 | b | 2; + c[k + 4 >> 2] = d | 1; + c[e >> 2] = d; + e = e + 4 | 0; + c[e >> 2] = c[e >> 2] & -2; + e = k + } else { + c[l >> 2] = m & 1 | e | 2; + e = a + e + 4 | 0; + c[e >> 2] = c[e >> 2] | 1; + e = 0; + d = 0 + } + c[46751] = d; + c[46754] = e; + return a | 0 + } + e = c[i + 4 >> 2] | 0; + if (e & 2 | 0) { + a = 0; + return a | 0 + } + j = (e & -8) + d | 0; + if (j >>> 0 < b >>> 0) { + a = 0; + return a | 0 + } + k = j - b | 0; + f = e >>> 3; + do if (e >>> 0 < 256) { + e = c[i + 8 >> 2] | 0; + d = c[i + 12 >> 2] | 0; + if ((d | 0) == (e | 0)) { + c[46749] = c[46749] & ~(1 << f); + break + } else { + c[e + 12 >> 2] = d; + c[d + 8 >> 2] = e; + break + } + } else { + h = c[i + 24 >> 2] | 0; + d = c[i + 12 >> 2] | 0; + do if ((d | 0) == (i | 0)) { + f = i + 16 | 0; + e = f + 4 | 0; + d = c[e >> 2] | 0; + if (!d) { + d = c[f >> 2] | 0; + if (!d) { + f = 0; + break + } else g = f + } else g = e; + while (1) { + f = d + 20 | 0; + e = c[f >> 2] | 0; + if (e | 0) { + d = e; + g = f; + continue + } + e = d + 16 | 0; + f = c[e >> 2] | 0; + if (!f) break; else { + d = f; + g = e + } + } + c[g >> 2] = 0; + f = d + } else { + f = c[i + 8 >> 2] | 0; + c[f + 12 >> 2] = d; + c[d + 8 >> 2] = f; + f = d + } while (0); + if (h | 0) { + d = c[i + 28 >> 2] | 0; + e = 187300 + (d << 2) | 0; + if ((c[e >> 2] | 0) == (i | 0)) { + c[e >> 2] = f; + if (!f) { + c[46750] = c[46750] & ~(1 << d); + break + } + } else { + c[h + 16 + (((c[h + 16 >> 2] | 0) != (i | 0) & 1) << 2) >> 2] = f; + if (!f) break + } + c[f + 24 >> 2] = h; + d = i + 16 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + c[f + 16 >> 2] = e; + c[e + 24 >> 2] = f + } + d = c[d + 4 >> 2] | 0; + if (d | 0) { + c[f + 20 >> 2] = d; + c[d + 24 >> 2] = f + } + } + } while (0); + if (k >>> 0 < 16) { + c[l >> 2] = j | m & 1 | 2; + m = a + j + 4 | 0; + c[m >> 2] = c[m >> 2] | 1; + return a | 0 + } else { + i = a + b | 0; + c[l >> 2] = m & 1 | b | 2; + c[i + 4 >> 2] = k | 3; + m = a + j + 4 | 0; + c[m >> 2] = c[m >> 2] | 1; + H_(i, k); + return a | 0 + } + return 0 + } + + function H_(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + i = a + b | 0; + d = c[a + 4 >> 2] | 0; + do if (!(d & 1)) { + f = c[a >> 2] | 0; + if (!(d & 3)) return; + h = a + (0 - f) | 0; + b = f + b | 0; + if ((c[46754] | 0) == (h | 0)) { + a = i + 4 | 0; + d = c[a >> 2] | 0; + if ((d & 3 | 0) != 3) break; + c[46751] = b; + c[a >> 2] = d & -2; + c[h + 4 >> 2] = b | 1; + c[i >> 2] = b; + return + } + e = f >>> 3; + if (f >>> 0 < 256) { + a = c[h + 8 >> 2] | 0; + d = c[h + 12 >> 2] | 0; + if ((d | 0) == (a | 0)) { + c[46749] = c[46749] & ~(1 << e); + break + } else { + c[a + 12 >> 2] = d; + c[d + 8 >> 2] = a; + break + } + } + g = c[h + 24 >> 2] | 0; + a = c[h + 12 >> 2] | 0; + do if ((a | 0) == (h | 0)) { + e = h + 16 | 0; + d = e + 4 | 0; + a = c[d >> 2] | 0; + if (!a) { + a = c[e >> 2] | 0; + if (!a) { + a = 0; + break + } else d = e + } + while (1) { + e = a + 20 | 0; + f = c[e >> 2] | 0; + if (f | 0) { + a = f; + d = e; + continue + } + e = a + 16 | 0; + f = c[e >> 2] | 0; + if (!f) break; else { + a = f; + d = e + } + } + c[d >> 2] = 0 + } else { + f = c[h + 8 >> 2] | 0; + c[f + 12 >> 2] = a; + c[a + 8 >> 2] = f + } while (0); + if (g) { + d = c[h + 28 >> 2] | 0; + e = 187300 + (d << 2) | 0; + if ((c[e >> 2] | 0) == (h | 0)) { + c[e >> 2] = a; + if (!a) { + c[46750] = c[46750] & ~(1 << d); + break + } + } else { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (h | 0) & 1) << 2) >> 2] = a; + if (!a) break + } + c[a + 24 >> 2] = g; + d = h + 16 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + c[a + 16 >> 2] = e; + c[e + 24 >> 2] = a + } + d = c[d + 4 >> 2] | 0; + if (d) { + c[a + 20 >> 2] = d; + c[d + 24 >> 2] = a + } + } + } else h = a; while (0); + a = i + 4 | 0; + e = c[a >> 2] | 0; + if (!(e & 2)) { + if ((c[46755] | 0) == (i | 0)) { + i = (c[46752] | 0) + b | 0; + c[46752] = i; + c[46755] = h; + c[h + 4 >> 2] = i | 1; + if ((h | 0) != (c[46754] | 0)) return; + c[46754] = 0; + c[46751] = 0; + return + } + if ((c[46754] | 0) == (i | 0)) { + i = (c[46751] | 0) + b | 0; + c[46751] = i; + c[46754] = h; + c[h + 4 >> 2] = i | 1; + c[h + i >> 2] = i; + return + } + f = (e & -8) + b | 0; + d = e >>> 3; + do if (e >>> 0 < 256) { + a = c[i + 8 >> 2] | 0; + b = c[i + 12 >> 2] | 0; + if ((b | 0) == (a | 0)) { + c[46749] = c[46749] & ~(1 << d); + break + } else { + c[a + 12 >> 2] = b; + c[b + 8 >> 2] = a; + break + } + } else { + g = c[i + 24 >> 2] | 0; + b = c[i + 12 >> 2] | 0; + do if ((b | 0) == (i | 0)) { + d = i + 16 | 0; + a = d + 4 | 0; + b = c[a >> 2] | 0; + if (!b) { + b = c[d >> 2] | 0; + if (!b) { + d = 0; + break + } else a = d + } + while (1) { + d = b + 20 | 0; + e = c[d >> 2] | 0; + if (e | 0) { + b = e; + a = d; + continue + } + d = b + 16 | 0; + e = c[d >> 2] | 0; + if (!e) break; else { + b = e; + a = d + } + } + c[a >> 2] = 0; + d = b + } else { + d = c[i + 8 >> 2] | 0; + c[d + 12 >> 2] = b; + c[b + 8 >> 2] = d; + d = b + } while (0); + if (g | 0) { + b = c[i + 28 >> 2] | 0; + a = 187300 + (b << 2) | 0; + if ((c[a >> 2] | 0) == (i | 0)) { + c[a >> 2] = d; + if (!d) { + c[46750] = c[46750] & ~(1 << b); + break + } + } else { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (i | 0) & 1) << 2) >> 2] = d; + if (!d) break + } + c[d + 24 >> 2] = g; + b = i + 16 | 0; + a = c[b >> 2] | 0; + if (a | 0) { + c[d + 16 >> 2] = a; + c[a + 24 >> 2] = d + } + b = c[b + 4 >> 2] | 0; + if (b | 0) { + c[d + 20 >> 2] = b; + c[b + 24 >> 2] = d + } + } + } while (0); + c[h + 4 >> 2] = f | 1; + c[h + f >> 2] = f; + if ((h | 0) == (c[46754] | 0)) { + c[46751] = f; + return + } + } else { + c[a >> 2] = e & -2; + c[h + 4 >> 2] = b | 1; + c[h + b >> 2] = b; + f = b + } + b = f >>> 3; + if (f >>> 0 < 256) { + d = 187036 + (b << 1 << 2) | 0; + a = c[46749] | 0; + b = 1 << b; + if (!(a & b)) { + c[46749] = a | b; + b = d; + a = d + 8 | 0 + } else { + a = d + 8 | 0; + b = c[a >> 2] | 0 + } + c[a >> 2] = h; + c[b + 12 >> 2] = h; + c[h + 8 >> 2] = b; + c[h + 12 >> 2] = d; + return + } + b = f >>> 8; + if (b) if (f >>> 0 > 16777215) b = 31; else { + g = (b + 1048320 | 0) >>> 16 & 8; + i = b << g; + e = (i + 520192 | 0) >>> 16 & 4; + i = i << e; + b = (i + 245760 | 0) >>> 16 & 2; + b = 14 - (e | g | b) + (i << b >>> 15) | 0; + b = f >>> (b + 7 | 0) & 1 | b << 1 + } else b = 0; + e = 187300 + (b << 2) | 0; + c[h + 28 >> 2] = b; + c[h + 20 >> 2] = 0; + c[h + 16 >> 2] = 0; + a = c[46750] | 0; + d = 1 << b; + if (!(a & d)) { + c[46750] = a | d; + c[e >> 2] = h; + c[h + 24 >> 2] = e; + c[h + 12 >> 2] = h; + c[h + 8 >> 2] = h; + return + } + a = f << ((b | 0) == 31 ? 0 : 25 - (b >>> 1) | 0); + d = c[e >> 2] | 0; + while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (f | 0)) { + b = 69; + break + } + e = d + 16 + (a >>> 31 << 2) | 0; + b = c[e >> 2] | 0; + if (!b) { + b = 68; + break + } else { + a = a << 1; + d = b + } + } + if ((b | 0) == 68) { + c[e >> 2] = h; + c[h + 24 >> 2] = d; + c[h + 12 >> 2] = h; + c[h + 8 >> 2] = h; + return + } else if ((b | 0) == 69) { + g = d + 8 | 0; + i = c[g >> 2] | 0; + c[i + 12 >> 2] = h; + c[g >> 2] = h; + c[h + 8 >> 2] = i; + c[h + 12 >> 2] = d; + c[h + 24 >> 2] = 0; + return + } + } + + function I_(a, b) { + a = a | 0; + b = b | 0; + if (a >>> 0 < 9) { + b = C_(b) | 0; + return b | 0 + } else { + b = J_(a, b) | 0; + return b | 0 + } + return 0 + } + + function J_(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + a = a >>> 0 > 16 ? a : 16; + if (a + -1 & a) { + d = 16; + while (1) if (d >>> 0 < a >>> 0) d = d << 1; else { + a = d; + break + } + } + if ((-64 - a | 0) >>> 0 <= b >>> 0) { + c[(O_() | 0) >> 2] = 12; + h = 0; + return h | 0 + } + g = b >>> 0 < 11 ? 16 : b + 11 & -8; + d = C_(g + 12 + a | 0) | 0; + if (!d) { + h = 0; + return h | 0 + } + f = d + -8 | 0; + do if (a + -1 & d) { + e = (d + a + -1 & 0 - a) + -8 | 0; + b = f; + e = (e - b | 0) >>> 0 > 15 ? e : e + a | 0; + b = e - b | 0; + a = d + -4 | 0; + i = c[a >> 2] | 0; + d = (i & -8) - b | 0; + if (!(i & 3)) { + c[e >> 2] = (c[f >> 2] | 0) + b; + c[e + 4 >> 2] = d; + a = e; + b = e; + break + } else { + i = e + 4 | 0; + c[i >> 2] = d | c[i >> 2] & 1 | 2; + d = e + d + 4 | 0; + c[d >> 2] = c[d >> 2] | 1; + c[a >> 2] = b | c[a >> 2] & 1 | 2; + c[i >> 2] = c[i >> 2] | 1; + H_(f, b); + a = e; + b = e; + break + } + } else { + a = f; + b = f + } while (0); + a = a + 4 | 0; + d = c[a >> 2] | 0; + if (d & 3 | 0 ? (h = d & -8, h >>> 0 > (g + 16 | 0) >>> 0) : 0) { + i = h - g | 0; + f = b + g | 0; + c[a >> 2] = g | d & 1 | 2; + c[f + 4 >> 2] = i | 3; + h = b + h + 4 | 0; + c[h >> 2] = c[h >> 2] | 1; + H_(f, i) + } + i = b + 8 | 0; + return i | 0 + } + + function K_(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + c[d >> 2] = P_(c[a + 60 >> 2] | 0) | 0; + a = N_(Ja(6, d | 0) | 0) | 0; + l = b; + return a | 0 + } + + function L_(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 32 | 0; + f = k; + i = k + 16 | 0; + c[i >> 2] = d; + g = i + 4 | 0; + j = b + 48 | 0; + m = c[j >> 2] | 0; + c[g >> 2] = e - ((m | 0) != 0 & 1); + h = b + 44 | 0; + c[i + 8 >> 2] = c[h >> 2]; + c[i + 12 >> 2] = m; + c[f >> 2] = c[b + 60 >> 2]; + c[f + 4 >> 2] = i; + c[f + 8 >> 2] = 2; + f = N_(ya(145, f | 0) | 0) | 0; + if ((f | 0) >= 1) { + i = c[g >> 2] | 0; + if (f >>> 0 > i >>> 0) { + g = c[h >> 2] | 0; + h = b + 4 | 0; + c[h >> 2] = g; + c[b + 8 >> 2] = g + (f - i); + if (!(c[j >> 2] | 0)) f = e; else { + c[h >> 2] = g + 1; + a[d + (e + -1) >> 0] = a[g >> 0] | 0; + f = e + } + } + } else c[b >> 2] = c[b >> 2] | f & 48 ^ 16; + l = k; + return f | 0 + } + + function M_(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = l; + l = l + 32 | 0; + g = f; + e = f + 20 | 0; + c[g >> 2] = c[a + 60 >> 2]; + c[g + 4 >> 2] = 0; + c[g + 8 >> 2] = b; + c[g + 12 >> 2] = e; + c[g + 16 >> 2] = d; + if ((N_(xa(140, g | 0) | 0) | 0) < 0) { + c[e >> 2] = -1; + a = -1 + } else a = c[e >> 2] | 0; + l = f; + return a | 0 + } + + function N_(a) { + a = a | 0; + if (a >>> 0 > 4294963200) { + c[(O_() | 0) >> 2] = 0 - a; + a = -1 + } + return a | 0 + } + + function O_() { + return 187492 + } + + function P_(a) { + a = a | 0; + return a | 0 + } + + function Q_(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 32 | 0; + f = g; + c[b + 36 >> 2] = 18; + if ((c[b >> 2] & 64 | 0) == 0 ? (c[f >> 2] = c[b + 60 >> 2], c[f + 4 >> 2] = 21523, c[f + 8 >> 2] = g + 16, Ia(54, f | 0) | 0) : 0) a[b + 75 >> 0] = -1; + f = R_(b, d, e) | 0; + l = g; + return f | 0 + } + + function R_(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + n = l; + l = l + 48 | 0; + k = n + 16 | 0; + g = n; + f = n + 32 | 0; + i = a + 28 | 0; + e = c[i >> 2] | 0; + c[f >> 2] = e; + j = a + 20 | 0; + e = (c[j >> 2] | 0) - e | 0; + c[f + 4 >> 2] = e; + c[f + 8 >> 2] = b; + c[f + 12 >> 2] = d; + e = e + d | 0; + h = a + 60 | 0; + c[g >> 2] = c[h >> 2]; + c[g + 4 >> 2] = f; + c[g + 8 >> 2] = 2; + g = N_(za(146, g | 0) | 0) | 0; + a:do if ((e | 0) != (g | 0)) { + b = 2; + while (1) { + if ((g | 0) < 0) break; + e = e - g | 0; + p = c[f + 4 >> 2] | 0; + o = g >>> 0 > p >>> 0; + f = o ? f + 8 | 0 : f; + b = b + (o << 31 >> 31) | 0; + p = g - (o ? p : 0) | 0; + c[f >> 2] = (c[f >> 2] | 0) + p; + o = f + 4 | 0; + c[o >> 2] = (c[o >> 2] | 0) - p; + c[k >> 2] = c[h >> 2]; + c[k + 4 >> 2] = f; + c[k + 8 >> 2] = b; + g = N_(za(146, k | 0) | 0) | 0; + if ((e | 0) == (g | 0)) { + m = 3; + break a + } + } + c[a + 16 >> 2] = 0; + c[i >> 2] = 0; + c[j >> 2] = 0; + c[a >> 2] = c[a >> 2] | 32; + if ((b | 0) == 2) d = 0; else d = d - (c[f + 4 >> 2] | 0) | 0 + } else m = 3; while (0); + if ((m | 0) == 3) { + p = c[a + 44 >> 2] | 0; + c[a + 16 >> 2] = p + (c[a + 48 >> 2] | 0); + c[i >> 2] = p; + c[j >> 2] = p + } + l = n; + return d | 0 + } + + function S_(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = a; + c[e + 4 >> 2] = b; + b = N_(Ka(91, e | 0) | 0) | 0; + l = d; + return b | 0 + } + + function T_() { + return + } + + function U_(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; + i = l; + l = l + 32 | 0; + h = i; + do if ((g & 4095 | 0) == 0 & (((g | 0) < 0) << 31 >> 31 & -4096 | 0) == 0) { + if (b >>> 0 > 2147483646) { + c[(O_() | 0) >> 2] = 12; + a = -1; + break + } + 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; + a = N_(Aa(192, h | 0) | 0) | 0 + } else { + c[(O_() | 0) >> 2] = 22; + a = -1 + } while (0); + l = i; + return a | 0 + } + + function V_(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = d & 255; + a:do if (!f) b = b + (W_(b) | 0) | 0; else { + if (b & 3) { + e = d & 255; + do { + g = a[b >> 0] | 0; + if (g << 24 >> 24 == 0 ? 1 : g << 24 >> 24 == e << 24 >> 24) break a; + b = b + 1 | 0 + } while ((b & 3 | 0) != 0) + } + f = O(f, 16843009) | 0; + e = c[b >> 2] | 0; + b:do if (!((e & -2139062144 ^ -2139062144) & e + -16843009)) do { + g = e ^ f; + if ((g & -2139062144 ^ -2139062144) & g + -16843009 | 0) break b; + b = b + 4 | 0; + e = c[b >> 2] | 0 + } while (!((e & -2139062144 ^ -2139062144) & e + -16843009 | 0)); while (0); + e = d & 255; + while (1) { + g = a[b >> 0] | 0; + if (g << 24 >> 24 == 0 ? 1 : g << 24 >> 24 == e << 24 >> 24) break; else b = b + 1 | 0 + } + } while (0); + return b | 0 + } + + function W_(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 X_(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 48 | 0; + g = h + 16 | 0; + f = h; + e = h + 32 | 0; + if (!(b & 4194368)) e = 0; else { + c[e >> 2] = d; + i = (c[e >> 2] | 0) + (4 - 1) & ~(4 - 1); + d = c[i >> 2] | 0; + c[e >> 2] = i + 4; + e = d + } + c[f >> 2] = a; + c[f + 4 >> 2] = b | 32768; + c[f + 8 >> 2] = e; + e = Ha(5, f | 0) | 0; + if (!((b & 524288 | 0) == 0 | (e | 0) < 0)) { + c[g >> 2] = e; + c[g + 4 >> 2] = 2; + c[g + 8 >> 2] = 1; + Ea(221, g | 0) | 0 + } + i = N_(e) | 0; + l = h; + return i | 0 + } + + function Y_(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0; + g = 0; + while (1) { + if ((d[141449 + g >> 0] | 0) == (b | 0)) { + b = 2; + break + } + f = g + 1 | 0; + if ((f | 0) == 87) { + f = 141537; + g = 87; + b = 5; + break + } else g = f + } + if ((b | 0) == 2) if (!g) f = 141537; else { + f = 141537; + b = 5 + } + if ((b | 0) == 5) while (1) { + do { + b = f; + f = f + 1 | 0 + } while ((a[b >> 0] | 0) != 0); + g = g + -1 | 0; + if (!g) break; else b = 5 + } + return Z_(f, c[e + 20 >> 2] | 0) | 0 + } + + function Z_(a, b) { + a = a | 0; + b = b | 0; + return __(a, b) | 0 + } + + function __(a, b) { + a = a | 0; + b = b | 0; + if (!b) b = 0; else b = $_(c[b >> 2] | 0, c[b + 4 >> 2] | 0, a) | 0; + return (b | 0 ? b : a) | 0 + } + + function $_(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + o = (c[b >> 2] | 0) + 1794895138 | 0; + h = a$(c[b + 8 >> 2] | 0, o) | 0; + f = a$(c[b + 12 >> 2] | 0, o) | 0; + g = a$(c[b + 16 >> 2] | 0, o) | 0; + a:do if ((h >>> 0 < d >>> 2 >>> 0 ? (n = d - (h << 2) | 0, f >>> 0 < n >>> 0 & g >>> 0 < n >>> 0) : 0) ? ((g | f) & 3 | 0) == 0 : 0) { + n = f >>> 2; + m = g >>> 2; + l = 0; + while (1) { + j = h >>> 1; + k = l + j | 0; + i = k << 1; + g = i + n | 0; + f = a$(c[b + (g << 2) >> 2] | 0, o) | 0; + g = a$(c[b + (g + 1 << 2) >> 2] | 0, o) | 0; + if (!(g >>> 0 < d >>> 0 & f >>> 0 < (d - g | 0) >>> 0)) { + f = 0; + break a + } + if (a[b + (g + f) >> 0] | 0) { + f = 0; + break a + } + f = b$(e, b + g | 0) | 0; + if (!f) break; + f = (f | 0) < 0; + if ((h | 0) == 1) { + f = 0; + break a + } else { + l = f ? l : k; + h = f ? j : h - j | 0 + } + } + f = i + m | 0; + g = a$(c[b + (f << 2) >> 2] | 0, o) | 0; + f = a$(c[b + (f + 1 << 2) >> 2] | 0, o) | 0; + if (f >>> 0 < d >>> 0 & g >>> 0 < (d - f | 0) >>> 0) f = (a[b + (f + g) >> 0] | 0) == 0 ? b + f | 0 : 0; else f = 0 + } else f = 0; while (0); + return f | 0 + } + + function a$(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = C3(a | 0) | 0; + return ((b | 0) == 0 ? a : c) | 0 + } + + function b$(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = a[b >> 0] | 0; + e = a[c >> 0] | 0; + if (d << 24 >> 24 == 0 ? 1 : d << 24 >> 24 != e << 24 >> 24) b = e; else { + do { + b = b + 1 | 0; + c = c + 1 | 0; + d = a[b >> 0] | 0; + e = a[c >> 0] | 0 + } while (!(d << 24 >> 24 == 0 ? 1 : d << 24 >> 24 != e << 24 >> 24)); + b = e + } + return (d & 255) - (b & 255) | 0 + } + + function c$(a) { + a = a | 0; + return Y_(a, c[(d$() | 0) + 188 >> 2] | 0) | 0 + } + + function d$() { + return e$() | 0 + } + + function e$() { + return 62872 + } + + function f$(a, b, c) { + a = +a; + b = +b; + c = c | 0; + var d = 0.0, e = 0.0, f = 0.0; + f = a * a; + d = f * (f * f) * (f * 1.58969099521155e-10 + -2.5050760253406863e-08) + (f * (f * 2.7557313707070068e-06 + -1.984126982985795e-04) + .00833333333332249); + e = f * a; + if (!c) a = e * (f * d + -.16666666666666632) + a; else a = a - (e * .16666666666666632 + (f * (b * .5 - e * d) - b)); + return +a + } + + function g$(a) { + a = +a; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, i = 0.0, k = 0.0, l = 0.0, m = 0.0; + h[j >> 3] = a; + b = c[j >> 2] | 0; + d = c[j + 4 >> 2] | 0; + e = (d | 0) < 0; + do if (e | d >>> 0 < 1048576) { + if ((b | 0) == 0 & (d & 2147483647 | 0) == 0) { + a = -1.0 / (a * a); + break + } + if (e) { + a = (a - a) / 0.0; + break + } else { + h[j >> 3] = a * 18014398509481984.0; + d = c[j + 4 >> 2] | 0; + e = -1077; + b = c[j >> 2] | 0; + f = 9; + break + } + } else if (d >>> 0 <= 2146435071) if ((b | 0) == 0 & 0 == 0 & (d | 0) == 1072693248) a = 0.0; else { + e = -1023; + f = 9 + } while (0); + if ((f | 0) == 9) { + f = d + 614242 | 0; + c[j >> 2] = b; + c[j + 4 >> 2] = (f & 1048575) + 1072079006; + m = +h[j >> 3] + -1.0; + k = m * (m * .5); + i = m / (m + 2.0); + l = i * i; + g = l * l; + h[j >> 3] = m - k; + d = c[j + 4 >> 2] | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = d; + a = +h[j >> 3]; + g = m - a - k + i * (k + (g * (g * (g * .15313837699209373 + .22222198432149784) + .3999999999940942) + l * (g * (g * (g * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); + l = a * 1.4426950407214463; + k = +(e + (f >>> 20) | 0); + i = l + k; + a = i + (l + (k - i) + (g * 1.4426950407214463 + (g + a) * 1.6751713164886512e-10)) + } + return +a + } + + function h$(a, b) { + a = +a; + b = b | 0; + var d = 0, e = 0, f = 0; + h[j >> 3] = a; + d = c[j >> 2] | 0; + e = c[j + 4 >> 2] | 0; + f = z3(d | 0, e | 0, 52) | 0; + switch (f & 2047) { + case 0: { + if (a != 0.0) { + a = +h$(a * 18446744073709551616.0, b); + d = (c[b >> 2] | 0) + -64 | 0 + } else d = 0; + c[b >> 2] = d; + break + } + case 2047: + break; + default: { + c[b >> 2] = (f & 2047) + -1022; + c[j >> 2] = d; + c[j + 4 >> 2] = e & -2146435073 | 1071644672; + a = +h[j >> 3] + } + } + return +a + } + + function i$(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 j$(a) { + a = +a; + var b = 0, d = 0, e = 0, f = 0, g = 0.0, i = 0.0, k = 0.0, l = 0.0, m = 0.0; + h[j >> 3] = a; + b = c[j >> 2] | 0; + d = c[j + 4 >> 2] | 0; + e = (d | 0) < 0; + do if (e | d >>> 0 < 1048576) { + if ((b | 0) == 0 & (d & 2147483647 | 0) == 0) { + a = -1.0 / (a * a); + break + } + if (e) { + a = (a - a) / 0.0; + break + } else { + h[j >> 3] = a * 18014398509481984.0; + d = c[j + 4 >> 2] | 0; + e = -1077; + b = c[j >> 2] | 0; + f = 9; + break + } + } else if (d >>> 0 <= 2146435071) if ((b | 0) == 0 & 0 == 0 & (d | 0) == 1072693248) a = 0.0; else { + e = -1023; + f = 9 + } while (0); + if ((f | 0) == 9) { + f = d + 614242 | 0; + c[j >> 2] = b; + c[j + 4 >> 2] = (f & 1048575) + 1072079006; + k = +h[j >> 3] + -1.0; + i = k * (k * .5); + l = k / (k + 2.0); + m = l * l; + g = m * m; + h[j >> 3] = k - i; + d = c[j + 4 >> 2] | 0; + c[j >> 2] = 0; + c[j + 4 >> 2] = d; + a = +h[j >> 3]; + g = k - a - i + l * (i + (g * (g * (g * .15313837699209373 + .22222198432149784) + .3999999999940942) + m * (g * (g * (g * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); + m = a * .4342944818781689; + i = +(e + (f >>> 20) | 0); + l = i * .30102999566361177; + k = l + m; + a = k + (m + (l - k) + (g * .4342944818781689 + (i * 3.694239077158931e-13 + (g + a) * 2.5082946711645275e-11))) + } + return +a + } + + function k$(a, b) { + a = +a; + b = b | 0; + var d = 0, e = 0.0, f = 0.0, g = 0.0, i = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0.0; + r = l; + l = l + 48 | 0; + m = r + 16 | 0; + n = r; + h[j >> 3] = a; + d = c[j >> 2] | 0; + i = c[j + 4 >> 2] | 0; + o = z3(d | 0, i | 0, 63) | 0; + q = i & 2147483647; + do if (q >>> 0 < 1074752123) if ((i & 1048575 | 0) != 598523) { + d = (o | 0) != 0; + if (q >>> 0 < 1073928573) if (d) { + g = a + 1.5707963267341256; + k = g + 6.077100506506192e-11; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + 6.077100506506192e-11; + d = -1; + break + } else { + g = a + -1.5707963267341256; + k = g + -6.077100506506192e-11; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + -6.077100506506192e-11; + d = 1; + break + } else if (d) { + g = a + 3.1415926534682512; + k = g + 1.2154201013012384e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + 1.2154201013012384e-10; + d = -2; + break + } else { + g = a + -3.1415926534682512; + k = g + -1.2154201013012384e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + -1.2154201013012384e-10; + d = 2; + break + } + } else p = 21; else { + if (q >>> 0 < 1075594812) if (q >>> 0 < 1075183037) { + if ((q | 0) == 1074977148) { + p = 21; + break + } + if (!o) { + g = a + -4.712388980202377; + k = g + -1.8231301519518578e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + -1.8231301519518578e-10; + d = 3; + break + } else { + g = a + 4.712388980202377; + k = g + 1.8231301519518578e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + 1.8231301519518578e-10; + d = -3; + break + } + } else { + if ((q | 0) == 1075388923) { + p = 21; + break + } + if (!o) { + g = a + -6.2831853069365025; + k = g + -2.430840202602477e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + -2.430840202602477e-10; + d = 4; + break + } else { + g = a + 6.2831853069365025; + k = g + 2.430840202602477e-10; + h[b >> 3] = k; + h[b + 8 >> 3] = g - k + 2.430840202602477e-10; + d = -4; + break + } + } + if (q >>> 0 >= 1094263291) { + if (q >>> 0 > 2146435071) { + k = a - a; + h[b + 8 >> 3] = k; + h[b >> 3] = k; + d = 0; + break + } + c[j >> 2] = d; + c[j + 4 >> 2] = i & 1048575 | 1096810496; + a = +h[j >> 3]; + d = 0; + do { + k = +(~~a | 0); + h[m + (d << 3) >> 3] = k; + a = (a - k) * 16777216.0; + d = d + 1 | 0 + } while ((d | 0) != 2); + 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 = l$(m, n, (q >>> 20) + -1046 | 0, d + 1 | 0, 1) | 0; + a = +h[n >> 3]; + if (!o) { + h[b >> 3] = a; + h[b + 8 >> 3] = +h[n + 8 >> 3]; + break + } else { + h[b >> 3] = -a; + h[b + 8 >> 3] = -+h[n + 8 >> 3]; + d = 0 - d | 0; + break + } + } else p = 21 + } while (0); + if ((p | 0) == 21) { + g = a * .6366197723675814 + 6755399441055744.0 + -6755399441055744.0; + d = ~~g; + e = a - g * 1.5707963267341256; + f = g * 6.077100506506192e-11; + a = e - f; + h[b >> 3] = a; + h[j >> 3] = a; + p = z3(c[j >> 2] | 0, c[j + 4 >> 2] | 0, 52) | 0; + i = q >>> 20; + if ((i - (p & 2047) | 0) > 16) { + f = g * 6.077100506303966e-11; + k = e - f; + f = g * 2.0222662487959506e-21 - (e - k - f); + a = k - f; + h[b >> 3] = a; + h[j >> 3] = a; + q = z3(c[j >> 2] | 0, c[j + 4 >> 2] | 0, 52) | 0; + s = g * 2.0222662487111665e-21; + e = k - s; + g = g * 8.4784276603689e-32 - (k - e - s); + if ((i - (q & 2047) | 0) > 49) { + a = e - g; + h[b >> 3] = a; + f = g + } else e = k + } + h[b + 8 >> 3] = e - a - f + } + l = r; + return d | 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.0, i = 0.0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0.0; + H = l; + l = l + 560 | 0; + C = H + 480 | 0; + z = H + 320 | 0; + G = H + 160 | 0; + E = H; + D = c[63116 + (f << 2) >> 2] | 0; + p = e + -1 | 0; + y = (d + -3 | 0) / 24 | 0; + y = (y | 0) > 0 ? y : 0; + B = O(y, -24) | 0; + j = d + -24 + B | 0; + if ((D + p | 0) >= 0) { + n = D + e | 0; + k = y - p | 0; + m = 0; + while (1) { + if ((k | 0) < 0) g = 0.0; else g = +(c[63132 + (k << 2) >> 2] | 0); + h[z + (m << 3) >> 3] = g; + m = m + 1 | 0; + if ((m | 0) == (n | 0)) break; else k = k + 1 | 0 + } + } + o = (e | 0) > 0; + n = 0; + while (1) { + if (o) { + m = n + p | 0; + g = 0.0; + k = 0; + do { + g = g + +h[a + (k << 3) >> 3] * +h[z + (m - k << 3) >> 3]; + k = k + 1 | 0 + } while ((k | 0) != (e | 0)) + } else g = 0.0; + h[E + (n << 3) >> 3] = g; + if ((n | 0) < (D | 0)) n = n + 1 | 0; else break + } + t = (j | 0) > 0; + u = 24 - j | 0; + v = 23 - j | 0; + w = (e | 0) > 0; + x = (j | 0) == 0; + k = D; + a:while (1) { + g = +h[E + (k << 3) >> 3]; + o = (k | 0) > 0; + if (o) { + m = k; + n = 0; + while (1) { + i = +(~~(g * 5.9604644775390625e-08) | 0); + c[C + (n << 2) >> 2] = ~~(g - i * 16777216.0); + s = m; + m = m + -1 | 0; + g = +h[E + (m << 3) >> 3] + i; + if ((s | 0) <= 1) break; else n = n + 1 | 0 + } + } + g = +m$(g, j); + g = g - +A(+(g * .125)) * 8.0; + m = ~~g; + g = g - +(m | 0); + do if (!t) if (!x) if (!(g >= .5)) { + p = 0; + s = m; + break + } else { + n = 2; + F = 20; + break + } else { + n = c[C + (k + -1 << 2) >> 2] >> 23; + F = 19; + break + } else { + s = C + (k + -1 << 2) | 0; + n = c[s >> 2] | 0; + F = n >> u; + n = n - (F << u) | 0; + c[s >> 2] = n; + n = n >> v; + m = F + m | 0; + F = 19 + } while (0); + if ((F | 0) == 19) { + F = 0; + if ((n | 0) > 0) F = 20; else { + p = n; + s = m + } + } + if ((F | 0) == 20) { + F = 0; + s = m + 1 | 0; + if (o) { + m = 0; + r = 0; + do { + p = C + (r << 2) | 0; + q = c[p >> 2] | 0; + if (!m) if (!q) m = 0; else { + m = 1; + o = 16777216; + F = 23 + } else { + o = 16777215; + F = 23 + } + if ((F | 0) == 23) { + F = 0; + c[p >> 2] = o - q + } + r = r + 1 | 0 + } while ((r | 0) != (k | 0)) + } else m = 0; + b:do if (t) { + switch (j | 0) { + case 1: { + o = 8388607; + break + } + case 2: { + o = 4194303; + break + } + default: + break b + } + r = C + (k + -1 << 2) | 0; + c[r >> 2] = c[r >> 2] & o + } while (0); + if ((n | 0) == 2) { + g = 1.0 - g; + if (!m) p = 2; else { + p = 2; + g = g - +m$(1.0, j) + } + } else p = n + } + if (!(g == 0.0)) { + F = 42; + break + } + if ((k | 0) > (D | 0)) { + m = 0; + n = k; + do { + n = n + -1 | 0; + m = c[C + (n << 2) >> 2] | m + } while ((n | 0) > (D | 0)); + if (m) { + F = 41; + break + } else m = 1 + } else m = 1; + while (1) if (!(c[C + (D - m << 2) >> 2] | 0)) m = m + 1 | 0; else break; + o = m + k | 0; + if ((m | 0) <= 0) { + k = o; + continue + } + while (1) { + n = k + 1 | 0; + m = k + e | 0; + h[z + (m << 3) >> 3] = +(c[63132 + (n + y << 2) >> 2] | 0); + if (w) { + g = 0.0; + k = 0; + do { + g = g + +h[a + (k << 3) >> 3] * +h[z + (m - k << 3) >> 3]; + k = k + 1 | 0 + } while ((k | 0) != (e | 0)) + } else g = 0.0; + h[E + (n << 3) >> 3] = g; + if ((n | 0) < (o | 0)) k = n; else { + k = o; + continue a + } + } + } + if ((F | 0) == 41) while (1) { + F = 0; + j = j + -24 | 0; + k = k + -1 | 0; + if (!(c[C + (k << 2) >> 2] | 0)) F = 41; else { + o = k; + break + } + } else if ((F | 0) == 42) { + g = +m$(g, 0 - j | 0); + if (g >= 16777216.0) { + i = +(~~(g * 5.9604644775390625e-08) | 0); + c[C + (k << 2) >> 2] = ~~(g - i * 16777216.0); + j = B + d | 0; + k = k + 1 | 0; + g = i + } + c[C + (k << 2) >> 2] = ~~g; + o = k + } + g = +m$(1.0, j); + n = (o | 0) > -1; + if (n) { + j = o; + while (1) { + h[E + (j << 3) >> 3] = g * +(c[C + (j << 2) >> 2] | 0); + if ((j | 0) > 0) { + g = g * 5.9604644775390625e-08; + j = j + -1 | 0 + } else break + } + if (n) { + k = o; + while (1) { + m = o - k | 0; + j = 0; + g = 0.0; + while (1) { + g = g + +h[10904 + (j << 3) >> 3] * +h[E + (j + k << 3) >> 3]; + if ((j | 0) >= (D | 0) | (j | 0) >= (m | 0)) break; else j = j + 1 | 0 + } + h[G + (m << 3) >> 3] = g; + if ((k | 0) > 0) k = k + -1 | 0; else break + } + } + } + switch (f | 0) { + case 0: { + if (n) { + g = 0.0; + j = o; + while (1) { + g = g + +h[G + (j << 3) >> 3]; + if ((j | 0) > 0) j = j + -1 | 0; else break + } + } else g = 0.0; + i = (p | 0) == 0 ? g : -g; + F = 72; + break + } + case 2: + case 1: { + if (n) { + g = 0.0; + j = o; + while (1) { + g = g + +h[G + (j << 3) >> 3]; + if ((j | 0) > 0) j = j + -1 | 0; else break + } + } else g = 0.0; + k = (p | 0) == 0; + h[b >> 3] = k ? g : -g; + g = +h[G >> 3] - g; + if ((o | 0) >= 1) { + j = 1; + while (1) { + g = g + +h[G + (j << 3) >> 3]; + if ((j | 0) == (o | 0)) break; else j = j + 1 | 0 + } + } + i = k ? g : -g; + b = b + 8 | 0; + F = 72; + break + } + case 3: { + if ((o | 0) > 0) { + j = o; + g = +h[G + (o << 3) >> 3]; + do { + F = j; + j = j + -1 | 0; + E = G + (j << 3) | 0; + i = +h[E >> 3]; + I = g; + g = i + g; + h[G + (F << 3) >> 3] = I + (i - g); + h[E >> 3] = g + } while ((F | 0) > 1); + k = (o | 0) > 1; + if (k) { + j = o; + g = +h[G + (o << 3) >> 3]; + do { + F = j; + j = j + -1 | 0; + E = G + (j << 3) | 0; + I = +h[E >> 3]; + i = g; + g = I + g; + h[G + (F << 3) >> 3] = i + (I - g); + h[E >> 3] = g + } while ((F | 0) > 2); + if (k) { + j = o; + i = 0.0; + while (1) { + i = i + +h[G + (j << 3) >> 3]; + if ((j | 0) > 2) j = j + -1 | 0; else break + } + } else i = 0.0 + } else i = 0.0 + } else i = 0.0; + g = +h[G >> 3]; + if (!p) { + h[b >> 3] = g; + g = +h[G + 8 >> 3] + } else { + h[b >> 3] = -g; + i = -i; + g = -+h[G + 8 >> 3] + } + h[b + 8 >> 3] = g; + b = b + 16 | 0; + F = 72; + break + } + default: { + } + } + if ((F | 0) == 72) h[b >> 3] = i; + l = H; + return s & 7 | 0 + } + + function m$(a, b) { + a = +a; + b = b | 0; + var d = 0, e = 0; + if ((b | 0) <= 1023) { + if ((b | 0) < -1022) { + a = a * 2.2250738585072014e-308; + e = (b | 0) < -2044; + d = b + 2044 | 0; + a = e ? a * 2.2250738585072014e-308 : a; + b = e ? ((d | 0) > -1022 ? d : -1022) : b + 1022 | 0 + } + } else { + a = a * 8988465674311579538646525.0e283; + d = (b | 0) > 2046; + e = b + -2046 | 0; + a = d ? a * 8988465674311579538646525.0e283 : a; + b = d ? ((e | 0) < 1023 ? e : 1023) : b + -1023 | 0 + } + d = A3(b + 1023 | 0, 0, 52) | 0; + e = z; + c[j >> 2] = d; + c[j + 4 >> 2] = e; + return +(a * +h[j >> 3]) + } + + function n$(a) { + a = +a; + var b = 0, d = 0, e = 0, f = 0.0, g = 0.0; + h[j >> 3] = a; + d = c[j + 4 >> 2] | 0; + b = d & 2147483647; + do if (b >>> 0 > 2146435071) a = a + a; else { + if (b >>> 0 < 1048576) { + h[j >> 3] = a * 18014398509481984.0; + d = c[j + 4 >> 2] | 0; + b = d & 2147483647; + if (!b) break; else e = 696219795 + } else e = 715094163; + c[j >> 2] = 0; + c[j + 4 >> 2] = ((b >>> 0) / 3 | 0) + e | d & -2147483648; + f = +h[j >> 3]; + g = f * f * (f / a); + h[j >> 3] = (g * (g * g) * (g * .14599619288661245 + -.758397934778766) + (g * (g * 1.6214297201053545 + -1.8849797954337717) + 1.87595182427177)) * f; + d = s3(c[j >> 2] | 0, c[j + 4 >> 2] | 0, -2147483648, 0) | 0; + e = z; + c[j >> 2] = d & -1073741824; + c[j + 4 >> 2] = e; + f = +h[j >> 3]; + a = a / (f * f); + a = (a - f) / (f + f + a) * f + f + } while (0); + return +a + } + + function o$(a, b) { + a = +a; + b = +b; + var d = 0, e = 0; + h[j >> 3] = a; + e = c[j >> 2] | 0; + d = c[j + 4 >> 2] | 0; + h[j >> 3] = b; + d = c[j + 4 >> 2] & -2147483648 | d & 2147483647; + c[j >> 2] = e; + c[j + 4 >> 2] = d; + return +(+h[j >> 3]) + } + + function p$(a, b) { + a = +a; + b = +b; + return +(+o$(a, b)) + } + + function q$(a, b) { + a = +a; + b = b | 0; + return +(+m$(a, b)) + } + + function r$(a, b) { + a = +a; + b = +b; + return +(+s$(a, b)) + } + + function s$(a, b) { + a = +a; + b = +b; + var d = 0, e = 0, f = 0, g = 0, i = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + h[j >> 3] = a; + i = c[j >> 2] | 0; + l = c[j + 4 >> 2] | 0; + h[j >> 3] = b; + n = c[j >> 2] | 0; + o = c[j + 4 >> 2] | 0; + e = z3(i | 0, l | 0, 52) | 0; + e = e & 2047; + m = z3(n | 0, o | 0, 52) | 0; + m = m & 2047; + p = l & -2147483648; + g = A3(n | 0, o | 0, 1) | 0; + k = z; + a:do if (!((g | 0) == 0 & (k | 0) == 0) ? (f = t$(b) | 0, d = z & 2147483647, !((e | 0) == 2047 | (d >>> 0 > 2146435072 | (d | 0) == 2146435072 & f >>> 0 > 0))) : 0) { + d = A3(i | 0, l | 0, 1) | 0; + f = z; + if (!(f >>> 0 > k >>> 0 | (f | 0) == (k | 0) & d >>> 0 > g >>> 0)) return +((d | 0) == (g | 0) & (f | 0) == (k | 0) ? a * 0.0 : a); + if (!e) { + d = A3(i | 0, l | 0, 12) | 0; + f = z; + if ((f | 0) > -1 | (f | 0) == -1 & d >>> 0 > 4294967295) { + e = 0; + do { + e = e + -1 | 0; + d = A3(d | 0, f | 0, 1) | 0; + f = z + } while ((f | 0) > -1 | (f | 0) == -1 & d >>> 0 > 4294967295) + } else e = 0; + i = A3(i | 0, l | 0, 1 - e | 0) | 0; + g = z + } else g = l & 1048575 | 1048576; + if (!m) { + f = A3(n | 0, o | 0, 12) | 0; + k = z; + if ((k | 0) > -1 | (k | 0) == -1 & f >>> 0 > 4294967295) { + d = 0; + do { + d = d + -1 | 0; + f = A3(f | 0, k | 0, 1) | 0; + k = z + } while ((k | 0) > -1 | (k | 0) == -1 & f >>> 0 > 4294967295) + } else d = 0; + n = A3(n | 0, o | 0, 1 - d | 0) | 0; + m = d; + l = z + } else l = o & 1048575 | 1048576; + f = t3(i | 0, g | 0, n | 0, l | 0) | 0; + d = z; + k = (d | 0) > -1 | (d | 0) == -1 & f >>> 0 > 4294967295; + b:do if ((e | 0) > (m | 0)) { + while (1) { + if (k) { + if ((f | 0) == 0 & (d | 0) == 0) break + } else { + f = i; + d = g + } + i = A3(f | 0, d | 0, 1) | 0; + g = z; + e = e + -1 | 0; + f = t3(i | 0, g | 0, n | 0, l | 0) | 0; + d = z; + k = (d | 0) > -1 | (d | 0) == -1 & f >>> 0 > 4294967295; + if ((e | 0) <= (m | 0)) break b + } + b = a * 0.0; + break a + } while (0); + if (k) { + if ((f | 0) == 0 & (d | 0) == 0) { + b = a * 0.0; + break + } + } else { + d = g; + f = i + } + if (d >>> 0 < 1048576 | (d | 0) == 1048576 & f >>> 0 < 0) do { + f = A3(f | 0, d | 0, 1) | 0; + d = z; + e = e + -1 | 0 + } while (d >>> 0 < 1048576 | (d | 0) == 1048576 & f >>> 0 < 0); + if ((e | 0) > 0) { + o = s3(f | 0, d | 0, 0, -1048576) | 0; + d = z; + e = A3(e | 0, 0, 52) | 0; + d = d | z; + e = o | e + } else { + e = z3(f | 0, d | 0, 1 - e | 0) | 0; + d = z + } + c[j >> 2] = e; + c[j + 4 >> 2] = d | p; + b = +h[j >> 3] + } else q = 3; while (0); + if ((q | 0) == 3) { + b = a * b; + b = b / b + } + return +b + } + + function t$(a) { + a = +a; + var b = 0; + h[j >> 3] = a; + b = c[j >> 2] | 0; + z = c[j + 4 >> 2] | 0; + return b | 0 + } + + function u$(a, b) { + a = +a; + b = +b; + var d = 0.0, e = 0, f = 0, g = 0, i = 0, k = 0.0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0; + q = l; + l = l + 32 | 0; + m = q + 24 | 0; + n = q + 16 | 0; + o = q + 8 | 0; + p = q; + h[j >> 3] = a; + t = c[j >> 2] | 0; + g = c[j + 4 >> 2] | 0; + h[j >> 3] = b; + e = c[j >> 2] | 0; + g = g & 2147483647; + f = c[j + 4 >> 2] & 2147483647; + i = g >>> 0 < f >>> 0 | (g | 0) == (f | 0) & t >>> 0 < e >>> 0; + s = i ? e : t; + r = i ? f : g; + e = i ? t : e; + f = i ? g : f; + g = z3(s | 0, r | 0, 52) | 0; + i = z3(e | 0, f | 0, 52) | 0; + c[j >> 2] = s; + c[j + 4 >> 2] = r; + a = +h[j >> 3]; + c[j >> 2] = e; + c[j + 4 >> 2] = f; + k = +h[j >> 3]; + do if ((i | 0) != 2047) { + if (!((e | 0) == 0 & (f | 0) == 0 | (g | 0) == 2047)) { + if ((g - i | 0) > 64) { + a = a + k; + break + } + if ((g | 0) > 1533) { + d = 5260135901548373507240989.0e186; + b = a * 1.90109156629516e-211; + a = k * 1.90109156629516e-211 + } else { + t = (i | 0) < 573; + d = t ? 1.90109156629516e-211 : 1.0; + b = t ? a * 5260135901548373507240989.0e186 : a; + a = t ? k * 5260135901548373507240989.0e186 : k + } + v$(m, n, b); + v$(o, p, a); + a = d * +C(+(+h[p >> 3] + +h[n >> 3] + +h[o >> 3] + +h[m >> 3])) + } + } else a = k; while (0); + l = q; + return +a + } + + function v$(a, b, c) { + a = a | 0; + b = b | 0; + c = +c; + var d = 0.0, e = 0.0; + e = c * 134217729.0; + e = e + (c - e); + d = c - e; + c = c * c; + h[a >> 3] = c; + h[b >> 3] = d * d + (e * e - c + e * 2.0 * d); + return + } + + function w$(a, b, d) { + a = +a; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, i = 0.0, k = 0, m = 0; + k = l; + l = l + 16 | 0; + g = k; + h[j >> 3] = a; + f = c[j + 4 >> 2] & 2147483647; + do if (f >>> 0 < 1072243196) if (f >>> 0 < 1044816030) { + h[b >> 3] = a; + h[d >> 3] = 1.0; + break + } else { + h[b >> 3] = +f$(a, 0.0, 0); + h[d >> 3] = +i$(a, 0.0); + break + } else { + if (f >>> 0 > 2146435071) { + i = a - a; + h[d >> 3] = i; + h[b >> 3] = i; + break + } + f = k$(a, g) | 0; + m = g + 8 | 0; + e = +f$(+h[g >> 3], +h[m >> 3], 1); + a = +i$(+h[g >> 3], +h[m >> 3]); + switch (f & 3) { + case 0: { + h[b >> 3] = e; + i = a; + break + } + case 1: { + h[b >> 3] = a; + i = -e; + break + } + case 2: { + h[b >> 3] = -e; + i = -a; + break + } + case 3: { + h[b >> 3] = -a; + i = e; + break + } + default: { + } + } + h[d >> 3] = i + } while (0); + l = k; + return + } + + function x$(a, b) { + a = +a; + b = b | 0; + return +(+h$(a, b)) + } + + function y$(a) { + a = a | 0; + if (a >>> 0 < 131072) a = (d[143341 + ((d[143341 + (a >>> 8) >> 0] | 0) << 5 | a >>> 3 & 31) >> 0] | 0) >>> (a & 7) & 1; else a = 0; + return a | 0 + } + + function z$(b, c, e) { + b = b | 0; + c = c | 0; + e = e | 0; + var f = 0, g = 0; + if (!e) f = 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); + f = (f & 255) - (d[c >> 0] | 0) | 0 + } + return f | 0 + } + + function A$(b, c) { + b = b | 0; + c = c | 0; + b = V_(b, c) | 0; + return ((a[b >> 0] | 0) == (c & 255) << 24 >> 24 ? b : 0) | 0 + } + + function B$(a) { + a = a | 0; + return ((a | 0) == 32 | (a + -9 | 0) >>> 0 < 5) & 1 | 0 + } + + function C$(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + c = F$(a, b, c, -1, 0) | 0; + return c | 0 + } + + function D$(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 = O(h, 16843009) | 0; + c:do if (e >>> 0 > 3) while (1) { + h = c[b >> 2] ^ f; + if ((h & -2139062144 ^ -2139062144) & h + -16843009 | 0) break; + b = b + 4 | 0; + e = e + -4 | 0; + if (e >>> 0 <= 3) { + i = 11; + break c + } + } else i = 11; while (0); + if ((i | 0) == 11) if (!e) { + e = 0; + break + } + while (1) { + if ((a[b >> 0] | 0) == g << 24 >> 24) break b; + b = b + 1 | 0; + e = e + -1 | 0; + if (!e) { + e = 0; + break + } + } + } + } while (0); + return (e | 0 ? b : 0) | 0 + } + + function E$(a) { + a = a | 0; + return (a + -48 | 0) >>> 0 < 10 | 0 + } + + function F$(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 128 | 0; + h = j; + c[h >> 2] = 0; + i = h + 4 | 0; + c[i >> 2] = a; + c[h + 44 >> 2] = a; + g = h + 8 | 0; + c[g >> 2] = (a | 0) < 0 ? -1 : a + 2147483647 | 0; + c[h + 76 >> 2] = -1; + G$(h, 0); + d = H$(h, d, 1, e, f) | 0; + if (b | 0) c[b >> 2] = a + ((c[i >> 2] | 0) + (c[h + 108 >> 2] | 0) - (c[g >> 2] | 0)); + l = j; + return d | 0 + } + + function G$(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + c[a + 104 >> 2] = b; + d = c[a + 8 >> 2] | 0; + e = c[a + 4 >> 2] | 0; + f = d - e | 0; + c[a + 108 >> 2] = f; + c[a + 100 >> 2] = (b | 0) != 0 & (f | 0) > (b | 0) ? e + b | 0 : d; + return + } + + function H$(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + a:do if (e >>> 0 > 36) { + c[(O_() | 0) >> 2] = 22; + h = 0; + g = 0 + } else { + r = b + 4 | 0; + q = b + 100 | 0; + do { + i = c[r >> 2] | 0; + if (i >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0 + } while ((B$(i) | 0) != 0); + b:do switch (i | 0) { + case 43: + case 45: { + i = ((i | 0) == 45) << 31 >> 31; + j = c[r >> 2] | 0; + if (j >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = j + 1; + p = i; + i = d[j >> 0] | 0; + break b + } else { + p = i; + i = I$(b) | 0; + break b + } + } + default: + p = 0 + } while (0); + j = (e | 0) == 0; + do if ((e | 16 | 0) == 16 & (i | 0) == 48) { + i = c[r >> 2] | 0; + if (i >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0; + if ((i | 32 | 0) != 120) if (j) { + e = 8; + n = 46; + break + } else { + n = 32; + break + } + i = c[r >> 2] | 0; + if (i >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0; + if ((d[146510 + i >> 0] | 0) > 15) { + g = (c[q >> 2] | 0) == 0; + if (!g) c[r >> 2] = (c[r >> 2] | 0) + -1; + if (!f) { + G$(b, 0); + h = 0; + g = 0; + break a + } + if (g) { + h = 0; + g = 0; + break a + } + c[r >> 2] = (c[r >> 2] | 0) + -1; + h = 0; + g = 0; + break a + } else { + e = 16; + n = 46 + } + } else { + e = j ? 10 : e; + if (e >>> 0 > (d[146510 + i >> 0] | 0) >>> 0) n = 32; else { + if (c[q >> 2] | 0) c[r >> 2] = (c[r >> 2] | 0) + -1; + G$(b, 0); + c[(O_() | 0) >> 2] = 22; + h = 0; + g = 0; + break a + } + } while (0); + c:do if ((n | 0) == 32) if ((e | 0) == 10) { + e = i + -48 | 0; + if (e >>> 0 < 10) { + i = 0; + j = e; + do { + i = (i * 10 | 0) + j | 0; + e = c[r >> 2] | 0; + if (e >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(b) | 0; + j = e + -48 | 0 + } while (j >>> 0 < 10 & i >>> 0 < 429496729); + f = 0 + } else { + e = i; + i = 0; + f = 0 + } + k = e + -48 | 0; + if (k >>> 0 < 10) { + j = e; + do { + e = r3(i | 0, f | 0, 10, 0) | 0; + l = z; + m = ((k | 0) < 0) << 31 >> 31; + o = ~m; + if (l >>> 0 > o >>> 0 | (l | 0) == (o | 0) & e >>> 0 > ~k >>> 0) { + e = 10; + n = 72; + break c + } + i = s3(e | 0, l | 0, k | 0, m | 0) | 0; + f = z; + e = c[r >> 2] | 0; + if (e >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = e + 1; + j = d[e >> 0] | 0 + } else j = I$(b) | 0; + k = j + -48 | 0 + } while (k >>> 0 < 10 & (f >>> 0 < 429496729 | (f | 0) == 429496729 & i >>> 0 < 2576980378)); + if (k >>> 0 > 9) { + j = p; + e = f + } else { + e = 10; + n = 72 + } + } else { + j = p; + e = f + } + } else n = 46; while (0); + d:do if ((n | 0) == 46) { + if (!(e + -1 & e)) { + n = a[146766 + ((e * 23 | 0) >>> 5 & 7) >> 0] | 0; + f = a[146510 + i >> 0] | 0; + j = f & 255; + if (e >>> 0 > j >>> 0) { + i = 0; + k = j; + do { + i = k | i << n; + j = c[r >> 2] | 0; + if (j >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = j + 1; + j = d[j >> 0] | 0 + } else j = I$(b) | 0; + f = a[146510 + j >> 0] | 0; + k = f & 255 + } while (i >>> 0 < 134217728 & e >>> 0 > k >>> 0); + k = 0 + } else { + j = i; + k = 0; + i = 0 + } + l = z3(-1, -1, n | 0) | 0; + m = z; + if (e >>> 0 <= (f & 255) >>> 0 | (m >>> 0 < k >>> 0 | (m | 0) == (k | 0) & l >>> 0 < i >>> 0)) { + f = k; + n = 72; + break + } else j = k; + while (1) { + i = A3(i | 0, j | 0, n | 0) | 0; + k = z; + i = i | f & 255; + j = c[r >> 2] | 0; + if (j >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = j + 1; + j = d[j >> 0] | 0 + } else j = I$(b) | 0; + f = a[146510 + j >> 0] | 0; + if (e >>> 0 <= (f & 255) >>> 0 | (k >>> 0 > m >>> 0 | (k | 0) == (m | 0) & i >>> 0 > l >>> 0)) { + f = k; + n = 72; + break d + } else j = k + } + } + f = a[146510 + i >> 0] | 0; + j = f & 255; + if (e >>> 0 > j >>> 0) { + i = 0; + k = j; + do { + i = k + (O(i, e) | 0) | 0; + j = c[r >> 2] | 0; + if (j >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = j + 1; + j = d[j >> 0] | 0 + } else j = I$(b) | 0; + f = a[146510 + j >> 0] | 0; + k = f & 255 + } while (i >>> 0 < 119304647 & e >>> 0 > k >>> 0); + k = 0 + } else { + j = i; + i = 0; + k = 0 + } + if (e >>> 0 > (f & 255) >>> 0) { + n = w3(-1, -1, e | 0, 0) | 0; + o = z; + m = k; + while (1) { + if (m >>> 0 > o >>> 0 | (m | 0) == (o | 0) & i >>> 0 > n >>> 0) { + f = m; + n = 72; + break d + } + k = r3(i | 0, m | 0, e | 0, 0) | 0; + l = z; + f = f & 255; + if (l >>> 0 > 4294967295 | (l | 0) == -1 & k >>> 0 > ~f >>> 0) { + f = m; + n = 72; + break d + } + i = s3(k | 0, l | 0, f | 0, 0) | 0; + k = z; + j = c[r >> 2] | 0; + if (j >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = j + 1; + j = d[j >> 0] | 0 + } else j = I$(b) | 0; + f = a[146510 + j >> 0] | 0; + if (e >>> 0 <= (f & 255) >>> 0) { + f = k; + n = 72; + break + } else m = k + } + } else { + f = k; + n = 72 + } + } while (0); + if ((n | 0) == 72) if (e >>> 0 > (d[146510 + j >> 0] | 0) >>> 0) { + do { + i = c[r >> 2] | 0; + if (i >>> 0 < (c[q >> 2] | 0) >>> 0) { + c[r >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0 + } while (e >>> 0 > (d[146510 + i >> 0] | 0) >>> 0); + c[(O_() | 0) >> 2] = 34; + j = (g & 1 | 0) == 0 & 0 == 0 ? p : 0; + e = h; + i = g + } else { + j = p; + e = f + } + if (c[q >> 2] | 0) c[r >> 2] = (c[r >> 2] | 0) + -1; + if (!(e >>> 0 < h >>> 0 | (e | 0) == (h | 0) & i >>> 0 < g >>> 0)) { + if (!((g & 1 | 0) != 0 | 0 != 0 | (j | 0) != 0)) { + c[(O_() | 0) >> 2] = 34; + g = s3(g | 0, h | 0, -1, -1) | 0; + h = z; + break + } + if (e >>> 0 > h >>> 0 | (e | 0) == (h | 0) & i >>> 0 > g >>> 0) { + c[(O_() | 0) >> 2] = 34; + break + } + } + g = ((j | 0) < 0) << 31 >> 31; + g = t3(i ^ j | 0, e ^ g | 0, j | 0, g | 0) | 0; + h = z + } while (0); + z = h; + return g | 0 + } + + function I$(b) { + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0; + f = b + 104 | 0; + h = c[f >> 2] | 0; + if ((h | 0) != 0 ? (c[b + 108 >> 2] | 0) >= (h | 0) : 0) i = 4; else { + e = J$(b) | 0; + if ((e | 0) >= 0) { + g = c[f >> 2] | 0; + f = b + 8 | 0; + if (g) { + j = c[f >> 2] | 0; + h = c[b + 4 >> 2] | 0; + f = g - (c[b + 108 >> 2] | 0) | 0; + g = j; + if ((j - h | 0) < (f | 0)) f = g; else f = h + (f + -1) | 0 + } else { + g = c[f >> 2] | 0; + f = g + } + c[b + 100 >> 2] = f; + f = b + 4 | 0; + if (!g) f = c[f >> 2] | 0; else { + f = c[f >> 2] | 0; + j = b + 108 | 0; + c[j >> 2] = g + 1 - f + (c[j >> 2] | 0) + } + f = f + -1 | 0; + if ((e | 0) != (d[f >> 0] | 0 | 0)) a[f >> 0] = e + } else i = 4 + } + if ((i | 0) == 4) { + c[b + 100 >> 2] = 0; + e = -1 + } + return e | 0 + } + + function J$(a) { + a = a | 0; + var b = 0, e = 0; + e = l; + l = l + 16 | 0; + b = e; + if ((K$(a) | 0) == 0 ? (nb[c[a + 32 >> 2] & 63](a, b, 1) | 0) == 1 : 0) a = d[b >> 0] | 0; else a = -1; + l = e; + return a | 0 + } + + function K$(b) { + b = b | 0; + var d = 0, e = 0; + d = b + 74 | 0; + e = a[d >> 0] | 0; + a[d >> 0] = e + 255 | e; + d = b + 20 | 0; + e = b + 28 | 0; + if ((c[d >> 2] | 0) >>> 0 > (c[e >> 2] | 0) >>> 0) nb[c[b + 36 >> 2] & 63](b, 0, 0) | 0; + c[b + 16 >> 2] = 0; + c[e >> 2] = 0; + c[d >> 2] = 0; + d = c[b >> 2] | 0; + if (!(d & 4)) { + e = (c[b + 44 >> 2] | 0) + (c[b + 48 >> 2] | 0) | 0; + c[b + 8 >> 2] = e; + c[b + 4 >> 2] = e; + d = d << 27 >> 31 + } else { + c[b >> 2] = d | 32; + d = -1 + } + return d | 0 + } + + function L$(a) { + a = a | 0; + return (a + -48 | 0) >>> 0 < 10 | 0 + } + + function M$(a) { + a = a | 0; + if (!(N$(a) | 0)) a = (E$(a) | 0) != 0 & 1; else a = 1; + return a | 0 + } + + function N$(a) { + a = a | 0; + return ((a | 32) + -97 | 0) >>> 0 < 26 | 0 + } + + function O$(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)) b = 0; else { + g = b; + b = e; + f = e & 255; + while (1) { + e = a[c >> 0] | 0; + if (!(e << 24 >> 24)) break a; + if (b << 24 >> 24 != e << 24 >> 24 ? (f = P$(f) | 0, (f | 0) != (P$(d[c >> 0] | 0) | 0)) : 0) break; + b = g + 1 | 0; + c = c + 1 | 0; + e = a[b >> 0] | 0; + if (!(e << 24 >> 24)) { + b = 0; + break a + } else { + g = b; + b = e; + f = e & 255 + } + } + b = a[g >> 0] | 0 + } while (0); + g = P$(b & 255) | 0; + return g - (P$(d[c >> 0] | 0) | 0) | 0 + } + + function P$(a) { + a = a | 0; + var b = 0; + b = (Q$(a) | 0) == 0; + return (b ? a : a | 32) | 0 + } + + function Q$(a) { + a = a | 0; + return (a + -65 | 0) >>> 0 < 26 | 0 + } + + function R$(a) { + a = a | 0; + return S$(a, 0) | 0 + } + + function S$(c, f) { + c = c | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + k = (f << 1) + -1 | 0; + l = f + -1 | 0; + a:do if (!((c + -43008 | 0) >>> 0 < 22272 | ((c + -11776 | 0) >>> 0 < 30784 | ((c + -1536 | 0) >>> 0 < 2560 | (T$(c) | 0) == 0)))) { + g = (f | 0) != 0; + if (g & (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 & (g ^ 1)) { + c = c + -7264 | 0; + break + } else g = 0; + do { + i = a[66242 + (g << 2) + 2 >> 0] | 0; + j = i << 24 >> 24; + h = c - (e[66242 + (g << 2) >> 1] | 0) | 0; + if ((h - (l & j) | 0) >>> 0 < (d[66242 + (g << 2) + 3 >> 0] | 0) >>> 0) { + m = 11; + break + } + g = g + 1 | 0 + } while ((g | 0) != 61); + if ((m | 0) == 11) if (i << 24 >> 24 == 1) { + c = f + c - (h & 1) | 0; + break + } else { + c = (O(k, j) | 0) + c | 0; + break + } + i = 1 - f | 0; + g = b[65754 + (i << 1) >> 1] | 0; + b:do if (g << 16 >> 16) { + h = 0; + while (1) { + if ((g & 65535 | 0) == (c | 0)) break; + h = h + 1 | 0; + g = b[65754 + (h << 2) + (i << 1) >> 1] | 0; + if (!(g << 16 >> 16)) break b + } + c = e[65754 + (h << 2) + (f << 1) >> 1] | 0; + break a + } while (0); + return ((c + -66600 + (f * 40 | 0) | 0) >>> 0 < 40 ? c + -40 + (f * 80 | 0) | 0 : c) | 0 + } while (0); + return c | 0 + } + + function T$(a) { + a = a | 0; + if (a >>> 0 < 131072) a = (d[146775 + ((d[146775 + (a >>> 8) >> 0] | 0) << 5 | a >>> 3 & 31) >> 0] | 0) >>> (a & 7) & 1; else a = a >>> 0 < 196606 & 1; + return a | 0 + } + + function U$(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 V$(b, c, e) { + b = b | 0; + c = c | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + if (!e) b = 0; else { + f = a[b >> 0] | 0; + a:do if (!(f << 24 >> 24)) b = 0; else { + h = b; + b = f; + f = f & 255; + while (1) { + e = e + -1 | 0; + g = a[c >> 0] | 0; + if (!((e | 0) != 0 & g << 24 >> 24 != 0)) break a; + if (b << 24 >> 24 != g << 24 >> 24 ? (g = P$(f) | 0, (g | 0) != (P$(d[c >> 0] | 0) | 0)) : 0) break; + b = h + 1 | 0; + c = c + 1 | 0; + f = a[b >> 0] | 0; + if (!(f << 24 >> 24)) { + b = 0; + break a + } else { + h = b; + b = f; + f = f & 255 + } + } + b = a[h >> 0] | 0 + } while (0); + b = P$(b & 255) | 0; + b = b - (P$(d[c >> 0] | 0) | 0) | 0 + } + return b | 0 + } + + function W$(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 & 65534 | 0) != 65534 & (a + -65532 | 0) >>> 0 < 1048580 & 1 | 0; else a = (a + 1 & 127) >>> 0 > 32 & 1; + return a | 0 + } + + function X$(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + k = l; + l = l + 16 | 0; + g = k; + i = (f | 0) == 0 ? 187560 : f; + f = c[i >> 2] | 0; + a:do if (!d) if (!f) f = 0; else j = 17; else { + h = (b | 0) == 0 ? g : b; + if (!e) f = -2; else { + if (!f) { + f = a[d >> 0] | 0; + if (f << 24 >> 24 > -1) { + c[h >> 2] = f & 255; + f = f << 24 >> 24 != 0 & 1; + break + } + g = (c[c[($$() | 0) + 188 >> 2] >> 2] | 0) == 0; + f = a[d >> 0] | 0; + if (g) { + c[h >> 2] = f << 24 >> 24 & 57343; + f = 1; + break + } + f = (f & 255) + -194 | 0; + if (f >>> 0 > 50) { + j = 17; + break + } + f = c[62280 + (f << 2) >> 2] | 0; + g = e + -1 | 0; + if (g) { + d = d + 1 | 0; + j = 11 + } + } else { + g = e; + j = 11 + } + b:do if ((j | 0) == 11) { + b = a[d >> 0] | 0; + m = (b & 255) >>> 3; + if ((m + -16 | m + (f >> 26)) >>> 0 > 7) { + j = 17; + break a + } + while (1) { + d = d + 1 | 0; + f = (b & 255) + -128 | f << 6; + g = g + -1 | 0; + if ((f | 0) >= 0) break; + if (!g) break b; + b = a[d >> 0] | 0; + if ((b & -64) << 24 >> 24 != -128) { + j = 17; + break a + } + } + c[i >> 2] = 0; + c[h >> 2] = f; + f = e - g | 0; + break a + } while (0); + c[i >> 2] = f; + f = -2 + } + } while (0); + if ((j | 0) == 17) { + c[i >> 2] = 0; + c[(O_() | 0) >> 2] = 84; + f = -1 + } + l = k; + return f | 0 + } + + function Y$(a, b) { + a = a | 0; + b = b | 0; + if (!a) a = 0; else a = Z$(a, b, 0) | 0; + return a | 0 + } + + function Z$(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 (!(c[c[(_$() | 0) + 188 >> 2] >> 2] | 0)) if ((d & -128 | 0) == 57216) { + a[b >> 0] = d; + b = 1; + break + } else { + c[(O_() | 0) >> 2] = 84; + b = -1; + break + } + if (d >>> 0 < 2048) { + a[b >> 0] = d >>> 6 | 192; + a[b + 1 >> 0] = d & 63 | 128; + b = 2; + break + } + if (d >>> 0 < 55296 | (d & -8192 | 0) == 57344) { + a[b >> 0] = d >>> 12 | 224; + a[b + 1 >> 0] = d >>> 6 & 63 | 128; + a[b + 2 >> 0] = d & 63 | 128; + b = 3; + break + } + if ((d + -65536 | 0) >>> 0 < 1048576) { + a[b >> 0] = d >>> 18 | 240; + a[b + 1 >> 0] = d >>> 12 & 63 | 128; + a[b + 2 >> 0] = d >>> 6 & 63 | 128; + a[b + 3 >> 0] = d & 63 | 128; + b = 4; + break + } else { + c[(O_() | 0) >> 2] = 84; + b = -1; + break + } + } else b = 1; while (0); + return b | 0 + } + + function _$() { + return e$() | 0 + } + + function $$() { + return e$() | 0 + } + + function a0(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0; + p = l; + l = l + 272 | 0; + n = p + 8 | 0; + o = p; + do if (!(a[d >> 0] | 0)) { + d = Ta(149751) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) break; + d = Ta(149758 + (b * 12 | 0) | 0) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) break; + d = Ta(149830) | 0; + if (d | 0 ? a[d >> 0] | 0 : 0) break; + d = 149835 + } while (0); + e = 0; + a:do { + switch (a[d + e >> 0] | 0) { + case 47: + case 0: + break a; + default: { + } + } + e = e + 1 | 0 + } while (e >>> 0 < 15); + f = a[d >> 0] | 0; + if (f << 24 >> 24 != 46 ? (a[d + e >> 0] | 0) == 0 : 0) if (f << 24 >> 24 == 67) m = 15; else { + k = d; + m = 16 + } else { + d = 149835; + m = 15 + } + if ((m | 0) == 15) if (!(a[d + 1 >> 0] | 0)) m = 18; else { + k = d; + m = 16 + } + b:do if ((m | 0) == 16) if ((b$(k, 149835) | 0) != 0 ? (b$(k, 149843) | 0) != 0 : 0) { + d = c[46891] | 0; + if (d | 0) do { + if (!(b$(k, d + 8 | 0) | 0)) break b; + d = c[d + 24 >> 2] | 0 + } while ((d | 0) != 0); + ta(187568); + d = c[46891] | 0; + c:do if (d | 0) { + while (1) { + if (!(b$(k, d + 8 | 0) | 0)) break; + d = c[d + 24 >> 2] | 0; + if (!d) break c + } + La(187568); + break b + } while (0); + d:do if (((c[46876] | 0) == 0 ? (g = Ta(149849) | 0, (g | 0) != 0) : 0) ? (a[g >> 0] | 0) != 0 : 0) { + i = 254 - e | 0; + j = e + 1 | 0; + f = g; + while (1) { + h = V_(f, 58) | 0; + d = a[h >> 0] | 0; + g = h - f + ((d << 24 >> 24 != 0) << 31 >> 31) | 0; + if (g >>> 0 < i >>> 0) { + F3(n | 0, f | 0, g | 0) | 0; + f = n + g | 0; + a[f >> 0] = 47; + F3(f + 1 | 0, k | 0, e | 0) | 0; + a[n + (j + g) >> 0] = 0; + f = ua(n | 0, o | 0) | 0; + if (f | 0) break; + d = a[h >> 0] | 0 + } + f = h + (d << 24 >> 24 != 0 & 1) | 0; + if (!(a[f >> 0] | 0)) { + m = 41; + break d + } + } + d = C_(28) | 0; + if (!d) { + S_(f, c[o >> 2] | 0) | 0; + m = 41; + break + } else { + c[d >> 2] = f; + c[d + 4 >> 2] = c[o >> 2]; + o = d + 8 | 0; + F3(o | 0, k | 0, e | 0) | 0; + a[o + e >> 0] = 0; + c[d + 24 >> 2] = c[46891]; + c[46891] = d; + break + } + } else m = 41; while (0); + if ((m | 0) == 41) { + d = C_(28) | 0; + if (d) { + c[d >> 2] = c[15558]; + c[d + 4 >> 2] = c[15559]; + o = d + 8 | 0; + F3(o | 0, k | 0, e | 0) | 0; + a[o + e >> 0] = 0; + c[d + 24 >> 2] = c[46891]; + c[46891] = d + } + } + La(187568); + d = (b | 0) == 0 & (d | 0) == 0 ? 62232 : d + } else { + d = k; + m = 18 + } while (0); + do if ((m | 0) == 18) { + if ((b | 0) == 0 ? (a[d + 1 >> 0] | 0) == 46 : 0) { + d = 62232; + break + } + d = 0 + } while (0); + l = p; + return d | 0 + } + + function b0(a, b) { + a = a | 0; + b = b | 0; + c0(a, b) | 0; + return a | 0 + } + + function c0(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 | 0) 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 d0(a) { + a = a | 0; + return ((a | 0) == 32 | (a | 0) == 9) & 1 | 0 + } + + function e0(a) { + a = a | 0; + if (!a) a = 0; else a = (f0(63396, a) | 0) != 0 & 1; + return a | 0 + } + + function f0(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + if (!b) a = a + ((U$(a) | 0) << 2) | 0; else { + while (1) { + d = c[a >> 2] | 0; + if ((d | 0) == 0 | (d | 0) == (b | 0)) break; else a = a + 4 | 0 + } + a = d | 0 ? a : 0 + } + return a | 0 + } + + function g0(a, b) { + a = a | 0; + b = b | 0; + do switch (b | 0) { + case 1: { + a = h0(a) | 0; + break + } + case 2: { + a = T$(a) | 0; + break + } + case 3: { + a = i0(a) | 0; + break + } + case 4: { + a = j0(a) | 0; + break + } + case 5: { + a = L$(a) | 0; + break + } + case 6: { + a = k0(a) | 0; + break + } + case 7: { + a = l0(a) | 0; + break + } + case 8: { + a = W$(a) | 0; + break + } + case 9: { + a = y$(a) | 0; + break + } + case 10: { + a = e0(a) | 0; + break + } + case 11: { + a = m0(a) | 0; + break + } + case 12: { + a = n0(a) | 0; + break + } + default: + a = 0 + } while (0); + return a | 0 + } + + function h0(a) { + a = a | 0; + if (!(L$(a) | 0)) a = (T$(a) | 0) != 0 & 1; else a = 1; + return a | 0 + } + + function i0(a) { + a = a | 0; + return d0(a) | 0 + } + + function j0(a) { + a = a | 0; + return ((a + -65529 | 0) >>> 0 < 3 | ((a & -2 | 0) == 8232 | (a >>> 0 < 32 | (a + -127 | 0) >>> 0 < 33))) & 1 | 0 + } + + function k0(a) { + a = a | 0; + if (!(e0(a) | 0)) a = (W$(a) | 0) != 0 & 1; else a = 0; + return a | 0 + } + + function l0(a) { + a = a | 0; + return (R$(a) | 0) != (a | 0) | 0 + } + + function m0(a) { + a = a | 0; + return (o0(a) | 0) != (a | 0) | 0 + } + + function n0(a) { + a = a | 0; + return ((a + -48 | 0) >>> 0 < 10 | ((a | 32) + -97 | 0) >>> 0 < 6) & 1 | 0 + } + + function o0(a) { + a = a | 0; + return S$(a, 1) | 0 + } + + function p0(a) { + a = a | 0; + return (a + -97 | 0) >>> 0 < 26 | 0 + } + + function q0(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 128 | 0; + g = n + 124 | 0; + m = n; + h = m; + i = 63484; + j = h + 124 | 0; + do { + c[h >> 2] = c[i >> 2]; + h = h + 4 | 0; + i = i + 4 | 0 + } while ((h | 0) < (j | 0)); + if ((d + -1 | 0) >>> 0 > 2147483646) if (!d) { + b = g; + d = 1; + k = 4 + } else { + c[(O_() | 0) >> 2] = 75; + d = -1 + } else k = 4; + if ((k | 0) == 4) { + k = -2 - b | 0; + k = d >>> 0 > k >>> 0 ? k : d; + c[m + 48 >> 2] = k; + g = m + 20 | 0; + c[g >> 2] = b; + c[m + 44 >> 2] = b; + d = b + k | 0; + b = m + 16 | 0; + c[b >> 2] = d; + c[m + 28 >> 2] = d; + d = r0(m, e, f) | 0; + if (k) { + m = c[g >> 2] | 0; + a[m + (((m | 0) == (c[b >> 2] | 0)) << 31 >> 31) >> 0] = 0 + } + } + l = n; + return d | 0 + } + + function r0(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 224 | 0; + n = s + 120 | 0; + p = s + 80 | 0; + q = s; + r = s + 136 | 0; + f = p; + g = f + 40 | 0; + do { + c[f >> 2] = 0; + f = f + 4 | 0 + } while ((f | 0) < (g | 0)); + c[n >> 2] = c[e >> 2]; + if ((s0(0, d, n, q, p) | 0) < 0) e = -1; else { + if ((c[b + 76 >> 2] | 0) > -1) o = t0(b) | 0; else o = 0; + e = c[b >> 2] | 0; + m = e & 32; + if ((a[b + 74 >> 0] | 0) < 1) c[b >> 2] = e & -33; + f = b + 48 | 0; + if (!(c[f >> 2] | 0)) { + g = b + 44 | 0; + h = c[g >> 2] | 0; + c[g >> 2] = r; + i = b + 28 | 0; + c[i >> 2] = r; + j = b + 20 | 0; + c[j >> 2] = r; + c[f >> 2] = 80; + k = b + 16 | 0; + c[k >> 2] = r + 80; + e = s0(b, d, n, q, p) | 0; + if (h) { + nb[c[b + 36 >> 2] & 63](b, 0, 0) | 0; + e = (c[j >> 2] | 0) == 0 ? -1 : e; + c[g >> 2] = h; + c[f >> 2] = 0; + c[k >> 2] = 0; + c[i >> 2] = 0; + c[j >> 2] = 0 + } + } else e = s0(b, d, n, q, p) | 0; + f = c[b >> 2] | 0; + c[b >> 2] = f | m; + if (o | 0) u0(b); + e = (f & 32 | 0) == 0 ? e : -1 + } + l = s; + return e | 0 + } + + function s0(d, e, f, g, i) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0; + I = l; + l = l + 64 | 0; + D = I + 16 | 0; + E = I; + A = I + 24 | 0; + G = I + 8 | 0; + H = I + 20 | 0; + c[D >> 2] = e; + w = (d | 0) != 0; + x = A + 40 | 0; + y = x; + A = A + 39 | 0; + B = G + 4 | 0; + j = 0; + e = 0; + m = 0; + a:while (1) { + do if ((e | 0) > -1) if ((j | 0) > (2147483647 - e | 0)) { + c[(O_() | 0) >> 2] = 75; + e = -1; + break + } else { + e = j + e | 0; + break + } while (0); + r = c[D >> 2] | 0; + j = a[r >> 0] | 0; + if (!(j << 24 >> 24)) { + v = 88; + break + } else k = r; + b:while (1) { + switch (j << 24 >> 24) { + case 37: { + j = k; + v = 9; + break b + } + case 0: { + j = k; + break b + } + default: { + } + } + u = k + 1 | 0; + c[D >> 2] = u; + j = a[u >> 0] | 0; + k = u + } + c:do if ((v | 0) == 9) while (1) { + v = 0; + if ((a[k + 1 >> 0] | 0) != 37) break c; + j = j + 1 | 0; + k = k + 2 | 0; + c[D >> 2] = k; + if ((a[k >> 0] | 0) != 37) break; else v = 9 + } while (0); + j = j - r | 0; + if (w) v0(d, r, j); + if (j | 0) continue; + u = (E$(a[(c[D >> 2] | 0) + 1 >> 0] | 0) | 0) == 0; + k = c[D >> 2] | 0; + if (!u ? (a[k + 2 >> 0] | 0) == 36 : 0) { + s = (a[k + 1 >> 0] | 0) + -48 | 0; + n = 1; + j = 3 + } else { + s = -1; + n = m; + j = 1 + } + j = k + j | 0; + c[D >> 2] = j; + k = a[j >> 0] | 0; + u = (k << 24 >> 24) + -32 | 0; + if (u >>> 0 > 31 | (1 << u & 75913 | 0) == 0) m = 0; else { + m = 0; + do { + m = 1 << (k << 24 >> 24) + -32 | m; + j = j + 1 | 0; + c[D >> 2] = j; + k = a[j >> 0] | 0; + u = (k << 24 >> 24) + -32 | 0 + } while (!(u >>> 0 > 31 | (1 << u & 75913 | 0) == 0)) + } + if (k << 24 >> 24 == 42) { + if ((E$(a[j + 1 >> 0] | 0) | 0) != 0 ? (F = c[D >> 2] | 0, (a[F + 2 >> 0] | 0) == 36) : 0) { + j = F + 1 | 0; + c[i + ((a[j >> 0] | 0) + -48 << 2) >> 2] = 10; + j = c[g + ((a[j >> 0] | 0) + -48 << 3) >> 2] | 0; + k = 1; + n = F + 3 | 0 + } else { + if (n | 0) { + e = -1; + break + } + if (w) { + u = (c[f >> 2] | 0) + (4 - 1) & ~(4 - 1); + j = c[u >> 2] | 0; + c[f >> 2] = u + 4 + } else j = 0; + k = 0; + n = (c[D >> 2] | 0) + 1 | 0 + } + c[D >> 2] = n; + t = (j | 0) < 0; + u = t ? 0 - j | 0 : j; + m = t ? m | 8192 : m; + t = k; + j = n + } else { + j = w0(D) | 0; + if ((j | 0) < 0) { + e = -1; + break + } + u = j; + t = n; + j = c[D >> 2] | 0 + } + do if ((a[j >> 0] | 0) == 46) { + if ((a[j + 1 >> 0] | 0) != 42) { + c[D >> 2] = j + 1; + p = w0(D) | 0; + j = c[D >> 2] | 0; + break + } + if (E$(a[j + 2 >> 0] | 0) | 0 ? (C = c[D >> 2] | 0, (a[C + 3 >> 0] | 0) == 36) : 0) { + p = C + 2 | 0; + c[i + ((a[p >> 0] | 0) + -48 << 2) >> 2] = 10; + p = c[g + ((a[p >> 0] | 0) + -48 << 3) >> 2] | 0; + j = C + 4 | 0; + c[D >> 2] = j; + break + } + if (t | 0) { + e = -1; + break a + } + if (w) { + q = (c[f >> 2] | 0) + (4 - 1) & ~(4 - 1); + j = c[q >> 2] | 0; + c[f >> 2] = q + 4 + } else j = 0; + q = (c[D >> 2] | 0) + 2 | 0; + c[D >> 2] = q; + p = j; + j = q + } else p = -1; while (0); + q = 0; + while (1) { + if (((a[j >> 0] | 0) + -65 | 0) >>> 0 > 57) { + e = -1; + break a + } + k = j; + j = j + 1 | 0; + c[D >> 2] = j; + k = a[(a[k >> 0] | 0) + -65 + (149862 + (q * 58 | 0)) >> 0] | 0; + n = k & 255; + if ((n + -1 | 0) >>> 0 >= 8) break; else q = n + } + if (!(k << 24 >> 24)) { + e = -1; + break + } + o = (s | 0) > -1; + do if (k << 24 >> 24 == 19) if (o) { + e = -1; + break a + } else v = 50; else { + if (o) { + c[i + (s << 2) >> 2] = n; + o = g + (s << 3) | 0; + s = c[o + 4 >> 2] | 0; + v = E; + c[v >> 2] = c[o >> 2]; + c[v + 4 >> 2] = s; + v = 50; + break + } + if (!w) { + e = 0; + break a + } + x0(E, n, f); + j = c[D >> 2] | 0 + } while (0); + if ((v | 0) == 50) { + v = 0; + if (!w) { + j = 0; + m = t; + continue + } + } + k = a[j + -1 >> 0] | 0; + k = (q | 0) != 0 & (k & 15 | 0) == 3 ? k & -33 : k; + j = m & -65537; + s = (m & 8192 | 0) == 0 ? m : j; + d:do switch (k | 0) { + case 110: + switch ((q & 255) << 24 >> 24) { + case 0: { + c[c[E >> 2] >> 2] = e; + j = 0; + m = t; + continue a + } + case 1: { + c[c[E >> 2] >> 2] = e; + j = 0; + m = t; + continue a + } + case 2: { + j = c[E >> 2] | 0; + c[j >> 2] = e; + c[j + 4 >> 2] = ((e | 0) < 0) << 31 >> 31; + j = 0; + m = t; + continue a + } + case 3: { + b[c[E >> 2] >> 1] = e; + j = 0; + m = t; + continue a + } + case 4: { + a[c[E >> 2] >> 0] = e; + j = 0; + m = t; + continue a + } + case 6: { + c[c[E >> 2] >> 2] = e; + j = 0; + m = t; + continue a + } + case 7: { + j = c[E >> 2] | 0; + c[j >> 2] = e; + c[j + 4 >> 2] = ((e | 0) < 0) << 31 >> 31; + j = 0; + m = t; + continue a + } + default: { + j = 0; + m = t; + continue a + } + } + case 112: { + k = 120; + j = p >>> 0 > 8 ? p : 8; + m = s | 8; + v = 62; + break + } + case 88: + case 120: { + j = p; + m = s; + v = 62; + break + } + case 111: { + k = E; + j = c[k >> 2] | 0; + k = c[k + 4 >> 2] | 0; + o = z0(j, k, x) | 0; + m = y - o | 0; + q = 0; + n = 150326; + p = (s & 8 | 0) == 0 | (p | 0) > (m | 0) ? p : m + 1 | 0; + m = s; + v = 68; + break + } + case 105: + case 100: { + k = E; + j = c[k >> 2] | 0; + k = c[k + 4 >> 2] | 0; + if ((k | 0) < 0) { + j = t3(0, 0, j | 0, k | 0) | 0; + k = z; + m = E; + c[m >> 2] = j; + c[m + 4 >> 2] = k; + m = 1; + n = 150326; + v = 67; + break d + } else { + m = (s & 2049 | 0) != 0 & 1; + n = (s & 2048 | 0) == 0 ? ((s & 1 | 0) == 0 ? 150326 : 150328) : 150327; + v = 67; + break d + } + } + case 117: { + k = E; + m = 0; + n = 150326; + j = c[k >> 2] | 0; + k = c[k + 4 >> 2] | 0; + v = 67; + break + } + case 99: { + a[A >> 0] = c[E >> 2]; + r = A; + q = 0; + n = 150326; + o = x; + k = 1; + break + } + case 109: { + k = c$(c[(O_() | 0) >> 2] | 0) | 0; + v = 72; + break + } + case 115: { + k = c[E >> 2] | 0; + k = k | 0 ? k : 150336; + v = 72; + break + } + case 67: { + c[G >> 2] = c[E >> 2]; + c[B >> 2] = 0; + c[E >> 2] = G; + p = -1; + m = G; + v = 76; + break + } + case 83: { + j = c[E >> 2] | 0; + if (!p) { + B0(d, 32, u, 0, s); + j = 0; + v = 85 + } else { + m = j; + v = 76 + } + break + } + case 65: + case 71: + case 70: + case 69: + case 97: + case 103: + case 102: + case 101: { + j = C0(d, +h[E >> 3], u, p, s, k) | 0; + m = t; + continue a + } + default: { + q = 0; + n = 150326; + o = x; + k = p; + j = s + } + } while (0); + e:do if ((v | 0) == 62) { + s = E; + r = c[s >> 2] | 0; + s = c[s + 4 >> 2] | 0; + o = y0(r, s, x, k & 32) | 0; + n = (m & 8 | 0) == 0 | (r | 0) == 0 & (s | 0) == 0; + q = n ? 0 : 2; + n = n ? 150326 : 150326 + (k >> 4) | 0; + p = j; + j = r; + k = s; + v = 68 + } else if ((v | 0) == 67) { + o = A0(j, k, x) | 0; + q = m; + m = s; + v = 68 + } else if ((v | 0) == 72) { + v = 0; + s = D$(k, 0, p) | 0; + m = (s | 0) == 0; + r = k; + q = 0; + n = 150326; + o = m ? k + p | 0 : s; + k = m ? p : s - k | 0 + } else if ((v | 0) == 76) { + v = 0; + o = m; + j = 0; + k = 0; + while (1) { + n = c[o >> 2] | 0; + if (!n) break; + k = Y$(H, n) | 0; + if ((k | 0) < 0 | k >>> 0 > (p - j | 0) >>> 0) break; + j = k + j | 0; + if (p >>> 0 > j >>> 0) o = o + 4 | 0; else break + } + if ((k | 0) < 0) { + e = -1; + break a + } + B0(d, 32, u, j, s); + if (!j) { + j = 0; + v = 85 + } else { + n = 0; + while (1) { + k = c[m >> 2] | 0; + if (!k) { + v = 85; + break e + } + k = Y$(H, k) | 0; + n = k + n | 0; + if ((n | 0) > (j | 0)) { + v = 85; + break e + } + v0(d, H, k); + if (n >>> 0 >= j >>> 0) { + v = 85; + break + } else m = m + 4 | 0 + } + } + } while (0); + if ((v | 0) == 68) { + v = 0; + k = (j | 0) != 0 | (k | 0) != 0; + j = (p | 0) != 0 | k; + k = y - o + ((k ^ 1) & 1) | 0; + r = j ? o : x; + o = x; + k = j ? ((p | 0) > (k | 0) ? p : k) : p; + j = (p | 0) > -1 ? m & -65537 : m + } else if ((v | 0) == 85) { + v = 0; + B0(d, 32, u, j, s ^ 8192); + j = (u | 0) > (j | 0) ? u : j; + m = t; + continue + } + p = o - r | 0; + o = (k | 0) < (p | 0) ? p : k; + s = o + q | 0; + m = (u | 0) < (s | 0) ? s : u; + B0(d, 32, m, s, j); + v0(d, n, q); + B0(d, 48, m, s, j ^ 65536); + B0(d, 48, o, p, 0); + v0(d, r, p); + B0(d, 32, m, s, j ^ 8192); + j = m; + m = t + } + f:do if ((v | 0) == 88) if (!d) if (m) { + e = 1; + while (1) { + j = c[i + (e << 2) >> 2] | 0; + if (!j) break; + x0(g + (e << 3) | 0, j, f); + j = e + 1 | 0; + if ((e | 0) < 9) e = j; else { + e = j; + break + } + } + if ((e | 0) < 10) while (1) { + if (c[i + (e << 2) >> 2] | 0) { + e = -1; + break f + } + if ((e | 0) < 9) e = e + 1 | 0; else { + e = 1; + break + } + } else e = 1 + } else e = 0; while (0); + l = I; + return e | 0 + } + + function t0(a) { + a = a | 0; + return 0 + } + + function u0(a) { + a = a | 0; + return + } + + function v0(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + if (!(c[a >> 2] & 32)) E0(b, d, a) | 0; + return + } + + function w0(b) { + b = b | 0; + var d = 0, e = 0; + if (!(E$(a[c[b >> 2] >> 0] | 0) | 0)) d = 0; else { + d = 0; + do { + e = c[b >> 2] | 0; + d = (d * 10 | 0) + -48 + (a[e >> 0] | 0) | 0; + e = e + 1 | 0; + c[b >> 2] = e + } while ((E$(a[e >> 0] | 0) | 0) != 0) + } + return d | 0 + } + + function x0(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 y0(b, c, e, f) { + b = b | 0; + c = c | 0; + e = e | 0; + f = f | 0; + if (!((b | 0) == 0 & (c | 0) == 0)) do { + e = e + -1 | 0; + a[e >> 0] = d[150374 + (b & 15) >> 0] | 0 | f; + b = z3(b | 0, c | 0, 4) | 0; + c = z + } while (!((b | 0) == 0 & (c | 0) == 0)); + return e | 0 + } + + function z0(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + if (!((b | 0) == 0 & (c | 0) == 0)) do { + d = d + -1 | 0; + a[d >> 0] = b & 7 | 48; + b = z3(b | 0, c | 0, 3) | 0; + c = z + } while (!((b | 0) == 0 & (c | 0) == 0)); + return d | 0 + } + + function A0(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + if (c >>> 0 > 0 | (c | 0) == 0 & b >>> 0 > 4294967295) { + while (1) { + e = x3(b | 0, c | 0, 10, 0) | 0; + d = d + -1 | 0; + a[d >> 0] = e & 255 | 48; + e = b; + b = w3(b | 0, c | 0, 10, 0) | 0; + if (!(c >>> 0 > 9 | (c | 0) == 9 & e >>> 0 > 4294967295)) break; else c = z + } + c = b + } else c = b; + if (c) while (1) { + d = d + -1 | 0; + a[d >> 0] = (c >>> 0) % 10 | 0 | 48; + if (c >>> 0 < 10) break; else c = (c >>> 0) / 10 | 0 + } + return d | 0 + } + + function B0(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 256 | 0; + f = g; + if ((c | 0) > (d | 0) & (e & 73728 | 0) == 0) { + e = c - d | 0; + H3(f | 0, b << 24 >> 24 | 0, (e >>> 0 < 256 ? e : 256) | 0) | 0; + if (e >>> 0 > 255) { + b = c - d | 0; + do { + v0(a, f, 256); + e = e + -256 | 0 + } while (e >>> 0 > 255); + e = b & 255 + } + v0(a, f, e) + } + l = g; + return + } + + function C0(b, e, f, g, h, i) { + b = b | 0; + e = +e; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + var j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, + y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + H = l; + l = l + 560 | 0; + m = H + 8 | 0; + u = H; + G = H + 524 | 0; + F = G; + n = H + 512 | 0; + c[u >> 2] = 0; + E = n + 12 | 0; + D0(e) | 0; + if ((z | 0) < 0) { + e = -e; + C = 1; + B = 150343 + } else { + C = (h & 2049 | 0) != 0 & 1; + B = (h & 2048 | 0) == 0 ? ((h & 1 | 0) == 0 ? 150344 : 150349) : 150346 + } + D0(e) | 0; + do if (0 == 0 & (z & 2146435072 | 0) == 2146435072) { + G = (i & 32 | 0) != 0; + j = C + 3 | 0; + B0(b, 32, f, j, h & -65537); + v0(b, B, C); + v0(b, e != e | 0.0 != 0.0 ? (G ? 150511 : 150370) : G ? 150362 : 150366, 3); + B0(b, 32, f, j, h ^ 8192) + } else { + r = +x$(e, u) * 2.0; + j = r != 0.0; + if (j) c[u >> 2] = (c[u >> 2] | 0) + -1; + w = i | 32; + if ((w | 0) == 97) { + p = i & 32; + s = (p | 0) == 0 ? B : B + 9 | 0; + q = C | 2; + j = 12 - g | 0; + do if (!(g >>> 0 > 11 | (j | 0) == 0)) { + e = 8.0; + do { + j = j + -1 | 0; + e = e * 16.0 + } while ((j | 0) != 0); + if ((a[s >> 0] | 0) == 45) { + e = -(e + (-r - e)); + break + } else { + e = r + e - e; + break + } + } else e = r; while (0); + k = c[u >> 2] | 0; + j = (k | 0) < 0 ? 0 - k | 0 : k; + j = A0(j, ((j | 0) < 0) << 31 >> 31, E) | 0; + if ((j | 0) == (E | 0)) { + j = n + 11 | 0; + a[j >> 0] = 48 + } + a[j + -1 >> 0] = (k >> 31 & 2) + 43; + o = j + -2 | 0; + a[o >> 0] = i + 15; + m = (g | 0) < 1; + n = (h & 8 | 0) == 0; + j = G; + do { + D = ~~e; + k = j + 1 | 0; + a[j >> 0] = p | d[150374 + D >> 0]; + e = (e - +(D | 0)) * 16.0; + if ((k - F | 0) == 1 ? !(n & (m & e == 0.0)) : 0) { + a[k >> 0] = 46; + j = j + 2 | 0 + } else j = k + } while (e != 0.0); + if ((g | 0) != 0 ? (-2 - F + j | 0) < (g | 0) : 0) { + k = j - F | 0; + j = g + 2 | 0 + } else { + j = j - F | 0; + k = j + } + E = E - o | 0; + F = E + q + j | 0; + B0(b, 32, f, F, h); + v0(b, s, q); + B0(b, 48, f, F, h ^ 65536); + v0(b, G, k); + B0(b, 48, j - k | 0, 0, 0); + v0(b, o, E); + B0(b, 32, f, F, h ^ 8192); + j = F; + break + } + k = (g | 0) < 0 ? 6 : g; + if (j) { + j = (c[u >> 2] | 0) + -28 | 0; + c[u >> 2] = j; + e = r * 268435456.0 + } else { + e = r; + j = c[u >> 2] | 0 + } + D = (j | 0) < 0 ? m : m + 288 | 0; + m = D; + do { + y = ~~e >>> 0; + c[m >> 2] = y; + m = m + 4 | 0; + e = (e - +(y >>> 0)) * 1.0e9 + } while (e != 0.0); + if ((j | 0) > 0) { + n = D; + p = m; + while (1) { + o = (j | 0) < 29 ? j : 29; + j = p + -4 | 0; + if (j >>> 0 >= n >>> 0) { + m = 0; + do { + x = A3(c[j >> 2] | 0, 0, o | 0) | 0; + x = s3(x | 0, z | 0, m | 0, 0) | 0; + y = z; + v = x3(x | 0, y | 0, 1e9, 0) | 0; + c[j >> 2] = v; + m = w3(x | 0, y | 0, 1e9, 0) | 0; + j = j + -4 | 0 + } while (j >>> 0 >= n >>> 0); + if (m) { + n = n + -4 | 0; + c[n >> 2] = m + } + } + m = p; + while (1) { + if (m >>> 0 <= n >>> 0) break; + j = m + -4 | 0; + if (!(c[j >> 2] | 0)) m = j; else break + } + j = (c[u >> 2] | 0) - o | 0; + c[u >> 2] = j; + if ((j | 0) > 0) p = m; else break + } + } else n = D; + if ((j | 0) < 0) { + g = ((k + 25 | 0) / 9 | 0) + 1 | 0; + t = (w | 0) == 102; + do { + s = 0 - j | 0; + s = (s | 0) < 9 ? s : 9; + if (n >>> 0 < m >>> 0) { + o = (1 << s) + -1 | 0; + p = 1e9 >>> s; + q = 0; + j = n; + do { + y = c[j >> 2] | 0; + c[j >> 2] = (y >>> s) + q; + q = O(y & o, p) | 0; + j = j + 4 | 0 + } while (j >>> 0 < m >>> 0); + j = (c[n >> 2] | 0) == 0 ? n + 4 | 0 : n; + if (!q) { + n = j; + j = m + } else { + c[m >> 2] = q; + n = j; + j = m + 4 | 0 + } + } else { + n = (c[n >> 2] | 0) == 0 ? n + 4 | 0 : n; + j = m + } + m = t ? D : n; + m = (j - m >> 2 | 0) > (g | 0) ? m + (g << 2) | 0 : j; + j = (c[u >> 2] | 0) + s | 0; + c[u >> 2] = j + } while ((j | 0) < 0); + j = n; + g = m + } else { + j = n; + g = m + } + y = D; + if (j >>> 0 < g >>> 0) { + m = (y - j >> 2) * 9 | 0; + o = c[j >> 2] | 0; + if (o >>> 0 >= 10) { + n = 10; + do { + n = n * 10 | 0; + m = m + 1 | 0 + } while (o >>> 0 >= n >>> 0) + } + } else m = 0; + t = (w | 0) == 103; + v = (k | 0) != 0; + n = k - ((w | 0) != 102 ? m : 0) + ((v & t) << 31 >> 31) | 0; + if ((n | 0) < (((g - y >> 2) * 9 | 0) + -9 | 0)) { + n = n + 9216 | 0; + s = D + 4 + (((n | 0) / 9 | 0) + -1024 << 2) | 0; + n = (n | 0) % 9 | 0; + if ((n | 0) < 8) { + o = 10; + while (1) { + o = o * 10 | 0; + if ((n | 0) < 7) n = n + 1 | 0; else break + } + } else o = 10; + p = c[s >> 2] | 0; + q = (p >>> 0) % (o >>> 0) | 0; + n = (s + 4 | 0) == (g | 0); + if (!(n & (q | 0) == 0)) { + r = (((p >>> 0) / (o >>> 0) | 0) & 1 | 0) == 0 ? 9007199254740992.0 : 9007199254740994.0; + x = (o | 0) / 2 | 0; + e = q >>> 0 < x >>> 0 ? .5 : n & (q | 0) == (x | 0) ? 1.0 : 1.5; + if (C) { + x = (a[B >> 0] | 0) == 45; + e = x ? -e : e; + r = x ? -r : r + } + n = p - q | 0; + c[s >> 2] = n; + if (r + e != r) { + x = n + o | 0; + c[s >> 2] = x; + if (x >>> 0 > 999999999) { + m = s; + while (1) { + n = m + -4 | 0; + c[m >> 2] = 0; + if (n >>> 0 < j >>> 0) { + j = j + -4 | 0; + c[j >> 2] = 0 + } + x = (c[n >> 2] | 0) + 1 | 0; + c[n >> 2] = x; + if (x >>> 0 > 999999999) m = n; else break + } + } else n = s; + m = (y - j >> 2) * 9 | 0; + p = c[j >> 2] | 0; + if (p >>> 0 >= 10) { + o = 10; + do { + o = o * 10 | 0; + m = m + 1 | 0 + } while (p >>> 0 >= o >>> 0) + } + } else n = s + } else n = s; + n = n + 4 | 0; + n = g >>> 0 > n >>> 0 ? n : g; + x = j + } else { + n = g; + x = j + } + w = n; + while (1) { + if (w >>> 0 <= x >>> 0) { + u = 0; + break + } + j = w + -4 | 0; + if (!(c[j >> 2] | 0)) w = j; else { + u = 1; + break + } + } + g = 0 - m | 0; + do if (t) { + j = k + ((v ^ 1) & 1) | 0; + if ((j | 0) > (m | 0) & (m | 0) > -5) { + o = i + -1 | 0; + k = j + -1 - m | 0 + } else { + o = i + -2 | 0; + k = j + -1 | 0 + } + j = h & 8; + if (!j) { + if (u ? (A = c[w + -4 >> 2] | 0, (A | 0) != 0) : 0) if (!((A >>> 0) % 10 | 0)) { + n = 0; + j = 10; + do { + j = j * 10 | 0; + n = n + 1 | 0 + } while (!((A >>> 0) % (j >>> 0) | 0 | 0)) + } else n = 0; else n = 9; + j = ((w - y >> 2) * 9 | 0) + -9 | 0; + if ((o | 32 | 0) == 102) { + s = j - n | 0; + s = (s | 0) > 0 ? s : 0; + k = (k | 0) < (s | 0) ? k : s; + s = 0; + break + } else { + s = j + m - n | 0; + s = (s | 0) > 0 ? s : 0; + k = (k | 0) < (s | 0) ? k : s; + s = 0; + break + } + } else s = j + } else { + o = i; + s = h & 8 + } while (0); + t = k | s; + p = (t | 0) != 0 & 1; + q = (o | 32 | 0) == 102; + if (q) { + v = 0; + j = (m | 0) > 0 ? m : 0 + } else { + j = (m | 0) < 0 ? g : m; + j = A0(j, ((j | 0) < 0) << 31 >> 31, E) | 0; + n = E; + if ((n - j | 0) < 2) do { + j = j + -1 | 0; + a[j >> 0] = 48 + } while ((n - j | 0) < 2); + a[j + -1 >> 0] = (m >> 31 & 2) + 43; + j = j + -2 | 0; + a[j >> 0] = o; + v = j; + j = n - j | 0 + } + j = C + 1 + k + p + j | 0; + B0(b, 32, f, j, h); + v0(b, B, C); + B0(b, 48, f, j, h ^ 65536); + if (q) { + o = x >>> 0 > D >>> 0 ? D : x; + s = G + 9 | 0; + p = s; + q = G + 8 | 0; + n = o; + do { + m = A0(c[n >> 2] | 0, 0, s) | 0; + if ((n | 0) == (o | 0)) { + if ((m | 0) == (s | 0)) { + a[q >> 0] = 48; + m = q + } + } else if (m >>> 0 > G >>> 0) { + H3(G | 0, 48, m - F | 0) | 0; + do m = m + -1 | 0; while (m >>> 0 > G >>> 0) + } + v0(b, m, p - m | 0); + n = n + 4 | 0 + } while (n >>> 0 <= D >>> 0); + if (t | 0) v0(b, 150390, 1); + if (n >>> 0 < w >>> 0 & (k | 0) > 0) while (1) { + m = A0(c[n >> 2] | 0, 0, s) | 0; + if (m >>> 0 > G >>> 0) { + H3(G | 0, 48, m - F | 0) | 0; + do m = m + -1 | 0; while (m >>> 0 > G >>> 0) + } + v0(b, m, (k | 0) < 9 ? k : 9); + n = n + 4 | 0; + m = k + -9 | 0; + if (!(n >>> 0 < w >>> 0 & (k | 0) > 9)) { + k = m; + break + } else k = m + } + B0(b, 48, k + 9 | 0, 9, 0) + } else { + t = u ? w : x + 4 | 0; + if ((k | 0) > -1) { + u = G + 9 | 0; + s = (s | 0) == 0; + g = u; + p = 0 - F | 0; + q = G + 8 | 0; + o = x; + do { + m = A0(c[o >> 2] | 0, 0, u) | 0; + if ((m | 0) == (u | 0)) { + a[q >> 0] = 48; + m = q + } + do if ((o | 0) == (x | 0)) { + n = m + 1 | 0; + v0(b, m, 1); + if (s & (k | 0) < 1) { + m = n; + break + } + v0(b, 150390, 1); + m = n + } else { + if (m >>> 0 <= G >>> 0) break; + H3(G | 0, 48, m + p | 0) | 0; + do m = m + -1 | 0; while (m >>> 0 > G >>> 0) + } while (0); + F = g - m | 0; + v0(b, m, (k | 0) > (F | 0) ? F : k); + k = k - F | 0; + o = o + 4 | 0 + } while (o >>> 0 < t >>> 0 & (k | 0) > -1) + } + B0(b, 48, k + 18 | 0, 18, 0); + v0(b, v, E - v | 0) + } + B0(b, 32, f, j, h ^ 8192) + } while (0); + l = H; + return ((j | 0) < (f | 0) ? f : j) | 0 + } + + function D0(a) { + a = +a; + var b = 0; + h[j >> 3] = a; + b = c[j >> 2] | 0; + z = c[j + 4 >> 2] | 0; + return b | 0 + } + + function E0(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0; + f = e + 16 | 0; + g = c[f >> 2] | 0; + if (!g) if (!(F0(e) | 0)) { + g = c[f >> 2] | 0; + h = 5 + } else f = 0; else h = 5; + a:do if ((h | 0) == 5) { + j = e + 20 | 0; + i = c[j >> 2] | 0; + f = i; + if ((g - i | 0) >>> 0 < d >>> 0) { + f = nb[c[e + 36 >> 2] & 63](e, b, d) | 0; + break + } + b:do if ((a[e + 75 >> 0] | 0) > -1) { + i = d; + while (1) { + if (!i) { + h = 0; + g = b; + break b + } + g = i + -1 | 0; + if ((a[b + g >> 0] | 0) == 10) break; else i = g + } + f = nb[c[e + 36 >> 2] & 63](e, b, i) | 0; + if (f >>> 0 < i >>> 0) break a; + h = i; + g = b + i | 0; + d = d - i | 0; + f = c[j >> 2] | 0 + } else { + h = 0; + g = b + } while (0); + F3(f | 0, g | 0, d | 0) | 0; + c[j >> 2] = (c[j >> 2] | 0) + d; + f = h + d | 0 + } while (0); + return f | 0 + } + + function F0(b) { + b = b | 0; + var d = 0, e = 0; + d = b + 74 | 0; + e = a[d >> 0] | 0; + a[d >> 0] = e + 255 | e; + d = c[b >> 2] | 0; + if (!(d & 8)) { + c[b + 8 >> 2] = 0; + c[b + 4 >> 2] = 0; + e = c[b + 44 >> 2] | 0; + c[b + 28 >> 2] = e; + c[b + 20 >> 2] = e; + c[b + 16 >> 2] = e + (c[b + 48 >> 2] | 0); + b = 0 + } else { + c[b >> 2] = d | 32; + b = -1 + } + return b | 0 + } + + function G0(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; + F3(f | 0, b | 0, a | 0) | 0; + c[e >> 2] = (c[e >> 2] | 0) + a; + return d | 0 + } + + function H0(b) { + b = b | 0; + var c = 0, d = 0, e = 0, f = 0; + e = a[b >> 0] | 0; + c = 1; + d = 150392; + f = 97; + while (1) { + if (e << 24 >> 24 == f << 24 >> 24 ? (b$(b, d) | 0) == 0 : 0) break; + d = d + 6 | 0; + f = a[d >> 0] | 0; + if (!(f << 24 >> 24)) { + c = 0; + break + } else c = c + 1 | 0 + } + return c | 0 + } + + function I0(a) { + a = a | 0; + var b = 0; + b = (p0(a) | 0) == 0; + return (b ? a : a & 95) | 0 + } + + function J0(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + h = l; + l = l + 16 | 0; + g = h; + do if (b >>> 0 > 6) d = 0; else { + ta(187576); + if ((b | 0) != 6) { + d = K0(b, d) | 0; + La(187576); + break + } + if (!d) { + d = 194052; + b = 0 + } else { + b = g; + e = 150465; + f = b + 16 | 0; + do { + a[b >> 0] = a[e >> 0] | 0; + b = b + 1 | 0; + e = e + 1 | 0 + } while ((b | 0) < (f | 0)); + f = 0; + do { + b = V_(d, 59) | 0; + e = b - d | 0; + if ((e | 0) < 16) { + F3(g | 0, d | 0, e | 0) | 0; + a[g + e >> 0] = 0; + d = (a[b >> 0] | 0) == 0 ? d : b + 1 | 0 + } + K0(f, g) | 0; + f = f + 1 | 0 + } while ((f | 0) != 6); + d = 194052; + b = 0 + } + while (1) { + f = c[187536 + (b << 2) >> 2] | 0; + f = f | 0 ? f + 8 | 0 : 150481; + e = W_(f) | 0; + F3(d | 0, f | 0, e | 0) | 0; + f = d + e | 0; + a[f >> 0] = 59; + b = b + 1 | 0; + if ((b | 0) == 6) break; else d = d + (e + 1) | 0 + } + a[f >> 0] = 0; + La(187576); + d = 194052 + } while (0); + l = h; + return d | 0 + } + + function K0(a, b) { + a = a | 0; + b = b | 0; + if (!b) a = c[187536 + (a << 2) >> 2] | 0; else { + b = a0(a, b) | 0; + c[187536 + (a << 2) >> 2] = b; + a = b + } + return (a | 0 ? a + 8 | 0 : 150481) | 0 + } + + function L0(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + a:do if (!d) b = 0; else { + while (1) { + e = a[b >> 0] | 0; + f = a[c >> 0] | 0; + if (e << 24 >> 24 != f << 24 >> 24) break; + d = d + -1 | 0; + if (!d) { + b = 0; + break a + } else { + b = b + 1 | 0; + c = c + 1 | 0 + } + } + b = (e & 255) - (f & 255) | 0 + } while (0); + return b | 0 + } + + function M0(a) { + a = a | 0; + return N0(a) | 0 + } + + function N0(a) { + a = a | 0; + return B3(a | 0) | 0 + } + + function O0(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; + if ((c[f + 76 >> 2] | 0) > -1) m = t0(f) | 0; else m = 0; + g = e + -1 | 0; + if ((e | 0) < 2) { + n = f + 74 | 0; + l = a[n >> 0] | 0; + a[n >> 0] = l + 255 | l; + if (m | 0) u0(f); + if (!g) a[b >> 0] = 0; else b = 0 + } else { + a:do if (g) { + k = f + 4 | 0; + l = f + 8 | 0; + e = b; + while (1) { + h = c[k >> 2] | 0; + o = h; + p = (c[l >> 2] | 0) - o | 0; + i = D$(h, 10, p) | 0; + j = (i | 0) == 0; + i = j ? p : 1 - o + i | 0; + i = i >>> 0 < g >>> 0 ? i : g; + F3(e | 0, h | 0, i | 0) | 0; + h = (c[k >> 2] | 0) + i | 0; + c[k >> 2] = h; + e = e + i | 0; + i = g - i | 0; + if (!(j & (i | 0) != 0)) { + n = 17; + break a + } + if (h >>> 0 >= (c[l >> 2] | 0) >>> 0) { + g = J$(f) | 0; + if ((g | 0) < 0) break; else j = g + } else { + c[k >> 2] = h + 1; + j = d[h >> 0] | 0 + } + g = i + -1 | 0; + h = e + 1 | 0; + a[e >> 0] = j; + if (!((g | 0) != 0 & (j & 255 | 0) != 10)) { + e = h; + n = 17; + break a + } else e = h + } + if ((e | 0) != (b | 0) ? (c[f >> 2] & 16 | 0) != 0 : 0) n = 17; else b = 0 + } else { + e = b; + n = 17 + } while (0); + if ((n | 0) == 17) if (!b) b = 0; else a[e >> 0] = 0; + if (m) u0(f) + } + return b | 0 + } + + function P0(b, c) { + b = b | 0; + c = c | 0; + var d = 0; + d = a[c >> 0] | 0; + do if (d << 24 >> 24) { + b = A$(b, d << 24 >> 24) | 0; + if (b) { + if (a[c + 1 >> 0] | 0) if (a[b + 1 >> 0] | 0) { + if (!(a[c + 2 >> 0] | 0)) { + b = Q0(b, c) | 0; + break + } + if (a[b + 2 >> 0] | 0) { + if (!(a[c + 3 >> 0] | 0)) { + b = R0(b, c) | 0; + break + } + if (a[b + 3 >> 0] | 0) if (!(a[c + 4 >> 0] | 0)) { + b = S0(b, c) | 0; + break + } else { + b = T0(b, c) | 0; + break + } else b = 0 + } else b = 0 + } else b = 0 + } else b = 0 + } while (0); + return b | 0 + } + + function Q0(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0; + g = (d[c >> 0] | 0) << 8 | (d[c + 1 >> 0] | 0); + f = d[b >> 0] | 0; + while (1) { + c = b + 1 | 0; + e = a[c >> 0] | 0; + if (!(e << 24 >> 24)) break; + f = f << 8 & 65280 | e & 255; + if ((f | 0) == (g | 0)) break; else b = c + } + return (e << 24 >> 24 ? b : 0) | 0 + } + + function R0(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0; + f = (d[c + 1 >> 0] | 0) << 16 | (d[c >> 0] | 0) << 24 | (d[c + 2 >> 0] | 0) << 8; + e = b + 2 | 0; + c = a[e >> 0] | 0; + b = (d[b + 1 >> 0] | 0) << 16 | (d[b >> 0] | 0) << 24 | (c & 255) << 8; + if (!((b | 0) == (f | 0) | c << 24 >> 24 == 0)) do { + e = e + 1 | 0; + c = a[e >> 0] | 0; + b = (b | c & 255) << 8 + } while (!((b | 0) == (f | 0) | c << 24 >> 24 == 0)); + return (c << 24 >> 24 ? e + -2 | 0 : 0) | 0 + } + + function S0(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0; + f = (d[c + 1 >> 0] | 0) << 16 | (d[c >> 0] | 0) << 24 | (d[c + 2 >> 0] | 0) << 8 | (d[c + 3 >> 0] | 0); + c = b + 3 | 0; + e = a[c >> 0] | 0; + b = (d[b + 1 >> 0] | 0) << 16 | (d[b >> 0] | 0) << 24 | (d[b + 2 >> 0] | 0) << 8 | e & 255; + if (!(e << 24 >> 24 == 0 | (b | 0) == (f | 0))) do { + c = c + 1 | 0; + e = a[c >> 0] | 0; + b = b << 8 | e & 255 + } while (!(e << 24 >> 24 == 0 | (b | 0) == (f | 0))); + return (e << 24 >> 24 ? c + -3 | 0 : 0) | 0 + } + + function T0(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0; + v = l; + l = l + 1056 | 0; + t = v + 1024 | 0; + u = v; + c[t >> 2] = 0; + c[t + 4 >> 2] = 0; + c[t + 8 >> 2] = 0; + c[t + 12 >> 2] = 0; + c[t + 16 >> 2] = 0; + c[t + 20 >> 2] = 0; + c[t + 24 >> 2] = 0; + c[t + 28 >> 2] = 0; + e = a[d >> 0] | 0; + a:do if (e << 24 >> 24) { + s = 0; + do { + if (!(a[b + s >> 0] | 0)) { + e = 0; + break a + } + r = t + (((e & 255) >>> 5 & 255) << 2) | 0; + c[r >> 2] = c[r >> 2] | 1 << (e & 31); + s = s + 1 | 0; + c[u + ((e & 255) << 2) >> 2] = s; + e = a[d + s >> 0] | 0 + } while (e << 24 >> 24 != 0); + m = s >>> 0 > 1; + if (m) { + f = 0; + k = -1; + g = 1; + b:while (1) { + h = 1; + e = f; + while (1) { + f = g; + c:while (1) { + j = 1; + while (1) { + g = a[d + (j + k) >> 0] | 0; + i = a[d + f >> 0] | 0; + if (g << 24 >> 24 != i << 24 >> 24) break c; + if ((j | 0) == (h | 0)) break; + j = j + 1 | 0; + f = j + e | 0; + if (f >>> 0 >= s >>> 0) { + n = h; + e = k; + break b + } + } + e = h + e | 0; + f = e + 1 | 0; + if (f >>> 0 >= s >>> 0) { + n = h; + e = k; + break b + } + } + h = f - k | 0; + if ((g & 255) <= (i & 255)) break; + g = f + 1 | 0; + if (g >>> 0 >= s >>> 0) { + n = h; + e = k; + break b + } else e = f + } + g = e + 2 | 0; + if (g >>> 0 >= s >>> 0) { + n = 1; + break + } else { + f = e + 1 | 0; + k = e + } + } + if (m) { + h = 0; + m = -1; + i = 1; + while (1) { + f = 1; + g = h; + while (1) { + h = i; + d:while (1) { + k = 1; + while (1) { + i = a[d + (k + m) >> 0] | 0; + j = a[d + h >> 0] | 0; + if (i << 24 >> 24 != j << 24 >> 24) break d; + if ((k | 0) == (f | 0)) break; + k = k + 1 | 0; + h = k + g | 0; + if (h >>> 0 >= s >>> 0) { + i = n; + g = m; + h = 26; + break a + } + } + g = f + g | 0; + h = g + 1 | 0; + if (h >>> 0 >= s >>> 0) { + i = n; + g = m; + h = 26; + break a + } + } + f = h - m | 0; + if ((i & 255) >= (j & 255)) break; + i = h + 1 | 0; + if (i >>> 0 >= s >>> 0) { + i = n; + g = m; + h = 26; + break a + } else g = h + } + i = g + 2 | 0; + if (i >>> 0 >= s >>> 0) { + i = n; + f = 1; + h = 26; + break + } else { + h = g + 1 | 0; + m = g + } + } + } else { + i = n; + f = 1; + g = -1; + h = 26 + } + } else { + i = 1; + e = -1; + f = 1; + g = -1; + h = 26 + } + } else { + i = 1; + e = -1; + s = 0; + f = 1; + g = -1; + h = 26 + } while (0); + e:do if ((h | 0) == 26) { + q = (g + 1 | 0) >>> 0 > (e + 1 | 0) >>> 0; + f = q ? f : i; + q = q ? g : e; + r = q + 1 | 0; + if (!(L0(d, d + f | 0, r) | 0)) p = s - f | 0; else { + f = s - q + -1 | 0; + p = 0; + f = (q >>> 0 > f >>> 0 ? q : f) + 1 | 0 + } + k = s | 63; + m = s + -1 | 0; + n = (p | 0) != 0; + o = s - f | 0; + e = b; + j = 0; + g = b; + while (1) { + h = e; + do if ((g - h | 0) >>> 0 < s >>> 0) { + i = D$(g, 0, k) | 0; + if (i) if ((i - h | 0) >>> 0 < s >>> 0) { + e = 0; + break e + } else break; else { + i = g + k | 0; + break + } + } else i = g; while (0); + g = a[e + m >> 0] | 0; + f:do if (!(1 << (g & 31) & c[t + (((g & 255) >>> 5 & 255) << 2) >> 2])) { + h = 0; + g = s + } else { + g = s - (c[u + ((g & 255) << 2) >> 2] | 0) | 0; + if (g | 0) { + h = 0; + g = n & (j | 0) != 0 & g >>> 0 < f >>> 0 ? o : g; + break + } + g = r >>> 0 > j >>> 0 ? r : j; + h = a[d + g >> 0] | 0; + g:do if (!(h << 24 >> 24)) g = r; else { + while (1) { + if (h << 24 >> 24 != (a[e + g >> 0] | 0)) break; + g = g + 1 | 0; + h = a[d + g >> 0] | 0; + if (!(h << 24 >> 24)) { + g = r; + break g + } + } + h = 0; + g = g - q | 0; + break f + } while (0); + while (1) { + if (g >>> 0 <= j >>> 0) break e; + g = g + -1 | 0; + if ((a[d + g >> 0] | 0) != (a[e + g >> 0] | 0)) { + h = p; + g = f; + break + } + } + } while (0); + e = e + g | 0; + j = h; + g = i + } + } while (0); + l = v; + return e | 0 + } + + function U0(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + V0(a, b, c) | 0; + return a | 0 + } + + function V0(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + g = d; + a:do if (!((g ^ b) & 3)) { + f = (e | 0) != 0; + if (f & (g & 3 | 0) != 0) do { + g = a[d >> 0] | 0; + a[b >> 0] = g; + if (!(g << 24 >> 24)) break a; + e = e + -1 | 0; + d = d + 1 | 0; + b = b + 1 | 0; + f = (e | 0) != 0 + } while (f & (d & 3 | 0) != 0); + if (f) { + if (a[d >> 0] | 0) { + b:do if (e >>> 0 > 3) { + f = d; + while (1) { + d = c[f >> 2] | 0; + if ((d & -2139062144 ^ -2139062144) & d + -16843009 | 0) { + d = f; + break b + } + c[b >> 2] = d; + e = e + -4 | 0; + d = f + 4 | 0; + b = b + 4 | 0; + if (e >>> 0 > 3) f = d; else break + } + } while (0); + h = 11 + } + } else e = 0 + } else h = 11; while (0); + c:do if ((h | 0) == 11) if (!e) e = 0; else while (1) { + h = a[d >> 0] | 0; + a[b >> 0] = h; + if (!(h << 24 >> 24)) break c; + e = e + -1 | 0; + b = b + 1 | 0; + if (!e) { + e = 0; + break + } else d = d + 1 | 0 + } while (0); + H3(b | 0, 0, e | 0) | 0; + return b | 0 + } + + function W0(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 32 | 0; + f = g; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[f + 8 >> 2] = 0; + c[f + 12 >> 2] = 0; + c[f + 16 >> 2] = 0; + c[f + 20 >> 2] = 0; + c[f + 24 >> 2] = 0; + c[f + 28 >> 2] = 0; + e = a[d >> 0] | 0; + do if (!(e << 24 >> 24)) d = 0; else { + if (!(a[d + 1 >> 0] | 0)) { + d = b; + while (1) if ((a[d >> 0] | 0) == e << 24 >> 24) d = d + 1 | 0; else break; + d = d - b | 0; + break + } + do { + h = f + (((e & 255) >>> 5 & 255) << 2) | 0; + c[h >> 2] = c[h >> 2] | 1 << (e & 31); + d = d + 1 | 0; + e = a[d >> 0] | 0 + } while (e << 24 >> 24 != 0); + e = a[b >> 0] | 0; + a:do if (!(e << 24 >> 24)) d = b; else { + d = b; + do { + if (!(c[f + (((e & 255) >>> 5 & 255) << 2) >> 2] & 1 << (e & 31))) break a; + d = d + 1 | 0; + e = a[d >> 0] | 0 + } while (e << 24 >> 24 != 0) + } while (0); + d = d - b | 0 + } while (0); + l = g; + return d | 0 + } + + function X0(a) { + a = a | 0; + var b = 0, d = 0; + b = l; + l = l + 16 | 0; + d = b; + c[d >> 2] = P_(a) | 0; + a = Ja(6, d | 0) | 0; + a = N_((a | 0) == -4 ? 0 : a) | 0; + l = b; + return a | 0 + } + + function Y0(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = Z0(a, b, f) | 0; + l = e; + return d | 0 + } + + function Z0(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return q0(a, 2147483647, b, c) | 0 + } + + function _0(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 208 | 0; + j = m + 8 | 0; + k = m; + h = O(d, b) | 0; + i = k; + c[i >> 2] = 1; + c[i + 4 >> 2] = 0; + a:do if (h | 0) { + i = 0 - d | 0; + c[j + 4 >> 2] = d; + c[j >> 2] = d; + f = 2; + b = d; + g = d; + while (1) { + b = b + d + g | 0; + c[j + (f << 2) >> 2] = b; + if (b >>> 0 < h >>> 0) { + n = g; + f = f + 1 | 0; + g = b; + b = n + } else break + } + g = a + h + i | 0; + if (g >>> 0 > a >>> 0) { + h = g; + f = 1; + b = 1; + do { + do if ((b & 3 | 0) != 3) { + b = f + -1 | 0; + if ((c[j + (b << 2) >> 2] | 0) >>> 0 < (h - a | 0) >>> 0) $0(a, d, e, f, j); else b1(a, d, e, k, f, 0, j); + if ((f | 0) == 1) { + c1(k, 1); + f = 0; + break + } else { + c1(k, b); + f = 1; + break + } + } else { + $0(a, d, e, f, j); + a1(k, 2); + f = f + 2 | 0 + } while (0); + b = c[k >> 2] | 1; + c[k >> 2] = b; + a = a + d | 0 + } while (a >>> 0 < g >>> 0) + } else { + f = 1; + b = 1 + } + b1(a, d, e, k, f, 0, j); + g = k + 4 | 0; + while (1) { + if ((f | 0) == 1 & (b | 0) == 1) { + if (!(c[g >> 2] | 0)) break a + } else if ((f | 0) >= 2) { + c1(k, 2); + n = f + -2 | 0; + c[k >> 2] = c[k >> 2] ^ 7; + a1(k, 1); + b1(a + (0 - (c[j + (n << 2) >> 2] | 0)) + i | 0, d, e, k, f + -1 | 0, 1, j); + c1(k, 1); + b = c[k >> 2] | 1; + c[k >> 2] = b; + h = a + i | 0; + b1(h, d, e, k, n, 1, j); + a = h; + f = n; + continue + } + b = d1(k) | 0; + a1(k, b); + a = a + i | 0; + f = b + f | 0; + b = c[k >> 2] | 0 + } + } while (0); + l = m; + return + } + + 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, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 240 | 0; + m = n; + c[m >> 2] = a; + a:do if ((e | 0) > 1) { + k = 0 - b | 0; + g = a; + j = e; + e = 1; + while (1) { + h = g + k | 0; + i = j + -2 | 0; + g = h + (0 - (c[f + (i << 2) >> 2] | 0)) | 0; + if ((lb[d & 127](a, g) | 0) > -1 ? (lb[d & 127](a, h) | 0) > -1 : 0) break a; + a = e + 1 | 0; + e = m + (e << 2) | 0; + if ((lb[d & 127](g, h) | 0) > -1) { + c[e >> 2] = g; + e = j + -1 | 0 + } else { + c[e >> 2] = h; + g = h; + e = i + } + if ((e | 0) <= 1) { + e = a; + break a + } + j = e; + e = a; + a = c[m >> 2] | 0 + } + } else e = 1; while (0); + f1(b, m, e); + l = n; + return + } + + function a1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 4 | 0; + if (b >>> 0 > 31) { + e = c[f >> 2] | 0; + c[a >> 2] = e; + c[f >> 2] = 0; + b = b + -32 | 0; + d = 0 + } else { + d = c[f >> 2] | 0; + e = c[a >> 2] | 0 + } + c[a >> 2] = d << 32 - b | e >>> b; + c[f >> 2] = d >>> b; + return + } + + function b1(a, b, d, e, f, g, h) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + p = l; + l = l + 240 | 0; + n = p + 232 | 0; + o = p; + q = c[e >> 2] | 0; + c[n >> 2] = q; + j = c[e + 4 >> 2] | 0; + k = n + 4 | 0; + c[k >> 2] = j; + c[o >> 2] = a; + a:do if ((q | 0) != 1 | (j | 0) != 0 ? (m = 0 - b | 0, i = a + (0 - (c[h + (f << 2) >> 2] | 0)) | 0, (lb[d & 127](i, a) | 0) >= 1) : 0) { + e = 1; + g = (g | 0) == 0; + j = i; + while (1) { + if (g & (f | 0) > 1) { + g = a + m | 0; + i = c[h + (f + -2 << 2) >> 2] | 0; + if ((lb[d & 127](g, j) | 0) > -1) { + i = 10; + break a + } + if ((lb[d & 127](g + (0 - i) | 0, j) | 0) > -1) { + i = 10; + break a + } + } + g = e + 1 | 0; + c[o + (e << 2) >> 2] = j; + q = d1(n) | 0; + a1(n, q); + f = q + f | 0; + if (!((c[n >> 2] | 0) != 1 | (c[k >> 2] | 0) != 0)) { + e = g; + a = j; + i = 10; + break a + } + a = j + (0 - (c[h + (f << 2) >> 2] | 0)) | 0; + if ((lb[d & 127](a, c[o >> 2] | 0) | 0) < 1) { + a = j; + e = g; + g = 0; + i = 9; + break + } else { + q = j; + e = g; + g = 1; + j = a; + a = q + } + } + } else { + e = 1; + i = 9 + } while (0); + if ((i | 0) == 9 ? (g | 0) == 0 : 0) i = 10; + if ((i | 0) == 10) { + f1(b, o, e); + $0(a, b, d, f, h) + } + l = p; + return + } + + function c1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + f = a + 4 | 0; + if (b >>> 0 > 31) { + e = c[a >> 2] | 0; + c[f >> 2] = e; + c[a >> 2] = 0; + b = b + -32 | 0; + d = 0 + } else { + d = c[a >> 2] | 0; + e = c[f >> 2] | 0 + } + c[f >> 2] = d >>> (32 - b | 0) | e << b; + c[a >> 2] = d << b; + return + } + + function d1(a) { + a = a | 0; + var b = 0; + b = e1((c[a >> 2] | 0) + -1 | 0) | 0; + if (!b) { + b = e1(c[a + 4 >> 2] | 0) | 0; + return ((b | 0) == 0 ? 0 : b + 32 | 0) | 0 + } else return b | 0; + return 0 + } + + function e1(a) { + a = a | 0; + var b = 0; + if (a) if (!(a & 1)) { + b = a; + a = 0; + do { + a = a + 1 | 0; + b = b >>> 1 + } while (!(b & 1 | 0)) + } else a = 0; else a = 32; + return a | 0 + } + + function f1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 256 | 0; + e = h; + a:do if ((d | 0) >= 2 ? (g = b + (d << 2) | 0, c[g >> 2] = e, a | 0) : 0) while (1) { + f = a >>> 0 < 256 ? a : 256; + F3(e | 0, c[b >> 2] | 0, f | 0) | 0; + e = 0; + do { + i = b + (e << 2) | 0; + e = e + 1 | 0; + F3(c[i >> 2] | 0, c[b + (e << 2) >> 2] | 0, f | 0) | 0; + c[i >> 2] = (c[i >> 2] | 0) + f + } while ((e | 0) != (d | 0)); + a = a - f | 0; + if (!a) break a; + e = c[g >> 2] | 0 + } while (0); + l = h; + return + } + + function g1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = r0(a, b, f) | 0; + l = e; + return d | 0 + } + + function h1(b) { + b = b | 0; + var d = 0, e = 0, f = 0; + f = l; + l = l + 16 | 0; + e = f; + sa(0, e | 0) | 0; + d = 0; + e = (c[e + 4 >> 2] | 0) * 65537 ^ (e >>> 4) + b; + while (1) { + a[b + d >> 0] = (e & 15) + 65 | e << 1 & 32; + d = d + 1 | 0; + if ((d | 0) == 6) break; else e = e >>> 5 + } + l = f; + return b | 0 + } + + function i1(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + c = F$(a, b, c, -2147483648, 0) | 0; + return c | 0 + } + + function j1(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = l; + l = l + 32 | 0; + f = h; + e = a[d >> 0] | 0; + a:do if (e << 24 >> 24 != 0 ? (a[d + 1 >> 0] | 0) != 0 : 0) { + H3(f | 0, 0, 32) | 0; + e = a[d >> 0] | 0; + if (e << 24 >> 24) do { + i = f + (((e & 255) >>> 5 & 255) << 2) | 0; + c[i >> 2] = c[i >> 2] | 1 << (e & 31); + d = d + 1 | 0; + e = a[d >> 0] | 0 + } while (e << 24 >> 24 != 0); + d = a[b >> 0] | 0; + if (!(d << 24 >> 24)) e = b; else { + e = b; + do { + if (c[f + (((d & 255) >>> 5 & 255) << 2) >> 2] & 1 << (d & 31) | 0) break a; + e = e + 1 | 0; + d = a[e >> 0] | 0 + } while (d << 24 >> 24 != 0) + } + } else g = 3; while (0); + if ((g | 0) == 3) e = V_(b, e << 24 >> 24) | 0; + l = h; + return e - b | 0 + } + + function k1(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + if (!b) { + b = c[46896] | 0; + if (!b) b = 0; else e = 3 + } else e = 3; + do if ((e | 0) == 3) { + b = b + (W0(b, d) | 0) | 0; + if (!(a[b >> 0] | 0)) { + c[46896] = 0; + b = 0; + break + } + d = b + (j1(b, d) | 0) | 0; + c[46896] = d; + if (!(a[d >> 0] | 0)) { + c[46896] = 0; + break + } else { + c[46896] = d + 1; + a[d >> 0] = 0; + break + } + } while (0); + return b | 0 + } + + function l1(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 m1(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + if (!b) { + b = c[e >> 2] | 0; + if (!b) b = 0; else f = 3 + } else f = 3; + do if ((f | 0) == 3) { + b = b + (W0(b, d) | 0) | 0; + if (!(a[b >> 0] | 0)) { + c[e >> 2] = 0; + b = 0; + break + } + d = b + (j1(b, d) | 0) | 0; + c[e >> 2] = d; + if (!(a[d >> 0] | 0)) { + c[e >> 2] = 0; + break + } else { + c[e >> 2] = d + 1; + a[d >> 0] = 0; + break + } + } while (0); + return b | 0 + } + + function n1(a) { + a = a | 0; + var b = 0, c = 0; + b = (W_(a) | 0) + 1 | 0; + c = C_(b) | 0; + if (!c) a = 0; else a = F3(c | 0, a | 0, b | 0) | 0; + return a | 0 + } + + function o1(a, b) { + a = a | 0; + b = b | 0; + return l1(a, b, (W_(a) | 0) + 1 | 0) | 0 + } + + function p1(a, b) { + a = a | 0; + b = b | 0; + b0(a + (W_(a) | 0) | 0, b) | 0; + return a | 0 + } + + function q1(b, c) { + b = b | 0; + c = c | 0; + c = b + (j1(b, c) | 0) | 0; + return (a[c >> 0] | 0 ? c : 0) | 0 + } + + function r1(a) { + a = a | 0; + var b = 0; + if ((c[a + 76 >> 2] | 0) > -1) { + b = (t0(a) | 0) == 0; + a = (c[a >> 2] | 0) >>> 4 & 1 + } else a = (c[a >> 2] | 0) >>> 4 & 1; + return a | 0 + } + + function s1(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + if ((c[a + 76 >> 2] | 0) > -1) f = t0(a) | 0; else f = 0; + t1(a); + g = (c[a >> 2] & 1 | 0) != 0; + if (!g) { + e = u1() | 0; + d = c[a + 52 >> 2] | 0; + b = a + 56 | 0; + if (d | 0) c[d + 56 >> 2] = c[b >> 2]; + b = c[b >> 2] | 0; + if (b | 0) c[b + 52 >> 2] = d; + if ((c[e >> 2] | 0) == (a | 0)) c[e >> 2] = b; + v1() + } + b = w1(a) | 0; + b = kb[c[a + 12 >> 2] & 63](a) | 0 | b; + d = c[a + 92 >> 2] | 0; + if (d | 0) D_(d); + if (g) { + if (f | 0) u0(a) + } else D_(a); + return b | 0 + } + + function t1(a) { + a = a | 0; + var b = 0; + if (c[a + 68 >> 2] | 0) { + b = c[a + 116 >> 2] | 0; + a = a + 112 | 0; + if (b | 0) c[b + 112 >> 2] = c[a >> 2]; + a = c[a >> 2] | 0; + if (!a) a = (y1() | 0) + 232 | 0; else a = a + 116 | 0; + c[a >> 2] = b + } + return + } + + function u1() { + ta(187588); + return 187596 + } + + function v1() { + La(187588); + return + } + + function w1(a) { + a = a | 0; + var b = 0, d = 0; + do if (a) { + if ((c[a + 76 >> 2] | 0) <= -1) { + b = x1(a) | 0; + break + } + d = (t0(a) | 0) == 0; + b = x1(a) | 0; + if (!d) u0(a) + } else { + if (!(c[15685] | 0)) b = 0; else b = w1(c[15685] | 0) | 0; + a = c[(u1() | 0) >> 2] | 0; + if (a) do { + if ((c[a + 76 >> 2] | 0) > -1) d = t0(a) | 0; else d = 0; + if ((c[a + 20 >> 2] | 0) >>> 0 > (c[a + 28 >> 2] | 0) >>> 0) b = x1(a) | 0 | b; + if (d | 0) u0(a); + a = c[a + 56 >> 2] | 0 + } while ((a | 0) != 0); + v1() + } while (0); + return b | 0 + } + + function x1(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + b = a + 20 | 0; + h = a + 28 | 0; + if ((c[b >> 2] | 0) >>> 0 > (c[h >> 2] | 0) >>> 0 ? (nb[c[a + 36 >> 2] & 63](a, 0, 0) | 0, (c[b >> 2] | 0) == 0) : 0) a = -1; else { + d = a + 4 | 0; + e = c[d >> 2] | 0; + f = a + 8 | 0; + g = c[f >> 2] | 0; + if (e >>> 0 < g >>> 0) nb[c[a + 40 >> 2] & 63](a, e - g | 0, 1) | 0; + c[a + 16 >> 2] = 0; + c[h >> 2] = 0; + c[b >> 2] = 0; + c[f >> 2] = 0; + c[d >> 2] = 0; + a = 0 + } + return a | 0 + } + + function y1() { + return e$() | 0 + } + + function z1(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 64 | 0; + j = k + 40 | 0; + h = k + 24 | 0; + g = k + 16 | 0; + f = k; + i = k + 56 | 0; + if (A$(150498, a[d >> 0] | 0) | 0) { + e = C_(1156) | 0; + if (!e) e = 0; else { + H3(e | 0, 0, 124) | 0; + if (!(A$(d, 43) | 0)) c[e >> 2] = (a[d >> 0] | 0) == 114 ? 8 : 4; + if (A$(d, 101) | 0) { + c[f >> 2] = b; + c[f + 4 >> 2] = 2; + c[f + 8 >> 2] = 1; + Ea(221, f | 0) | 0 + } + if ((a[d >> 0] | 0) == 97) { + c[g >> 2] = b; + c[g + 4 >> 2] = 3; + d = Ea(221, g | 0) | 0; + if (!(d & 1024)) { + c[h >> 2] = b; + c[h + 4 >> 2] = 4; + c[h + 8 >> 2] = d | 1024; + Ea(221, h | 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 + 132; + c[e + 48 >> 2] = 1024; + d = e + 75 | 0; + a[d >> 0] = -1; + if ((f & 8 | 0) == 0 ? (c[j >> 2] = b, c[j + 4 >> 2] = 21523, c[j + 8 >> 2] = i, (Ia(54, j | 0) | 0) == 0) : 0) a[d >> 0] = 10; + c[e + 32 >> 2] = 15; + c[e + 36 >> 2] = 18; + c[e + 40 >> 2] = 16; + c[e + 12 >> 2] = 17; + if (!(c[46875] | 0)) c[e + 76 >> 2] = -1; + A1(e) | 0 + } + } else { + c[(O_() | 0) >> 2] = 22; + e = 0 + } + l = k; + return e | 0 + } + + function A1(a) { + a = a | 0; + var b = 0, d = 0; + b = u1() | 0; + c[a + 56 >> 2] = c[b >> 2]; + d = c[b >> 2] | 0; + if (d | 0) c[d + 52 >> 2] = a; + c[b >> 2] = a; + v1(); + return a | 0 + } + + function B1(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + j = l; + l = l + 16 | 0; + g = j; + a:do if (!e) b = 0; else { + do if (f | 0) { + i = (b | 0) == 0 ? g : b; + b = a[e >> 0] | 0; + if (b << 24 >> 24 > -1) { + c[i >> 2] = b & 255; + b = b << 24 >> 24 != 0 & 1; + break a + } + h = (c[c[(C1() | 0) + 188 >> 2] >> 2] | 0) == 0; + b = a[e >> 0] | 0; + if (h) { + c[i >> 2] = b << 24 >> 24 & 57343; + b = 1; + break a + } + b = (b & 255) + -194 | 0; + if (b >>> 0 <= 50) { + g = e + 1 | 0; + h = c[62280 + (b << 2) >> 2] | 0; + if (f >>> 0 < 4 ? h & -2147483648 >>> ((f * 6 | 0) + -6 | 0) | 0 : 0) break; + b = d[g >> 0] | 0; + f = b >>> 3; + if ((f + -16 | f + (h >> 26)) >>> 0 <= 7) { + b = b + -128 | h << 6; + if ((b | 0) >= 0) { + c[i >> 2] = b; + b = 2; + break a + } + g = (d[e + 2 >> 0] | 0) + -128 | 0; + if (g >>> 0 <= 63) { + g = g | b << 6; + if ((g | 0) >= 0) { + c[i >> 2] = g; + b = 3; + break a + } + b = (d[e + 3 >> 0] | 0) + -128 | 0; + if (b >>> 0 <= 63) { + c[i >> 2] = b | g << 6; + b = 4; + break a + } + } + } + } + } while (0); + c[(O_() | 0) >> 2] = 84; + b = -1 + } while (0); + l = j; + return b | 0 + } + + function C1() { + return e$() | 0 + } + + function D1(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = W_(a) | 0; + return ((E1(a, 1, c, b) | 0) != (c | 0)) << 31 >> 31 | 0 + } + + function E1(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = O(d, b) | 0; + d = (b | 0) == 0 ? 0 : d; + if ((c[e + 76 >> 2] | 0) > -1) { + g = (t0(e) | 0) == 0; + a = E0(a, f, e) | 0; + if (!g) u0(e) + } else a = E0(a, f, e) | 0; + if ((a | 0) != (f | 0)) d = (a >>> 0) / (b >>> 0) | 0; + return d | 0 + } + + function F1(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0; + m = l; + l = l + 16 | 0; + j = m; + k = e & 255; + a[j >> 0] = k; + g = b + 16 | 0; + h = c[g >> 2] | 0; + if (!h) if (!(F0(b) | 0)) { + h = c[g >> 2] | 0; + i = 4 + } else f = -1; else i = 4; + do if ((i | 0) == 4) { + i = b + 20 | 0; + g = c[i >> 2] | 0; + if (g >>> 0 < h >>> 0 ? (f = e & 255, (f | 0) != (a[b + 75 >> 0] | 0)) : 0) { + c[i >> 2] = g + 1; + a[g >> 0] = k; + break + } + if ((nb[c[b + 36 >> 2] & 63](b, j, 1) | 0) == 1) f = d[j >> 0] | 0; else f = -1 + } while (0); + l = m; + return f | 0 + } + + function G1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = a; + c[f + 4 >> 2] = b; + c[f + 8 >> 2] = d; + d = N_(Fa(3, f | 0) | 0) | 0; + l = e; + return d | 0 + } + + function H1() { + var a = 0, b = 0; + b = l; + l = l + 16 | 0; + a = Da(20, b | 0) | 0; + l = b; + return a | 0 + } + + function I1(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0; + d = b; + e = 150483; + f = d + 15 | 0; + do { + a[d >> 0] = a[e >> 0] | 0; + d = d + 1 | 0; + e = e + 1 | 0 + } while ((d | 0) < (f | 0)); + if (!c) { + a[b + 14 >> 0] = 48; + a[b + 15 >> 0] = 0 + } else { + e = c; + d = 14; + while (1) { + d = d + 1 | 0; + if (e >>> 0 < 10) break; else e = (e >>> 0) / 10 | 0 + } + a[b + d >> 0] = 0; + while (1) { + d = d + -1 | 0; + a[b + d >> 0] = (c >>> 0) % 10 | 0 | 48; + if (c >>> 0 < 10) break; else c = (c >>> 0) / 10 | 0 + } + } + return + } + + function J1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + g = l; + l = l + 48 | 0; + f = g + 40 | 0; + e = g + 8 | 0; + d = g; + c[d >> 2] = a; + c[d + 4 >> 2] = b; + d = Ca(197, d | 0) | 0; + if ((d | 0) == -9 ? (c[e >> 2] = a, c[e + 4 >> 2] = 1, (Ea(221, e | 0) | 0) >= 0) : 0) { + I1(e, a); + c[f >> 2] = e; + c[f + 4 >> 2] = b; + b = N_(Ba(195, f | 0) | 0) | 0 + } else b = N_(d) | 0; + l = g; + return b | 0 + } + + function K1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = l; + l = l + 16 | 0; + e = d; + c[e >> 2] = a; + c[e + 4 >> 2] = b; + b = N_(Ga(33, e | 0) | 0) | 0; + l = d; + return b | 0 + } + + function L1(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 48 | 0; + h = i + 32 | 0; + g = i + 16 | 0; + e = i; + if (A$(150498, a[d >> 0] | 0) | 0) { + f = M1(d) | 0; + c[e >> 2] = b; + c[e + 4 >> 2] = f | 32768; + c[e + 8 >> 2] = 438; + e = N_(Ha(5, e | 0) | 0) | 0; + if ((e | 0) >= 0) { + if (f & 524288 | 0) { + c[g >> 2] = e; + c[g + 4 >> 2] = 2; + c[g + 8 >> 2] = 1; + Ea(221, g | 0) | 0 + } + b = z1(e, d) | 0; + if (!b) { + c[h >> 2] = e; + Ja(6, h | 0) | 0; + b = 0 + } + } else b = 0 + } else { + c[(O_() | 0) >> 2] = 22; + b = 0 + } + l = i; + return b | 0 + } + + function M1(b) { + b = b | 0; + var c = 0, d = 0, e = 0; + d = (A$(b, 43) | 0) == 0; + c = a[b >> 0] | 0; + d = d ? c << 24 >> 24 != 114 & 1 : 2; + e = (A$(b, 120) | 0) == 0; + d = e ? d : d | 128; + b = (A$(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 N1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = l; + l = l + 16 | 0; + f = e; + c[f >> 2] = d; + d = O1(a, b, f) | 0; + l = e; + return d | 0 + } + + function O1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + g = l; + l = l + 128 | 0; + e = g; + f = e; + h = f + 124 | 0; + do { + c[f >> 2] = 0; + f = f + 4 | 0 + } while ((f | 0) < (h | 0)); + c[e + 32 >> 2] = 38; + c[e + 44 >> 2] = a; + c[e + 76 >> 2] = -1; + c[e + 84 >> 2] = a; + h = Q1(e, b, d) | 0; + l = g; + return h | 0 + } + + function P1(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return Y1(a, b, c) | 0 + } + + function Q1(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var i = 0, j = 0, k = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, + x = 0, y = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; + L = l; + l = l + 288 | 0; + F = L + 8 | 0; + G = L + 17 | 0; + H = L; + I = L + 16 | 0; + if ((c[b + 76 >> 2] | 0) > -1) K = t0(b) | 0; else K = 0; + i = a[e >> 0] | 0; + a:do if (i << 24 >> 24) { + y = b + 4 | 0; + A = b + 100 | 0; + B = b + 108 | 0; + C = b + 8 | 0; + D = G + 10 | 0; + E = G + 33 | 0; + x = F + 4 | 0; + p = e; + u = 0; + e = 0; + j = 0; + k = i; + i = 0; + b:while (1) { + c:do if (!(B$(k & 255) | 0)) { + k = (a[p >> 0] | 0) == 37; + d:do if (k) { + m = p + 1 | 0; + n = a[m >> 0] | 0; + e:do switch (n << 24 >> 24) { + case 37: + break d; + case 42: { + w = 0; + m = p + 2 | 0; + break + } + default: { + if (E$(n & 255) | 0 ? (a[p + 2 >> 0] | 0) == 36 : 0) { + w = R1(f, (d[m >> 0] | 0) + -48 | 0) | 0; + m = p + 3 | 0; + break e + } + v = (c[f >> 2] | 0) + (4 - 1) & ~(4 - 1); + w = c[v >> 2] | 0; + c[f >> 2] = v + 4 + } + } while (0); + if (!(E$(d[m >> 0] | 0) | 0)) s = 0; else { + k = 0; + do { + k = (k * 10 | 0) + -48 + (d[m >> 0] | 0) | 0; + m = m + 1 | 0 + } while ((E$(d[m >> 0] | 0) | 0) != 0); + s = k + } + p = a[m >> 0] | 0; + n = m + 1 | 0; + if (p << 24 >> 24 == 109) { + k = (w | 0) != 0 & 1; + j = 0; + m = n; + p = a[n >> 0] | 0; + i = 0 + } else k = 0; + n = m + 1 | 0; + switch (p << 24 >> 24) { + case 104: { + v = (a[n >> 0] | 0) == 104; + p = v ? -2 : -1; + m = v ? m + 2 | 0 : n; + break + } + case 108: { + v = (a[n >> 0] | 0) == 108; + p = v ? 3 : 1; + m = v ? m + 2 | 0 : n; + break + } + case 106: { + p = 3; + m = n; + break + } + case 116: + case 122: { + p = 1; + m = n; + break + } + case 76: { + p = 2; + m = n; + break + } + case 110: + case 112: + case 67: + case 83: + case 91: + case 99: + case 115: + case 88: + case 71: + case 70: + case 69: + case 65: + case 103: + case 102: + case 101: + case 97: + case 120: + case 117: + case 111: + case 105: + case 100: { + p = 0; + break + } + default: { + J = 136; + break b + } + } + r = d[m >> 0] | 0; + t = (r & 47 | 0) == 3; + r = t ? r | 32 : r; + t = t ? 1 : p; + q = r & 255; + switch (q << 24 >> 24) { + case 99: { + s = (s | 0) > 1 ? s : 1; + break + } + case 91: + break; + case 110: { + S1(w, t, u, ((u | 0) < 0) << 31 >> 31); + n = u; + break c + } + default: { + G$(b, 0); + do { + n = c[y >> 2] | 0; + if (n >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = n + 1; + n = d[n >> 0] | 0 + } else n = I$(b) | 0 + } while ((B$(n) | 0) != 0); + if (!(c[A >> 2] | 0)) n = c[y >> 2] | 0; else { + n = (c[y >> 2] | 0) + -1 | 0; + c[y >> 2] = n + } + u = (c[B >> 2] | 0) + u + n - (c[C >> 2] | 0) | 0 + } + } + G$(b, s); + p = c[y >> 2] | 0; + n = c[A >> 2] | 0; + if (p >>> 0 < n >>> 0) c[y >> 2] = p + 1; else { + if ((I$(b) | 0) < 0) { + J = 136; + break b + } + n = c[A >> 2] | 0 + } + if (n | 0) c[y >> 2] = (c[y >> 2] | 0) + -1; + f:do switch (q << 24 >> 24) { + case 91: + case 99: + case 115: { + v = (r | 0) == 99; + g:do if ((r | 16 | 0) == 115) { + H3(G | 0, -1, 257) | 0; + a[G >> 0] = 0; + if ((r | 0) == 115) { + a[E >> 0] = 0; + a[D >> 0] = 0; + a[D + 1 >> 0] = 0; + a[D + 2 >> 0] = 0; + a[D + 3 >> 0] = 0; + a[D + 4 >> 0] = 0 + } + } else { + n = m + 1 | 0; + q = (a[n >> 0] | 0) == 94; + r = q & 1; + m = q ? m + 2 | 0 : n; + H3(G | 0, r | 0, 257) | 0; + a[G >> 0] = 0; + n = a[m >> 0] | 0; + switch (n << 24 >> 24) { + case 45: { + n = 46; + J = 65; + break + } + case 93: { + n = 94; + J = 65; + break + } + default: { + } + } + while (1) { + if ((J | 0) == 65) { + J = 0; + a[G + n >> 0] = r ^ 1; + n = m + 1 | 0; + m = n; + n = a[n >> 0] | 0 + } + h:do switch (n << 24 >> 24) { + case 0: { + J = 136; + break b + } + case 93: + break g; + case 45: { + q = m + 1 | 0; + n = a[q >> 0] | 0; + switch (n << 24 >> 24) { + case 93: + case 0: { + n = 45; + break h + } + default: { + } + } + m = a[m + -1 >> 0] | 0; + if ((m & 255) < (n & 255)) { + p = (r ^ 1) & 255; + m = m & 255; + do { + m = m + 1 | 0; + a[G + m >> 0] = p; + n = a[q >> 0] | 0 + } while ((m | 0) < (n & 255 | 0)); + m = q + } else m = q; + break + } + default: { + } + } while (0); + n = (n & 255) + 1 | 0; + J = 65 + } + } while (0); + n = v ? s + 1 | 0 : 31; + r = (t | 0) == 1; + t = (k | 0) != 0; + i:do if (r) { + if (t) { + i = C_(n << 2) | 0; + if (!i) { + j = 0; + i = 0; + J = 136; + break b + } + } else i = w; + c[F >> 2] = 0; + c[x >> 2] = 0; + q = n; + j = 0; + j:while (1) { + p = (i | 0) == 0; + do { + k:while (1) { + n = c[y >> 2] | 0; + if (n >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = n + 1; + n = d[n >> 0] | 0 + } else n = I$(b) | 0; + if (!(a[G + (n + 1) >> 0] | 0)) break j; + a[I >> 0] = n; + switch (X$(H, I, 1, F) | 0) { + case -1: { + j = 0; + J = 136; + break b + } + case -2: + break; + default: + break k + } + } + if (!p) { + c[i + (j << 2) >> 2] = c[H >> 2]; + j = j + 1 | 0 + } + } while (!(t & (j | 0) == (q | 0))); + j = q << 1 | 1; + n = F_(i, j << 2) | 0; + if (!n) { + j = 0; + J = 136; + break b + } else { + p = q; + q = j; + i = n; + j = p + } + } + if (!(T1(F) | 0)) { + j = 0; + J = 136; + break b + } else { + q = j; + j = 0; + p = i + } + } else { + if (t) { + j = C_(n) | 0; + if (!j) { + j = 0; + i = 0; + J = 136; + break b + } else { + p = n; + i = 0 + } + while (1) { + do { + n = c[y >> 2] | 0; + if (n >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = n + 1; + n = d[n >> 0] | 0 + } else n = I$(b) | 0; + if (!(a[G + (n + 1) >> 0] | 0)) { + q = i; + p = 0; + i = 0; + break i + } + a[j + i >> 0] = n; + i = i + 1 | 0 + } while ((i | 0) != (p | 0)); + i = p << 1 | 1; + n = F_(j, i) | 0; + if (!n) { + i = 0; + J = 136; + break b + } else { + q = p; + p = i; + j = n; + i = q + } + } + } + if (!w) while (1) { + i = c[y >> 2] | 0; + if (i >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0; + if (!(a[G + (i + 1) >> 0] | 0)) { + q = 0; + j = 0; + p = 0; + i = 0; + break i + } + } else j = 0; + while (1) { + i = c[y >> 2] | 0; + if (i >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + i = d[i >> 0] | 0 + } else i = I$(b) | 0; + if (!(a[G + (i + 1) >> 0] | 0)) { + q = j; + j = w; + p = 0; + i = 0; + break i + } + a[w + j >> 0] = i; + j = j + 1 | 0 + } + } while (0); + if (!(c[A >> 2] | 0)) n = c[y >> 2] | 0; else { + n = (c[y >> 2] | 0) + -1 | 0; + c[y >> 2] = n + } + n = n - (c[C >> 2] | 0) + (c[B >> 2] | 0) | 0; + if (!n) break b; + if (!((n | 0) == (s | 0) | v ^ 1)) break b; + do if (t) if (r) { + c[w >> 2] = p; + break + } else { + c[w >> 2] = j; + break + } while (0); + if (!v) { + if (p | 0) c[p + (q << 2) >> 2] = 0; + if (!j) { + j = 0; + break f + } + a[j + q >> 0] = 0 + } + break + } + case 120: + case 88: + case 112: { + n = 16; + J = 124; + break + } + case 111: { + n = 8; + J = 124; + break + } + case 117: + case 100: { + n = 10; + J = 124; + break + } + case 105: { + n = 0; + J = 124; + break + } + case 71: + case 103: + case 70: + case 102: + case 69: + case 101: + case 65: + case 97: { + o = +U1(b, t, 0); + if ((c[B >> 2] | 0) == ((c[C >> 2] | 0) - (c[y >> 2] | 0) | 0)) break b; + if (w) switch (t | 0) { + case 0: { + g[w >> 2] = o; + break f + } + case 1: { + h[w >> 3] = o; + break f + } + case 2: { + h[w >> 3] = o; + break f + } + default: + break f + } + break + } + default: { + } + } while (0); + do if ((J | 0) == 124) { + J = 0; + n = H$(b, n, 0, -1, -1) | 0; + if ((c[B >> 2] | 0) == ((c[C >> 2] | 0) - (c[y >> 2] | 0) | 0)) break b; + if ((w | 0) != 0 & (r | 0) == 112) { + c[w >> 2] = n; + break + } else { + S1(w, t, n, z); + break + } + } while (0); + e = e + ((w | 0) != 0 & 1) | 0; + n = (c[B >> 2] | 0) + u + (c[y >> 2] | 0) - (c[C >> 2] | 0) | 0; + break c + } while (0); + m = p + (k & 1) | 0; + G$(b, 0); + k = c[y >> 2] | 0; + if (k >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = k + 1; + k = d[k >> 0] | 0 + } else k = I$(b) | 0; + if ((k | 0) != (d[m >> 0] | 0)) { + J = 22; + break b + } + n = u + 1 | 0 + } else { + m = p; + while (1) { + k = m + 1 | 0; + if (!(B$(d[k >> 0] | 0) | 0)) break; else m = k + } + G$(b, 0); + do { + k = c[y >> 2] | 0; + if (k >>> 0 < (c[A >> 2] | 0) >>> 0) { + c[y >> 2] = k + 1; + k = d[k >> 0] | 0 + } else k = I$(b) | 0 + } while ((B$(k) | 0) != 0); + if (!(c[A >> 2] | 0)) k = c[y >> 2] | 0; else { + k = (c[y >> 2] | 0) + -1 | 0; + c[y >> 2] = k + } + n = (c[B >> 2] | 0) + u + k - (c[C >> 2] | 0) | 0 + } while (0); + p = m + 1 | 0; + k = a[p >> 0] | 0; + if (!(k << 24 >> 24)) break a; else u = n + } + if ((J | 0) == 22) { + if (c[A >> 2] | 0) c[y >> 2] = (c[y >> 2] | 0) + -1; + if ((e | 0) != 0 | (k | 0) > -1) break; else { + e = 0; + J = 137 + } + } else if ((J | 0) == 136) if (!e) { + e = k; + J = 137 + } + if ((J | 0) == 137) { + k = e; + e = -1 + } + if (k) { + D_(j); + D_(i) + } + } else e = 0; while (0); + if (K | 0) u0(b); + l = L; + return e | 0 + } + + function R1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + e = l; + l = l + 16 | 0; + d = e; + c[d >> 2] = c[a >> 2]; + while (1) { + f = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1); + a = c[f >> 2] | 0; + c[d >> 2] = f + 4; + if (b >>> 0 > 1) b = b + -1 | 0; else break + } + l = e; + return a | 0 + } + + function S1(d, e, f, g) { + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + a:do if (d | 0) switch (e | 0) { + case -2: { + a[d >> 0] = f; + break a + } + case -1: { + b[d >> 1] = f; + break a + } + case 0: { + c[d >> 2] = f; + break a + } + case 1: { + c[d >> 2] = f; + break a + } + case 3: { + e = d; + c[e >> 2] = f; + c[e + 4 >> 2] = g; + break a + } + default: + break a + } while (0); + return + } + + function T1(a) { + a = a | 0; + if (!a) a = 1; else a = (c[a >> 2] | 0) == 0 & 1; + return a | 0 + } + + function U1(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0.0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + switch (e | 0) { + case 0: { + l = -149; + m = 24; + j = 4; + break + } + case 1: { + l = -1074; + m = 53; + j = 4; + break + } + case 2: { + l = -1074; + m = 53; + j = 4; + break + } + default: + g = 0.0 + } + a:do if ((j | 0) == 4) { + o = b + 4 | 0; + n = b + 100 | 0; + do { + e = c[o >> 2] | 0; + if (e >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(b) | 0 + } while ((B$(e) | 0) != 0); + b:do switch (e | 0) { + case 43: + case 45: { + i = 1 - (((e | 0) == 45 & 1) << 1) | 0; + e = c[o >> 2] | 0; + if (e >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = e + 1; + h = d[e >> 0] | 0; + break b + } else { + h = I$(b) | 0; + break b + } + } + default: { + h = e; + i = 1 + } + } while (0); + e = 0; + do { + if ((h | 32 | 0) != (a[150502 + e >> 0] | 0)) break; + do if (e >>> 0 < 7) { + h = c[o >> 2] | 0; + if (h >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = h + 1; + h = d[h >> 0] | 0; + break + } else { + h = I$(b) | 0; + break + } + } while (0); + e = e + 1 | 0 + } while (e >>> 0 < 8); + c:do switch (e | 0) { + case 8: + break; + case 3: { + j = 23; + break + } + default: { + k = (f | 0) != 0; + if (k & e >>> 0 > 3) if ((e | 0) == 8) break c; else { + j = 23; + break c + } + d:do if (!e) { + e = 0; + do { + if ((h | 32 | 0) != (a[150511 + e >> 0] | 0)) break d; + do if (e >>> 0 < 2) { + h = c[o >> 2] | 0; + if (h >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = h + 1; + h = d[h >> 0] | 0; + break + } else { + h = I$(b) | 0; + break + } + } while (0); + e = e + 1 | 0 + } while (e >>> 0 < 3) + } while (0); + switch (e | 0) { + case 3: { + e = c[o >> 2] | 0; + if (e >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(b) | 0; + if ((e | 0) == 40) e = 1; else { + if (!(c[n >> 2] | 0)) { + g = s; + break a + } + c[o >> 2] = (c[o >> 2] | 0) + -1; + g = s; + break a + } + while (1) { + h = c[o >> 2] | 0; + if (h >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = h + 1; + h = d[h >> 0] | 0 + } else h = I$(b) | 0; + if (!((h + -48 | 0) >>> 0 < 10 | (h + -65 | 0) >>> 0 < 26) ? !((h | 0) == 95 | (h + -97 | 0) >>> 0 < 26) : 0) break; + e = e + 1 | 0 + } + if ((h | 0) == 41) { + g = s; + break a + } + h = (c[n >> 2] | 0) == 0; + if (!h) c[o >> 2] = (c[o >> 2] | 0) + -1; + if (!k) { + c[(O_() | 0) >> 2] = 22; + G$(b, 0); + g = 0.0; + break a + } + if (!e) { + g = s; + break a + } + while (1) { + e = e + -1 | 0; + if (!h) c[o >> 2] = (c[o >> 2] | 0) + -1; + if (!e) { + g = s; + break a + } + } + } + case 0: { + if ((h | 0) == 48) { + e = c[o >> 2] | 0; + if (e >>> 0 < (c[n >> 2] | 0) >>> 0) { + c[o >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(b) | 0; + if ((e | 32 | 0) == 120) { + g = +V1(b, m, l, i, f); + break a + } + if (!(c[n >> 2] | 0)) e = 48; else { + c[o >> 2] = (c[o >> 2] | 0) + -1; + e = 48 + } + } else e = h; + g = +W1(b, e, m, l, i, f); + break a + } + default: { + if (c[n >> 2] | 0) c[o >> 2] = (c[o >> 2] | 0) + -1; + c[(O_() | 0) >> 2] = 22; + G$(b, 0); + g = 0.0; + break a + } + } + } + } while (0); + if ((j | 0) == 23) { + h = (c[n >> 2] | 0) == 0; + if (!h) c[o >> 2] = (c[o >> 2] | 0) + -1; + if ((f | 0) != 0 & e >>> 0 > 3) do { + if (!h) c[o >> 2] = (c[o >> 2] | 0) + -1; + e = e + -1 | 0 + } while (e >>> 0 > 3) + } + g = +(i | 0) * t + } while (0); + return +g + } + + function V1(a, b, e, f, g) { + a = a | 0; + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0.0, i = 0, j = 0, k = 0.0, l = 0, m = 0, n = 0, o = 0.0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0; + y = a + 4 | 0; + i = c[y >> 2] | 0; + x = a + 100 | 0; + if (i >>> 0 < (c[x >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + j = d[i >> 0] | 0; + l = 0 + } else { + j = I$(a) | 0; + l = 0 + } + a:while (1) { + switch (j | 0) { + case 46: { + w = 8; + break a + } + case 48: + break; + default: { + s = 0; + n = 0; + o = 1.0; + h = 0.0; + i = 0; + m = j; + t = l; + v = 0; + u = 0; + l = 0; + j = 0; + break a + } + } + i = c[y >> 2] | 0; + if (i >>> 0 < (c[x >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + j = d[i >> 0] | 0; + l = 1; + continue + } else { + j = I$(a) | 0; + l = 1; + continue + } + } + if ((w | 0) == 8) { + i = c[y >> 2] | 0; + if (i >>> 0 < (c[x >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + j = d[i >> 0] | 0 + } else j = I$(a) | 0; + if ((j | 0) == 48) { + l = 0; + j = 0; + do { + i = c[y >> 2] | 0; + if (i >>> 0 < (c[x >> 2] | 0) >>> 0) { + c[y >> 2] = i + 1; + m = d[i >> 0] | 0 + } else m = I$(a) | 0; + l = s3(l | 0, j | 0, -1, -1) | 0; + j = z + } while ((m | 0) == 48); + s = 1; + n = 0; + o = 1.0; + h = 0.0; + i = 0; + t = 1; + v = 0; + u = 0 + } else { + s = 1; + n = 0; + o = 1.0; + h = 0.0; + i = 0; + m = j; + t = l; + v = 0; + u = 0; + l = 0; + j = 0 + } + } + while (1) { + q = m + -48 | 0; + p = m | 32; + if (q >>> 0 >= 10) { + r = (m | 0) == 46; + if (!(r | (p + -97 | 0) >>> 0 < 6)) break; + if (r) if (!s) { + s = 1; + k = o; + r = t; + l = u; + j = v; + q = u; + p = v + } else { + m = 46; + break + } else w = 20 + } else w = 20; + if ((w | 0) == 20) { + w = 0; + m = (m | 0) > 57 ? p + -87 | 0 : q; + do if (!((v | 0) < 0 | (v | 0) == 0 & u >>> 0 < 8)) if ((v | 0) < 0 | (v | 0) == 0 & u >>> 0 < 14) { + o = o * .0625; + k = o; + h = h + o * +(m | 0); + break + } else { + t = (n | 0) != 0 | (m | 0) == 0; + n = t ? n : 1; + k = o; + h = t ? h : h + o * .5; + break + } else { + k = o; + i = m + (i << 4) | 0 + } while (0); + q = s3(u | 0, v | 0, 1, 0) | 0; + r = 1; + p = z + } + m = c[y >> 2] | 0; + if (m >>> 0 < (c[x >> 2] | 0) >>> 0) { + c[y >> 2] = m + 1; + o = k; + m = d[m >> 0] | 0; + t = r; + v = p; + u = q; + continue + } else { + o = k; + m = I$(a) | 0; + t = r; + v = p; + u = q; + continue + } + } + do if (!t) { + i = (c[x >> 2] | 0) == 0; + if (!i) c[y >> 2] = (c[y >> 2] | 0) + -1; + if (g) { + if (!i) c[y >> 2] = (c[y >> 2] | 0) + -1; + if (!((s | 0) == 0 | i)) c[y >> 2] = (c[y >> 2] | 0) + -1 + } else G$(a, 0); + h = +(f | 0) * 0.0 + } else { + p = (s | 0) == 0; + q = p ? u : l; + p = p ? v : j; + if ((v | 0) < 0 | (v | 0) == 0 & u >>> 0 < 8) { + l = u; + j = v; + while (1) { + i = i << 4; + w = l; + l = s3(l | 0, j | 0, 1, 0) | 0; + if (!((j | 0) < 0 | (j | 0) == 0 & w >>> 0 < 7)) { + n = i; + break + } else j = z + } + } else n = i; + if ((m | 32 | 0) == 112) { + j = X1(a, g) | 0; + i = z; + if ((j | 0) == 0 & (i | 0) == -2147483648) { + if (!g) { + G$(a, 0); + h = 0.0; + break + } + if (!(c[x >> 2] | 0)) { + j = 0; + i = 0 + } else { + c[y >> 2] = (c[y >> 2] | 0) + -1; + j = 0; + i = 0 + } + } + } else if (!(c[x >> 2] | 0)) { + j = 0; + i = 0 + } else { + c[y >> 2] = (c[y >> 2] | 0) + -1; + j = 0; + i = 0 + } + l = A3(q | 0, p | 0, 2) | 0; + l = s3(l | 0, z | 0, -32, -1) | 0; + l = s3(l | 0, z | 0, j | 0, i | 0) | 0; + i = z; + if (!n) { + h = +(f | 0) * 0.0; + break + } + y = 0 - e | 0; + g = ((y | 0) < 0) << 31 >> 31; + if ((i | 0) > (g | 0) | (i | 0) == (g | 0) & l >>> 0 > y >>> 0) { + c[(O_() | 0) >> 2] = 34; + h = +(f | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; + break + } + y = e + -106 | 0; + g = ((y | 0) < 0) << 31 >> 31; + if ((i | 0) < (g | 0) | (i | 0) == (g | 0) & l >>> 0 < y >>> 0) { + c[(O_() | 0) >> 2] = 34; + h = +(f | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; + break + } + if ((n | 0) > -1) { + j = n; + do { + y = !(h >= .5); + j = j << 1 | (y ^ 1) & 1; + h = h + (y ? h : h + -1.0); + l = s3(l | 0, i | 0, -1, -1) | 0; + i = z + } while ((j | 0) > -1); + o = h; + m = j + } else { + o = h; + m = n + } + y = ((b | 0) < 0) << 31 >> 31; + e = t3(32, 0, e | 0, ((e | 0) < 0) << 31 >> 31 | 0) | 0; + i = s3(e | 0, z | 0, l | 0, i | 0) | 0; + e = z; + if ((e | 0) < (y | 0) | (e | 0) == (y | 0) & i >>> 0 < b >>> 0) if ((i | 0) > 0) w = 59; else { + j = 0; + i = 84; + w = 61 + } else { + i = b; + w = 59 + } + if ((w | 0) == 59) if ((i | 0) < 53) { + j = i; + i = 84 - i | 0; + w = 61 + } else { + k = 0.0; + h = +(f | 0) + } + if ((w | 0) == 61) { + h = +(f | 0); + k = +p$(+m$(1.0, i), h); + i = j + } + f = (m & 1 | 0) == 0 & (o != 0.0 & (i | 0) < 32); + h = (f ? 0.0 : o) * h + (k + h * +((m + (f & 1) | 0) >>> 0)) - k; + if (!(h != 0.0)) c[(O_() | 0) >> 2] = 34; + h = +q$(h, l) + } while (0); + return +h + } + + function W1(a, b, e, f, g, h) { + a = a | 0; + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var i = 0.0, j = 0.0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0.0, s = 0.0, t = 0.0, u = 0, v = 0, + w = 0, x = 0, y = 0, A = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0.0; + J = l; + l = l + 512 | 0; + G = J; + H = f + e | 0; + I = 0 - H | 0; + D = a + 4 | 0; + E = a + 100 | 0; + k = 0; + a:while (1) { + switch (b | 0) { + case 46: { + A = 6; + break a + } + case 48: + break; + default: { + v = 0; + p = k; + q = 0; + o = 0; + break a + } + } + b = c[D >> 2] | 0; + if (b >>> 0 < (c[E >> 2] | 0) >>> 0) { + c[D >> 2] = b + 1; + b = d[b >> 0] | 0; + k = 1; + continue + } else { + b = I$(a) | 0; + k = 1; + continue + } + } + if ((A | 0) == 6) { + b = c[D >> 2] | 0; + if (b >>> 0 < (c[E >> 2] | 0) >>> 0) { + c[D >> 2] = b + 1; + b = d[b >> 0] | 0 + } else b = I$(a) | 0; + if ((b | 0) == 48) { + k = 0; + b = 0; + while (1) { + k = s3(k | 0, b | 0, -1, -1) | 0; + o = z; + b = c[D >> 2] | 0; + if (b >>> 0 < (c[E >> 2] | 0) >>> 0) { + c[D >> 2] = b + 1; + b = d[b >> 0] | 0 + } else b = I$(a) | 0; + if ((b | 0) == 48) b = o; else { + v = 1; + p = 1; + q = k; + break + } + } + } else { + v = 1; + p = k; + q = 0; + o = 0 + } + } + c[G >> 2] = 0; + n = b + -48 | 0; + m = (b | 0) == 46; + b:do if (m | n >>> 0 < 10) { + C = G + 496 | 0; + w = 0; + k = 0; + u = 0; + x = v; + y = p; + A = n; + p = 0; + n = 0; + c:while (1) { + do if (m) if (!x) { + x = 1; + q = p; + o = n + } else break c; else { + p = s3(p | 0, n | 0, 1, 0) | 0; + n = z; + v = (b | 0) != 48; + if ((k | 0) >= 125) { + if (!v) break; + c[C >> 2] = c[C >> 2] | 1; + break + } + m = G + (k << 2) | 0; + if (!w) b = A; else b = b + -48 + ((c[m >> 2] | 0) * 10 | 0) | 0; + c[m >> 2] = b; + w = w + 1 | 0; + y = (w | 0) == 9; + w = y ? 0 : w; + k = k + (y & 1) | 0; + u = v ? p : u; + y = 1 + } while (0); + b = c[D >> 2] | 0; + if (b >>> 0 < (c[E >> 2] | 0) >>> 0) { + c[D >> 2] = b + 1; + b = d[b >> 0] | 0 + } else b = I$(a) | 0; + A = b + -48 | 0; + m = (b | 0) == 46; + if (!(m | A >>> 0 < 10)) { + v = x; + m = y; + A = 29; + break b + } + } + b = w; + m = (y | 0) != 0; + A = 37 + } else { + w = 0; + k = 0; + u = 0; + m = p; + p = 0; + n = 0; + A = 29 + } while (0); + do if ((A | 0) == 29) { + C = (v | 0) == 0; + q = C ? p : q; + o = C ? n : o; + m = (m | 0) != 0; + if (!(m & (b | 32 | 0) == 101)) if ((b | 0) > -1) { + b = w; + A = 37; + break + } else { + b = w; + A = 39; + break + } + m = X1(a, h) | 0; + b = z; + if ((m | 0) == 0 & (b | 0) == -2147483648) { + if (!h) { + G$(a, 0); + i = 0.0; + break + } + if (!(c[E >> 2] | 0)) { + m = 0; + b = 0 + } else { + c[D >> 2] = (c[D >> 2] | 0) + -1; + m = 0; + b = 0 + } + } + y = s3(m | 0, b | 0, q | 0, o | 0) | 0; + b = w; + o = z; + A = 41 + } while (0); + if ((A | 0) == 37) if (c[E >> 2] | 0) { + c[D >> 2] = (c[D >> 2] | 0) + -1; + if (m) { + y = q; + A = 41 + } else A = 40 + } else A = 39; + if ((A | 0) == 39) if (m) { + y = q; + A = 41 + } else A = 40; + do if ((A | 0) == 40) { + c[(O_() | 0) >> 2] = 22; + G$(a, 0); + i = 0.0 + } else if ((A | 0) == 41) { + m = c[G >> 2] | 0; + if (!m) { + i = +(g | 0) * 0.0; + break + } + if (((n | 0) < 0 | (n | 0) == 0 & p >>> 0 < 10) & ((y | 0) == (p | 0) & (o | 0) == (n | 0)) ? (e | 0) > 30 | (m >>> e | 0) == 0 : 0) { + i = +(g | 0) * +(m >>> 0); + break + } + a = (f | 0) / -2 | 0; + E = ((a | 0) < 0) << 31 >> 31; + if ((o | 0) > (E | 0) | (o | 0) == (E | 0) & y >>> 0 > a >>> 0) { + c[(O_() | 0) >> 2] = 34; + i = +(g | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; + break + } + a = f + -106 | 0; + E = ((a | 0) < 0) << 31 >> 31; + if ((o | 0) < (E | 0) | (o | 0) == (E | 0) & y >>> 0 < a >>> 0) { + c[(O_() | 0) >> 2] = 34; + i = +(g | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; + break + } + if (b) { + if ((b | 0) < 9) { + n = G + (k << 2) | 0; + m = c[n >> 2] | 0; + while (1) { + m = m * 10 | 0; + if ((b | 0) >= 8) break; else b = b + 1 | 0 + } + c[n >> 2] = m + } + k = k + 1 | 0 + } + if ((u | 0) < 9 ? (u | 0) <= (y | 0) & (y | 0) < 18 : 0) { + if ((y | 0) == 9) { + i = +(g | 0) * +((c[G >> 2] | 0) >>> 0); + break + } + if ((y | 0) < 9) { + i = +(g | 0) * +((c[G >> 2] | 0) >>> 0) / +(c[63608 + (8 - y << 2) >> 2] | 0); + break + } + a = e + 27 + (O(y, -3) | 0) | 0; + b = c[G >> 2] | 0; + if ((a | 0) > 30 | (b >>> a | 0) == 0) { + i = +(g | 0) * +(b >>> 0) * +(c[63608 + (y + -10 << 2) >> 2] | 0); + break + } + } + b = (y | 0) % 9 | 0; + if (!b) { + b = 0; + n = 0 + } else { + u = (y | 0) > -1 ? b : b + 9 | 0; + p = c[63608 + (8 - u << 2) >> 2] | 0; + if (k) { + q = 1e9 / (p | 0) | 0; + n = 0; + o = 0; + m = y; + b = 0; + do { + D = G + (b << 2) | 0; + E = c[D >> 2] | 0; + a = ((E >>> 0) / (p >>> 0) | 0) + n | 0; + c[D >> 2] = a; + n = O(q, (E >>> 0) % (p >>> 0) | 0) | 0; + a = (b | 0) == (o | 0) & (a | 0) == 0; + m = a ? m + -9 | 0 : m; + o = a ? o + 1 & 127 : o; + b = b + 1 | 0 + } while ((b | 0) != (k | 0)); + if (!n) n = o; else { + c[G + (k << 2) >> 2] = n; + n = o; + k = k + 1 | 0 + } + } else { + n = 0; + k = 0; + m = y + } + b = 0; + y = 9 - u + m | 0 + } + d:while (1) { + u = (y | 0) < 18; + v = (y | 0) == 18; + w = G + (n << 2) | 0; + while (1) { + if (!u) { + if (!v) { + m = y; + break d + } + if ((c[w >> 2] | 0) >>> 0 >= 9007199) { + m = 18; + break d + } + } + m = 0; + x = k; + k = k + 127 | 0; + while (1) { + o = k & 127; + p = G + (o << 2) | 0; + k = A3(c[p >> 2] | 0, 0, 29) | 0; + k = s3(k | 0, z | 0, m | 0, 0) | 0; + m = z; + if (m >>> 0 > 0 | (m | 0) == 0 & k >>> 0 > 1e9) { + q = w3(k | 0, m | 0, 1e9, 0) | 0; + k = x3(k | 0, m | 0, 1e9, 0) | 0 + } else q = 0; + c[p >> 2] = k; + a = (o | 0) == (n | 0); + x = (k | 0) == 0 & (((o | 0) != (x + 127 & 127 | 0) | a) ^ 1) ? o : x; + if (a) break; else { + m = q; + k = o + -1 | 0 + } + } + b = b + -29 | 0; + if (q | 0) break; else k = x + } + n = n + 127 & 127; + k = x + 127 & 127; + m = G + ((x + 126 & 127) << 2) | 0; + if ((n | 0) == (x | 0)) c[m >> 2] = c[m >> 2] | c[G + (k << 2) >> 2]; else k = x; + c[G + (n << 2) >> 2] = q; + y = y + 9 | 0 + } + e:while (1) { + w = k + 1 & 127; + x = G + ((k + 127 & 127) << 2) | 0; + while (1) { + q = (m | 0) == 18; + v = (m | 0) > 27 ? 9 : 1; + y = n; + while (1) { + p = 0; + while (1) { + n = p + y & 127; + if ((n | 0) == (k | 0)) { + F = 2; + A = 88; + break + } + n = c[G + (n << 2) >> 2] | 0; + o = c[63640 + (p << 2) >> 2] | 0; + if (n >>> 0 < o >>> 0) { + F = 2; + A = 88; + break + } + if (n >>> 0 > o >>> 0) break; + n = p + 1 | 0; + if ((p | 0) < 1) p = n; else { + F = n; + A = 88; + break + } + } + if ((A | 0) == 88 ? (A = 0, q & (F | 0) == 2) : 0) { + i = 0.0; + o = 0; + break e + } + b = v + b | 0; + if ((y | 0) == (k | 0)) y = k; else break + } + q = (1 << v) + -1 | 0; + u = 1e9 >>> v; + p = 0; + n = y; + o = y; + do { + D = G + (o << 2) | 0; + E = c[D >> 2] | 0; + a = (E >>> v) + p | 0; + c[D >> 2] = a; + p = O(E & q, u) | 0; + a = (o | 0) == (n | 0) & (a | 0) == 0; + m = a ? m + -9 | 0 : m; + n = a ? n + 1 & 127 : n; + o = o + 1 & 127 + } while ((o | 0) != (k | 0)); + if (!p) continue; + if ((w | 0) != (n | 0)) break; + c[x >> 2] = c[x >> 2] | 1 + } + c[G + (k << 2) >> 2] = p; + k = w + } + do { + n = o + y & 127; + m = k + 1 & 127; + if ((n | 0) == (k | 0)) { + c[G + (m + -1 << 2) >> 2] = 0; + k = m + } + i = i * 1.0e9 + +((c[G + (n << 2) >> 2] | 0) >>> 0); + o = o + 1 | 0 + } while ((o | 0) != 2); + t = +(g | 0); + j = i * t; + o = b + 53 | 0; + p = o - f | 0; + q = (p | 0) < (e | 0); + n = q ? ((p | 0) > 0 ? p : 0) : e; + if ((n | 0) < 53) { + K = +p$(+m$(1.0, 105 - n | 0), j); + r = +r$(j, +m$(1.0, 53 - n | 0)); + s = K; + i = r; + r = K + (j - r) + } else { + s = 0.0; + i = 0.0; + r = j + } + m = y + 2 & 127; + if ((m | 0) != (k | 0)) { + m = c[G + (m << 2) >> 2] | 0; + do if (m >>> 0 >= 5e8) { + if ((m | 0) != 5e8) { + i = t * .75 + i; + break + } + if ((y + 3 & 127 | 0) == (k | 0)) { + i = t * .5 + i; + break + } else { + i = t * .75 + i; + break + } + } else { + if ((m | 0) == 0 ? (y + 3 & 127 | 0) == (k | 0) : 0) break; + i = t * .25 + i + } while (0); + if ((53 - n | 0) > 1 ? !(+r$(i, 1.0) != 0.0) : 0) j = i + 1.0; else j = i + } else j = i; + i = r + j - s; + do if ((o & 2147483647 | 0) > (-2 - H | 0)) { + H = !(+B(+i) >= 9007199254740992.0); + b = b + ((H ^ 1) & 1) | 0; + i = H ? i : i * .5; + if ((b + 50 | 0) <= (I | 0) ? !(j != 0.0 & (q & ((n | 0) != (p | 0) | H))) : 0) break; + c[(O_() | 0) >> 2] = 34 + } while (0); + i = +q$(i, b) + } while (0); + l = J; + return +i + } + + function X1(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + h = a + 4 | 0; + e = c[h >> 2] | 0; + i = a + 100 | 0; + if (e >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[h >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(a) | 0; + switch (e | 0) { + case 43: + case 45: { + f = (e | 0) == 45 & 1; + e = c[h >> 2] | 0; + if (e >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[h >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(a) | 0; + if ((b | 0) != 0 & (e + -48 | 0) >>> 0 > 9 ? (c[i >> 2] | 0) != 0 : 0) c[h >> 2] = (c[h >> 2] | 0) + -1; + break + } + default: + f = 0 + } + if ((e + -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 { + g = 0; + do { + g = e + -48 + (g * 10 | 0) | 0; + e = c[h >> 2] | 0; + if (e >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[h >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(a) | 0 + } while ((e + -48 | 0) >>> 0 < 10 & (g | 0) < 214748364); + b = ((g | 0) < 0) << 31 >> 31; + if ((e + -48 | 0) >>> 0 < 10) do { + b = r3(g | 0, b | 0, 10, 0) | 0; + g = z; + e = s3(e | 0, ((e | 0) < 0) << 31 >> 31 | 0, -48, -1) | 0; + g = s3(e | 0, z | 0, b | 0, g | 0) | 0; + b = z; + e = c[h >> 2] | 0; + if (e >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[h >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(a) | 0 + } while ((e + -48 | 0) >>> 0 < 10 & ((b | 0) < 21474836 | (b | 0) == 21474836 & g >>> 0 < 2061584302)); + if ((e + -48 | 0) >>> 0 < 10) do { + e = c[h >> 2] | 0; + if (e >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[h >> 2] = e + 1; + e = d[e >> 0] | 0 + } else e = I$(a) | 0 + } while ((e + -48 | 0) >>> 0 < 10); + if (c[i >> 2] | 0) c[h >> 2] = (c[h >> 2] | 0) + -1; + i = (f | 0) != 0; + e = t3(0, 0, g | 0, b | 0) | 0; + f = i ? z : b; + e = i ? e : g + } + z = f; + return e | 0 + } + + function Y1(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 = D$(g, 0, h) | 0; + f = (f | 0) == 0 ? h : f - g | 0; + d = f >>> 0 < d >>> 0 ? f : d; + F3(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 Z1(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return _1(a, b, c) | 0 + } + + function _1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + if ((c[a + 76 >> 2] | 0) > -1) { + e = (t0(a) | 0) == 0; + b = $1(a, b, d) | 0; + if (!e) u0(a) + } else b = $1(a, b, d) | 0; + return b | 0 + } + + function $1(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + if ((d | 0) == 1) b = b - (c[a + 8 >> 2] | 0) + (c[a + 4 >> 2] | 0) | 0; + e = a + 20 | 0; + f = a + 28 | 0; + if ((c[e >> 2] | 0) >>> 0 > (c[f >> 2] | 0) >>> 0 ? (nb[c[a + 36 >> 2] & 63](a, 0, 0) | 0, (c[e >> 2] | 0) == 0) : 0) b = -1; else { + c[a + 16 >> 2] = 0; + c[f >> 2] = 0; + c[e >> 2] = 0; + if ((nb[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 a2(b) { + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0; + while (1) { + e = b + 1 | 0; + if (!(B$(a[b >> 0] | 0) | 0)) break; else b = e + } + d = a[b >> 0] | 0; + switch (d << 24 >> 24 | 0) { + case 45: { + b = 1; + f = 5; + break + } + case 43: { + b = 0; + f = 5; + break + } + default: { + g = 0; + c = b; + b = d + } + } + if ((f | 0) == 5) { + g = b; + c = e; + b = a[e >> 0] | 0 + } + if (!(E$(b << 24 >> 24) | 0)) b = 0; else { + b = 0; + do { + b = (b * 10 | 0) + 48 - (a[c >> 0] | 0) | 0; + c = c + 1 | 0 + } while ((E$(a[c >> 0] | 0) | 0) != 0) + } + return (g | 0 ? b : 0 - b | 0) | 0 + } + + function b2(a) { + a = a | 0; + return +(+c2(a, 0)) + } + + function c2(a, b) { + a = a | 0; + b = b | 0; + return +(+d2(a, b, 1)) + } + + function d2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0.0, f = 0, g = 0, h = 0, i = 0; + i = l; + l = l + 128 | 0; + h = i; + f = h; + g = f + 124 | 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; + G$(h, 0); + e = +U1(h, d, 1); + d = (c[f >> 2] | 0) - (c[g >> 2] | 0) + (c[h + 108 >> 2] | 0) | 0; + if (b | 0) c[b >> 2] = d | 0 ? a + d | 0 : a; + l = i; + return +e + } + + function e2(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 + (O(g, d) | 0) | 0; + f = lb[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 f2(a, c) { + a = a | 0; + c = c | 0; + var d = 0, f = 0, g = 0; + g = a + 2 | 0; + f = a + 4 | 0; + d = r3((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 = s3(d | 0, z | 0, e[c + 6 >> 1] | 0 | 0, 0) | 0; + d = z; + b[a >> 1] = c; + a = z3(c | 0, d | 0, 16) | 0; + b[g >> 1] = a; + b[f >> 1] = d; + z = d & 65535; + return c | 0 + } + + function g2() { + var a = 0, b = 0, d = 0; + b = 183528; + b = r3(c[b >> 2] | 0, c[b + 4 >> 2] | 0, 1284865837, 1481765933) | 0; + b = s3(b | 0, z | 0, 1, 0) | 0; + a = z; + d = 183528; + c[d >> 2] = b; + c[d + 4 >> 2] = a; + a = z3(b | 0, a | 0, 33) | 0; + return a | 0 + } + + function h2(a) { + a = a | 0; + F3(190672, 65740, 6) | 0; + F3(65740, a | 0, 6) | 0; + return 190672 + } + + function i2(a) { + a = a | 0; + var c = 0, d = 0; + c = l; + l = l + 16 | 0; + d = c; + b[d >> 1] = 13070; + b[d + 2 >> 1] = a; + b[d + 4 >> 1] = a >>> 16; + h2(d) | 0; + l = c; + return + } + + function j2(a) { + a = a | 0; + var b = 0; + b = f2(a, 65746) | 0; + b = A3(b | 0, z | 0, 4) | 0; + a = z | 1072693248; + c[j >> 2] = b; + c[j + 4 >> 2] = a; + return +(+h[j >> 3] + -1.0) + } + + function k2() { + return +(+j2(65740)) + } + + function l2(a, b) { + a = a | 0; + b = b | 0; + if (!a) b = E_(1, 24) | 0; else H3(b | 0, 0, 24) | 0; + return b | 0 + } + + function m2(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a >> 2] | 0; + if (b | 0) do { + D_(c[b >> 2] | 0); + d = b; + b = c[b + 4 >> 2] | 0; + D_(d) + } while ((b | 0) != 0); + D_(a); + return + } + + 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, h = 0, i = 0, j = 0, k = 0; + h = a + 16 | 0; + a:do if (!(c[h >> 2] | 0)) { + k = a + 12 | 0; + g = c[k >> 2] | 0; + if (g >>> 0 < f >>> 0) { + do if (b) if (!d) { + c[h >> 2] = 1; + b = 0; + break a + } else { + h = a + 8 | 0; + c[h >> 2] = d; + g = 1024; + b = d; + break + } else { + g = f << 3; + g = g >>> 0 > 1024 ? g : 1024; + j = C_(8) | 0; + if (!j) { + c[h >> 2] = 1; + b = 0; + break a + } + b = C_(g) | 0; + c[j >> 2] = b; + d = b; + if (!b) { + D_(j); + c[h >> 2] = 1; + b = 0; + break a + } + c[j + 4 >> 2] = 0; + h = a + 4 | 0; + i = c[h >> 2] | 0; + if (i | 0) c[i + 4 >> 2] = j; + if (!(c[a >> 2] | 0)) c[a >> 2] = j; + c[h >> 2] = j; + h = a + 8 | 0; + c[h >> 2] = d + } while (0); + c[k >> 2] = g + } else { + h = a + 8 | 0; + b = c[h >> 2] | 0; + d = b + } + d = d + f & 3; + d = ((d | 0) == 0 ? 0 : 4 - d | 0) + f | 0; + c[h >> 2] = b + d; + c[k >> 2] = g - d; + if (e) H3(b | 0, 0, d | 0) | 0 + } else b = 0; while (0); + return b | 0 + } + + function o2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, + t = 0, u = 0, v = 0, w = 0; + v = l; + l = l + 48 | 0; + h = v; + t = p2() | 0; + a:do if (!t) b = 12; else { + u = l2(0, 0) | 0; + if (!u) { + q2(t); + b = 12; + break + } + H3(h | 0, 0, 36) | 0; + c[h >> 2] = u; + c[h + 4 >> 2] = t; + c[h + 16 >> 2] = b; + c[h + 32 >> 2] = d; + e = h + 28 | 0; + c[e >> 2] = -1; + b = r2(h) | 0; + b:do if (!b) { + g = h + 20 | 0; + r = c[g >> 2] | 0; + c[a >> 2] = r + -1; + i = c[h + 8 >> 2] | 0; + if ((c[e >> 2] | 0) < (r | 0)) { + r = E_(1, 68) | 0; + if (r) { + q = (c[e >> 2] | 0) >>> 31 ^ 1; + c[r + 60 >> 2] = q; + c[r + 64 >> 2] = 0; + c[r + 28 >> 2] = c[g >> 2]; + if ((d & 8 | 0) == 0 | (q | 0) != 0) { + b = s2(0, t, i, r) | 0; + if (b | 0) { + g = r; + h = 0; + i = 0; + f = 0; + e = 0; + break + } + e = r + 40 | 0; + b = c[e >> 2] | 0; + if ((b | 0) > 0) { + b = C_((b << 2) + 4 | 0) | 0; + if (!b) { + g = r; + h = 0; + i = 0; + b = 12; + f = 0; + e = 0; + break + } + c[r + 32 >> 2] = b; + H3(b | 0, -1, (c[e >> 2] << 2) + 4 | 0) | 0; + f = b; + b = c[e >> 2] | 0 + } else f = 0; + q = E_(b << 1 | 1, 4) | 0; + c[r + 36 >> 2] = q; + if (!q) { + g = r; + h = 0; + i = 0; + b = 12; + f = 0; + e = 0; + break + } + b = E_(c[g >> 2] | 0, 12) | 0; + if (!b) { + g = r; + h = 0; + i = 0; + b = 12; + f = 0; + e = 0; + break + } + c[r + 16 >> 2] = b; + b = s2(u, t, i, r) | 0; + if (!b) b = f; else { + g = r; + h = 0; + i = 0; + f = 0; + e = 0; + break + } + } else b = 0; + p = h + 24 | 0; + b = t2(u, t, i, p, b) | 0; + if (!b) { + b = c[p >> 2] | 0; + c[p >> 2] = b + 1; + b = u2(u, 0, 0, b) | 0; + if ((b | 0) != 0 ? (s = v2(u, i, b) | 0, (s | 0) != 0) : 0) { + b = w2(u, t, s) | 0; + if (!b) { + o = C_(c[p >> 2] << 2) | 0; + if (o) { + q = C_(c[p >> 2] << 2) | 0; + if (q) { + b = c[p >> 2] | 0; + if ((b | 0) > 0) H3(o | 0, 0, b << 2 | 0) | 0; + x2(s, 0, o, 0) | 0; + f = c[p >> 2] | 0; + if ((f | 0) > 0) { + b = 0; + e = 0; + do { + c[q + (e << 2) >> 2] = b; + n = o + (e << 2) | 0; + b = b + 1 + (c[n >> 2] | 0) | 0; + c[n >> 2] = 0; + e = e + 1 | 0 + } while ((e | 0) < (f | 0)); + k = b + } else k = 0; + m = E_(k + 1 | 0, 32) | 0; + if (m) { + c[r >> 2] = m; + n = r + 4 | 0; + c[n >> 2] = k; + b = x2(s, m, o, q) | 0; + if (!b) { + c[r + 20 >> 2] = 0; + f = s + 24 | 0; + b = c[f >> 2] | 0; + e = 0; + while (1) { + e = e + 1 | 0; + if ((c[b >> 2] | 0) <= -1) break; else b = b + 32 | 0 + } + j = E_(e, 32) | 0; + if (!j) { + g = r; + h = o; + i = q; + b = 12; + f = o; + e = q + } else { + c[r + 8 >> 2] = j; + f = c[f >> 2] | 0; + e = c[f >> 2] | 0; + if ((e | 0) > -1) { + b = 0; + do { + c[j + (b << 5) + 8 >> 2] = m + (c[q + (e << 2) >> 2] << 5); + c[j + (b << 5) + 12 >> 2] = e; + h = j + (b << 5) + 16 | 0; + c[h >> 2] = 0; + i = f + 12 | 0; + g = c[i >> 2] | 0; + if (g | 0) { + e = 0; + do { + w = e; + e = e + 1 | 0 + } while ((c[g + (w << 2) >> 2] | 0) > -1); + e = e << 2; + g = C_(e) | 0; + c[h >> 2] = g; + if (!g) { + g = r; + h = o; + i = q; + b = 12; + f = o; + e = q; + break b + } + F3(g | 0, c[i >> 2] | 0, e | 0) | 0 + } + c[j + (b << 5) + 20 >> 2] = c[f + 16 >> 2]; + b = b + 1 | 0; + f = f + 32 | 0; + e = c[f >> 2] | 0 + } while ((e | 0) > -1) + } else b = 0; + c[j + (b << 5) + 8 >> 2] = 0; + c[n >> 2] = k; + c[r + 12 >> 2] = m + (c[q + (c[c[s + 28 >> 2] >> 2] << 2) >> 2] << 5); + c[r + 52 >> 2] = c[p >> 2]; + c[r + 56 >> 2] = d; + m2(u); + q2(t); + D_(o); + D_(q); + c[a + 4 >> 2] = r; + b = 0; + break a + } + } else { + g = r; + h = o; + i = q; + f = o; + e = q + } + } else { + g = r; + h = o; + i = q; + b = 12; + f = o; + e = q + } + } else { + g = r; + h = o; + i = q; + b = 12; + f = o; + e = 0 + } + } else { + g = r; + h = o; + i = 0; + b = 12; + f = 0; + e = 0 + } + } else { + g = r; + h = 0; + i = 0; + f = 0; + e = 0 + } + } else { + g = r; + h = 0; + i = 0; + b = 12; + f = 0; + e = 0 + } + } else { + g = r; + h = 0; + i = 0; + f = 0; + e = 0 + } + } else { + g = r; + h = 0; + i = 0; + b = 12; + f = 0; + e = 0 + } + } else { + g = 0; + h = 0; + i = 0; + b = 6; + f = 0; + e = 0 + } + } else { + g = 0; + h = 0; + i = 0; + f = 0; + e = 0 + } while (0); + m2(u); + q2(t); + if (h | 0) D_(f); + if (i | 0) D_(e); + c[a + 4 >> 2] = g; + y2(a) + } while (0); + l = v; + return b | 0 + } + + function p2() { + var a = 0, b = 0; + a = C_(20) | 0; + do if (a) { + b = C_(2048) | 0; + c[a + 16 >> 2] = b; + if (!b) { + D_(a); + a = 0; + break + } else { + c[a >> 2] = 512; + c[a + 4 >> 2] = 1024e3; + c[a + 8 >> 2] = 128; + c[a + 12 >> 2] = 0; + break + } + } while (0); + return a | 0 + } + + function q2(a) { + a = a | 0; + D_(c[a + 16 >> 2] | 0); + D_(a); + return + } + + function r2(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, + s = 0, t = 0, u = 0; + u = l; + l = l + 16 | 0; + p = u + 4 | 0; + q = u; + r = c[b + 32 >> 2] & 1; + s = b + 16 | 0; + e = c[s >> 2] | 0; + t = c[b + 4 >> 2] | 0; + d = C2(t, 0) | 0; + a:do if (!d) { + m = (r | 0) != 0; + n = b + 8 | 0; + o = b + 12 | 0; + d = 0; + k = 1; + b:while (1) { + g = 0; + h = d; + f = 0; + c:while (1) { + d = a[e >> 0] | 0; + if (m) { + if (d << 24 >> 24 == 40) break; + if ((h | 0) != 0 & d << 24 >> 24 == 41) j = 13; else j = 14 + } else if (d << 24 >> 24 == 92) switch (a[e + 1 >> 0] | 0) { + case 40: + break c; + case 41: { + j = 13; + break + } + default: + j = 14 + } else j = 14; + if ((j | 0) == 13) { + j = 0; + i = u2(c[b >> 2] | 0, -1, -1, -1) | 0; + c[n >> 2] = i; + if (!i) { + d = 12; + break a + } else i = f + } else if ((j | 0) == 14) { + j = 0; + d = R2(b, e) | 0; + if (d | 0) break a; + i = f; + e = c[o >> 2] | 0 + } + d:while (1) { + e:while (1) { + d = a[e >> 0] | 0; + switch (d << 24 >> 24) { + case 42: + case 92: + break; + default: { + if (!m) break e; + switch (d << 24 >> 24) { + case 123: + case 63: + case 43: + break; + default: + break e + } + } + } + d = d << 24 >> 24 == 92; + if (m & d) break; + f = e + 1 | 0; + if (d) switch (a[f >> 0] | 0) { + case 123: + case 63: + case 43: + break; + default: + break e + } + e = d ? f : e; + if ((!m ? (e | 0) == ((c[s >> 2] | 0) + 1 | 0) : 0) ? (a[e + -1 >> 0] | 0) == 94 : 0) break; + if ((a[e >> 0] | 0) == 123) { + e = S2(e + 1 | 0, r, p, q) | 0; + if (!e) { + j = 28; + break b + } + d = c[q >> 2] | 0; + f = c[b >> 2] | 0; + if (!d) d = u2(f, -1, -1, -1) | 0; else j = 36 + } else { + c[p >> 2] = 0; + c[q >> 2] = -1; + d = a[e >> 0] | 0; + if (d << 24 >> 24 == 43) { + c[p >> 2] = 1; + d = a[e >> 0] | 0 + } + if (d << 24 >> 24 == 63) { + c[q >> 2] = 1; + d = 1 + } else d = -1; + e = e + 1 | 0; + f = c[b >> 2] | 0; + j = 36 + } + if ((j | 0) == 36) { + j = 0; + d = M2(f, c[n >> 2] | 0, c[p >> 2] | 0, d, 0) | 0 + } + c[n >> 2] = d; + if (!d) { + d = 12; + break a + } + } + d = v2(c[b >> 2] | 0, g, c[n >> 2] | 0) | 0; + f = a[e >> 0] | 0; + f:do if (m) { + if (f << 24 >> 24 == 124) { + j = 40; + break d + } + if ((h | 0) != 0 & f << 24 >> 24 == 41 | f << 24 >> 24 == 0) j = 47; else { + g = d; + f = i; + continue c + } + } else { + switch (f << 24 >> 24) { + case 0: { + j = 47; + break f + } + case 92: + break; + default: { + g = d; + f = i; + continue c + } + } + switch (a[e + 1 >> 0] | 0) { + case 124: + case 41: + break; + default: { + g = d; + f = i; + continue c + } + } + d = N2(c[b >> 2] | 0, i, d) | 0; + if ((a[e + 1 >> 0] | 0) == 124) { + f = 2; + break d + } + if (!h) { + d = 8; + break a + } + e = e + 2 | 0; + f = 92 + } while (0); + if ((j | 0) == 47) { + j = 0; + d = N2(c[b >> 2] | 0, i, d) | 0; + e = f << 24 >> 24 == 41 ? e + 1 | 0 : e + } + d = T2(b, d, D2(t) | 0) | 0; + if (d | 0) break a; + d = f << 24 >> 24 == 0; + f = (h | 0) < 1; + if (f & d) { + j = 50; + break b + } + if (f | d) { + d = 8; + break a + } + g = E2(t) | 0; + h = h + -1 | 0; + i = E2(t) | 0 + } + if ((j | 0) == 40) { + f = 1; + d = N2(c[b >> 2] | 0, i, d) | 0 + } + g = 0; + e = e + f | 0; + f = d + } + d = B2(t, f) | 0; + if (d | 0) break a; + d = B2(t, g) | 0; + if (d | 0) break a; + d = C2(t, k) | 0; + if (d | 0) break a; + d = h + 1 | 0; + k = k + 1 | 0; + e = m ? e + 1 | 0 : e + 2 | 0 + } + if ((j | 0) == 28) { + d = 10; + break + } else if ((j | 0) == 50) { + c[b + 20 >> 2] = k; + d = 0; + break + } + } while (0); + l = u; + return d | 0 + } + + function s2(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, + u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; + x = A2(d) | 0; + y = (b | 0) == 0 | (f | 0) == 0; + if (!y) { + c[f + 48 >> 2] = 0; + c[c[f + 36 >> 2] >> 2] = -1 + } + g = f + 28 | 0; + z = C_((c[g >> 2] << 3) + 8 | 0) | 0; + do if (!z) g = 12; else { + c[z >> 2] = -1; + A = C_((c[g >> 2] << 2) + 4 | 0) | 0; + if (!A) { + D_(z); + g = 12; + break + } + c[A >> 2] = -1; + B = C_((c[g >> 2] << 3) + 8 | 0) | 0; + if (!B) { + D_(z); + D_(A); + g = 12; + break + } + h = c[g >> 2] | 0; + g = 0; + do { + c[B + (g << 3) >> 2] = -1; + g = g + 1 | 0 + } while (g >>> 0 <= h >>> 0); + B2(d, e) | 0; + g = C2(d, 0) | 0; + a:do if ((g | 0) != 0 | (A2(d) | 0) <= (x | 0)) { + e = z; + n = 0; + h = 0; + m = 0; + l = -1 + } else { + u = f + 32 | 0; + v = f + 36 | 0; + w = f + 16 | 0; + e = z; + n = 0; + h = 0; + m = 0; + t = 1; + l = -1; + s = 0; + while (1) { + b:do switch (D2(d) | 0) { + case 6: { + i = D2(d) | 0; + g = 0; + do { + j = e + (g << 2) | 0; + g = g + 1 | 0 + } while ((c[j >> 2] | 0) > -1); + c[j >> 2] = i << 1 | 1; + c[e + (g << 2) >> 2] = -1; + g = 0; + while (1) if ((c[A + (g << 2) >> 2] | 0) > -1) g = g + 1 | 0; else break; + c[A + (g + -1 << 2) >> 2] = -1; + g = 0; + j = t; + i = s; + break + } + case 0: { + q = E2(d) | 0; + r = q + 12 | 0; + j = c[r >> 2] | 0; + if ((j | 0) > -1) { + g = 0; + do { + i = e + (g << 2) | 0; + g = g + 1 | 0 + } while ((c[i >> 2] | 0) > -1); + c[i >> 2] = j << 1; + c[e + (g << 2) >> 2] = -1; + if (!y) { + g = 0; + while (1) if ((c[A + (g << 2) >> 2] | 0) > -1) g = g + 1 | 0; else break; + c[(c[w >> 2] | 0) + (j * 12 | 0) + 8 >> 2] = 0; + if ((g | 0) > 0) { + g = C_((g << 2) + 4 | 0) | 0; + if (!g) { + g = 12; + j = t; + i = s; + break b + } + c[(c[w >> 2] | 0) + (j * 12 | 0) + 8 >> 2] = g; + i = c[A >> 2] | 0; + if ((i | 0) > -1) { + k = 0; + j = g; + do { + c[j >> 2] = i; + k = k + 1 | 0; + i = c[A + (k << 2) >> 2] | 0; + j = g + (k << 2) | 0 + } while ((i | 0) > -1); + g = j + } + c[g >> 2] = -1 + } + } + g = C2(d, c[r >> 2] | 0) | 0; + if (g | 0) { + j = t; + i = s; + break b + } + g = C2(d, 6) | 0; + if (g | 0) { + j = t; + i = s; + break b + } + } + c:do switch (c[q >> 2] | 0) { + case 0: { + p = c[c[q + 4 >> 2] >> 2] | 0; + if ((p | 0) > -1 | (p | 0) == -4 ? (c[e >> 2] | 0) > -1 : 0) { + if (y) { + c[q + 20 >> 2] = 1; + g = 0 + } else { + g = O2(b, q, m) | 0; + c[(c[u >> 2] | 0) + (m << 2) >> 2] = s; + if ((l | 0) > -1) { + j = c[v >> 2] | 0; + i = 0; + while (1) { + k = j + (i << 2) | 0; + o = i + 1 | 0; + if ((c[k >> 2] | 0) > -1) i = o; else break + } + c[k >> 2] = m; + c[j + (o << 2) >> 2] = l; + c[j + (i + 2 << 2) >> 2] = -1; + h = h + 1 | 0; + l = -1 + } + P2(e, f, m) + } + c[e >> 2] = -1; + p = t + 1 | 0; + o = s; + n = n + 1 | 0; + m = t + } else { + p = t; + g = 0; + o = s + } + break + } + case 1: { + j = c[q + 4 >> 2] | 0; + k = c[j >> 2] | 0; + j = c[j + 4 >> 2] | 0; + g = B2(d, q) | 0; + if (!g) { + g = C2(d, 5) | 0; + if (!g) { + g = B2(d, j) | 0; + if (!g) { + g = C2(d, 0) | 0; + if (!g) { + i = k + 20 | 0; + g = C2(d, (c[i >> 2] | 0) + t | 0) | 0; + if (!g) { + if ((c[i >> 2] | 0) > 0) { + i = (c[j + 20 >> 2] | 0) > 0; + g = i ? t : -1; + i = t + (i & 1) | 0 + } else { + g = -1; + i = t + } + g = C2(d, g) | 0; + if (!g) { + g = C2(d, 4) | 0; + if (!g) { + g = B2(d, k) | 0; + if (!g) { + p = i; + g = C2(d, 0) | 0; + o = s + } else { + p = i; + o = s + } + } else { + p = i; + o = s + } + } else { + p = i; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + break + } + case 2: { + i = c[q + 4 >> 2] | 0; + if (y) { + if ((c[e >> 2] | 0) > -1) g = 1; else g = (a[i + 12 >> 0] & 1) != 0; + g = C2(d, g & 1) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + } else { + g = C2(d, m) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + g = C2(d, a[i + 12 >> 0] & 1) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + } + g = B2(d, q) | 0; + if (!g) { + g = C2(d, 1) | 0; + if (!g) { + g = B2(d, c[i >> 2] | 0) | 0; + if (!g) { + g = C2(d, 0) | 0; + if (!g) { + if ((c[e >> 2] | 0) <= -1 ? (a[i + 12 >> 0] & 1) == 0 : 0) { + p = t; + g = 0; + o = 0; + break c + } + if (y) g = 0; else { + g = O2(b, q, m) | 0; + c[(c[u >> 2] | 0) + (m << 2) >> 2] = (a[i + 12 >> 0] & 1) == 0 ? s : 1; + if ((l | 0) > -1) { + j = c[v >> 2] | 0; + i = 0; + while (1) { + k = j + (i << 2) | 0; + o = i + 1 | 0; + if ((c[k >> 2] | 0) > -1) i = o; else break + } + c[k >> 2] = m; + c[j + (o << 2) >> 2] = l; + c[j + (i + 2 << 2) >> 2] = -1; + h = h + 1 | 0; + l = -1 + } + P2(e, f, m) + } + c[e >> 2] = -1; + p = t + 1 | 0; + o = 0; + n = n + 1 | 0; + m = t + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + break + } + case 3: { + j = c[q + 4 >> 2] | 0; + k = c[j >> 2] | 0; + j = c[j + 4 >> 2] | 0; + i = (c[e >> 2] | 0) > -1; + p = t + 1 | 0; + g = C2(d, i ? p : t) | 0; + if (!g) { + g = C2(d, i ? t : m) | 0; + if (!g) { + g = B2(d, e) | 0; + if (!g) { + g = C2(d, (c[e >> 2] | 0) >>> 31 ^ 1) | 0; + if (!g) { + g = B2(d, q) | 0; + if (!g) { + g = B2(d, j) | 0; + if (!g) { + g = B2(d, k) | 0; + if (!g) { + g = C2(d, 3) | 0; + if (!g) { + g = B2(d, j) | 0; + if (!g) { + g = C2(d, 0) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + g = C2(d, 2) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + g = B2(d, k) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + g = C2(d, 0) | 0; + if (g | 0) { + p = t; + o = s; + break c + } + if ((c[e >> 2] | 0) > -1) { + if (y) g = 0; else { + g = O2(b, q, m) | 0; + c[(c[u >> 2] | 0) + (m << 2) >> 2] = s; + if ((l | 0) > -1) { + j = c[v >> 2] | 0; + i = 0; + while (1) { + k = j + (i << 2) | 0; + o = i + 1 | 0; + if ((c[k >> 2] | 0) > -1) i = o; else break + } + c[k >> 2] = m; + c[j + (o << 2) >> 2] = l; + c[j + (i + 2 << 2) >> 2] = -1; + h = h + 1 | 0; + l = -1 + } + P2(e, f, m) + } + c[e >> 2] = -1; + n = n + 1 | 0; + m = t; + i = p + } else { + g = 0; + i = t + } + t = (c[q + 16 >> 2] | 0) > 0; + p = t ? i + 2 | 0 : i; + o = s; + m = t ? i + 1 | 0 : m + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + } else { + p = t; + o = s + } + break + } + default: { + p = t; + g = 0; + o = s + } + } while (0); + j = c[r >> 2] | 0; + if ((j | 0) > -1) { + i = 0; + do { + k = A + (i << 2) | 0; + i = i + 1 | 0 + } while ((c[k >> 2] | 0) > -1); + c[k >> 2] = j; + c[A + (i << 2) >> 2] = -1; + j = p; + i = o + } else { + j = p; + i = o + } + break + } + case 1: { + g = E2(d) | 0; + if (y) { + i = c[(c[c[g + 4 >> 2] >> 2] | 0) + 20 >> 2] | 0; + c[g + 20 >> 2] = (D2(d) | 0) + i; + i = 0; + l = -1 + } else { + q = D2(d) | 0; + r = D2(d) | 0; + i = q; + l = (q | 0) == 0 ? l : r + } + g = 0; + j = t; + i = y ? s : (i | 0) == 0 & 1; + break + } + case 4: { + i = D2(d) | 0; + j = D2(d) | 0; + g = 0; + m = (i | 0) > -1 ? i : m; + i = s; + break + } + case 5: { + g = E2(d) | 0; + if (y) { + j = c[g + 4 >> 2] | 0; + c[g + 20 >> 2] = (c[(c[j + 4 >> 2] | 0) + 20 >> 2] | 0) + (c[(c[j >> 2] | 0) + 20 >> 2] | 0); + g = 0; + j = t; + i = s + } else { + g = 0; + j = t; + i = s + } + break + } + case 2: { + while (1) if ((c[e >> 2] | 0) > -1) e = e + 4 | 0; else { + g = 0; + j = t; + i = s; + break + } + break + } + case 3: { + j = E2(d) | 0; + o = E2(d) | 0; + g = E2(d) | 0; + e = D2(d) | 0; + if (y) { + r = c[g + 4 >> 2] | 0; + s = g + 16 | 0; + c[g + 20 >> 2] = (c[(c[r >> 2] | 0) + 20 >> 2] | 0) + e + (c[(c[r + 4 >> 2] | 0) + 20 >> 2] | 0) + ((c[s >> 2] | 0) > 0 ? 2 : 0); + g = s + } else g = g + 16 | 0; + e = E2(d) | 0; + i = D2(d) | 0; + k = D2(d) | 0; + if ((c[g >> 2] | 0) > 0) { + if (y) g = 0; else { + g = Q2(b, j, i) | 0; + c[(c[u >> 2] | 0) + (i << 2) >> 2] = 1; + if (!g) g = Q2(b, o, k) | 0; + c[(c[u >> 2] | 0) + (k << 2) >> 2] = 1 + } + n = n + 2 | 0; + j = t; + i = 1 + } else { + g = 0; + j = t; + i = 1 + } + break + } + default: { + g = 0; + j = t; + i = s + } + } while (0); + if ((g | 0) != 0 | (A2(d) | 0) <= (x | 0)) break a; else { + t = j; + s = i + } + } + } while (0); + if (!y ? (P2(e, f, m), (l | 0) > -1) : 0) { + i = c[f + 36 >> 2] | 0; + e = 0; + while (1) { + j = i + (e << 2) | 0; + k = e + 1 | 0; + if ((c[j >> 2] | 0) > -1) e = k; else break + } + c[j >> 2] = m; + c[i + (k << 2) >> 2] = l; + c[i + (e + 2 << 2) >> 2] = -1; + h = h + 1 | 0 + } + c[f + 48 >> 2] = n; + c[f + 40 >> 2] = n; + c[f + 44 >> 2] = h; + D_(z); + D_(A); + D_(B) + } while (0); + return g | 0 + } + + function t2(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0; + y = l; + l = l + 16 | 0; + t = y + 12 | 0; + x = y + 8 | 0; + u = y + 4 | 0; + v = y; + w = A2(b) | 0; + c[t >> 2] = 0; + c[x >> 2] = 0; + d = B2(b, d) | 0; + a:do if (!d) { + d = C2(b, 0) | 0; + if (!d) { + b:do if ((A2(b) | 0) > (w | 0)) { + g = 0; + i = 0; + j = 0; + c:while (1) { + q = D2(b) | 0; + r = E2(b) | 0; + d:do switch (q | 0) { + case 0: { + switch (c[r >> 2] | 0) { + case 0: { + d = c[r + 4 >> 2] | 0; + r = c[d >> 2] | 0; + if (!((r | 0) > -1 | (r | 0) == -4)) { + d = j; + break d + } + r = d + 8 | 0; + d = (c[r >> 2] | 0) + j | 0; + c[r >> 2] = d; + if ((d | 0) <= (c[x >> 2] | 0)) { + d = j; + break d + } + c[x >> 2] = d; + d = j; + break d + } + case 3: { + h = c[r + 4 >> 2] | 0; + d = B2(b, c[h + 4 >> 2] | 0) | 0; + if (d | 0) break b; + d = C2(b, 0) | 0; + if (d | 0) break b; + d = B2(b, c[h >> 2] | 0) | 0; + if (d | 0) break b; + break + } + case 1: { + h = c[r + 4 >> 2] | 0; + d = B2(b, c[h + 4 >> 2] | 0) | 0; + if (d | 0) break b; + d = C2(b, 0) | 0; + if (d | 0) break b; + d = B2(b, c[h >> 2] | 0) | 0; + if (d | 0) break b; + break + } + case 2: { + h = c[r + 4 >> 2] | 0; + d = C2(b, j) | 0; + if (d | 0) break b; + d = B2(b, r) | 0; + if (d | 0) break b; + d = C2(b, 1) | 0; + if (d | 0) break b; + d = B2(b, c[h >> 2] | 0) | 0; + if (d | 0) break b; + d = C2(b, 0) | 0; + if (d | 0) break b; + if ((c[h + 4 >> 2] | 0) <= 1 ? (c[h + 8 >> 2] | 0) <= 1 : 0) d = j; else { + c[t >> 2] = 0; + d = 0 + } + i = i + 1 | 0; + break d + } + default: { + d = j; + break d + } + } + d = C2(b, 0) | 0; + if (!d) d = j; else break b; + break + } + case 1: { + p = r + 4 | 0; + o = c[p >> 2] | 0; + q = D2(b) | 0; + c[t >> 2] = q; + n = o + 4 | 0; + j = c[n >> 2] | 0; + if ((j | 0) <= 1) if ((c[o + 8 >> 2] | 0) > 1) { + c[u >> 2] = 0; + if ((j | 0) > 0) s = 30; else { + d = q; + h = 0; + s = 37 + } + } else d = q; else { + c[u >> 2] = 0; + s = 30 + } + e:do if ((s | 0) == 30) { + d = L2(a, b, c[o >> 2] | 0, (j | 0) > 1 ? 1 : 2, t, f, v, x) | 0; + if (!d) { + h = 0; + k = q; + m = 1 + } else { + s = 34; + break c + } + while (1) { + d = c[v >> 2] | 0; + if (!h) h = d; else h = v2(a, h, d) | 0; + if (!h) { + d = 12; + s = 34; + break c + } + j = c[n >> 2] | 0; + if ((m | 0) >= (j | 0)) { + d = k; + s = 37; + break e + } + k = c[t >> 2] | 0; + m = m + 1 | 0; + d = L2(a, b, c[o >> 2] | 0, (m | 0) < (j | 0) ? 1 : 2, t, f, v, x) | 0; + if (d | 0) { + s = 34; + break c + } + } + } while (0); + if ((s | 0) == 37) { + s = 0; + n = o + 8 | 0; + k = c[n >> 2] | 0; + if ((k | 0) == -1) { + k = c[t >> 2] | 0; + d = L2(a, b, c[o >> 2] | 0, 0, t, 0, u, x) | 0; + if (d | 0) break c; + j = M2(a, c[u >> 2] | 0, 0, -1, 0) | 0; + c[u >> 2] = j; + if (!j) { + d = 12; + break c + } else d = k + } else if ((j | 0) < (k | 0)) { + k = j; + j = 0; + while (1) { + m = c[t >> 2] | 0; + d = L2(a, b, c[o >> 2] | 0, 0, t, 0, v, x) | 0; + if (d | 0) { + s = 49; + break c + } + if (!j) { + d = c[v >> 2] | 0; + c[u >> 2] = d + } else { + d = v2(a, c[v >> 2] | 0, j) | 0; + c[u >> 2] = d + } + if (!d) { + d = 12; + s = 49; + break c + } + j = u2(a, -1, -1, -1) | 0; + if (!j) { + d = 12; + s = 49; + break c + } + j = N2(a, j, d) | 0; + c[u >> 2] = j; + if (!j) { + d = 12; + s = 49; + break c + } + k = k + 1 | 0; + if ((k | 0) >= (c[n >> 2] | 0)) { + d = m; + break + } + } + } else j = 0; + c[t >> 2] = d; + if (h) { + if (j) { + h = v2(a, h, j) | 0; + s = 54 + } + } else { + h = j; + s = 54 + } + if ((s | 0) == 54) { + s = 0; + if (!h) { + d = 12; + break c + } + } + c[p >> 2] = c[h + 4 >> 2]; + c[r >> 2] = c[h >> 2] + } + i = i + -1 | 0; + h = d - q + g | 0; + if (!i) { + c[t >> 2] = h; + g = h; + i = 0; + d = h + } else g = h; + break + } + default: + d = j + } while (0); + if ((A2(b) | 0) > (w | 0)) j = d; else { + d = 0; + break b + } + } + break a + } else { + d = 0; + g = 0 + } while (0); + w = (c[e >> 2] | 0) + g | 0; + x = c[x >> 2] | 0; + c[e >> 2] = (x | 0) > (w | 0) ? x : w + } + } while (0); + l = y; + return d | 0 + } + + function u2(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = n2(a, 0, 0, 1, 20) | 0; + a = K2(a, 0, f) | 0; + if (!a) a = 0; else { + c[f >> 2] = b; + c[f + 4 >> 2] = d; + c[f + 8 >> 2] = e + } + return a | 0 + } + + function v2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + if (b) { + e = n2(a, 0, 0, 1, 8) | 0; + a = K2(a, 1, e) | 0; + if (!a) d = 0; else { + c[e >> 2] = b; + c[e + 4 >> 2] = d; + c[a + 16 >> 2] = (c[d + 16 >> 2] | 0) + (c[b + 16 >> 2] | 0); + d = a + } + } + return d | 0 + } + + function w2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0; + o = l; + l = l + 16 | 0; + j = o + 4 | 0; + k = o; + m = A2(b) | 0; + d = B2(b, d) | 0; + a:do if (!d) { + d = C2(b, 0) | 0; + if (!d) if ((A2(b) | 0) > (m | 0)) { + b:while (1) { + h = D2(b) | 0; + i = E2(b) | 0; + c:do switch (h | 0) { + case 0: + switch (c[i >> 2] | 0) { + case 0: { + g = c[i + 4 >> 2] | 0; + f = c[g >> 2] | 0; + if ((f | 0) == -4) { + c[i + 8 >> 2] = 0; + d = g + 8 | 0; + h = F2(a, c[d >> 2] | 0, 0, 1114111, 0, 0, -1) | 0; + c[i + 24 >> 2] = h; + if (!h) { + d = 12; + break a + } + h = F2(a, c[d >> 2] | 0, 0, 1114111, 0, 0, c[g + 4 >> 2] | 0) | 0; + c[i + 28 >> 2] = h; + if (!h) { + d = 12; + break a + } else break c + } + d = i + 8 | 0; + if ((f | 0) < 0) { + c[d >> 2] = 1; + h = G2(a) | 0; + c[i + 24 >> 2] = h; + if (!h) { + d = 12; + break a + } + h = G2(a) | 0; + c[i + 28 >> 2] = h; + if (!h) { + d = 12; + break a + } else break c + } else { + c[d >> 2] = 0; + d = g + 8 | 0; + e = g + 4 | 0; + h = F2(a, c[d >> 2] | 0, f, c[e >> 2] | 0, 0, 0, -1) | 0; + c[i + 24 >> 2] = h; + if (!h) { + d = 12; + break a + } + h = F2(a, c[d >> 2] | 0, c[g >> 2] | 0, c[e >> 2] | 0, c[g + 12 >> 2] | 0, c[g + 16 >> 2] | 0, -1) | 0; + c[i + 28 >> 2] = h; + if (!h) { + d = 12; + break a + } else break c + } + } + case 3: { + d = B2(b, i) | 0; + if (d | 0) break a; + d = C2(b, 1) | 0; + if (d | 0) break a; + e = i + 4 | 0; + d = B2(b, c[(c[e >> 2] | 0) + 4 >> 2] | 0) | 0; + if (d | 0) break a; + d = C2(b, 0) | 0; + if (d | 0) break a; + d = B2(b, c[c[e >> 2] >> 2] | 0) | 0; + if (d | 0) break a; + d = C2(b, 0) | 0; + if (!d) break c; else break a + } + case 1: { + d = B2(b, i) | 0; + if (d | 0) break a; + d = C2(b, 2) | 0; + if (d | 0) break a; + e = i + 4 | 0; + d = B2(b, c[(c[e >> 2] | 0) + 4 >> 2] | 0) | 0; + if (d | 0) break a; + d = C2(b, 0) | 0; + if (d | 0) break a; + d = B2(b, c[c[e >> 2] >> 2] | 0) | 0; + if (d | 0) break a; + d = C2(b, 0) | 0; + if (!d) break c; else break a + } + case 2: { + d = B2(b, i) | 0; + if (d | 0) break a; + d = C2(b, 3) | 0; + if (d | 0) break a; + d = B2(b, c[c[i + 4 >> 2] >> 2] | 0) | 0; + if (d | 0) break a; + d = C2(b, 0) | 0; + if (!d) break c; else break a + } + default: + break c + } + case 1: { + d = c[i + 4 >> 2] | 0; + e = c[d >> 2] | 0; + f = d + 4 | 0; + g = c[f >> 2] | 0; + if (!(c[e + 8 >> 2] | 0)) h = (c[g + 8 >> 2] | 0) != 0; else h = 1; + c[i + 8 >> 2] = h & 1; + h = H2(a, c[e + 24 >> 2] | 0, c[g + 24 >> 2] | 0, 0, 0) | 0; + c[i + 24 >> 2] = h; + if (!h) { + d = 12; + break a + } + h = H2(a, c[(c[d >> 2] | 0) + 28 >> 2] | 0, c[(c[f >> 2] | 0) + 28 >> 2] | 0, 0, 0) | 0; + c[i + 28 >> 2] = h; + if (!h) { + d = 12; + break a + } + break + } + case 3: { + h = c[i + 4 >> 2] | 0; + d = c[h >> 2] | 0; + if (!(c[h + 4 >> 2] | 0)) e = 1; else e = (c[d + 8 >> 2] | 0) != 0 & 1; + c[i + 8 >> 2] = e; + c[i + 24 >> 2] = c[d + 24 >> 2]; + c[i + 28 >> 2] = c[d + 28 >> 2]; + break + } + case 2: { + g = c[i + 4 >> 2] | 0; + d = c[g >> 2] | 0; + e = d + 8 | 0; + if (!(c[e >> 2] | 0)) f = 0; else f = (c[(c[g + 4 >> 2] | 0) + 8 >> 2] | 0) != 0; + c[i + 8 >> 2] = f & 1; + if (c[e >> 2] | 0) { + d = I2(b, d, 0, 0, j) | 0; + if (d | 0) break b; + e = C_((c[j >> 2] << 2) + 4 | 0) | 0; + if (!e) { + d = 12; + break b + } + c[e >> 2] = -1; + c[k >> 2] = 0; + d = I2(b, c[g >> 2] | 0, e, k, 0) | 0; + if (d | 0) { + n = 45; + break b + } + d = g + 4 | 0; + h = i + 24 | 0; + c[h >> 2] = H2(a, c[(c[d >> 2] | 0) + 24 >> 2] | 0, c[(c[g >> 2] | 0) + 24 >> 2] | 0, e, c[k >> 2] | 0) | 0; + D_(e); + if (!(c[h >> 2] | 0)) { + d = 12; + break b + } else f = d + } else { + c[i + 24 >> 2] = c[d + 24 >> 2]; + f = g + 4 | 0 + } + d = c[f >> 2] | 0; + if (c[d + 8 >> 2] | 0) { + d = I2(b, d, 0, 0, j) | 0; + if (d | 0) break b; + e = C_((c[j >> 2] << 2) + 4 | 0) | 0; + if (!e) { + d = 12; + break b + } + c[e >> 2] = -1; + c[k >> 2] = 0; + d = I2(b, c[f >> 2] | 0, e, k, 0) | 0; + if (d | 0) { + n = 52; + break b + } + i = i + 28 | 0; + c[i >> 2] = H2(a, c[(c[g >> 2] | 0) + 28 >> 2] | 0, c[(c[f >> 2] | 0) + 28 >> 2] | 0, e, c[k >> 2] | 0) | 0; + D_(e); + if (!(c[i >> 2] | 0)) { + d = 12; + break b + } + } else c[i + 28 >> 2] = c[d + 28 >> 2]; + break + } + default: { + } + } while (0); + if ((A2(b) | 0) <= (m | 0)) { + d = 0; + break a + } + } + if ((n | 0) == 45) D_(e); else if ((n | 0) == 52) D_(e) + } else d = 0 + } while (0); + l = o; + return d | 0 + } + + function x2(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 = z2(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 = x2(c[f >> 2] | 0, b, d, e) | 0; + if (a | 0) break a; + a = f + 4 | 0; + break + } + case 1: { + f = c[a + 4 >> 2] | 0; + g = f + 4 | 0; + a = z2(c[(c[f >> 2] | 0) + 28 >> 2] | 0, c[(c[g >> 2] | 0) + 24 >> 2] | 0, b, d, e) | 0; + if (a | 0) break a; + a = x2(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 y2(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 | 0) { + 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) { + D_(b); + a = c[h >> 2] | 0 + } + b = c[a + (d << 5) + 28 >> 2] | 0; + if (b) { + D_(b); + a = c[h >> 2] | 0 + } + } + d = d + 1 | 0 + } while (d >>> 0 < (c[e >> 2] | 0) >>> 0) + } + if (a | 0) D_(a); + d = h + 8 | 0; + a = c[d >> 2] | 0; + if (a | 0) { + if (c[a + 8 >> 2] | 0) { + while (1) { + b = c[a + 16 >> 2] | 0; + if (b | 0) D_(b); + if (!(c[a + 40 >> 2] | 0)) break; else a = a + 32 | 0 + } + a = c[d >> 2] | 0 + } + D_(a) + } + f = h + 16 | 0; + a = c[f >> 2] | 0; + if (a | 0) { + g = h + 28 | 0; + b = c[g >> 2] | 0; + if (b) { + e = 0; + do { + d = c[a + (e * 12 | 0) + 8 >> 2] | 0; + if (d) { + D_(d); + b = c[g >> 2] | 0; + a = c[f >> 2] | 0 + } + e = e + 1 | 0 + } while (e >>> 0 < b >>> 0) + } + D_(a) + } + a = c[h + 32 >> 2] | 0; + if (a | 0) D_(a); + a = c[h + 20 >> 2] | 0; + if (a | 0) D_(a); + a = c[h + 36 >> 2] | 0; + if (a | 0) D_(a); + D_(h) + } + return + } + + function z2(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; + g = c[a >> 2] | 0; + h = (g | 0) > -1; + a:do if (!d) if (h) { + h = b + 32 | 0; + do { + if ((c[b >> 2] | 0) > -1 ? (y = e + (g << 2) | 0, c[y >> 2] = (c[y >> 2] | 0) + 1, (c[h >> 2] | 0) > -1) : 0) { + g = h; + do { + y = e + (c[a >> 2] << 2) | 0; + c[y >> 2] = (c[y >> 2] | 0) + 1; + g = g + 32 | 0 + } while ((c[g >> 2] | 0) > -1) + } + a = a + 32 | 0; + g = c[a >> 2] | 0 + } while ((g | 0) > -1); + g = 0 + } else g = 0; else if (h) while (1) { + h = c[b >> 2] | 0; + b:do if ((h | 0) > -1) { + p = a + 4 | 0; + q = a + 8 | 0; + r = a + 16 | 0; + s = a + 20 | 0; + t = a + 24 | 0; + u = a + 28 | 0; + v = a + 12 | 0; + e = -1; + g = b; + while (1) { + o = h; + while (1) { + if ((o | 0) != (e | 0)) break; + g = g + 32 | 0; + h = c[g >> 2] | 0; + if ((h | 0) > -1) o = h; else break b + } + l = d + (c[f + (c[a >> 2] << 2) >> 2] << 5) | 0; + while (1) { + h = l + 8 | 0; + if (!(c[h >> 2] | 0)) break; else l = l + 32 | 0 + } + c[l + 40 >> 2] = 0; + c[l >> 2] = c[p >> 2]; + c[l + 4 >> 2] = c[q >> 2]; + c[h >> 2] = d + (c[f + (o << 2) >> 2] << 5); + c[l + 12 >> 2] = o; + h = c[s >> 2] | 0; + e = c[g + 16 >> 2] | c[r >> 2] | (h | 0 ? 4 : 0) | (c[t >> 2] | 0 ? 8 : 0); + i = l + 20 | 0; + c[i >> 2] = e; + j = c[u >> 2] | 0; + if ((j | 0) > -1) { + c[i >> 2] = e | 256; + h = j + } + c[l + 24 >> 2] = h; + e = c[t >> 2] | 0; + if (!e) c[l + 28 >> 2] = 0; else { + h = 0; + do { + n = h; + h = h + 1 | 0 + } while ((c[e + (n << 2) >> 2] | 0) != 0); + h = C_(h << 2) | 0; + c[l + 28 >> 2] = h; + if (!h) { + g = 12; + break a + } + k = c[t >> 2] | 0; + e = c[k >> 2] | 0; + if (e) { + j = 0; + i = h; + do { + c[i >> 2] = e; + j = j + 1 | 0; + e = c[k + (j << 2) >> 2] | 0; + i = h + (j << 2) | 0 + } while ((e | 0) != 0); + h = i + } + c[h >> 2] = 0 + } + e = c[v >> 2] | 0; + if (!e) h = 0; else { + h = 0; + while (1) if ((c[e + (h << 2) >> 2] | 0) > -1) h = h + 1 | 0; else break + } + k = g + 12 | 0; + i = c[k >> 2] | 0; + if (!i) e = 0; else { + e = 0; + while (1) if ((c[i + (e << 2) >> 2] | 0) > -1) e = e + 1 | 0; else break + } + j = l + 16 | 0; + i = c[j >> 2] | 0; + if (i | 0) D_(i); + c[j >> 2] = 0; + h = e + h | 0; + if ((h | 0) > 0) { + n = C_((h << 2) + 4 | 0) | 0; + c[j >> 2] = n; + if (!n) { + g = 12; + break a + } + e = c[v >> 2] | 0; + if ((e | 0) != 0 ? (w = c[e >> 2] | 0, (w | 0) > -1) : 0) { + h = 0; + i = w; + do { + c[n + (h << 2) >> 2] = i; + h = h + 1 | 0; + i = c[e + (h << 2) >> 2] | 0 + } while ((i | 0) > -1); + m = h + } else m = 0; + j = c[k >> 2] | 0; + if ((j | 0) != 0 ? (x = c[j >> 2] | 0, (x | 0) > -1) : 0) { + k = (m | 0) > 0; + h = m; + i = 0; + l = x; + do { + c:do if (k) { + e = 0; + while (1) { + if ((c[n + (e << 2) >> 2] | 0) == (l | 0)) break c; + e = e + 1 | 0; + if ((e | 0) >= (m | 0)) { + y = 39; + break + } + } + } else y = 39; while (0); + if ((y | 0) == 39) { + y = 0; + c[n + (h << 2) >> 2] = l; + h = h + 1 | 0 + } + i = i + 1 | 0; + l = c[j + (i << 2) >> 2] | 0 + } while ((l | 0) > -1) + } else h = m; + c[n + (h << 2) >> 2] = -1 + } + g = g + 32 | 0; + h = c[g >> 2] | 0; + if ((h | 0) <= -1) break; else e = o + } + } while (0); + a = a + 32 | 0; + if ((c[a >> 2] | 0) <= -1) { + g = 0; + break + } + } else g = 0; while (0); + return g | 0 + } + + function A2(a) { + a = a | 0; + return c[a + 12 >> 2] | 0 + } + + function B2(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d + 4 | 0; + f = d; + c[f >> 2] = b; + c[e >> 2] = c[f >> 2]; + b = J2(a, e) | 0; + l = d; + return b | 0 + } + + function C2(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = l; + l = l + 16 | 0; + e = d + 4 | 0; + f = d; + c[f >> 2] = b; + c[e >> 2] = c[f >> 2]; + b = J2(a, e) | 0; + l = d; + return b | 0 + } + + function D2(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 16 >> 2] | 0; + d = a + 12 | 0; + a = (c[d >> 2] | 0) + -1 | 0; + c[d >> 2] = a; + return c[b + (a << 2) >> 2] | 0 + } + + function E2(a) { + a = a | 0; + var b = 0, d = 0; + b = c[a + 16 >> 2] | 0; + d = a + 12 | 0; + a = (c[d >> 2] | 0) + -1 | 0; + c[d >> 2] = a; + return c[b + (a << 2) >> 2] | 0 + } + + function F2(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 = n2(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 G2(a) { + a = a | 0; + a = n2(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 H2(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) n = 0; else { + g = 0; + while (1) if ((c[e + (g << 2) >> 2] | 0) > -1) g = g + 1 | 0; else { + n = g; + break + } + } + h = 0; + while (1) if ((c[b + (h << 5) >> 2] | 0) > -1) h = h + 1 | 0; else { + g = 0; + break + } + while (1) if ((c[d + (g << 5) >> 2] | 0) > -1) g = g + 1 | 0; else break; + g = n2(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) { + m = (n | 0) > 0; + i = 0; + while (1) { + c[g + (i << 5) >> 2] = h; + c[g + (i << 5) + 4 >> 2] = c[b + (i << 5) + 4 >> 2]; + c[g + (i << 5) + 8 >> 2] = c[b + (i << 5) + 8 >> 2]; + c[g + (i << 5) + 16 >> 2] = c[b + (i << 5) + 16 >> 2] | f; + c[g + (i << 5) + 20 >> 2] = c[b + (i << 5) + 20 >> 2]; + c[g + (i << 5) + 24 >> 2] = c[b + (i << 5) + 24 >> 2]; + c[g + (i << 5) + 28 >> 2] = c[b + (i << 5) + 28 >> 2]; + l = b + (i << 5) + 12 | 0; + j = c[l >> 2] | 0; + h = (j | 0) == 0; + if (o & h) h = 0; else { + if (h) k = 0; else { + h = 0; + while (1) if ((c[j + (h << 2) >> 2] | 0) > -1) h = h + 1 | 0; else { + k = h; + break + } + } + h = n2(a, 0, 0, 0, (k + n << 2) + 4 | 0) | 0; + if (!h) { + g = 0; + break a + } + if ((k | 0) > 0) { + l = c[l >> 2] | 0; + j = 0; + do { + c[h + (j << 2) >> 2] = c[l + (j << 2) >> 2]; + j = j + 1 | 0 + } while ((j | 0) != (k | 0)) + } else k = 0; + if (m) { + j = 0; + do { + c[h + (j + k << 2) >> 2] = c[e + (j << 2) >> 2]; + j = j + 1 | 0 + } while ((j | 0) != (n | 0)); + j = n + } else j = 0; + c[h + (j + k << 2) >> 2] = -1 + } + c[g + (i << 5) + 12 >> 2] = h; + i = i + 1 | 0; + h = c[b + (i << 5) >> 2] | 0; + if ((h | 0) <= -1) { + n = i; + break + } + } + } else n = 0; + i = c[d >> 2] | 0; + h = g + (n << 5) | 0; + if ((i | 0) > -1) { + m = 0; + l = n; + 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) h = 0; else { + i = 0; + while (1) if ((c[h + (i << 2) >> 2] | 0) > -1) i = i + 1 | 0; else break; + h = n2(a, 0, 0, 0, (i << 2) + 4 | 0) | 0; + if (!h) { + g = 0; + break a + } + if ((i | 0) > 0) { + k = c[j >> 2] | 0; + j = 0; + do { + c[h + (j << 2) >> 2] = c[k + (j << 2) >> 2]; + j = j + 1 | 0 + } while ((j | 0) != (i | 0)) + } else i = 0; + c[h + (i << 2) >> 2] = -1 + } + c[g + (l << 5) + 12 >> 2] = h; + 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 I2(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; + o = A2(a) | 0; + p = (f | 0) != 0; + if (p) c[f >> 2] = 0; + b = B2(a, b) | 0; + a:do if (!b) { + m = (d | 0) == 0; + l = (e | 0) == 0; + if ((A2(a) | 0) > (o | 0)) while (1) { + b = E2(a) | 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 (l) break b; + c[e >> 2] = c[e >> 2] | c[b + 4 >> 2]; + break b + } + default: + break b + } + h = c[b + 4 >> 2] | 0; + if ((h | 0) > -1) { + c:do if (!m) { + b = 0; + while (1) { + i = d + (b << 2) | 0; + j = c[i >> 2] | 0; + if ((j | 0) <= -1) break; + if ((j | 0) == (h | 0)) break c; else b = b + 1 | 0 + } + c[i >> 2] = h; + c[d + (b + 1 << 2) >> 2] = -1 + } while (0); + if (p) 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) { + k = h; + n = 6; + break b + } + b = c[b + 4 >> 2] | 0; + if (c[b + 8 >> 2] | 0) { + k = b; + n = 6 + } + break + } + case 1: { + b = c[b + 4 >> 2] | 0; + h = B2(a, c[b >> 2] | 0) | 0; + if (h | 0) { + g = h; + break a + } + k = c[b + 4 >> 2] | 0; + n = 6; + break + } + case 2: { + b = c[c[b + 4 >> 2] >> 2] | 0; + if (c[b + 8 >> 2] | 0) { + k = b; + n = 6 + } + break + } + default: { + } + } while (0); + if ((n | 0) == 6 ? (n = 0, g = B2(a, k) | 0, g | 0) : 0) break a; + if ((A2(a) | 0) <= (o | 0)) { + g = 0; + break a + } + } else g = 0 + } else g = b; while (0); + return g | 0 + } + + function J2(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 16 | 0; + g = k; + d = a + 12 | 0; + e = c[d >> 2] | 0; + j = c[a >> 2] | 0; + if ((e | 0) >= (j | 0)) { + d = c[a + 4 >> 2] | 0; + if ((j | 0) < (d | 0) ? (f = (c[a + 8 >> 2] | 0) + j | 0, f = (f | 0) > (d | 0) ? d : f, h = a + 16 | 0, i = F_(c[h >> 2] | 0, f << 2) | 0, (i | 0) != 0) : 0) { + c[a >> 2] = f; + c[h >> 2] = i; + c[g >> 2] = c[b >> 2]; + J2(a, g) | 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 + } + l = k; + return d | 0 + } + + function K2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + a = n2(a, 0, 0, 1, 32) | 0; + if ((d | 0) != 0 & (a | 0) != 0) { + c[a + 4 >> 2] = d; + c[a >> 2] = b; + c[a + 8 >> 2] = -1; + c[a + 12 >> 2] = -1 + } else a = 0; + return a | 0 + } + + function L2(b, d, e, f, g, h, i, j) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + r = A2(d) | 0; + B2(d, e) | 0; + e = C2(d, 0) | 0; + a:do if (!e) { + q = (f & 1 | 0) == 0; + p = (f & 2 | 0) != 0; + o = 0; + l = 1; + e = i; + while (1) { + if ((A2(d) | 0) > (r | 0)) n = e; else { + f = o; + e = 0; + break a + } + b:while (1) { + c:while (1) { + switch (D2(d) | 0) { + case 1: { + i = 7; + break c + } + case 0: { + e = E2(d) | 0; + switch (c[e >> 2] | 0) { + case 0: { + i = 9; + break b + } + case 3: { + i = 19; + break b + } + case 1: { + i = 26; + break b + } + case 2: { + i = 33; + break c + } + default: { + } + } + break + } + default: { + } + } + if ((A2(d) | 0) <= (r | 0)) { + f = o; + e = 0; + break a + } + } + if ((i | 0) == 7) e = E2(d) | 0; else if ((i | 0) == 33) { + f = c[e + 4 >> 2] | 0; + e = B2(d, c[f >> 2] | 0) | 0; + if (e | 0) { + f = o; + break a + } + e = C2(d, 0) | 0; + if (e | 0) { + f = o; + break a + } + e = M2(b, c[f >> 2] | 0, c[f + 4 >> 2] | 0, c[f + 8 >> 2] | 0, a[f + 12 >> 0] & 1) | 0; + c[n >> 2] = e; + if (!e) { + f = o; + e = 12; + break a + } + e = c[e + 4 >> 2] | 0 + } + if ((A2(d) | 0) > (r | 0)) n = e; else { + f = o; + e = 0; + break a + } + } + if ((i | 0) == 9) { + m = c[e + 4 >> 2] | 0; + i = c[m + 8 >> 2] | 0; + f = c[m >> 2] | 0; + e = c[m + 4 >> 2] | 0; + if (!((f | 0) > -1 | (f | 0) == -4)) if (q | (f | 0) != -3) if ((f | 0) == -3) if (p & (l | 0) != 0) { + c[h + (e << 2) >> 2] = 1; + f = -3; + k = o; + l = 0 + } else { + f = -3; + k = o + } else k = o; else { + e = -1; + f = -1; + i = -1; + k = o + } else { + i = (c[g >> 2] | 0) + i | 0; + k = o + 1 | 0 + } + e = u2(b, f, e, i) | 0; + c[n >> 2] = e; + if (!e) e = 12; else { + e = c[e + 4 >> 2] | 0; + c[e + 12 >> 2] = c[m + 12 >> 2]; + c[e + 16 >> 2] = c[m + 16 >> 2]; + e = 0 + } + if ((i | 0) > (c[j >> 2] | 0)) { + c[j >> 2] = i; + f = n + } else f = n + } else if ((i | 0) == 19) { + i = c[e + 4 >> 2] | 0; + f = i + 4 | 0; + e = N2(b, c[i >> 2] | 0, c[f >> 2] | 0) | 0; + c[n >> 2] = e; + if (!e) { + f = o; + e = 12; + break a + } + m = c[e + 4 >> 2] | 0; + e = B2(d, c[f >> 2] | 0) | 0; + if (e | 0) { + f = o; + break a + } + e = C2(d, 0) | 0; + if (e | 0) { + f = o; + break a + } + e = B2(d, m + 4 | 0) | 0; + if (e | 0) { + f = o; + break a + } + e = C2(d, 1) | 0; + if (e | 0) { + f = o; + break a + } + e = B2(d, c[i >> 2] | 0) | 0; + if (e | 0) { + f = o; + break a + } + k = o; + f = m; + e = C2(d, 0) | 0 + } else if ((i | 0) == 26) { + m = c[e + 4 >> 2] | 0; + i = m + 4 | 0; + e = v2(b, c[m >> 2] | 0, c[i >> 2] | 0) | 0; + c[n >> 2] = e; + if (!e) { + f = o; + e = 12; + break a + } + f = c[e + 4 >> 2] | 0; + c[f >> 2] = 0; + k = f + 4 | 0; + c[k >> 2] = 0; + e = B2(d, c[i >> 2] | 0) | 0; + if (e | 0) { + f = o; + break a + } + e = C2(d, 0) | 0; + if (e | 0) { + f = o; + break a + } + e = B2(d, k) | 0; + if (e | 0) { + f = o; + break a + } + e = C2(d, 1) | 0; + if (e | 0) { + f = o; + break a + } + e = B2(d, c[m >> 2] | 0) | 0; + if (e | 0) { + f = o; + break a + } + k = o; + e = C2(d, 0) | 0 + } + if (!e) { + o = k; + e = f + } else { + f = k; + break + } + } + } else f = 0; while (0); + c[g >> 2] = (c[g >> 2] | 0) + f; + return e | 0 + } + + function M2(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0; + h = n2(b, 0, 0, 1, 16) | 0; + b = K2(b, 2, h) | 0; + if (!b) b = 0; else { + c[h >> 2] = d; + c[h + 4 >> 2] = e; + c[h + 8 >> 2] = f; + h = h + 12 | 0; + a[h >> 0] = a[h >> 0] & -2 | g & 1; + c[b + 16 >> 2] = c[d + 16 >> 2] + } + return b | 0 + } + + function N2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + if (b) { + e = n2(a, 0, 0, 1, 8) | 0; + a = K2(a, 3, e) | 0; + if ((d | 0) != 0 & (a | 0) != 0) { + c[e >> 2] = b; + c[e + 4 >> 2] = d; + c[a + 16 >> 2] = (c[d + 16 >> 2] | 0) + (c[b + 16 >> 2] | 0); + d = a + } else d = 0 + } + return d | 0 + } + + function O2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = n2(a, 0, 0, 0, 8) | 0; + if (((e | 0) != 0 ? (d = u2(a, -3, d, -1) | 0, c[e >> 2] = d, (d | 0) != 0) : 0) ? (f = n2(a, 0, 0, 0, 32) | 0, c[e + 4 >> 2] = f, (f | 0) != 0) : 0) { + a = b + 4 | 0; + c[f + 4 >> 2] = c[a >> 2]; + c[f >> 2] = c[b >> 2]; + c[f + 8 >> 2] = -1; + c[f + 12 >> 2] = -1; + f = f + 16 | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[f + 8 >> 2] = 0; + c[f + 12 >> 2] = 0; + c[a >> 2] = e; + c[b >> 2] = 1; + a = 0 + } else a = 12; + return a | 0 + } + + function P2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + f = c[a >> 2] | 0; + if ((f | 0) > -1) { + g = c[b + 16 >> 2] | 0; + e = 0; + b = f; + do { + f = b >>> 1; + c[((b & 1 | 0) == 0 ? g + (f * 12 | 0) | 0 : g + (f * 12 | 0) + 4 | 0) >> 2] = d; + e = e + 1 | 0; + b = c[a + (e << 2) >> 2] | 0 + } while ((b | 0) > -1) + } + c[a >> 2] = -1; + return + } + + function Q2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = n2(a, 0, 0, 0, 8) | 0; + if (((e | 0) != 0 ? (d = u2(a, -3, d, -1) | 0, c[e + 4 >> 2] = d, (d | 0) != 0) : 0) ? (f = n2(a, 0, 0, 0, 32) | 0, c[e >> 2] = f, (f | 0) != 0) : 0) { + a = b + 4 | 0; + c[f + 4 >> 2] = c[a >> 2]; + c[f >> 2] = c[b >> 2]; + c[f + 8 >> 2] = -1; + c[f + 12 >> 2] = -1; + f = f + 16 | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[f + 8 >> 2] = 0; + c[f + 12 >> 2] = 0; + c[a >> 2] = e; + c[b >> 2] = 1; + a = 0 + } else a = 12; + return a | 0 + } + + function R2(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + m = l; + l = l + 16 | 0; + j = m; + i = b + 32 | 0; + h = c[i >> 2] | 0; + g = h & 1; + a:do switch (a[d >> 0] | 0) { + case 91: { + e = V2(b, d + 1 | 0) | 0; + break + } + case 92: { + e = d + 1 | 0; + f = W2(e) | 0; + if (f | 0) { + e = R2(b, f) | 0; + c[b + 12 >> 2] = d + 2; + break a + } + f = a[e >> 0] | 0; + switch (f | 0) { + case 0: { + e = 5; + break a + } + case 98: { + f = u2(c[b >> 2] | 0, -2, 64, -1) | 0; + break + } + case 66: { + f = u2(c[b >> 2] | 0, -2, 128, -1) | 0; + break + } + case 60: { + f = u2(c[b >> 2] | 0, -2, 16, -1) | 0; + break + } + case 62: { + f = u2(c[b >> 2] | 0, -2, 32, -1) | 0; + break + } + case 120: { + h = d + 2 | 0; + i = (a[h >> 0] | 0) == 123; + g = i ? 8 : 2; + h = i ? d + 3 | 0 : h; + e = 0; + f = 0; + do { + d = X2(a[h + e >> 0] | 0) | 0; + if ((d | 0) < 0) break; + f = d + (f << 4) | 0; + e = e + 1 | 0 + } while ((f | 0) < 1114112 & (e | 0) < (g | 0)); + e = h + e | 0; + if (i) { + if ((a[e >> 0] | 0) != 125) { + e = 9; + break a + } + e = e + 1 | 0 + } + j = c[b >> 2] | 0; + i = b + 24 | 0; + k = c[i >> 2] | 0; + c[i >> 2] = k + 1; + f = u2(j, f, f, k) | 0; + e = e + -1 | 0; + break + } + case 63: + case 43: + case 123: + if (!g) { + e = 13; + break a + } else { + k = 37; + break a + } + case 124: { + if (g | 0) { + k = 37; + break a + } + e = u2(c[b >> 2] | 0, -1, -1, -1) | 0; + k = 45; + break a + } + default: { + if (!((g | 0) == 0 & (f + -49 | 0) >>> 0 < 9)) { + k = 37; + break a + } + j = f + -48 | 0; + k = c[b >> 2] | 0; + i = b + 24 | 0; + f = c[i >> 2] | 0; + c[i >> 2] = f + 1; + f = u2(k, -4, j, f) | 0; + k = b + 28 | 0; + i = c[k >> 2] | 0; + c[k >> 2] = (j | 0) < (i | 0) ? i : j + } + } + d = e + 1 | 0; + e = f; + k = 45; + break + } + case 46: { + e = c[b >> 2] | 0; + g = b + 24 | 0; + f = c[g >> 2] | 0; + c[g >> 2] = f + 1; + if (h & 4) { + f = u2(e, 0, 9, f) | 0; + k = c[b >> 2] | 0; + e = c[g >> 2] | 0; + c[g >> 2] = e + 1; + e = u2(k, 11, 1114111, e) | 0; + if ((f | 0) != 0 & (e | 0) != 0) e = N2(c[b >> 2] | 0, f, e) | 0; else e = 0 + } else e = u2(e, 0, 1114111, f) | 0; + d = d + 1 | 0; + k = 45; + break + } + case 94: { + if ((g | 0) == 0 ? (c[b + 16 >> 2] | 0) != (d | 0) : 0) { + e = d; + k = 37; + break a + } + d = d + 1 | 0; + e = u2(c[b >> 2] | 0, -2, 1, -1) | 0; + k = 45; + break + } + case 36: { + e = d + 1 | 0; + if ((g | 0) == 0 ? a[e >> 0] | 0 : 0) { + e = d; + k = 37; + break a + } + d = e; + e = u2(c[b >> 2] | 0, -2, 2, -1) | 0; + k = 45; + break + } + case 63: + case 43: + case 123: + case 42: { + if (!g) { + e = d; + k = 37 + } else e = 13; + break + } + case 124: { + if (!g) { + e = d; + k = 37 + } else k = 36; + break + } + case 0: { + k = 36; + break + } + default: { + e = d; + k = 37 + } + } while (0); + if ((k | 0) == 36) { + e = u2(c[b >> 2] | 0, -1, -1, -1) | 0; + k = 45 + } else if ((k | 0) == 37) { + h = B1(j, e, -1) | 0; + if ((h | 0) < 0) e = 2; else { + do if (c[i >> 2] & 2) { + if ((m0(c[j >> 2] | 0) | 0) == 0 ? (l0(c[j >> 2] | 0) | 0) == 0 : 0) { + k = 43; + break + } + i = c[b >> 2] | 0; + n = R$(c[j >> 2] | 0) | 0; + g = R$(c[j >> 2] | 0) | 0; + f = b + 24 | 0; + g = u2(i, n, g, c[f >> 2] | 0) | 0; + n = c[b >> 2] | 0; + i = o0(c[j >> 2] | 0) | 0; + d = o0(c[j >> 2] | 0) | 0; + d = u2(n, i, d, c[f >> 2] | 0) | 0; + if ((g | 0) != 0 & (d | 0) != 0) g = N2(c[b >> 2] | 0, g, d) | 0; else g = 0 + } else k = 43; while (0); + if ((k | 0) == 43) { + g = c[j >> 2] | 0; + f = b + 24 | 0; + g = u2(c[b >> 2] | 0, g, g, c[f >> 2] | 0) | 0 + } + c[f >> 2] = (c[f >> 2] | 0) + 1; + d = e + h | 0; + e = g; + k = 45 + } + } + if ((k | 0) == 45) if (!e) e = 12; else { + c[b + 8 >> 2] = e; + c[b + 12 >> 2] = d; + e = 0 + } + l = m; + return e | 0 + } + + function S2(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; + j = l; + l = l + 16 | 0; + i = j + 4 | 0; + g = j; + b = U2(b, i) | 0; + if ((a[b >> 0] | 0) == 44) { + b = U2(b + 1 | 0, g) | 0; + h = c[g >> 2] | 0; + g = c[i >> 2] | 0 + } else { + i = c[i >> 2] | 0; + c[g >> 2] = i; + h = i; + g = i + } + do if (!(g >>> 0 > 255 | ((h | 0) > 255 | (h | 0) > -1 & (h | 0) < (g | 0)))) { + if (!d) if ((a[b >> 0] | 0) == 92) b = b + 1 | 0; else { + b = 0; + break + } + if ((a[b >> 0] | 0) == 125) { + c[e >> 2] = g; + c[f >> 2] = h; + b = b + 1 | 0 + } else b = 0 + } else b = 0; while (0); + l = j; + return b | 0 + } + + function T2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + if ((c[b + 12 >> 2] | 0) > -1) { + e = u2(c[a >> 2] | 0, -1, -1, -1) | 0; + if ((e | 0) != 0 ? (f = v2(c[a >> 2] | 0, e, b) | 0, (f | 0) != 0) : 0) { + e = c[b + 16 >> 2] | 0; + c[f + 16 >> 2] = e; + g = 6 + } else e = 12 + } else { + f = b; + e = c[b + 16 >> 2] | 0; + g = 6 + } + if ((g | 0) == 6) { + c[f + 12 >> 2] = d; + c[f + 16 >> 2] = e + 1; + c[a + 8 >> 2] = f; + e = 0 + } + return e | 0 + } + + function U2(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + c[d >> 2] = -1; + a:do if (E$(a[b >> 0] | 0) | 0) { + c[d >> 2] = 0; + e = 0; + do { + c[d >> 2] = (e * 10 | 0) + -48 + (a[b >> 0] | 0); + b = b + 1 | 0; + if (!(E$(a[b >> 0] | 0) | 0)) break a; + e = c[d >> 2] | 0 + } while ((e | 0) <= 255) + } while (0); + return b | 0 + } + + function V2(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + s = l; + l = l + 288 | 0; + e = s + 264 | 0; + g = s; + c[e >> 2] = c[b >> 2]; + h = e + 8 | 0; + c[h >> 2] = 0; + c[e + 12 >> 2] = 32; + p = C_(128) | 0; + r = e + 4 | 0; + c[r >> 2] = p; + if (!p) d = 12; else { + f = g + 4 | 0; + c[f >> 2] = 0; + p = (a[d >> 0] | 0) == 94; + c[g >> 2] = p & 1; + d = Y2(b, p ? d + 1 | 0 : d, e, g) | 0; + a:do if (!d) { + p = (c[g >> 2] | 0) == 0; + if (!p) { + _0(c[r >> 2] | 0, c[h >> 2] | 0, 4, 109); + d = _2(e) | 0; + if (!d) { + d = 12; + e = 0; + break + } + c[d >> 2] = 1114112; + c[d + 4 >> 2] = 1114112; + c[d + 8 >> 2] = -1; + d = c[f >> 2] | 0; + if (d) { + e = d << 2; + f = n2(c[b >> 2] | 0, 0, 0, 0, e + 4 | 0) | 0; + if (!f) { + d = 12; + e = 0; + break + } + F3(f | 0, g + 8 | 0, e | 0) | 0; + c[f + (d << 2) >> 2] = 0 + } else f = 0 + } else f = 0; + m = c[h >> 2] | 0; + if ((m | 0) > 0) { + n = c[r >> 2] | 0; + o = b + 24 | 0; + e = 0; + d = 0; + k = 0; + while (1) { + j = c[n + (k << 2) >> 2] | 0; + g = c[j >> 2] | 0; + h = j + 4 | 0; + i = c[h >> 2] | 0; + do if (!p) if ((g | 0) > (d | 0)) { + c[j >> 2] = d; + c[h >> 2] = g + -1; + d = i + 1 | 0; + q = 14; + break + } else { + j = i + 1 | 0; + d = (j | 0) >= (d | 0) ? j : d; + break + } else q = 14; while (0); + if ((q | 0) == 14) { + q = 0; + c[j + 8 >> 2] = c[o >> 2]; + c[j + 16 >> 2] = f; + j = K2(c[b >> 2] | 0, 0, j) | 0; + e = N2(c[b >> 2] | 0, e, j) | 0; + if (!e) { + d = 12; + e = 0; + break a + } + } + k = k + 1 | 0; + if ((k | 0) >= (m | 0)) { + d = 0; + break + } + } + } else { + d = 0; + e = 0 + } + } else e = 0; while (0); + D_(c[r >> 2] | 0); + r = b + 24 | 0; + c[r >> 2] = (c[r >> 2] | 0) + 1; + c[b + 8 >> 2] = e + } + l = s; + return d | 0 + } + + function W2(b) { + b = b | 0; + var d = 0; + d = a[b >> 0] | 0; + b = 0; + while (1) { + if ((a[63648 + (b << 3) >> 0] | 0) == d << 24 >> 24) break; + b = b + 1 | 0; + if ((b | 0) == 12) { + b = 12; + break + } + } + return c[63648 + (b << 3) + 4 >> 2] | 0 + } + + function X2(a) { + a = a | 0; + var b = 0; + b = a + -48 | 0; + if (b >>> 0 < 10) return b | 0; else { + b = a | 32; + return ((b + -97 | 0) >>> 0 < 6 ? b + -87 | 0 : -1) | 0 + } + return 0 + } + + function Y2(b, d, e, f) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0; + t = l; + l = l + 32 | 0; + o = t; + q = t + 4 | 0; + i = B1(o, d, -1) | 0; + g = a[d >> 0] | 0; + a:do if ((i | 0) >= 1) { + r = f + 4 | 0; + n = b + 32 | 0; + h = d; + j = i; + b:while (1) { + i = (h | 0) == (d | 0); + if (!(i | g << 24 >> 24 != 93)) { + s = 5; + break + } + c:do if (!(i | g << 24 >> 24 != 45)) { + switch (a[h + 1 >> 0] | 0) { + case 93: + break c; + case 45: + break; + default: { + g = 11; + break a + } + } + if ((a[h + 2 >> 0] | 0) == 93) { + g = 11; + break a + } + } while (0); + d:do if (g << 24 >> 24 == 91) { + switch (a[h + 1 >> 0] | 0) { + case 61: + case 46: { + g = 3; + break a + } + case 58: + break; + default: { + s = 17; + break d + } + } + i = h + 2 | 0; + g = 0; + e:while (1) { + switch (a[i + g >> 0] | 0) { + case 0: { + s = 16; + break b + } + case 58: + break e; + default: { + } + } + if ((g | 0) < 13) g = g + 1 | 0; else { + s = 16; + break b + } + } + F3(q | 0, i | 0, g | 0) | 0; + a[q + g >> 0] = 0; + j = H0(q) | 0; + if (!j) { + s = 16; + break b + } + h = i + (g + 2) | 0; + if ((a[i + (g + 1) >> 0] | 0) != 93) { + s = 16; + break b + } + if (!(c[f >> 2] | 0)) { + g = 1114111; + m = 0; + k = 1; + s = 25 + } else { + g = c[r >> 2] | 0; + if ((g | 0) > 63) { + g = 12; + break a + } + c[r >> 2] = g + 1; + c[f + 8 + (g << 2) >> 2] = j + } + } else s = 17; while (0); + if ((s | 0) == 17) { + s = 0; + i = c[o >> 2] | 0; + h = h + j | 0; + if ((a[h >> 0] | 0) == 45 ? (p = h + 1 | 0, (a[p >> 0] | 0) != 93) : 0) { + h = B1(o, p, -1) | 0; + g = c[o >> 2] | 0; + if ((h | 0) < 1 | (i | 0) > (g | 0)) { + g = 11; + break a + } + j = 0; + m = i; + h = p + h | 0; + k = 0; + s = 25 + } else { + j = 0; + g = i; + m = i; + k = 0; + s = 25 + } + } + if ((s | 0) == 25) { + s = 0; + i = _2(e) | 0; + if (!i) { + g = 12; + break a + } + c[i >> 2] = m; + c[i + 4 >> 2] = g; + c[i + 12 >> 2] = j; + c[i + 8 >> 2] = -1; + if (!(k | (c[n >> 2] & 2 | 0) == 0) ? ($2(e, m, g) | 0) != 0 : 0) { + g = 12; + break a + } + } + j = B1(o, h, -1) | 0; + g = a[h >> 0] | 0; + if ((j | 0) < 1) { + s = 3; + break a + } + } + if ((s | 0) == 5) { + c[b + 12 >> 2] = h + 1; + g = 0; + break + } else if ((s | 0) == 16) { + g = 4; + break + } + } else s = 3; while (0); + if ((s | 0) == 3) g = g << 24 >> 24 ? 2 : 7; + l = t; + return g | 0 + } + + function Z2(a, b) { + a = a | 0; + b = b | 0; + return (c[c[a >> 2] >> 2] | 0) - (c[c[b >> 2] >> 2] | 0) | 0 + } + + function _2(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0; + h = a + 8 | 0; + d = c[h >> 2] | 0; + e = a + 12 | 0; + f = c[e >> 2] | 0; + if ((d | 0) >= (f | 0)) if ((f | 0) <= 32767 ? (c[e >> 2] = f << 1, g = a + 4 | 0, b = F_(c[g >> 2] | 0, f << 3) | 0, (b | 0) != 0) : 0) { + c[g >> 2] = b; + d = c[h >> 2] | 0; + i = 6 + } else b = 0; else { + b = c[a + 4 >> 2] | 0; + i = 6 + } + if ((i | 0) == 6) { + c[h >> 2] = d + 1; + i = n2(c[a >> 2] | 0, 0, 0, 1, 20) | 0; + c[b + (d << 2) >> 2] = i; + b = i + } + return b | 0 + } + + function $2(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + a:do if ((b | 0) > (d | 0)) b = 0; else while (1) { + b:do if (!(l0(b) | 0)) { + if (!(m0(b) | 0)) { + b = b + 1 | 0; + break + } + f = o0(b) | 0; + e = f; + while (1) { + g = b + 1 | 0; + e = e + 1 | 0; + if ((b | 0) >= (d | 0)) { + h = f; + b = g; + g = 12; + break b + } + if ((o0(g) | 0) == (e | 0)) b = g; else { + h = f; + b = g; + g = 12; + break + } + } + } else { + f = R$(b) | 0; + e = f; + while (1) { + g = b + 1 | 0; + e = e + 1 | 0; + if ((b | 0) >= (d | 0)) { + h = f; + b = g; + g = 12; + break b + } + if ((R$(g) | 0) == (e | 0)) b = g; else { + h = f; + b = g; + g = 12; + break + } + } + } while (0); + if ((g | 0) == 12) { + g = 0; + f = _2(a) | 0; + if (!f) { + b = -1; + break a + } + c[f >> 2] = h; + c[f + 4 >> 2] = e + -1; + c[f + 8 >> 2] = -1 + } + if ((b | 0) > (d | 0)) { + b = 0; + break + } + } while (0); + return b | 0 + } + + function a3(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0; + n = l; + l = l + 16 | 0; + k = n; + i = c[a + 4 >> 2] | 0; + j = i + 56 | 0; + h = (c[j >> 2] & 8 | 0) == 0 ? d : 0; + a = c[i + 40 >> 2] | 0; + if ((a | 0) > 0 & (h | 0) != 0) { + a = C_(a << 2) | 0; + if (!a) a = 12; else { + g = a; + d = a; + m = 3 + } + } else { + g = 0; + d = 0; + m = 3 + } + if ((m | 0) == 3) { + if (!(c[i + 60 >> 2] | 0)) a = c3(i, b, g, f, k) | 0; else a = b3(i, b, g, f, k) | 0; + if (!a) d3(h, e, c[j >> 2] | 0, i, g, c[k >> 2] | 0); + if (g) D_(d) + } + l = n; + return a | 0 + } + + function b3(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, + J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0; + V = l; + l = l + 16 | 0; + T = V; + c[T >> 2] = 0; + o = e & 1; + R = e & 2; + S = a + 56 | 0; + n = c[S >> 2] & 4; + U = l2(0, 0) | 0; + a:do if (U) { + p = n2(U, 0, 0, 0, 32) | 0; + if (!p) { + m2(U); + e = 12; + break + } + c[p + 24 >> 2] = 0; + c[p + 28 >> 2] = 0; + Q = a + 40 | 0; + e = c[Q >> 2] | 0; + if (e) { + e = C_(e << 2) | 0; + if (!e) { + m = 0; + k = 0; + j = e; + e = 12; + i = 0; + h = 0; + g = 0 + } else { + j = e; + i = e; + C = 6 + } + } else { + j = 0; + i = 0; + C = 6 + } + b:do if ((C | 0) == 6) { + e = c[a + 28 >> 2] | 0; + if (e) { + e = C_(e << 3) | 0; + if (!e) { + m = e; + k = 0; + e = 12; + h = 0; + g = 0; + break + } else { + m = e; + h = e + } + } else { + m = 0; + h = 0 + } + P = a + 52 | 0; + e = c[P >> 2] | 0; + if (e) { + e = C_(e << 2) | 0; + if (!e) { + k = e; + e = 12; + g = 0; + break + } else { + k = e; + g = e + } + } else { + k = 0; + g = 0 + } + K = a + 8 | 0; + L = a + 12 | 0; + M = (d | 0) == 0; + N = (d | 0) != 0; + O = a + 32 | 0; + J = (n | 0) != 0; + I = (o | 0) == 0; + r = b; + e = 1; + q = -1; + v = -1; + B = 0; + c:while (1) { + n = c[Q >> 2] | 0; + if ((n | 0) > 0) { + o = 0; + do { + c[j + (o << 2) >> 2] = -1; + if (!M) { + c[d + (o << 2) >> 2] = -1; + n = c[Q >> 2] | 0 + } + o = o + 1 | 0 + } while ((o | 0) < (n | 0)) + } + n = c[P >> 2] | 0; + if ((n | 0) > 0) H3(g | 0, 0, n << 2 | 0) | 0; + G = e + q | 0; + e = B1(T, r, 4) | 0; + if ((e | 0) < 1) if ((e | 0) < 0) { + e = 1; + break b + } else e = 1; + F = r + e | 0; + H = c[T >> 2] | 0; + n = c[K >> 2] | 0; + o = n + 8 | 0; + if (c[o >> 2] | 0) { + w = (G | 0) != 0; + x = (B | 0) == 95; + y = (G | 0) == 0; + A = J & (B | 0) == 10; + z = (G | 0) < 1 & I; + u = n; + n = 0; + t = 0; + s = o; + while (1) { + r = u + 20 | 0; + o = c[r >> 2] | 0; + d:do if (o) if ((o & 1 | 0) == 0 | z | A) { + if (o & 2 | 0 ? (E = c[T >> 2] | 0, !((E | R | 0) == 0 | J & (E | 0) == 10)) : 0) { + q = t; + break + } + do if (o & 16 | 0) { + if (x) { + q = t; + break d + } + if (h0(B) | 0) { + q = t; + break d + } + o = c[T >> 2] | 0; + if ((o | 0) == 95) break; + if (!(h0(o) | 0)) { + q = t; + break d + } + } while (0); + o = c[r >> 2] | 0; + if (o & 32) { + if (x) { + o = c[T >> 2] | 0; + if ((o | 0) == 95) { + q = t; + break + } + } else { + E = (h0(B) | 0) == 0; + o = c[T >> 2] | 0; + if (E | (o | 0) == 95) { + q = t; + break + } + } + if (h0(o) | 0) { + q = t; + break + } + o = c[r >> 2] | 0 + } + q = c[T >> 2] | 0; + do if ((q | 0) != 0 & (w & (o & 64 | 0) != 0)) { + if (x) o = 1; else { + o = (h0(B) | 0) != 0; + q = c[T >> 2] | 0 + } + if ((q | 0) == 95) if (o) { + q = t; + break d + } else break; else if (o ^ (h0(q) | 0) != 0) break; else { + q = t; + break d + } + } while (0); + if (!(c[r >> 2] & 128)) { + C = 49; + break + } + o = c[T >> 2] | 0; + if (y | (o | 0) == 0) { + q = t; + break + } + if (x) q = 1; else { + q = (h0(B) | 0) != 0; + o = c[T >> 2] | 0 + } + if ((o | 0) == 95) if (q) { + C = 49; + break + } else { + q = t; + break + } else if (q ^ (h0(o) | 0) != 0) { + q = t; + break + } else { + C = 49; + break + } + } else q = t; else C = 49; while (0); + do if ((C | 0) == 49) { + C = 0; + if (!t) { + n = c[u + 16 >> 2] | 0; + q = c[s >> 2] | 0; + break + } + q = p + 28 | 0; + o = c[q >> 2] | 0; + if (!o) { + o = n2(U, 0, 0, 0, 32) | 0; + if (!o) { + C = 53; + break c + } + c[o + 24 >> 2] = p; + c[o + 28 >> 2] = 0; + E = n2(U, 0, 0, 0, c[Q >> 2] << 2) | 0; + c[o + 20 >> 2] = E; + if (!E) { + C = 60; + break c + } + c[q >> 2] = o; + p = o + } else p = o; + c[p >> 2] = G; + c[p + 4 >> 2] = F; + c[p + 8 >> 2] = c[s >> 2]; + c[p + 12 >> 2] = c[u + 12 >> 2]; + c[p + 16 >> 2] = c[T >> 2]; + if ((c[Q >> 2] | 0) > 0) { + q = c[p + 20 >> 2] | 0; + o = 0; + do { + c[q + (o << 2) >> 2] = c[j + (o << 2) >> 2]; + o = o + 1 | 0 + } while ((o | 0) < (c[Q >> 2] | 0)) + } + o = c[u + 16 >> 2] | 0; + if (!o) q = t; else { + q = c[o >> 2] | 0; + if ((q | 0) <= -1) { + q = t; + break + } + r = c[p + 20 >> 2] | 0; + do { + o = o + 4 | 0; + c[r + (q << 2) >> 2] = G; + q = c[o >> 2] | 0 + } while ((q | 0) > -1); + q = t + } + } while (0); + s = u + 40 | 0; + if (!(c[s >> 2] | 0)) break; else { + u = u + 32 | 0; + t = q + } + } + if (n) { + o = c[n >> 2] | 0; + if ((o | 0) > -1) do { + c[j + (o << 2) >> 2] = G; + n = n + 4 | 0; + o = c[n >> 2] | 0 + } while ((o | 0) > -1) + } else n = 0; + if (!q) C = 171; else { + s = G; + r = F; + w = q; + x = n; + C = 79 + } + } else { + n = 0; + C = 171 + } + e:while (1) { + if ((C | 0) == 79) { + if ((w | 0) == (c[L >> 2] | 0)) { + if ((v | 0) >= (s | 0)) { + if (!(N & (v | 0) == (s | 0))) { + n = x; + C = 171; + continue + } + n = c[Q >> 2] | 0; + if (!(f3(n, c[O >> 2] | 0, j, d) | 0)) { + n = x; + C = 171; + continue + } + } else { + if (M) { + v = s; + n = x; + C = 171; + continue + } + n = c[Q >> 2] | 0 + } + if ((n | 0) > 0) n = 0; else { + v = s; + n = x; + C = 171; + continue + } + while (1) { + c[d + (n << 2) >> 2] = c[j + (n << 2) >> 2]; + n = n + 1 | 0; + if ((n | 0) >= (c[Q >> 2] | 0)) { + v = s; + n = x; + C = 171; + continue e + } + } + } + u = w + 8 | 0; + if ((c[u >> 2] | 0) != 0 ? (c[w + 20 >> 2] & 256 | 0) != 0 : 0) { + o = c[w + 24 >> 2] | 0; + d3(o + 1 | 0, m, c[S >> 2] & -9, a, j, s); + E = c[m + (o << 3) >> 2] | 0; + o = (c[m + (o << 3) + 4 >> 2] | 0) - E | 0; + if (z$(b + E | 0, r + -1 | 0, o) | 0) { + n = x; + C = 171; + continue + } + E = (o | 0) == 0; + n = E & 1; + q = c[w + 12 >> 2] | 0; + if (E ? c[k + (q << 2) >> 2] | 0 : 0) { + n = x; + C = 171; + continue + } + c[k + (q << 2) >> 2] = n; + o = o + -1 | 0; + r = r + o | 0; + o = o + s | 0; + q = c[T >> 2] | 0; + n = B1(T, r, 4) | 0; + if ((n | 0) < 1) if ((n | 0) < 0) { + e = 1; + break b + } else n = 1; + D = r + n | 0; + E = n + } else { + q = c[T >> 2] | 0; + if (!q) { + n = x; + C = 171; + continue + } + n = B1(T, r, 4) | 0; + if ((n | 0) < 1) if ((n | 0) < 0) { + e = 1; + break b + } else n = 1; + o = s; + D = r + n | 0; + E = n + } + s = o + e | 0; + if (!(c[u >> 2] | 0)) { + e = E; + n = x; + C = 171; + continue + } + y = (s | 0) != 0; + z = (q | 0) == 95; + A = (s | 0) == 0; + C = J & (q | 0) == 10; + B = (s | 0) < 1 & I; + t = 0; + n = x; + while (1) { + f:do if ((c[w >> 2] | 0) >>> 0 <= q >>> 0) { + if ((c[w + 4 >> 2] | 0) >>> 0 < q >>> 0) break; + r = w + 20 | 0; + e = c[r >> 2] | 0; + do if (e | 0) { + if (!((e & 1 | 0) == 0 | B | C)) break f; + if (e & 2 | 0 ? (x = c[T >> 2] | 0, !((x | R | 0) == 0 | J & (x | 0) == 10)) : 0) break f; + do if (e & 16 | 0) { + if (z) break f; + if (h0(q) | 0) break f; + e = c[T >> 2] | 0; + if ((e | 0) == 95) break; + if (!(h0(e) | 0)) break f + } while (0); + e = c[r >> 2] | 0; + if (e & 32) { + if (z) { + e = c[T >> 2] | 0; + if ((e | 0) == 95) break f + } else { + x = (h0(q) | 0) == 0; + e = c[T >> 2] | 0; + if (x | (e | 0) == 95) break f + } + if (h0(e) | 0) break f; + e = c[r >> 2] | 0 + } + o = c[T >> 2] | 0; + do if ((o | 0) != 0 & (y & (e & 64 | 0) != 0)) { + if (z) e = 1; else { + e = (h0(q) | 0) != 0; + o = c[T >> 2] | 0 + } + if ((o | 0) == 95) if (e) break f; else break; else if (e ^ (h0(o) | 0) != 0) break; else break f + } while (0); + do if (c[r >> 2] & 128 | 0) { + e = c[T >> 2] | 0; + if (A | (e | 0) == 0) break f; + if (z) o = 1; else { + o = (h0(q) | 0) != 0; + e = c[T >> 2] | 0 + } + if ((e | 0) == 95) if (o) break; else break f; else if (o ^ (h0(e) | 0) != 0) break f; else break + } while (0); + e = c[r >> 2] | 0; + do if (e & 4) { + if (c[S >> 2] & 2 | 0) break; + if (!(g0(q, c[w + 24 >> 2] | 0) | 0)) break f; + e = c[r >> 2] | 0 + } while (0); + do if (e & 4 | 0) { + if (!(c[S >> 2] & 2)) break; + x = o0(q) | 0; + e = w + 24 | 0; + if (g0(x, c[e >> 2] | 0) | 0) break; + x = R$(q) | 0; + if (!(g0(x, c[e >> 2] | 0) | 0)) break f + } while (0); + if (!(c[r >> 2] & 8)) break; + if (e3(c[w + 28 >> 2] | 0, q, c[S >> 2] & 2) | 0) break f + } while (0); + if (!t) { + t = c[u >> 2] | 0; + n = c[w + 16 >> 2] | 0; + break + } + o = p + 28 | 0; + e = c[o >> 2] | 0; + if (!e) { + e = n2(U, 0, 0, 0, 32) | 0; + if (!e) { + C = 145; + break c + } + c[e + 24 >> 2] = p; + c[e + 28 >> 2] = 0; + x = n2(U, 0, 0, 0, c[Q >> 2] << 2) | 0; + c[e + 20 >> 2] = x; + if (!x) { + C = 152; + break c + } + c[o >> 2] = e; + p = e + } else p = e; + c[p >> 2] = s; + c[p + 4 >> 2] = D; + c[p + 8 >> 2] = c[u >> 2]; + c[p + 12 >> 2] = c[w + 12 >> 2]; + c[p + 16 >> 2] = c[T >> 2]; + if ((c[Q >> 2] | 0) > 0) { + o = c[p + 20 >> 2] | 0; + e = 0; + do { + c[o + (e << 2) >> 2] = c[j + (e << 2) >> 2]; + e = e + 1 | 0 + } while ((e | 0) < (c[Q >> 2] | 0)) + } + e = c[w + 16 >> 2] | 0; + if (!e) break; + o = c[e >> 2] | 0; + if ((o | 0) <= -1) break; + r = c[p + 20 >> 2] | 0; + do { + c[r + (o << 2) >> 2] = s; + e = e + 4 | 0; + o = c[e >> 2] | 0 + } while ((o | 0) > -1) + } while (0); + u = w + 40 | 0; + if (!(c[u >> 2] | 0)) break; else w = w + 32 | 0 + } + if (!t) { + e = E; + C = 171; + continue + } + if (n) { + e = c[n >> 2] | 0; + if ((e | 0) > -1) { + do { + n = n + 4 | 0; + c[j + (e << 2) >> 2] = s; + e = c[n >> 2] | 0 + } while ((e | 0) > -1); + q = v; + o = D; + e = E + } else { + q = v; + o = D; + e = E + } + } else { + q = v; + o = D; + e = E; + n = 0 + } + } else if ((C | 0) == 171) { + C = 0; + r = c[p + 24 >> 2] | 0; + if (!r) break; + t = c[p + 8 >> 2] | 0; + if (c[t + 20 >> 2] & 256 | 0) c[k + (c[p + 12 >> 2] << 2) >> 2] = 0; + s = c[p >> 2] | 0; + u = c[p + 4 >> 2] | 0; + c[T >> 2] = c[p + 16 >> 2]; + q = c[Q >> 2] | 0; + if ((q | 0) > 0) { + p = c[p + 20 >> 2] | 0; + o = 0; + do { + c[j + (o << 2) >> 2] = c[p + (o << 2) >> 2]; + o = o + 1 | 0 + } while ((o | 0) < (q | 0)); + p = r; + q = v; + o = u + } else { + p = r; + q = v; + o = u + } + } + r = o; + v = q; + w = t; + x = n; + C = 79 + } + n = (v | 0) > -1; + if (n | (c[T >> 2] | 0) == 0) { + C = 180; + break + } + c[T >> 2] = H; + r = F; + q = G; + B = H + } + if ((C | 0) == 53) { + m2(U); + if (j | 0) D_(i); + if (m | 0) D_(h); + if (!k) { + e = 12; + break a + } + D_(g); + e = 12; + break a + } else if ((C | 0) == 60) { + m2(U); + if (j | 0) D_(i); + if (m | 0) D_(h); + if (!k) { + e = 12; + break a + } + D_(g); + e = 12; + break a + } else if ((C | 0) == 145) { + m2(U); + if (j | 0) D_(i); + if (m | 0) D_(h); + if (!k) { + e = 12; + break a + } + D_(g); + e = 12; + break a + } else if ((C | 0) == 152) { + m2(U); + if (j | 0) D_(i); + if (m | 0) D_(h); + if (!k) { + e = 12; + break a + } + D_(g); + e = 12; + break a + } else if ((C | 0) == 180) { + c[f >> 2] = v; + e = (n ^ 1) & 1; + break + } + } while (0); + m2(U); + if (j | 0) D_(i); + if (m | 0) D_(h); + if (k) D_(g) + } else e = 12; while (0); + l = V; + return e | 0 + } + + function c3(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, + v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, + J = 0, K = 0, L = 0, M = 0, N = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0; + W = l; + l = l + 16 | 0; + T = W; + c[T >> 2] = 0; + k = e & 1; + Q = e & 2; + R = a + 56 | 0; + j = c[R >> 2] & 4; + if (!d) N = 0; else N = c[a + 40 >> 2] | 0; + P = N << 2; + i = a + 52 | 0; + e = c[i >> 2] | 0; + h = e << 3; + g = h + 8 | 0; + e = P + 12 + h + (g + (O(P, e) | 0) << 1) | 0; + U = C_(e) | 0; + if (!U) e = 12; else { + H3(U | 0, 0, e | 0) | 0; + e = U + P | 0; + m = e & 3; + m = e + ((m | 0) == 0 ? 0 : 4 - m | 0) | 0; + e = m + g | 0; + n = e & 3; + n = e + ((n | 0) == 0 ? 0 : 4 - n | 0) | 0; + e = n + g | 0; + M = e & 3; + M = e + ((M | 0) == 0 ? 0 : 4 - M | 0) | 0; + e = M + h | 0; + g = e & 3; + i = c[i >> 2] | 0; + h = (i | 0) > 0; + if (h) { + e = e + ((g | 0) == 0 ? 0 : 4 - g | 0) | 0; + g = 0; + while (1) { + c[n + (g << 3) + 4 >> 2] = e; + e = e + P | 0; + c[m + (g << 3) + 4 >> 2] = e; + g = g + 1 | 0; + if ((g | 0) >= (i | 0)) break; else e = e + P | 0 + } + if (h) { + e = 0; + do { + c[M + (e << 3) >> 2] = -1; + e = e + 1 | 0 + } while ((e | 0) < (i | 0)) + } + } + e = B1(T, b, 4) | 0; + if ((e | 0) < 1) if ((e | 0) < 0) e = 1; else { + i = 1; + V = 11 + } else { + i = e; + V = 11 + } + a:do if ((V | 0) == 11) { + L = a + 8 | 0; + K = (j | 0) != 0; + E = (k | 0) == 0; + F = (N | 0) > 0; + G = a + 12 | 0; + H = (N | 0) < 1; + I = a + 44 | 0; + J = a + 32 | 0; + C = a + 36 | 0; + D = (N | 0) == 0; + h = 0; + v = b + i | 0; + u = 0; + j = 0; + e = -1; + g = m; + A = U; + x = m; + w = n; + while (1) { + if ((e | 0) < 0) { + a = c[L >> 2] | 0; + k = a + 8 | 0; + b:do if (c[k >> 2] | 0) { + p = (u | 0) != 0; + q = (h | 0) == 95; + r = (u | 0) == 0; + t = K & (h | 0) == 10; + s = (u | 0) < 1 & E; + while (1) { + c:while (1) { + o = a + 12 | 0; + if ((c[M + (c[o >> 2] << 3) >> 2] | 0) >= (u | 0)) break; + n = a + 20 | 0; + b = c[n >> 2] | 0; + if (!b) { + V = 46; + break + } + d:do if ((b & 1 | 0) == 0 | s | t) { + if (b & 2 | 0 ? (B = c[T >> 2] | 0, !((B | Q | 0) == 0 | K & (B | 0) == 10)) : 0) break; + do if (b & 16 | 0) { + if (q) break d; + if (h0(h) | 0) break d; + b = c[T >> 2] | 0; + if ((b | 0) == 95) break; + if (!(h0(b) | 0)) break d + } while (0); + b = c[n >> 2] | 0; + if (b & 32) { + if (q) { + b = c[T >> 2] | 0; + if ((b | 0) == 95) break + } else { + B = (h0(h) | 0) == 0; + b = c[T >> 2] | 0; + if (B | (b | 0) == 95) break + } + if (h0(b) | 0) break; + b = c[n >> 2] | 0 + } + m = c[T >> 2] | 0; + do if ((m | 0) != 0 & (p & (b & 64 | 0) != 0)) { + if (q) b = 1; else { + b = (h0(h) | 0) != 0; + m = c[T >> 2] | 0 + } + if ((m | 0) == 95) if (b) break d; else break; else if (b ^ (h0(m) | 0) != 0) break; else break d + } while (0); + if (!(c[n >> 2] & 128)) { + V = 46; + break c + } + b = c[T >> 2] | 0; + if (r | (b | 0) == 0) break; + if (q) m = 1; else { + m = (h0(h) | 0) != 0; + b = c[T >> 2] | 0 + } + if ((b | 0) == 95) if (m) { + V = 46; + break c + } else break; else if (m ^ (h0(b) | 0) != 0) break; else { + V = 46; + break c + } + } while (0); + k = a + 40 | 0; + if (!(c[k >> 2] | 0)) break b; else a = a + 32 | 0 + } + if ((V | 0) == 46) { + V = 0; + c[g >> 2] = c[k >> 2]; + if (F) H3(c[g + 4 >> 2] | 0, -1, P | 0) | 0; + k = c[a + 16 >> 2] | 0; + if (k | 0 ? (S = c[k >> 2] | 0, (S | 0) > -1) : 0) { + m = g + 4 | 0; + b = S; + do { + if ((b | 0) < (N | 0)) c[(c[m >> 2] | 0) + (b << 2) >> 2] = u; + k = k + 4 | 0; + b = c[k >> 2] | 0 + } while ((b | 0) > -1) + } + k = (c[g >> 2] | 0) != (c[G >> 2] | 0); + if (k | H) { + j = k ? j : 1; + e = k ? e : u; + k = g + 4 | 0 + } else { + k = g + 4 | 0; + j = c[k >> 2] | 0; + e = 0; + do { + c[d + (e << 2) >> 2] = c[j + (e << 2) >> 2]; + e = e + 1 | 0 + } while ((e | 0) != (N | 0)); + j = 1; + e = u + } + B = c[o >> 2] | 0; + c[M + (B << 3) >> 2] = u; + c[M + (B << 3) + 4 >> 2] = k; + g = g + 8 | 0 + } + k = a + 40 | 0; + if (!(c[k >> 2] | 0)) break; else a = a + 32 | 0 + } + } while (0); + c[g >> 2] = 0; + g = c[T >> 2] | 0; + if (!g) break; else h = g + } else { + if (D) break; + h = c[T >> 2] | 0; + if (!((g | 0) != (x | 0) & (h | 0) != 0)) break + } + B = u + i | 0; + g = B1(T, v, 4) | 0; + if ((g | 0) < 1) if ((g | 0) < 0) { + e = 1; + break a + } else i = 1; else i = g; + z = v + i | 0; + if ((j | 0) != 0 & (c[I >> 2] | 0) != 0) { + if (!(c[x >> 2] | 0)) g = w; else { + o = c[C >> 2] | 0; + p = c[o >> 2] | 0; + q = (p | 0) > -1; + n = x; + g = w; + do { + m = n + 4 | 0; + e:do if (q) { + k = 0; + b = p; + do { + a = c[o + ((k | 1) << 2) >> 2] | 0; + if ((b | 0) >= (N | 0)) break e; + j = c[m >> 2] | 0; + if ((c[j + (a << 2) >> 2] | 0) == (c[d + (a << 2) >> 2] | 0) ? (c[j + (b << 2) >> 2] | 0) < (c[d + (b << 2) >> 2] | 0) : 0) break e; + k = k + 2 | 0; + b = c[o + (k << 2) >> 2] | 0 + } while ((b | 0) > -1); + k = m; + V = 75 + } else { + k = m; + j = c[m >> 2] | 0; + V = 75 + } while (0); + if ((V | 0) == 75) { + V = 0; + c[g >> 2] = c[n >> 2]; + v = g + 4 | 0; + y = c[v >> 2] | 0; + c[v >> 2] = j; + c[k >> 2] = y; + g = g + 8 | 0 + } + n = n + 8 | 0 + } while ((c[n >> 2] | 0) != 0) + } + c[g >> 2] = 0; + y = x; + j = 0 + } else { + y = w; + w = x + } + k = c[w >> 2] | 0; + if (!k) { + k = A; + g = y + } else { + r = (B | 0) != 0; + s = (h | 0) == 95; + t = (B | 0) == 0; + v = K & (h | 0) == 10; + u = (B | 0) < 1 & E; + q = w; + a = A; + g = y; + while (1) { + b = k + 8 | 0; + if (c[b >> 2] | 0) { + p = q + 4 | 0; + o = a; + n = b; + while (1) { + f:do if ((c[k >> 2] | 0) >>> 0 <= h >>> 0 ? (c[k + 4 >> 2] | 0) >>> 0 >= h >>> 0 : 0) { + m = k + 20 | 0; + a = c[m >> 2] | 0; + do if (a | 0) { + if (!((a & 1 | 0) == 0 | u | v)) { + a = o; + break f + } + if (a & 2 | 0 ? (A = c[T >> 2] | 0, !((A | Q | 0) == 0 | K & (A | 0) == 10)) : 0) { + a = o; + break f + } + do if (a & 16 | 0) { + if (s) { + a = o; + break f + } + if (h0(h) | 0) { + a = o; + break f + } + a = c[T >> 2] | 0; + if ((a | 0) == 95) break; + if (!(h0(a) | 0)) { + a = o; + break f + } + } while (0); + a = c[m >> 2] | 0; + if (a & 32) { + if (s) { + a = c[T >> 2] | 0; + if ((a | 0) == 95) { + a = o; + break f + } + } else { + A = (h0(h) | 0) == 0; + a = c[T >> 2] | 0; + if (A | (a | 0) == 95) { + a = o; + break f + } + } + if (h0(a) | 0) { + a = o; + break f + } + a = c[m >> 2] | 0 + } + b = c[T >> 2] | 0; + do if ((b | 0) != 0 & (r & (a & 64 | 0) != 0)) { + if (s) a = 1; else { + a = (h0(h) | 0) != 0; + b = c[T >> 2] | 0 + } + if ((b | 0) == 95) if (a) { + a = o; + break f + } else break; else if (a ^ (h0(b) | 0) != 0) break; else { + a = o; + break f + } + } while (0); + do if (c[m >> 2] & 128 | 0) { + a = c[T >> 2] | 0; + if (t | (a | 0) == 0) { + a = o; + break f + } + if (s) b = 1; else { + b = (h0(h) | 0) != 0; + a = c[T >> 2] | 0 + } + if ((a | 0) == 95) if (b) break; else { + a = o; + break f + } else if (b ^ (h0(a) | 0) != 0) { + a = o; + break f + } else break + } while (0); + a = c[m >> 2] | 0; + do if (a & 4) { + if (c[R >> 2] & 2 | 0) break; + if (!(g0(h, c[k + 24 >> 2] | 0) | 0)) { + a = o; + break f + } + a = c[m >> 2] | 0 + } while (0); + do if (a & 4 | 0) { + if (!(c[R >> 2] & 2)) break; + A = o0(h) | 0; + a = k + 24 | 0; + if (g0(A, c[a >> 2] | 0) | 0) break; + A = R$(h) | 0; + if (!(g0(A, c[a >> 2] | 0) | 0)) { + a = o; + break f + } + } while (0); + if (!(c[m >> 2] & 8)) break; + if (e3(c[k + 28 >> 2] | 0, h, c[R >> 2] & 2) | 0) { + a = o; + break f + } + } while (0); + if (F) { + b = c[p >> 2] | 0; + a = 0; + do { + c[o + (a << 2) >> 2] = c[b + (a << 2) >> 2]; + a = a + 1 | 0 + } while ((a | 0) != (N | 0)) + } + a = c[k + 16 >> 2] | 0; + do if (a | 0) { + b = c[a >> 2] | 0; + if ((b | 0) <= -1) break; + do { + if ((b | 0) < (N | 0)) c[o + (b << 2) >> 2] = B; + a = a + 4 | 0; + b = c[a >> 2] | 0 + } while ((b | 0) > -1) + } while (0); + a = c[k + 12 >> 2] | 0; + b = M + (a << 3) | 0; + if ((c[b >> 2] | 0) >= (B | 0)) { + a = c[M + (a << 3) + 4 >> 2] | 0; + b = c[a >> 2] | 0; + if (!(f3(N, c[J >> 2] | 0, o, b) | 0)) { + a = o; + break + } + c[a >> 2] = o; + if ((c[n >> 2] | 0) != (c[G >> 2] | 0)) { + a = b; + break + } + if (F) e = 0; else { + j = 1; + a = b; + e = B; + break + } + while (1) { + c[d + (e << 2) >> 2] = c[o + (e << 2) >> 2]; + e = e + 1 | 0; + if ((e | 0) == (N | 0)) { + j = 1; + a = b; + e = B; + break f + } + } + } + A = c[n >> 2] | 0; + c[g >> 2] = A; + x = g + 4 | 0; + m = c[x >> 2] | 0; + c[x >> 2] = o; + c[b >> 2] = B; + c[M + (a << 3) + 4 >> 2] = x; + do if ((c[G >> 2] | 0) == (A | 0)) { + if ((e | 0) == -1) if (F) e = 0; else { + e = B; + j = 1; + break + } else { + if (!F) break; + if ((c[o >> 2] | 0) > (c[d >> 2] | 0)) break; else e = 0 + } + do { + c[d + (e << 2) >> 2] = c[o + (e << 2) >> 2]; + e = e + 1 | 0 + } while ((e | 0) < (N | 0)); + e = B; + j = 1 + } while (0); + a = m; + g = g + 8 | 0 + } else a = o; while (0); + n = k + 40 | 0; + if (!(c[n >> 2] | 0)) break; else { + k = k + 32 | 0; + o = a + } + } + } + q = q + 8 | 0; + k = c[q >> 2] | 0; + if (!k) { + k = a; + break + } + } + } + c[g >> 2] = 0; + v = z; + u = B; + A = k; + x = y + } + c[f >> 2] = e; + e = e >>> 31 + } while (0); + D_(U) + } + l = W; + return e | 0 + } + + function d3(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; + if ((d & 8 | 0) == 0 & (g | 0) > -1 ? (m = c[e + 16 >> 2] | 0, n = c[e + 28 >> 2] | 0, l = (a | 0) != 0 & (n | 0) != 0, l) : 0) { + k = c[e + 48 >> 2] | 0; + j = 0; + do { + d = c[m + (j * 12 | 0) >> 2] | 0; + if ((d | 0) == (k | 0)) i = g; else i = c[f + (d << 2) >> 2] | 0; + h = b + (j << 3) | 0; + c[h >> 2] = i; + d = c[m + (j * 12 | 0) + 4 >> 2] | 0; + if ((d | 0) == (k | 0)) d = g; else d = c[f + (d << 2) >> 2] | 0; + e = b + (j << 3) + 4 | 0; + c[e >> 2] = d; + if ((d | 0) == -1 | (i | 0) == -1) { + c[e >> 2] = -1; + c[h >> 2] = -1 + } + j = j + 1 | 0 + } while (j >>> 0 < a >>> 0 & j >>> 0 < n >>> 0); + if (l) { + d = 0; + do { + i = b + (d << 3) + 4 | 0; + j = c[m + (d * 12 | 0) + 8 >> 2] | 0; + if (j | 0 ? (o = c[j >> 2] | 0, (o | 0) > -1) : 0) { + k = b + (d << 3) | 0; + h = 0; + f = o; + e = c[k >> 2] | 0; + do { + if (!((e | 0) >= (c[b + (f << 3) >> 2] | 0) ? (c[i >> 2] | 0) <= (c[b + (f << 3) + 4 >> 2] | 0) : 0)) { + c[i >> 2] = -1; + c[k >> 2] = -1; + e = -1 + } + h = h + 1 | 0; + f = c[j + (h << 2) >> 2] | 0 + } while ((f | 0) > -1) + } + d = d + 1 | 0 + } while (d >>> 0 < a >>> 0 & d >>> 0 < n >>> 0) + } else d = 0 + } else d = 0; + if (d >>> 0 < a >>> 0) H3(b + (d << 3) | 0, -1, a - d << 3 | 0) | 0; + return + } + + function e3(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) d = 0; else { + f = (d | 0) == 0; + d = e; + while (1) { + if (f) { + if (g0(b, d) | 0) { + d = 1; + break a + } + } else { + e = R$(b) | 0; + if (g0(e, c[a >> 2] | 0) | 0) { + d = 1; + break a + } + e = o0(b) | 0; + if (g0(e, c[a >> 2] | 0) | 0) { + d = 1; + break a + } + } + a = a + 4 | 0; + d = c[a >> 2] | 0; + if (!d) { + d = 0; + break + } + } + } while (0); + return d | 0 + } + + function f3(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) { + f = 0; + while (1) { + h = c[d + (f << 2) >> 2] | 0; + g = c[e + (f << 2) >> 2] | 0; + if (!(c[b + (f << 2) >> 2] | 0)) { + if ((h | 0) < (g | 0)) { + f = 1; + break a + } + if ((h | 0) > (g | 0)) { + f = 0; + break a + } + } else { + if ((h | 0) > (g | 0)) { + f = 1; + break a + } + if ((h | 0) < (g | 0)) { + f = 0; + break a + } + } + f = f + 1 | 0; + if ((f | 0) >= (a | 0)) { + f = 0; + break + } + } + } else f = 0; while (0); + return f | 0 + } + + function g3(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; + k = O(e, d) | 0; + e = (d | 0) == 0 ? 0 : e; + if ((c[f + 76 >> 2] | 0) > -1) j = t0(f) | 0; else j = 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 < k >>> 0 ? i : k; + F3(b | 0, h | 0, i | 0) | 0; + c[g >> 2] = (c[g >> 2] | 0) + i; + g = k - i | 0; + b = b + i | 0 + } else g = k; + a:do if (!g) l = 13; else { + i = f + 32 | 0; + while (1) { + if (K$(f) | 0) break; + h = nb[c[i >> 2] & 63](f, b, g) | 0; + if ((h + 1 | 0) >>> 0 < 2) break; + g = g - h | 0; + if (!g) { + l = 13; + break a + } else b = b + h | 0 + } + if (j | 0) u0(f); + e = ((k - g | 0) >>> 0) / (d >>> 0) | 0 + } while (0); + if ((l | 0) == 13) if (j) u0(f); + return e | 0 + } + + function h3(a) { + a = a | 0; + var b = 0; + if ((c[a + 76 >> 2] | 0) > -1) { + b = (t0(a) | 0) == 0; + a = i3(a) | 0 + } else a = i3(a) | 0; + return a | 0 + } + + function i3(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 = nb[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 j3(a) { + a = a | 0; + (c[a + 76 >> 2] | 0) > -1 ? t0(a) | 0 : 0; + return c[a + 60 >> 2] | 0 + } + + function k3(b) { + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + f = c[15653] | 0; + if ((c[f + 76 >> 2] | 0) > -1) g = t0(f) | 0; else g = 0; + do if ((D1(b, f) | 0) < 0) b = -1; else { + if ((a[f + 75 >> 0] | 0) != 10 ? (d = f + 20 | 0, e = c[d >> 2] | 0, e >>> 0 < (c[f + 16 >> 2] | 0) >>> 0) : 0) { + c[d >> 2] = e + 1; + a[e >> 0] = 10; + b = 0; + break + } + b = (F1(f, 10) | 0) >> 31 + } while (0); + if (g | 0) u0(f); + return b | 0 + } + + function l3() { + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + k = l; + l = l + 48 | 0; + i = k + 24 | 0; + h = k + 16 | 0; + g = k; + d = k + 28 | 0; + b = d; + e = 150604; + f = b + 20 | 0; + do { + a[b >> 0] = a[e >> 0] | 0; + b = b + 1 | 0; + e = e + 1 | 0 + } while ((b | 0) < (f | 0)); + e = d + 13 | 0; + b = 0; + while (1) { + h1(e) | 0; + c[g >> 2] = d; + c[g + 4 >> 2] = 32962; + c[g + 8 >> 2] = 384; + f = N_(Ha(5, g | 0) | 0) | 0; + if ((f | 0) > -1) { + j = 4; + break + } + if ((b | 0) < 99) b = b + 1 | 0; else { + b = 0; + break + } + } + if ((j | 0) == 4) { + c[h >> 2] = d; + wa(10, h | 0) | 0; + b = z1(f, 150624) | 0; + if (!b) { + c[i >> 2] = f; + Ja(6, i | 0) | 0; + b = 0 + } + } + l = k; + return b | 0 + } + + function m3(a) { + a = a | 0; + var b = 0, e = 0, f = 0; + if ((c[a + 76 >> 2] | 0) >= 0 ? (t0(a) | 0) != 0 : 0) { + b = a + 4 | 0; + e = c[b >> 2] | 0; + if (e >>> 0 < (c[a + 8 >> 2] | 0) >>> 0) { + c[b >> 2] = e + 1; + b = d[e >> 0] | 0 + } else b = J$(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 = J$(a) | 0; + break + } + } while (0); + return b | 0 + } + + function n3(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + if ((c[d + 76 >> 2] | 0) >= 0 ? (t0(d) | 0) != 0 : 0) { + f = b & 255; + e = b & 255; + if ((e | 0) != (a[d + 75 >> 0] | 0) ? (i = d + 20 | 0, j = c[i >> 2] | 0, j >>> 0 < (c[d + 16 >> 2] | 0) >>> 0) : 0) { + c[i >> 2] = j + 1; + a[j >> 0] = f + } else e = F1(d, b) | 0; + u0(d) + } else k = 3; + do if ((k | 0) == 3) { + f = b & 255; + e = b & 255; + if ((e | 0) != (a[d + 75 >> 0] | 0) ? (g = d + 20 | 0, h = c[g >> 2] | 0, h >>> 0 < (c[d + 16 >> 2] | 0) >>> 0) : 0) { + c[g >> 2] = h + 1; + a[h >> 0] = f; + break + } + e = F1(d, b) | 0 + } while (0); + return e | 0 + } + + function o3(a) { + a = a | 0; + return h3(a) | 0 + } + + function p3() { + } + + function q3(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0; + f = a & 65535; + e = b & 65535; + c = O(e, f) | 0; + d = a >>> 16; + a = (c >>> 16) + (O(e, d) | 0) | 0; + e = b >>> 16; + b = O(e, f) | 0; + return (z = (a >>> 16) + (O(e, d) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | c & 65535 | 0) | 0 + } + + function r3(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 = q3(e, f) | 0; + a = z; + return (z = (O(b, f) | 0) + (O(d, e) | 0) + a | a & 0, c | 0 | 0) | 0 + } + + function s3(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + c = a + c >>> 0; + return (z = b + d + (c >>> 0 < a >>> 0 | 0) >>> 0, c | 0) | 0 + } + + function t3(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + d = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; + return (z = d, a - c >>> 0 | 0) | 0 + } + + function u3(b) { + b = b | 0; + var c = 0; + c = a[n + (b & 255) >> 0] | 0; + if ((c | 0) < 8) return c | 0; + c = a[n + (b >> 8 & 255) >> 0] | 0; + if ((c | 0) < 8) return c + 8 | 0; + c = a[n + (b >> 16 & 255) >> 0] | 0; + if ((c | 0) < 8) return c + 16 | 0; + return (a[n + (b >>> 24) >> 0] | 0) + 24 | 0 + } + + function v3(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + l = a; + j = b; + k = j; + h = d; + n = e; + i = n; + if (!k) { + g = (f | 0) != 0; + if (!i) { + if (g) { + c[f >> 2] = (l >>> 0) % (h >>> 0); + c[f + 4 >> 2] = 0 + } + n = 0; + f = (l >>> 0) / (h >>> 0) >>> 0; + return (z = n, f) | 0 + } else { + if (!g) { + n = 0; + f = 0; + return (z = n, f) | 0 + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = b & 0; + n = 0; + f = 0; + return (z = n, f) | 0 + } + } + g = (i | 0) == 0; + do if (h) { + if (!g) { + g = (R(i | 0) | 0) - (R(k | 0) | 0) | 0; + if (g >>> 0 <= 31) { + m = g + 1 | 0; + i = 31 - g | 0; + b = g - 31 >> 31; + h = m; + a = l >>> (m >>> 0) & b | k << i; + b = k >>> (m >>> 0) & b; + g = 0; + i = l << i; + break + } + if (!f) { + n = 0; + f = 0; + return (z = n, f) | 0 + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = j | b & 0; + n = 0; + f = 0; + return (z = n, f) | 0 + } + g = h - 1 | 0; + if (g & h | 0) { + i = (R(h | 0) | 0) + 33 - (R(k | 0) | 0) | 0; + p = 64 - i | 0; + m = 32 - i | 0; + j = m >> 31; + o = i - 32 | 0; + b = o >> 31; + h = i; + a = m - 1 >> 31 & k >>> (o >>> 0) | (k << m | l >>> (i >>> 0)) & b; + b = b & k >>> (i >>> 0); + g = l << p & j; + i = (k << p | l >>> (o >>> 0)) & j | l << m & i - 33 >> 31; + break + } + if (f | 0) { + c[f >> 2] = g & l; + c[f + 4 >> 2] = 0 + } + if ((h | 0) == 1) { + o = j | b & 0; + p = a | 0 | 0; + return (z = o, p) | 0 + } else { + p = u3(h | 0) | 0; + o = k >>> (p >>> 0) | 0; + p = k << 32 - p | l >>> (p >>> 0) | 0; + return (z = o, p) | 0 + } + } else { + if (g) { + if (f | 0) { + c[f >> 2] = (k >>> 0) % (h >>> 0); + c[f + 4 >> 2] = 0 + } + o = 0; + p = (k >>> 0) / (h >>> 0) >>> 0; + return (z = o, p) | 0 + } + if (!l) { + if (f | 0) { + c[f >> 2] = 0; + c[f + 4 >> 2] = (k >>> 0) % (i >>> 0) + } + o = 0; + p = (k >>> 0) / (i >>> 0) >>> 0; + return (z = o, p) | 0 + } + g = i - 1 | 0; + if (!(g & i)) { + if (f | 0) { + c[f >> 2] = a | 0; + c[f + 4 >> 2] = g & k | b & 0 + } + o = 0; + p = k >>> ((u3(i | 0) | 0) >>> 0); + return (z = o, p) | 0 + } + g = (R(i | 0) | 0) - (R(k | 0) | 0) | 0; + if (g >>> 0 <= 30) { + b = g + 1 | 0; + i = 31 - g | 0; + h = b; + a = k << i | l >>> (b >>> 0); + b = k >>> (b >>> 0); + g = 0; + i = l << i; + break + } + if (!f) { + o = 0; + p = 0; + return (z = o, p) | 0 + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = j | b & 0; + o = 0; + p = 0; + return (z = o, p) | 0 + } while (0); + if (!h) { + k = i; + j = 0; + i = 0 + } else { + m = d | 0 | 0; + l = n | e & 0; + k = s3(m | 0, l | 0, -1, -1) | 0; + d = z; + j = i; + i = 0; + do { + e = j; + j = g >>> 31 | j << 1; + g = i | g << 1; + e = a << 1 | e >>> 31 | 0; + n = a >>> 31 | b << 1 | 0; + t3(k | 0, d | 0, e | 0, n | 0) | 0; + p = z; + o = p >> 31 | ((p | 0) < 0 ? -1 : 0) << 1; + i = o & 1; + a = t3(e | 0, n | 0, o & m | 0, (((p | 0) < 0 ? -1 : 0) >> 31 | ((p | 0) < 0 ? -1 : 0) << 1) & l | 0) | 0; + b = z; + h = h - 1 | 0 + } while ((h | 0) != 0); + k = j; + j = 0 + } + h = 0; + if (f | 0) { + c[f >> 2] = a; + c[f + 4 >> 2] = b + } + o = (g | 0) >>> 31 | (k | h) << 1 | (h << 1 | g >>> 31) & 0 | j; + p = (g << 1 | 0 >>> 31) & -2 | i; + return (z = o, p) | 0 + } + + function w3(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return v3(a, b, c, d, 0) | 0 + } + + function x3(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + g = l; + l = l + 16 | 0; + f = g | 0; + v3(a, b, d, e, f) | 0; + l = g; + return (z = c[f + 4 >> 2] | 0, c[f >> 2] | 0) | 0 + } + + function y3(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + z = b >> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c + } + z = (b | 0) < 0 ? -1 : 0; + return b >> c - 32 | 0 + } + + function z3(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + z = b >>> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c + } + z = 0; + return b >>> c - 32 | 0 + } + + function A3(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + z = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; + return a << c + } + z = a << c - 32; + return 0 + } + + function B3(a) { + a = a | 0; + return (a & 255) << 8 | a >> 8 & 255 | 0 + } + + function C3(a) { + a = a | 0; + return (a & 255) << 24 | (a >> 8 & 255) << 16 | (a >> 16 & 255) << 8 | a >>> 24 | 0 + } + + function D3(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + q = q + 1 | 0; + c[a >> 2] = q; + while ((f | 0) < (e | 0)) { + if (!(c[d + (f << 3) >> 2] | 0)) { + c[d + (f << 3) >> 2] = q; + c[d + ((f << 3) + 4) >> 2] = b; + c[d + ((f << 3) + 8) >> 2] = 0; + z = e; + return d | 0 + } + f = f + 1 | 0 + } + e = e * 2 | 0; + d = F_(d | 0, 8 * (e + 1 | 0) | 0) | 0; + d = D3(a | 0, b | 0, d | 0, e | 0) | 0; + z = e; + return d | 0 + } + + function E3(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 F3(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + if ((e | 0) >= 8192) return Ra(b | 0, d | 0, e | 0) | 0; + h = b | 0; + g = b + e | 0; + if ((b & 3) == (d & 3)) { + while (b & 3) { + if (!e) return h | 0; + a[b >> 0] = a[d >> 0] | 0; + b = b + 1 | 0; + d = d + 1 | 0; + e = e - 1 | 0 + } + e = g & -4 | 0; + f = e - 64 | 0; + while ((b | 0) <= (f | 0)) { + c[b >> 2] = c[d >> 2]; + c[b + 4 >> 2] = c[d + 4 >> 2]; + c[b + 8 >> 2] = c[d + 8 >> 2]; + c[b + 12 >> 2] = c[d + 12 >> 2]; + c[b + 16 >> 2] = c[d + 16 >> 2]; + c[b + 20 >> 2] = c[d + 20 >> 2]; + c[b + 24 >> 2] = c[d + 24 >> 2]; + c[b + 28 >> 2] = c[d + 28 >> 2]; + c[b + 32 >> 2] = c[d + 32 >> 2]; + c[b + 36 >> 2] = c[d + 36 >> 2]; + c[b + 40 >> 2] = c[d + 40 >> 2]; + c[b + 44 >> 2] = c[d + 44 >> 2]; + c[b + 48 >> 2] = c[d + 48 >> 2]; + c[b + 52 >> 2] = c[d + 52 >> 2]; + c[b + 56 >> 2] = c[d + 56 >> 2]; + c[b + 60 >> 2] = c[d + 60 >> 2]; + b = b + 64 | 0; + d = d + 64 | 0 + } + while ((b | 0) < (e | 0)) { + c[b >> 2] = c[d >> 2]; + b = b + 4 | 0; + d = d + 4 | 0 + } + } else { + e = g - 4 | 0; + while ((b | 0) < (e | 0)) { + a[b >> 0] = a[d >> 0] | 0; + a[b + 1 >> 0] = a[d + 1 >> 0] | 0; + a[b + 2 >> 0] = a[d + 2 >> 0] | 0; + a[b + 3 >> 0] = a[d + 3 >> 0] | 0; + b = b + 4 | 0; + d = d + 4 | 0 + } + } + while ((b | 0) < (g | 0)) { + a[b >> 0] = a[d >> 0] | 0; + b = b + 1 | 0; + d = d + 1 | 0 + } + return h | 0 + } + + function G3(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 F3(b, c, d) | 0; + return b | 0 + } + + function H3(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + h = b + e | 0; + d = d & 255; + if ((e | 0) >= 67) { + while (b & 3) { + a[b >> 0] = d; + b = b + 1 | 0 + } + f = h & -4 | 0; + g = f - 64 | 0; + i = d | d << 8 | d << 16 | d << 24; + while ((b | 0) <= (g | 0)) { + c[b >> 2] = i; + c[b + 4 >> 2] = i; + c[b + 8 >> 2] = i; + c[b + 12 >> 2] = i; + c[b + 16 >> 2] = i; + c[b + 20 >> 2] = i; + c[b + 24 >> 2] = i; + c[b + 28 >> 2] = i; + c[b + 32 >> 2] = i; + c[b + 36 >> 2] = i; + c[b + 40 >> 2] = i; + c[b + 44 >> 2] = i; + c[b + 48 >> 2] = i; + c[b + 52 >> 2] = i; + c[b + 56 >> 2] = i; + c[b + 60 >> 2] = i; + b = b + 64 | 0 + } + while ((b | 0) < (f | 0)) { + c[b >> 2] = i; + b = b + 4 | 0 + } + } + while ((b | 0) < (h | 0)) { + a[b >> 0] = d; + b = b + 1 | 0 + } + return h - e | 0 + } + + function I3(a) { + a = a | 0; + var b = 0, d = 0; + d = c[i >> 2] | 0; + b = d + a | 0; + if ((a | 0) > 0 & (b | 0) < (d | 0) | (b | 0) < 0) { + W() | 0; + va(12); + return -1 + } + c[i >> 2] = b; + if ((b | 0) > (V() | 0) ? (U() | 0) == 0 : 0) { + c[i >> 2] = d; + va(12); + return -1 + } + return d | 0 + } + + function J3(a) { + a = a | 0; + return +gb[a & 1]() + } + + function K3(a, b, c, d) { + a = a | 0; + b = +b; + c = +c; + d = +d; + return +hb[a & 7](+b, +c, +d) + } + + function L3(a, b) { + a = a | 0; + b = b | 0; + return +ib[a & 1](b | 0) + } + + function M3(a) { + a = a | 0; + return jb[a & 3]() | 0 + } + + function N3(a, b) { + a = a | 0; + b = b | 0; + return kb[a & 63](b | 0) | 0 + } + + function O3(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return lb[a & 127](b | 0, c | 0) | 0 + } + + function P3(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = +e; + return mb[a & 3](b | 0, c | 0, +d, +e) | 0 + } + + function Q3(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return nb[a & 63](b | 0, c | 0, d | 0) | 0 + } + + function R3(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return ob[a & 127](b | 0, c | 0, d | 0, e | 0) | 0 + } + + function S3(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 pb[a & 127](b | 0, c | 0, d | 0, e | 0, f | 0) | 0 + } + + function T3(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 qb[a & 1](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0) | 0 + } + + function U3(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 rb[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0, h | 0, i | 0, j | 0, k | 0) | 0 + } + + function V3(a) { + a = a | 0; + sb[a & 15]() + } + + function W3(a, b) { + a = a | 0; + b = b | 0; + tb[a & 127](b | 0) + } + + function X3(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + ub[a & 63](b | 0, c | 0) + } + + function Y3(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + vb[a & 127](b | 0, c | 0, d | 0) + } + + function Z3(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; + wb[a & 15](b | 0, c | 0, d | 0, +e, +f, g | 0) + } + + function _3(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + xb[a & 31](b | 0, c | 0, d | 0, e | 0) + } + + function $3(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + yb[a & 15](b | 0, c | 0, d | 0, e | 0, f | 0) + } + + function a4(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; + zb[a & 15](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0) + } + + function b4(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; + Ab[a & 0](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0, h | 0, i | 0, j | 0) + } + + function c4() { + S(0); + return 0.0 + } + + function d4(a, b, c) { + a = +a; + b = +b; + c = +c; + S(1); + return 0.0 + } + + function e4(a) { + a = a | 0; + S(2); + return 0.0 + } + + function f4() { + S(3); + return 0 + } + + function g4(a) { + a = a | 0; + S(4); + return 0 + } + + function h4(a, b) { + a = a | 0; + b = b | 0; + S(5); + return 0 + } + + function i4(a, b, c, d) { + a = a | 0; + b = b | 0; + c = +c; + d = +d; + S(6); + return 0 + } + + function j4(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + S(7); + return 0 + } + + function k4(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + S(8); + return 0 + } + + function l4(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + S(9); + return 0 + } + + function m4(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + S(10); + return 0 + } + + function n4(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; + S(11); + return 0 + } + + function o4() { + S(12) + } + + function p4(a) { + a = a | 0; + S(13) + } + + function q4(a, b) { + a = a | 0; + b = b | 0; + S(14) + } + + function r4(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + S(15) + } + + function s4(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = +d; + e = +e; + f = f | 0; + S(16) + } + + function t4(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + S(17) + } + + function u4(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + S(18) + } + + function v4(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + S(19) + } + + function w4(a, b, c, d, e, f, g, h, i) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + S(20) + } + + // EMSCRIPTEN_END_FUNCS + var gb = [c4, FL]; + var hb = [d4, RF, QF, SF, TF, d4, d4, d4]; + var ib = [e4, ML]; + var jb = [f4, eq, EH, vI]; + var kb = [g4, eh, zg, Nm, Om, Fy, Iy, sN, tN, iP, jP, kP, lP, mP, nP, oP, pP, K_, Ib, bC, Al, Dl, an, vH, ay, Sy, $x, AH, FH, by, eN, uH, jN, kN, bV, C_, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4, g4]; + var lb = [h4, hy, Ey, Jy, EK, FK, wK, sK, aK, KT, LT, MT, NT, OT, PT, RT, ST, TT, UT, VT, WT, XT, YT, ZT, _T, $T, aU, bU, cU, dU, eU, fU, gU, hU, iU, jU, kU, lU, mU, nU, wX, xX, zX, WX, XX, YX, ZX, _X, $X, aY, bY, UY, VY, XY, jY, kY, mY, $B, pg, dh, Gh, ii, Ai, Lk, Jk, Bl, El, $o, oq, Kq, Mq, Oq, Pq, Rq, Qq, ar, is, ns, ps, tu, mB, lB, kB, gD, Ty, xH, tD, JD, ED, FD, GE, D1, n3, zL, NM, xx, PR, Ex, Gx, fN, b$, oQ, JT, ZU, _U, F_, kX, lX, mX, Z2, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4, h4]; + var mb = [i4, qt, vt, i4]; + var nb = [j4, Jm, Mu, kw, sw, Bw, Gw, Dy, Hy, HI, AM, zR, AX, YY, nY, L_, M_, Q_, R_, G0, Pw, Zm, Au, tp, os, Iw, eD, Y0, vA, g1, BL, DI, sO, WU, HY, yZ, sZ, CZ, P1, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4, j4]; + var ob = [k4, Lm, Wq, Nu, mw, uw, Cx, AA, Dx, Wx, jy, ly, wy, vy, Ky, Oy, Qy, xI, CM, VN, TN, PP, BR, XR, WR, pX, qX, rX, sX, tX, uX, vX, yX, CX, NY, OY, PY, QY, RY, SY, TY, WY, _Y, cY, dY, eY, fY, gY, hY, iY, lY, pY, Lw, Az, iD, DL, QV, TV, _V, jW, sW, yW, wW, zW, iX, DZ, XW, JY, KY, zZ, AZ, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4, k4]; + var pb = [l4, iy, bK, xK, DX, EX, UX, VX, pZ, $Y, aZ, qY, rY, nX, oX, FZ, GZ, HZ, IZ, KZ, LZ, MZ, NZ, OZ, QZ, RZ, SZ, TZ, UZ, PZ, s_, t_, j_, c_, VZ, WZ, XZ, ZZ, YZ, _Z, $Z, a_, b_, d_, e_, f_, g_, h_, i_, k_, l_, m_, n_, r_, p_, o_, q_, y_, u_, v_, w_, x_, z_, A_, B_, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4, l4]; + var qb = [m4, AU]; + var rb = [n4, rZ, BZ, n4]; + var sb = [o4, EL, BH, CH, DH, HH, IH, JH, FR, o4, o4, o4, o4, o4, o4, o4]; + var tb = [p4, Ob, Pb, Tb, Ub, Vb, nc, oc, Mc, Nc, Oc, Pc, Qc, Rc, Sc, cd, dd, gd, hd, id, jd, kd, ld, md, yd, zd, Ad, Cd, Dd, Ed, Fd, Gd, Hd, Id, Jd, Ud, Vd, Wd, Yd, Zd, _d, $d, ae, be, ce, de, ee, ge, te, ue, ve, we, He, Ie, Je, Le, Ye, Ze, _e, af, bf, cf, df, ef, ff, gf, hf, jf, sf, tf, uf, vf, Yf, Tf, rm, bm, fp, Go, ao, co, Np, Op, Zl, _l, fo, no, po, Ao, my, IJ, _J, KJ, JJ, uK, fJ, iJ, qP, vP, Mf, Fl, Ko, Oo, gp, D_, ax, jD, cF, ER, lO, mN, yI, YR, zU, UU, VU, $U, p4, p4, p4, p4, p4, p4, p4, p4, p4, p4, p4, p4]; + var ub = [q4, Uc, Zc, od, td, Qd, me, Ce, Re, pf, Bf, Ly, cK, GK, yK, tK, YJ, ZJ, CK, DK, tP, xP, PI, Sw, fD, GH, dN, AT, yU, XU, YU, aV, cV, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4, q4]; + var vb = [r4, Wb, Xb, _b, Lc, Tc, Vc, Yc, nd, pd, sd, Ld, Md, Pd, he, ie, le, xe, ye, Be, Me, Ne, Qe, kf, lf, of, wf, xf, Af, qk, rk, sk, Km, lw, tw, Zw, ny, Py, wz, BA, YC, BG, wI, II, hJ, BM, EM, UN, SN, rP, sP, uP, wP, yP, AR, nT, mT, qx, Sx, bz, Ez, Hz, zH, CL, BI, hN, lN, oT, qT, rT, zT, BT, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4, r4]; + var wb = [s4, xE, yE, zE, AE, BE, CE, DE, EE, s4, s4, s4, s4, s4, s4, s4]; + var xb = [t4, Yb, Wc, qd, Bd, Nd, Xd, je, ze, Oe, $e, mf, yf, Pf, Of, Nf, Lf, Kf, Jf, mc, If, Hf, ky, $J, vK, BX, ZY, oY, _0, gN, iN, LY]; + var yb = [u4, ed, Kd, Rd, fe, Ke, Cl, hD, nN, u4, u4, u4, u4, u4, u4, u4]; + var zb = [v4, Zb, Xc, rd, Od, ke, Ae, Pe, nf, zf, oN, v4, v4, v4, v4, v4]; + var Ab = [w4]; + return { + ___errno_location: O_, + ___muldi3: r3, + ___udivdi3: w3, + ___uremdi3: x3, + _bitshift64Ashr: y3, + _bitshift64Lshr: z3, + _bitshift64Shl: A3, + _dtextract: zw, + _free: D_, + _htons: M0, + _i64Add: s3, + _i64Subtract: t3, + _llvm_bswap_i16: B3, + _llvm_bswap_i32: C3, + _malloc: C_, + _memalign: I_, + _memcpy: F3, + _memmove: G3, + _memset: H3, + _realloc: F_, + _saveSetjmp: D3, + _sbrk: I3, + _testSetjmp: E3, + _vizCreateFile: Kb, + _vizLastErrorMessage: Jb, + _vizRenderFromString: Nb, + _vizSetNop: Mb, + _vizSetY_invert: Lb, + dynCall_d: J3, + dynCall_dddd: K3, + dynCall_di: L3, + dynCall_i: M3, + dynCall_ii: N3, + dynCall_iii: O3, + dynCall_iiidd: P3, + dynCall_iiii: Q3, + dynCall_iiiii: R3, + dynCall_iiiiii: S3, + dynCall_iiiiiii: T3, + dynCall_iiiiiiiiiii: U3, + dynCall_v: V3, + dynCall_vi: W3, + dynCall_vii: X3, + dynCall_viii: Y3, + dynCall_viiiddi: Z3, + dynCall_viiii: _3, + dynCall_viiiii: $3, + dynCall_viiiiii: a4, + dynCall_viiiiiiiii: b4, + establishStackSpace: Eb, + getTempRet0: Hb, + runPostSets: p3, + setTempRet0: Gb, + setThrew: Fb, + stackAlloc: Bb, + stackRestore: Db, + stackSave: Cb + } + }) + + + // EMSCRIPTEN_END_ASM + (Module.asmGlobalArg, Module.asmLibraryArg, buffer); + var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; + var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; + var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; + var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; + var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"]; + var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; + var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; + var _dtextract = Module["_dtextract"] = asm["_dtextract"]; + var _free = Module["_free"] = asm["_free"]; + var _htons = Module["_htons"] = asm["_htons"]; + var _i64Add = Module["_i64Add"] = asm["_i64Add"]; + var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; + var _llvm_bswap_i16 = Module["_llvm_bswap_i16"] = asm["_llvm_bswap_i16"]; + var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; + var _malloc = Module["_malloc"] = asm["_malloc"]; + var _memalign = Module["_memalign"] = asm["_memalign"]; + var _memcpy = Module["_memcpy"] = asm["_memcpy"]; + var _memmove = Module["_memmove"] = asm["_memmove"]; + var _memset = Module["_memset"] = asm["_memset"]; + var _realloc = Module["_realloc"] = asm["_realloc"]; + var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"]; + var _sbrk = Module["_sbrk"] = asm["_sbrk"]; + var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"]; + var _vizCreateFile = Module["_vizCreateFile"] = asm["_vizCreateFile"]; + var _vizLastErrorMessage = Module["_vizLastErrorMessage"] = asm["_vizLastErrorMessage"]; + var _vizRenderFromString = Module["_vizRenderFromString"] = asm["_vizRenderFromString"]; + var _vizSetNop = Module["_vizSetNop"] = asm["_vizSetNop"]; + var _vizSetY_invert = Module["_vizSetY_invert"] = asm["_vizSetY_invert"]; + var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; + var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; + var runPostSets = Module["runPostSets"] = asm["runPostSets"]; + var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; + var setThrew = Module["setThrew"] = asm["setThrew"]; + var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; + var stackRestore = Module["stackRestore"] = asm["stackRestore"]; + var stackSave = Module["stackSave"] = asm["stackSave"]; + var dynCall_d = Module["dynCall_d"] = asm["dynCall_d"]; + var dynCall_dddd = Module["dynCall_dddd"] = asm["dynCall_dddd"]; + var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"]; + var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; + var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; + var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; + var dynCall_iiidd = Module["dynCall_iiidd"] = asm["dynCall_iiidd"]; + var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; + var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; + var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; + var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = asm["dynCall_iiiiiii"]; + var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = asm["dynCall_iiiiiiiiiii"]; + var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; + var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; + var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; + var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; + var dynCall_viiiddi = Module["dynCall_viiiddi"] = asm["dynCall_viiiddi"]; + var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; + var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; + var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; + var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; + Module["asm"] = asm; + Module["ccall"] = ccall; + Module["Pointer_stringify"] = Pointer_stringify; + Module["UTF8ToString"] = UTF8ToString; + if (memoryInitializer) { + if (!isDataURI(memoryInitializer)) { + if (typeof Module["locateFile"] === "function") { + memoryInitializer = Module["locateFile"](memoryInitializer) + } else if (Module["memoryInitializerPrefixURL"]) { + memoryInitializer = Module["memoryInitializerPrefixURL"] + memoryInitializer + } + } + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + var data = Module["readBinary"](memoryInitializer); + HEAPU8.set(data, GLOBAL_BASE) + } else { + addRunDependency("memory initializer"); + var applyMemoryInitializer = (function (data) { + if (data.byteLength) data = new Uint8Array(data); + HEAPU8.set(data, GLOBAL_BASE); + if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response; + removeRunDependency("memory initializer") + }); + + function doBrowserLoad() { + Module["readAsync"](memoryInitializer, applyMemoryInitializer, (function () { + throw"could not load memory initializer " + memoryInitializer + })) + } + + var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); + if (memoryInitializerBytes) { + applyMemoryInitializer(memoryInitializerBytes.buffer) + } else if (Module["memoryInitializerRequest"]) { + function useRequest() { + var request = Module["memoryInitializerRequest"]; + var response = request.response; + if (request.status !== 200 && request.status !== 0) { + var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]); + if (data) { + response = data.buffer + } else { + console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer); + doBrowserLoad(); + return + } + } + applyMemoryInitializer(response) + } + + if (Module["memoryInitializerRequest"].response) { + setTimeout(useRequest, 0) + } else { + Module["memoryInitializerRequest"].addEventListener("load", useRequest) + } + } else { + doBrowserLoad() + } + } + } + + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status + } + + ExitStatus.prototype = new Error; + ExitStatus.prototype.constructor = ExitStatus; + var initialStackTop; + dependenciesFulfilled = function runCaller() { + if (!Module["calledRun"]) run(); + if (!Module["calledRun"]) dependenciesFulfilled = runCaller + }; + + function run(args) { + args = args || Module["arguments"]; + if (runDependencies > 0) { + return + } + preRun(); + if (runDependencies > 0) return; + if (Module["calledRun"]) return; + + function doRun() { + if (Module["calledRun"]) return; + Module["calledRun"] = true; + if (ABORT) return; + ensureInitRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + postRun() + } + + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout((function () { + setTimeout((function () { + Module["setStatus"]("") + }), 1); + doRun() + }), 1) + } else { + doRun() + } + } + + Module["run"] = run; + + function exit(status, implicit) { + if (implicit && Module["noExitRuntime"] && status === 0) { + return + } + if (Module["noExitRuntime"]) { + } else { + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + if (ENVIRONMENT_IS_NODE) { + process["exit"](status) + } + Module["quit"](status, new ExitStatus(status)) + } + + Module["exit"] = exit; + + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + if (what !== undefined) { + Module.print(what); + Module.printErr(what); + what = JSON.stringify(what) + } else { + what = "" + } + ABORT = true; + EXITSTATUS = 1; + throw"abort(" + what + "). Build with -s ASSERTIONS=1 for more info." + } + + Module["abort"] = abort; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } + } + Module["noExitRuntime"] = true; + run() + + + return Module; + }; + + function render(instance, src, options) { + var i; + for (i = 0; i < options.files.length; i++) { + instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]); + } + + instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]); + instance['ccall']('vizSetNop', 'number', ['number'], [options.nop ? options.nop : 0]); + + var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]); + var resultString = instance['Pointer_stringify'](resultPointer); + instance['ccall']('free', 'number', ['number'], [resultPointer]); + + var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []); + var errorMessageString = instance['Pointer_stringify'](errorMessagePointer); + instance['ccall']('free', 'number', ['number'], [errorMessagePointer]); + + if (errorMessageString != '') { + throw new Error(errorMessageString); + } + + return resultString; + } + + if (typeof importScripts === "function") { + var instance = Module(); + + onmessage = function (event) { + var id = event.data.id; + var src = event.data.src; + var options = event.data.options; + + try { + var result = render(instance, src, options); + postMessage({id: id, result: result}); + } catch (e) { + var error; + if (e instanceof Error) { + error = {message: e.message, fileName: e.fileName, lineNumber: e.lineNumber}; + } else { + error = {message: e.toString()}; + } + postMessage({id: id, error: error}); + } + } + } + + if (typeof exports === 'object' && typeof module !== 'undefined') { + module.exports = {render: render, Module: Module}; + } else if (typeof define === 'function' && define.amd) { + define(function () { + return {render: render, Module: Module}; + }); + } + + if (typeof global.Viz !== 'undefined') { + global.Viz.render = render; + global.Viz.Module = Module; } - } - - if (typeof exports === 'object' && typeof module !== 'undefined') { - module.exports = { render: render, Module: Module }; - } else if (typeof define === 'function' && define.amd) { - define(function() { return { render: render, Module: Module }; }); - } - - if (typeof global.Viz !== 'undefined') { - global.Viz.render = render; - global.Viz.Module = Module; - } - - })(typeof self !== 'undefined' ? self : this); \ No newline at end of file + +})(typeof self !== 'undefined' ? self : this); \ No newline at end of file diff --git a/src/main/resources/vditor/dist/js/graphviz/viz.js b/src/main/resources/vditor/dist/js/graphviz/viz.js index d9e55bd5..12412971 100644 --- a/src/main/resources/vditor/dist/js/graphviz/viz.js +++ b/src/main/resources/vditor/dist/js/graphviz/viz.js @@ -20,314 +20,322 @@ Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler http://www.zlib.net/zlib_license.html */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Viz = factory()); -}(this, (function () { 'use strict'; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - - var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - }; - - var createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Viz = factory()); +}(this, (function () { + 'use strict'; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } }; - }(); - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } } - } - } - return target; - }; + return target; + }; - var WorkerWrapper = function () { - function WorkerWrapper(worker) { - var _this = this; + var WorkerWrapper = function () { + function WorkerWrapper(worker) { + var _this = this; - classCallCheck(this, WorkerWrapper); + classCallCheck(this, WorkerWrapper); - this.worker = worker; - this.listeners = []; - this.nextId = 0; + this.worker = worker; + this.listeners = []; + this.nextId = 0; - this.worker.addEventListener('message', function (event) { - var id = event.data.id; - var error = event.data.error; - var result = event.data.result; + this.worker.addEventListener('message', function (event) { + var id = event.data.id; + var error = event.data.error; + var result = event.data.result; - _this.listeners[id](error, result); - delete _this.listeners[id]; - }); - } + _this.listeners[id](error, result); + delete _this.listeners[id]; + }); + } - createClass(WorkerWrapper, [{ - key: 'render', - value: function render(src, options) { - var _this2 = this; + createClass(WorkerWrapper, [{ + key: 'render', + value: function render(src, options) { + var _this2 = this; - return new Promise(function (resolve, reject) { - var id = _this2.nextId++; + return new Promise(function (resolve, reject) { + var id = _this2.nextId++; - _this2.listeners[id] = function (error, result) { - if (error) { - reject(new Error(error.message, error.fileName, error.lineNumber)); - return; - } - resolve(result); - }; + _this2.listeners[id] = function (error, result) { + if (error) { + reject(new Error(error.message, error.fileName, error.lineNumber)); + return; + } + resolve(result); + }; - _this2.worker.postMessage({ id: id, src: src, options: options }); - }); - } - }]); - return WorkerWrapper; - }(); - - var ModuleWrapper = function ModuleWrapper(module, render) { - classCallCheck(this, ModuleWrapper); - - var instance = module(); - this.render = function (src, options) { - return new Promise(function (resolve, reject) { - try { - resolve(render(instance, src, options)); - } catch (error) { - reject(error); - } - }); + _this2.worker.postMessage({id: id, src: src, options: options}); + }); + } + }]); + return WorkerWrapper; + }(); + + var ModuleWrapper = function ModuleWrapper(module, render) { + classCallCheck(this, ModuleWrapper); + + var instance = module(); + this.render = function (src, options) { + return new Promise(function (resolve, reject) { + try { + resolve(render(instance, src, options)); + } catch (error) { + reject(error); + } + }); + }; }; - }; - // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding + // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding - function b64EncodeUnicode(str) { - return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) { - return String.fromCharCode('0x' + p1); - })); - } - - function defaultScale() { - if ('devicePixelRatio' in window && window.devicePixelRatio > 1) { - return window.devicePixelRatio; - } else { - return 1; + function b64EncodeUnicode(str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) { + return String.fromCharCode('0x' + p1); + })); } - } - - function svgXmlToImageElement(svgXml) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$scale = _ref.scale, - scale = _ref$scale === undefined ? defaultScale() : _ref$scale, - _ref$mimeType = _ref.mimeType, - mimeType = _ref$mimeType === undefined ? "image/png" : _ref$mimeType, - _ref$quality = _ref.quality, - quality = _ref$quality === undefined ? 1 : _ref$quality; - - return new Promise(function (resolve, reject) { - var svgImage = new Image(); - - svgImage.onload = function () { - var canvas = document.createElement('canvas'); - canvas.width = svgImage.width * scale; - canvas.height = svgImage.height * scale; - - var context = canvas.getContext("2d"); - context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); - - canvas.toBlob(function (blob) { - var image = new Image(); - image.src = URL.createObjectURL(blob); - image.width = svgImage.width; - image.height = svgImage.height; - - resolve(image); - }, mimeType, quality); - }; - - svgImage.onerror = function (e) { - var error; - - if ('error' in e) { - error = e.error; + + function defaultScale() { + if ('devicePixelRatio' in window && window.devicePixelRatio > 1) { + return window.devicePixelRatio; } else { - error = new Error('Error loading SVG'); + return 1; } + } + + function svgXmlToImageElement(svgXml) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$scale = _ref.scale, + scale = _ref$scale === undefined ? defaultScale() : _ref$scale, + _ref$mimeType = _ref.mimeType, + mimeType = _ref$mimeType === undefined ? "image/png" : _ref$mimeType, + _ref$quality = _ref.quality, + quality = _ref$quality === undefined ? 1 : _ref$quality; + + return new Promise(function (resolve, reject) { + var svgImage = new Image(); + + svgImage.onload = function () { + var canvas = document.createElement('canvas'); + canvas.width = svgImage.width * scale; + canvas.height = svgImage.height * scale; + + var context = canvas.getContext("2d"); + context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); + + canvas.toBlob(function (blob) { + var image = new Image(); + image.src = URL.createObjectURL(blob); + image.width = svgImage.width; + image.height = svgImage.height; + + resolve(image); + }, mimeType, quality); + }; + + svgImage.onerror = function (e) { + var error; - reject(error); - }; - - svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml); - }); - } - - function svgXmlToImageElementFabric(svgXml) { - var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref2$scale = _ref2.scale, - scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale, - _ref2$mimeType = _ref2.mimeType, - mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType, - _ref2$quality = _ref2.quality, - quality = _ref2$quality === undefined ? 1 : _ref2$quality; - - var multiplier = scale; - - var format = void 0; - if (mimeType == 'image/jpeg') { - format = 'jpeg'; - } else if (mimeType == 'image/png') { - format = 'png'; + if ('error' in e) { + error = e.error; + } else { + error = new Error('Error loading SVG'); + } + + reject(error); + }; + + svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml); + }); } - return new Promise(function (resolve, reject) { - fabric.loadSVGFromString(svgXml, function (objects, options) { - // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one element back even given an empty graph, so we will assume an error in this case. - if (objects.length == 0) { - reject(new Error('Error loading SVG with Fabric')); + function svgXmlToImageElementFabric(svgXml) { + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref2$scale = _ref2.scale, + scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale, + _ref2$mimeType = _ref2.mimeType, + mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType, + _ref2$quality = _ref2.quality, + quality = _ref2$quality === undefined ? 1 : _ref2$quality; + + var multiplier = scale; + + var format = void 0; + if (mimeType == 'image/jpeg') { + format = 'jpeg'; + } else if (mimeType == 'image/png') { + format = 'png'; } - var element = document.createElement("canvas"); - element.width = options.width; - element.height = options.height; - - var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); - var obj = fabric.util.groupSVGElements(objects, options); - canvas.add(obj).renderAll(); - - var image = new Image(); - image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality }); - image.width = options.width; - image.height = options.height; - - resolve(image); - }); - }); - } - - var Viz = function () { - function Viz() { - var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - workerURL = _ref3.workerURL, - worker = _ref3.worker, - Module = _ref3.Module, - render = _ref3.render; - - classCallCheck(this, Viz); - - if (typeof workerURL !== 'undefined') { - this.wrapper = new WorkerWrapper(new Worker(workerURL)); - } else if (typeof worker !== 'undefined') { - this.wrapper = new WorkerWrapper(worker); - } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') { - this.wrapper = new ModuleWrapper(Module, render); - } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') { - this.wrapper = new ModuleWrapper(Viz.Module, Viz.render); - } else { - throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.'); - } + return new Promise(function (resolve, reject) { + fabric.loadSVGFromString(svgXml, function (objects, options) { + // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one element back even given an empty graph, so we will assume an error in this case. + if (objects.length == 0) { + reject(new Error('Error loading SVG with Fabric')); + } + + var element = document.createElement("canvas"); + element.width = options.width; + element.height = options.height; + + var canvas = new fabric.Canvas(element, {enableRetinaScaling: false}); + var obj = fabric.util.groupSVGElements(objects, options); + canvas.add(obj).renderAll(); + + var image = new Image(); + image.src = canvas.toDataURL({format: format, multiplier: multiplier, quality: quality}); + image.width = options.width; + image.height = options.height; + + resolve(image); + }); + }); } - createClass(Viz, [{ - key: 'renderString', - value: function renderString(src) { - var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref4$format = _ref4.format, - format = _ref4$format === undefined ? 'svg' : _ref4$format, - _ref4$engine = _ref4.engine, - engine = _ref4$engine === undefined ? 'dot' : _ref4$engine, - _ref4$files = _ref4.files, - files = _ref4$files === undefined ? [] : _ref4$files, - _ref4$images = _ref4.images, - images = _ref4$images === undefined ? [] : _ref4$images, - _ref4$yInvert = _ref4.yInvert, - yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert, - _ref4$nop = _ref4.nop, - nop = _ref4$nop === undefined ? 0 : _ref4$nop; - - for (var i = 0; i < images.length; i++) { - files.push({ - path: images[i].path, - data: '\n\n' - }); + var Viz = function () { + function Viz() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + workerURL = _ref3.workerURL, + worker = _ref3.worker, + Module = _ref3.Module, + render = _ref3.render; + + classCallCheck(this, Viz); + + if (typeof workerURL !== 'undefined') { + this.wrapper = new WorkerWrapper(new Worker(workerURL)); + } else if (typeof worker !== 'undefined') { + this.wrapper = new WorkerWrapper(worker); + } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') { + this.wrapper = new ModuleWrapper(Module, render); + } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') { + this.wrapper = new ModuleWrapper(Viz.Module, Viz.render); + } else { + throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.'); + } } - return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert, nop: nop }); - } - }, { - key: 'renderSVGElement', - value: function renderSVGElement(src) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + createClass(Viz, [{ + key: 'renderString', + value: function renderString(src) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref4$format = _ref4.format, + format = _ref4$format === undefined ? 'svg' : _ref4$format, + _ref4$engine = _ref4.engine, + engine = _ref4$engine === undefined ? 'dot' : _ref4$engine, + _ref4$files = _ref4.files, + files = _ref4$files === undefined ? [] : _ref4$files, + _ref4$images = _ref4.images, + images = _ref4$images === undefined ? [] : _ref4$images, + _ref4$yInvert = _ref4.yInvert, + yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert, + _ref4$nop = _ref4.nop, + nop = _ref4$nop === undefined ? 0 : _ref4$nop; + + for (var i = 0; i < images.length; i++) { + files.push({ + path: images[i].path, + data: '\n\n' + }); + } + + return this.wrapper.render(src, { + format: format, + engine: engine, + files: files, + images: images, + yInvert: yInvert, + nop: nop + }); + } + }, { + key: 'renderSVGElement', + value: function renderSVGElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + return this.renderString(src, _extends({}, options, {format: 'svg'})).then(function (str) { + var parser = new DOMParser(); + return parser.parseFromString(str, 'image/svg+xml').documentElement; + }); + } + }, { + key: 'renderImageElement', + value: function renderImageElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var scale = options.scale, + mimeType = options.mimeType, + quality = options.quality; + + + return this.renderString(src, _extends({}, options, {format: 'svg'})).then(function (str) { + if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === "object" && fabric.loadSVGFromString) { + return svgXmlToImageElementFabric(str, {scale: scale, mimeType: mimeType, quality: quality}); + } else { + return svgXmlToImageElement(str, {scale: scale, mimeType: mimeType, quality: quality}); + } + }); + } + }, { + key: 'renderJSONObject', + value: function renderJSONObject(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var format = options.format; - return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { - var parser = new DOMParser(); - return parser.parseFromString(str, 'image/svg+xml').documentElement; - }); - } - }, { - key: 'renderImageElement', - value: function renderImageElement(src) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var scale = options.scale, - mimeType = options.mimeType, - quality = options.quality; - - - return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { - if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === "object" && fabric.loadSVGFromString) { - return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality }); - } else { - return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality }); - } - }); - } - }, { - key: 'renderJSONObject', - value: function renderJSONObject(src) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var format = options.format; + if (format !== 'json' || format !== 'json0') { + format = 'json'; + } - if (format !== 'json' || format !== 'json0') { - format = 'json'; - } + return this.renderString(src, _extends({}, options, {format: format})).then(function (str) { + return JSON.parse(str); + }); + } + }]); + return Viz; + }(); - return this.renderString(src, _extends({}, options, { format: format })).then(function (str) { - return JSON.parse(str); - }); - } - }]); return Viz; - }(); - - return Viz; }))); diff --git a/src/main/resources/vditor/dist/js/highlight.js/highlight.pack.js b/src/main/resources/vditor/dist/js/highlight.js/highlight.pack.js index 5ce05609..76a2984d 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/highlight.pack.js +++ b/src/main/resources/vditor/dist/js/highlight.js/highlight.pack.js @@ -3,1615 +3,4089 @@ License: BSD-3-Clause Copyright (c) 2006-2021, Ivan Sagalaev */ -var hljs=function(){"use strict";function e(t){ -return t instanceof Map?t.clear=t.delete=t.set=()=>{ -throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ -throw Error("set is read-only") -}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{var i=t[n] -;"object"!=typeof i||Object.isFrozen(i)||e(i)})),t}var t=e,n=e;t.default=n -;class i{constructor(e){ -void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} -ignoreMatch(){this.isMatchIgnored=!0}}function s(e){ -return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") -}function a(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] -;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const r=e=>!!e.kind -;class l{constructor(e,t){ -this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ -this.buffer+=s(e)}openNode(e){if(!r(e))return;let t=e.kind -;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){ -r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ -this.buffer+=``}}class o{constructor(){this.rootNode={ -children:[]},this.stack=[this.rootNode]}get top(){ -return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ -this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} -;this.add(t),this.stack.push(t)}closeNode(){ -if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ -for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} -walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ -return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), -t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ -"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ -o._collapse(e)})))}}class c extends o{constructor(e){super(),this.options=e} -addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} -addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root -;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ -return new l(this,this.options).value()}finalize(){return!0}}function g(e){ -return e?"string"==typeof e?e:e.source:null} -const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,h="[a-zA-Z]\\w*",d="[a-zA-Z_]\\w*",f="\\b\\d+(\\.\\d+)?",p="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",m="\\b(0b[01]+)",b={ -begin:"\\\\[\\s\\S]",relevance:0},E={className:"string",begin:"'",end:"'", -illegal:"\\n",contains:[b]},x={className:"string",begin:'"',end:'"', -illegal:"\\n",contains:[b]},v={ -begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ -},w=(e,t,n={})=>{const i=a({className:"comment",begin:e,end:t,contains:[]},n) -;return i.contains.push(v),i.contains.push({className:"doctag", -begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i -},y=w("//","$"),N=w("/\\*","\\*/"),R=w("#","$");var _=Object.freeze({ -__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:h,UNDERSCORE_IDENT_RE:d, -NUMBER_RE:f,C_NUMBER_RE:p,BINARY_NUMBER_RE:m, -RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", -SHEBANG:(e={})=>{const t=/^#![ ]*\// -;return e.binary&&(e.begin=((...e)=>e.map((e=>g(e))).join(""))(t,/.*\b/,e.binary,/\b.*/)), -a({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{ -0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:b,APOS_STRING_MODE:E, -QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:v,COMMENT:w,C_LINE_COMMENT_MODE:y, -C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:R,NUMBER_MODE:{className:"number", -begin:f,relevance:0},C_NUMBER_MODE:{className:"number",begin:p,relevance:0}, -BINARY_NUMBER_MODE:{className:"number",begin:m,relevance:0},CSS_NUMBER_MODE:{ -className:"number", -begin:f+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", -relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp", -begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[b,{begin:/\[/,end:/\]/, -relevance:0,contains:[b]}]}]},TITLE_MODE:{className:"title",begin:h,relevance:0 -},UNDERSCORE_TITLE_MODE:{className:"title",begin:d,relevance:0},METHOD_GUARD:{ -begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ -"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ -t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function k(e,t){ -"."===e.input[e.index-1]&&t.ignoreMatch()}function M(e,t){ -t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", -e.__beforeBegin=k,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, -void 0===e.relevance&&(e.relevance=0))}function O(e,t){ -Array.isArray(e.illegal)&&(e.illegal=((...e)=>"("+e.map((e=>g(e))).join("|")+")")(...e.illegal)) -}function A(e,t){if(e.match){ -if(e.begin||e.end)throw Error("begin & end are not supported with match") -;e.begin=e.match,delete e.match}}function L(e,t){ -void 0===e.relevance&&(e.relevance=1)} -const I=["of","and","for","in","not","or","if","then","parent","list","value"] -;function j(e,t,n="keyword"){const i={} -;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ -Object.assign(i,j(e[n],t,n))})),i;function s(e,n){ -t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") -;i[n[0]]=[e,B(n[0],n[1])]}))}}function B(e,t){ -return t?Number(t):(e=>I.includes(e.toLowerCase()))(e)?0:1} -function T(e,{plugins:t}){function n(t,n){ -return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{ -constructor(){ -this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} -addRule(e,t){ -t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), -this.matchAt+=(e=>RegExp(e.toString()+"|").exec("").length-1)(e)+1}compile(){ -0===this.regexes.length&&(this.exec=()=>null) -;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(((e,t="|")=>{let n=0 -;return e.map((e=>{n+=1;const t=n;let i=g(e),s="";for(;i.length>0;){ -const e=u.exec(i);if(!e){s+=i;break} -s+=i.substring(0,e.index),i=i.substring(e.index+e[0].length), -"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],"("===e[0]&&n++)}return s -})).map((e=>`(${e})`)).join(t)})(e),!0),this.lastIndex=0}exec(e){ -this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e) -;if(!t)return null -;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] -;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ -this.rules=[],this.multiRegexes=[], -this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ -if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i -;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), -t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ -return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ -this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ -const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex -;let n=t.exec(e) -;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ -const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} -return n&&(this.regexIndex+=n.position+1, -this.regexIndex===this.count&&this.considerAll()),n}} -if(e.compilerExtensions||(e.compilerExtensions=[]), -e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") -;return e.classNameAliases=a(e.classNameAliases||{}),function t(i,r){const l=i -;if(i.isCompiled)return l -;[A].forEach((e=>e(i,r))),e.compilerExtensions.forEach((e=>e(i,r))), -i.__beforeBegin=null,[M,O,L].forEach((e=>e(i,r))),i.isCompiled=!0;let o=null -;if("object"==typeof i.keywords&&(o=i.keywords.$pattern, -delete i.keywords.$pattern), -i.keywords&&(i.keywords=j(i.keywords,e.case_insensitive)), -i.lexemes&&o)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ") -;return o=o||i.lexemes||/\w+/, -l.keywordPatternRe=n(o,!0),r&&(i.begin||(i.begin=/\B|\b/), -l.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin), -i.end||i.endsWithParent||(i.end=/\B|\b/), -i.end&&(l.endRe=n(i.end)),l.terminatorEnd=g(i.end)||"", -i.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)), -i.illegal&&(l.illegalRe=n(i.illegal)), -i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>a(e,{ -variants:null},t)))),e.cachedVariants?e.cachedVariants:S(e)?a(e,{ -starts:e.starts?a(e.starts):null -}):Object.isFrozen(e)?a(e):e))("self"===e?i:e)))),i.contains.forEach((e=>{t(e,l) -})),i.starts&&t(i.starts,r),l.matcher=(e=>{const t=new s -;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" -}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" -}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(l),l}(e)}function S(e){ -return!!e&&(e.endsWithParent||S(e.starts))}function P(e){const t={ -props:["language","code","autodetect"],data:()=>({detectedLanguage:"", -unknownLanguage:!1}),computed:{className(){ -return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){ -if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`), -this.unknownLanguage=!0,s(this.code);let t={} -;return this.autoDetect?(t=e.highlightAuto(this.code), -this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals), -this.detectedLanguage=this.language),t.value},autoDetect(){ -return!(this.language&&(e=this.autodetect,!e&&""!==e));var e}, -ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{ -class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{ -Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const D={ -"after:highlightElement":({el:e,result:t,text:n})=>{const i=H(e) -;if(!i.length)return;const a=document.createElement("div") -;a.innerHTML=t.value,t.value=((e,t,n)=>{let i=0,a="";const r=[];function l(){ -return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function c(e){ -a+=""}function g(e){("start"===e.event?o:c)(e.node)} -for(;e.length||t.length;){let t=l() -;if(a+=s(n.substring(i,t[0].offset)),i=t[0].offset,t===e){r.reverse().forEach(c) -;do{g(t.splice(0,1)[0]),t=l()}while(t===e&&t.length&&t[0].offset===i) -;r.reverse().forEach(o) -}else"start"===t[0].event?r.push(t[0].node):r.pop(),g(t.splice(0,1)[0])} -return a+s(n.substr(i))})(i,H(a),n)}};function C(e){ -return e.nodeName.toLowerCase()}function H(e){const t=[];return function e(n,i){ -for(let s=n.firstChild;s;s=s.nextSibling)3===s.nodeType?i+=s.nodeValue.length:1===s.nodeType&&(t.push({ -event:"start",offset:i,node:s}),i=e(s,i),C(s).match(/br|hr|img|input/)||t.push({ -event:"stop",offset:i,node:s}));return i}(e,0),t}const $={},U=e=>{ -console.error(e)},z=(e,...t)=>{console.log("WARN: "+e,...t)},K=(e,t)=>{ -$[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),$[`${e}/${t}`]=!0) -},G=s,V=a,W=Symbol("nomatch");return(e=>{ -const n=Object.create(null),s=Object.create(null),a=[];let r=!0 -;const l=/(^(<[^>]+>|\t|)+|\n)/gm,o="Could not find the language '{}', did you forget to load/include a language module?",g={ -disableAutodetect:!0,name:"Plain text",contains:[]};let u={ -noHighlightRe:/^(no-?highlight)$/i, -languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", -tabReplace:null,useBR:!1,languages:null,__emitter:c};function h(e){ -return u.noHighlightRe.test(e)}function d(e,t,n,i){let s="",a="" -;"object"==typeof t?(s=e, -n=t.ignoreIllegals,a=t.language,i=void 0):(K("10.7.0","highlight(lang, code, ...args) has been deprecated."), -K("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), -a=e,s=t);const r={code:s,language:a};M("before:highlight",r) -;const l=r.result?r.result:f(r.language,r.code,n,i) -;return l.code=r.code,M("after:highlight",l),l}function f(e,t,s,l){ -function c(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0] -;return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]} -function g(){null!=R.subLanguage?(()=>{if(""===M)return;let e=null -;if("string"==typeof R.subLanguage){ -if(!n[R.subLanguage])return void k.addText(M) -;e=f(R.subLanguage,M,!0,_[R.subLanguage]),_[R.subLanguage]=e.top -}else e=p(M,R.subLanguage.length?R.subLanguage:null) -;R.relevance>0&&(O+=e.relevance),k.addSublanguage(e.emitter,e.language) -})():(()=>{if(!R.keywords)return void k.addText(M);let e=0 -;R.keywordPatternRe.lastIndex=0;let t=R.keywordPatternRe.exec(M),n="";for(;t;){ -n+=M.substring(e,t.index);const i=c(R,t);if(i){const[e,s]=i -;if(k.addText(n),n="",O+=s,e.startsWith("_"))n+=t[0];else{ -const n=v.classNameAliases[e]||e;k.addKeyword(t[0],n)}}else n+=t[0] -;e=R.keywordPatternRe.lastIndex,t=R.keywordPatternRe.exec(M)} -n+=M.substr(e),k.addText(n)})(),M=""}function h(e){ -return e.className&&k.openNode(v.classNameAliases[e.className]||e.className), -R=Object.create(e,{parent:{value:R}}),R}function d(e,t,n){let s=((e,t)=>{ -const n=e&&e.exec(t);return n&&0===n.index})(e.endRe,n);if(s){if(e["on:end"]){ -const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(s=!1)}if(s){ -for(;e.endsParent&&e.parent;)e=e.parent;return e}} -if(e.endsWithParent)return d(e.parent,t,n)}function m(e){ -return 0===R.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function b(e){ -const n=e[0],i=t.substr(e.index),s=d(R,e,i);if(!s)return W;const a=R -;a.skip?M+=n:(a.returnEnd||a.excludeEnd||(M+=n),g(),a.excludeEnd&&(M=n));do{ -R.className&&k.closeNode(),R.skip||R.subLanguage||(O+=R.relevance),R=R.parent -}while(R!==s.parent) -;return s.starts&&(s.endSameAsBegin&&(s.starts.endRe=s.endRe), -h(s.starts)),a.returnEnd?0:n.length}let E={};function x(n,a){const l=a&&a[0] -;if(M+=n,null==l)return g(),0 -;if("begin"===E.type&&"end"===a.type&&E.index===a.index&&""===l){ -if(M+=t.slice(a.index,a.index+1),!r){const t=Error("0 width match regex") -;throw t.languageName=e,t.badRule=E.rule,t}return 1} -if(E=a,"begin"===a.type)return function(e){ -const t=e[0],n=e.rule,s=new i(n),a=[n.__beforeBegin,n["on:begin"]] -;for(const n of a)if(n&&(n(e,s),s.isMatchIgnored))return m(t) -;return n&&n.endSameAsBegin&&(n.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")), -n.skip?M+=t:(n.excludeBegin&&(M+=t), -g(),n.returnBegin||n.excludeBegin||(M=t)),h(n),n.returnBegin?0:t.length}(a) -;if("illegal"===a.type&&!s){ -const e=Error('Illegal lexeme "'+l+'" for mode "'+(R.className||"")+'"') -;throw e.mode=R,e}if("end"===a.type){const e=b(a);if(e!==W)return e} -if("illegal"===a.type&&""===l)return 1 -;if(L>1e5&&L>3*a.index)throw Error("potential infinite loop, way more iterations than matches") -;return M+=l,l.length}const v=N(e) -;if(!v)throw U(o.replace("{}",e)),Error('Unknown language: "'+e+'"') -;const w=T(v,{plugins:a});let y="",R=l||w;const _={},k=new u.__emitter(u);(()=>{ -const e=[];for(let t=R;t!==v;t=t.parent)t.className&&e.unshift(t.className) -;e.forEach((e=>k.openNode(e)))})();let M="",O=0,A=0,L=0,I=!1;try{ -for(R.matcher.considerAll();;){ -L++,I?I=!1:R.matcher.considerAll(),R.matcher.lastIndex=A -;const e=R.matcher.exec(t);if(!e)break;const n=x(t.substring(A,e.index),e) -;A=e.index+n}return x(t.substr(A)),k.closeAllNodes(),k.finalize(),y=k.toHTML(),{ -relevance:Math.floor(O),value:y,language:e,illegal:!1,emitter:k,top:R}}catch(n){ -if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{ -msg:n.message,context:t.slice(A-100,A+100),mode:n.mode},sofar:y,relevance:0, -value:G(t),emitter:k};if(r)return{illegal:!1,relevance:0,value:G(t),emitter:k, -language:e,top:R,errorRaised:n};throw n}}function p(e,t){ -t=t||u.languages||Object.keys(n);const i=(e=>{const t={relevance:0, -emitter:new u.__emitter(u),value:G(e),illegal:!1,top:g} -;return t.emitter.addText(e),t})(e),s=t.filter(N).filter(k).map((t=>f(t,e,!1))) -;s.unshift(i);const a=s.sort(((e,t)=>{ -if(e.relevance!==t.relevance)return t.relevance-e.relevance -;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1 -;if(N(t.language).supersetOf===e.language)return-1}return 0})),[r,l]=a,o=r -;return o.second_best=l,o}const m={"before:highlightElement":({el:e})=>{ -u.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")) -},"after:highlightElement":({result:e})=>{ -u.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},b=/^(<[^>]+>|\t)+/gm,E={ -"after:highlightElement":({result:e})=>{ -u.tabReplace&&(e.value=e.value.replace(b,(e=>e.replace(/\t/g,u.tabReplace))))}} -;function x(e){let t=null;const n=(e=>{let t=e.className+" " -;t+=e.parentNode?e.parentNode.className:"";const n=u.languageDetectRe.exec(t) -;if(n){const t=N(n[1]) -;return t||(z(o.replace("{}",n[1])),z("Falling back to no-highlight mode for this block.",e)), -t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>h(e)||N(e)))})(e) -;if(h(n))return;M("before:highlightElement",{el:e,language:n}),t=e -;const i=t.textContent,a=n?d(i,{language:n,ignoreIllegals:!0}):p(i) -;M("after:highlightElement",{el:e,result:a,text:i -}),e.innerHTML=a.value,((e,t,n)=>{const i=t?s[t]:n -;e.classList.add("hljs"),i&&e.classList.add(i)})(e,n,a.language),e.result={ -language:a.language,re:a.relevance,relavance:a.relevance -},a.second_best&&(e.second_best={language:a.second_best.language, -re:a.second_best.relevance,relavance:a.second_best.relevance})}const v=()=>{ -v.called||(v.called=!0, -K("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."), -document.querySelectorAll("pre code").forEach(x))};let w=!1;function y(){ -"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(x):w=!0 -}function N(e){return e=(e||"").toLowerCase(),n[e]||n[s[e]]} -function R(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ -s[e.toLowerCase()]=t}))}function k(e){const t=N(e) -;return t&&!t.disableAutodetect}function M(e,t){const n=e;a.forEach((e=>{ -e[n]&&e[n](t)}))} -"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ -w&&y()}),!1),Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:y, -fixMarkup:e=>{ -return K("10.2.0","fixMarkup will be removed entirely in v11.0"),K("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"), -t=e, -u.tabReplace||u.useBR?t.replace(l,(e=>"\n"===e?u.useBR?"
":e:u.tabReplace?e.replace(/\t/g,u.tabReplace):e)):t -;var t},highlightElement:x, -highlightBlock:e=>(K("10.7.0","highlightBlock will be removed entirely in v12.0"), -K("10.7.0","Please use highlightElement now."),x(e)),configure:e=>{ -e.useBR&&(K("10.3.0","'useBR' will be removed entirely in v11.0"), -K("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")), -u=V(u,e)},initHighlighting:v,initHighlightingOnLoad:()=>{ -K("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."), -w=!0},registerLanguage:(t,i)=>{let s=null;try{s=i(e)}catch(e){ -if(U("Language definition for '{}' could not be registered.".replace("{}",t)), -!r)throw e;U(e),s=g} -s.name||(s.name=t),n[t]=s,s.rawDefinition=i.bind(null,e),s.aliases&&R(s.aliases,{ -languageName:t})},unregisterLanguage:e=>{delete n[e] -;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, -listLanguages:()=>Object.keys(n),getLanguage:N,registerAliases:R, -requireLanguage:e=>{ -K("10.4.0","requireLanguage will be removed entirely in v11."), -K("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844") -;const t=N(e);if(t)return t -;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))}, -autoDetection:k,inherit:V,addPlugin:e=>{(e=>{ -e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ -e["before:highlightBlock"](Object.assign({block:t.el},t)) -}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ -e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),a.push(e)}, -vuePlugin:P(e).VuePlugin}),e.debugMode=()=>{r=!1},e.safeMode=()=>{r=!0 -},e.versionString="10.7.2";for(const e in _)"object"==typeof _[e]&&t(_[e]) -;return Object.assign(e,_),e.addPlugin(m),e.addPlugin(D),e.addPlugin(E),e})({}) -}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("nginx",(()=>{"use strict";return e=>{const n={ -className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/\}/},{ -begin:/[$@]/+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{ -$pattern:"[a-z/_]+", -literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll" -},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string", -contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/ -}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n] -},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^", -end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{ -begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number", -begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{ -className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{ -name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{ -begin:e.UNDERSCORE_IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\{/,contains:[{ -className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{ -begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|\\{",returnBegin:!0,contains:[{ -className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}], -illegal:"[^\\s\\}]"}}})());hljs.registerLanguage("less",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],n=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse(),r=i.concat(o) -;return a=>{const s=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(a),l=r,d="([\\w-]+|@\\{[\\w-]+\\})",c=[],g=[],b=e=>({className:"string", -begin:"~?"+e+".*?"+e}),m=(e,t,i)=>({className:e,begin:t,relevance:i}),u={ -$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},p={ -begin:"\\(",end:"\\)",contains:g,keywords:u,relevance:0} -;g.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b("'"),b('"'),a.CSS_NUMBER_MODE,{ -begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", -excludeEnd:!0} -},s.HEXCOLOR,p,m("variable","@@?[\\w-]+",10),m("variable","@\\{[\\w-]+\\}"),m("built_in","~?`[^`]*?`"),{ -className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 -},s.IMPORTANT);const f=g.concat({begin:/\{/,end:/\}/,contains:c}),h={ -beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not" -}].concat(g)},w={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0, -contains:[{begin:/-(webkit|moz|ms|o)-/},{className:"attribute", -begin:"\\b("+n.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0, -illegal:"[<=$]",relevance:0,contains:g}}]},v={className:"keyword", -begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", -starts:{end:"[;{}]",keywords:u,returnEnd:!0,contains:g,relevance:0}},y={ -className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ -begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:f}},k={variants:[{ -begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0, -returnEnd:!0,illegal:"[<='$\"]",relevance:0, -contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,h,m("keyword","all\\b"),m("variable","@\\{[\\w-]+\\}"),{ -begin:"\\b("+e.join("|")+")\\b",className:"selector-tag" -},m("selector-tag",d+"%?",0),m("selector-id","#"+d),m("selector-class","\\."+d,0),m("selector-tag","&",0),s.ATTRIBUTE_SELECTOR_MODE,{ -className:"selector-pseudo",begin:":("+i.join("|")+")"},{ -className:"selector-pseudo",begin:"::("+o.join("|")+")"},{begin:"\\(",end:"\\)", -contains:f},{begin:"!important"}]},E={begin:`[\\w-]+:(:)?(${l.join("|")})`, -returnBegin:!0,contains:[k]} -;return c.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,v,y,E,w,k),{ -name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:c}}})());hljs.registerLanguage("python",(()=>{"use strict";return e=>{const n={ -$pattern:/[A-Za-z]\w+|__\w+__/, -keyword:["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"], -built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], -literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], -type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] -},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/, -end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},t={ -className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, -contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ -begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, -end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([uU]|[rR])'/,end:/'/, -relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ -begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, -end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, -contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},r="[0-9](_?[0-9])*",l=`(\\b(${r}))?\\.(${r})|\\b(${r})\\.`,b={ -className:"number",relevance:0,variants:[{ -begin:`(\\b(${r})|(${l}))[eE][+-]?(${r})[jJ]?\\b`},{begin:`(${l})[jJ]?`},{ -begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{ -begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{ -begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${r})[jJ]\\b`}]},o={ -className:"comment", -begin:(d=/# type:/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",d,")")), -end:/$/,keywords:n,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/, -endsWithParent:!0}]},c={className:"params",variants:[{className:"", -begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0, -keywords:n,contains:["self",a,b,t,e.HASH_COMMENT_MODE]}]};var d -;return i.contains=[t,b,a],{name:"Python",aliases:["py","gyp","ipython"], -keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,b,{begin:/\bself\b/},{ -beginKeywords:"if",relevance:0},t,o,e.HASH_COMMENT_MODE,{variants:[{ -className:"function",beginKeywords:"def"},{className:"class", -beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/, -contains:[e.UNDERSCORE_TITLE_MODE,c,{begin:/->/,endsWithParent:!0,keywords:n}] -},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,c,t]}]}}})());hljs.registerLanguage("r",(()=>{"use strict";function e(...e){return e.map((e=>{ -return(a=e)?"string"==typeof a?a:a.source:null;var a})).join("")}return a=>{ -const n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/;return{name:"R", -illegal:/->/,keywords:{$pattern:n, -keyword:"function if in break next repeat else for while", -literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", -built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" -},compilerExtensions:[(a,n)=>{if(!a.beforeMatch)return -;if(a.starts)throw Error("beforeMatch cannot be used with starts") -;const i=Object.assign({},a);Object.keys(a).forEach((e=>{delete a[e] -})),a.begin=e(i.beforeMatch,e("(?=",i.begin,")")),a.starts={relevance:0, -contains:[Object.assign(i,{endsParent:!0})]},a.relevance=0,delete i.beforeMatch -}],contains:[a.COMMENT(/#'/,/$/,{contains:[{className:"doctag", -begin:"@examples",starts:{contains:[{begin:/\n/},{begin:/#'\s*(?=@[a-zA-Z]+)/, -endsParent:!0},{begin:/#'/,end:/$/,excludeBegin:!0}]}},{className:"doctag", -begin:"@param",end:/$/,contains:[{className:"variable",variants:[{begin:n},{ -begin:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{className:"doctag", -begin:/@[a-zA-Z]+/},{className:"meta-keyword",begin:/\\[a-zA-Z]+/}] -}),a.HASH_COMMENT_MODE,{className:"string",contains:[a.BACKSLASH_ESCAPE], -variants:[a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', -relevance:0},{begin:"'",end:"'",relevance:0}]},{className:"number",relevance:0, -beforeMatch:/([^a-zA-Z0-9._])/,variants:[{ -match:/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/},{ -match:/0[xX][0-9a-fA-F]+([pP][+-]?\d+)?[Li]?/},{ -match:/(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[Li]?/}]},{begin:"%",end:"%"},{ -begin:e(/[a-zA-Z][a-zA-Z_0-9]*/,"\\s+<-\\s+")},{begin:"`",end:"`",contains:[{ -begin:/\\./}]}]}}})());hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s -})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ -begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ -begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ -className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ -begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, -end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, -contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, -end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] -},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 -}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, -contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ -name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/, -keyword:"if then else elif fi for while in do done case esac function", -literal:"true false", -built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" -},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ -},{className:"string",begin:/'/,end:/'/},n]}}})());hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ -name:"Shell Session",aliases:["console"],contains:[{className:"meta", -begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,starts:{end:/[^\\](?=\s*$)/, -subLanguage:"bash"}}]})})());hljs.registerLanguage("gradle",(()=>{"use strict";return e=>({name:"Gradle", -case_insensitive:!0,keywords:{ -keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine" -}, -contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.REGEXP_MODE] -})})());hljs.registerLanguage("properties",(()=>{"use strict";return e=>{ -var n="[ \\t\\f]*",a=n+"[:=]"+n,t="("+a+"|[ \\t\\f]+)",r="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={ -end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{ -begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties", -case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{ -returnBegin:!0,variants:[{begin:r+a,relevance:1},{begin:r+"[ \\t\\f]+", -relevance:0}],contains:[{className:"attr",begin:r,endsParent:!0,relevance:0}], -starts:i},{begin:s+t,returnBegin:!0,relevance:0,contains:[{className:"meta", -begin:s,endsParent:!0,relevance:0}],starts:i},{className:"attr",relevance:0, -begin:s+n+"$"}]}}})());hljs.registerLanguage("xml",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} -function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const t=a(/[A-Z_]/,a("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ -className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/, -contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] -},c=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ -className:"meta-string"}),g=e.inherit(e.QUOTE_STRING_MODE,{ -className:"meta-string"}),m={endsWithParent:!0,illegal:/`]+/}]}] -}]};return{name:"HTML, XML", -aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], -case_insensitive:!0,contains:[{className:"meta",begin://, -relevance:10,contains:[r,g,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta", -begin://,contains:[r,c,g,l]}]}]},e.COMMENT(//,{ -relevance:10}),{begin://,relevance:10},i,{ -className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ -end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ -end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ -className:"tag",begin:/<>|<\/>/},{className:"tag", -begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", -begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), -contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, -endsParent:!0}]}]}}})());hljs.registerLanguage("c",(()=>{"use strict";function e(e){ -return((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(",e,")?") -}return t=>{const n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),r="[a-zA-Z_]\\w*::",a="(decltype\\(auto\\)|"+e(r)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",i={ -className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string", -variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", -contains:[t.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},t.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},t.inherit(s,{className:"meta-string"}),{ -className:"meta-string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},l={ -className:"title",begin:e(r)+t.IDENT_RE,relevance:0 -},d=e(r)+t.IDENT_RE+"\\s*\\(",u={ -keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", -built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary", -literal:"true false nullptr NULL"},m=[c,i,n,t.C_BLOCK_COMMENT_MODE,o,s],p={ -variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ -beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:m.concat([{ -begin:/\(/,end:/\)/,keywords:u,contains:m.concat(["self"]),relevance:0}]), -relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d, -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/, -contains:[{begin:"decltype\\(auto\\)",keywords:u,relevance:0},{begin:d, -returnBegin:!0,contains:[l],relevance:0},{className:"params",begin:/\(/, -end:/\)/,keywords:u,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,s,o,i,{ -begin:/\(/,end:/\)/,keywords:u,relevance:0, -contains:["self",n,t.C_BLOCK_COMMENT_MODE,s,o,i]}] -},i,n,t.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, -disableAutodetect:!0,illegal:"",keywords:u,contains:["self",i]},{begin:t.IDENT_RE+"::",keywords:u},{ -className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, -contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{ -preprocessor:c,strings:s,keywords:u}}}})());hljs.registerLanguage("ruby",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n -})).join("")}return n=>{ -const a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={ -keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", -built_in:"proc lambda",literal:"true false nil"},s={className:"doctag", -begin:"@[A-Za-z]+"},r={begin:"#<",end:">"},b=[n.COMMENT("#","$",{contains:[s] -}),n.COMMENT("^=begin","^=end",{contains:[s],relevance:10 -}),n.COMMENT("^__END__","\\n$")],c={className:"subst",begin:/#\{/,end:/\}/, -keywords:i},t={className:"string",contains:[n.BACKSLASH_ESCAPE,c],variants:[{ -begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/, -end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{ -begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/, -end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{ -begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{ -begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ -begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ -begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ -begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:!0,contains:[{ -begin:/<<[-~]?'?/},n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, -contains:[n.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",d={className:"number", -relevance:0,variants:[{ -begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ -begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" -},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ -begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ -begin:"\\b0(_?[0-7])+r?i?\\b"}]},l={className:"params",begin:"\\(",end:"\\)", -endsParent:!0,keywords:i},o=[t,{className:"class",beginKeywords:"class module", -end:"$|;",illegal:/=/,contains:[n.inherit(n.TITLE_MODE,{ -begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{ -begin:"("+n.IDENT_RE+"::)?"+n.IDENT_RE,relevance:0}]}].concat(b)},{ -className:"function",begin:e(/def\s+/,(_=a+"\\s*(\\(|;|$)",e("(?=",_,")"))), -relevance:0,keywords:"def",end:"$|;",contains:[n.inherit(n.TITLE_MODE,{begin:a -}),l].concat(b)},{begin:n.IDENT_RE+"::"},{className:"symbol", -begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", -begin:":(?!\\s)",contains:[t,{begin:a}],relevance:0},d,{className:"variable", -begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ -className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{ -begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{ -className:"regexp",contains:[n.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{ -begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(", -end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}] -}].concat(r,b),relevance:0}].concat(r,b);var _;c.contains=o,l.contains=o -;const E=[{begin:/^\s*=>/,starts:{end:"$",contains:o}},{className:"meta", -begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", -starts:{end:"$",contains:o}}];return b.unshift(r),{name:"Ruby", -aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/, -contains:[n.SHEBANG({binary:"ruby"})].concat(E).concat(b).concat(o)}}})());hljs.registerLanguage("php",(()=>{"use strict";return e=>{const r={ -className:"variable", -begin:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?![A-Za-z0-9])(?![$])"},t={ -className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{ -begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/, -end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null -}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null, -contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({ -begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, -contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string", -contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'" -}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},s={className:"number",variants:[{ -begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{ -begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{ -begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?" -}],relevance:0},c={ -keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield", -literal:"false null true", -built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass" -};return{aliases:["php3","php4","php5","php6","php7","php8"], -case_insensitive:!0,keywords:c, -contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t] -}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}] -}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0, -keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{ -begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function", -relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0, -illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{ -begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0,keywords:c, -contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,s]}]},{className:"class",variants:[{ -beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", -illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ -beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, -contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";", -contains:[e.UNDERSCORE_TITLE_MODE]},l,s]}}})());hljs.registerLanguage("stata",(()=>{"use strict";return e=>({name:"Stata", -aliases:["do","ado"],case_insensitive:!0, -keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5", -contains:[{className:"symbol",begin:/`[a-zA-Z0-9_]+'/},{className:"variable", -begin:/\$\{?[a-zA-Z0-9_]+\}?/},{className:"string",variants:[{ -begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"built_in", -variants:[{ -begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()" -}]},e.COMMENT("^[ \t]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE] -})})());hljs.registerLanguage("typescript",(()=>{"use strict" -;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;function t(e){return r("(?=",e,")")}function r(...e){return e.map((e=>{ -return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ -const c={$pattern:e, -keyword:n.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]), -literal:a, -built_in:s.concat(["any","void","number","boolean","string","object","never","enum"]) -},o={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},l=(e,n,a)=>{ -const s=e.contains.findIndex((e=>e.label===n)) -;if(-1===s)throw Error("can not find mode to replace");e.contains.splice(s,1,a) -},b=(i=>{const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/, -end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ -const a=e[0].length+e.index,s=e.input[a];"<"!==s?">"===s&&(((e,{after:n})=>{ -const a="", -returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ -begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 -},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] -},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ -variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, -end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, -contains:["self"]}]}],relevance:0},{className:"function", -beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, -contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),A],illegal:/%/},{ -beginKeywords:"while if switch catch for"},{className:"function", -begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,contains:[A,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ -begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", -beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ -beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, -end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",A] -},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", -contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},A]},{begin:/\$[(.]/}] -}})(i) -;return Object.assign(b.keywords,c),b.exports.PARAMS_CONTAINS.push(o),b.contains=b.contains.concat([o,{ -beginKeywords:"namespace",end:/\{/,excludeEnd:!0},{beginKeywords:"interface", -end:/\{/,excludeEnd:!0,keywords:"interface extends" -}]),l(b,"shebang",i.SHEBANG()),l(b,"use_strict",{className:"meta",relevance:10, -begin:/^\s*['"]use strict['"]/ -}),b.contains.find((e=>"function"===e.className)).relevance=0,Object.assign(b,{ -name:"TypeScript",aliases:["ts","tsx"]}),b}})());hljs.registerLanguage("vbnet",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const a=/\d{1,2}\/\d{1,2}\/\d{4}/,i=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,o={ -className:"literal",variants:[{begin:n(/# */,t(i,a),/ *#/)},{ -begin:n(/# */,r,/ *#/)},{begin:n(/# */,s,/ *#/)},{ -begin:n(/# */,t(i,a),/ +/,t(s,r),/ *#/)}]},l=e.COMMENT(/'''/,/$/,{contains:[{ -className:"doctag",begin:/<\/?/,end:/>/}]}),c=e.COMMENT(null,/$/,{variants:[{ -begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET", -aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{ -keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", -built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", -type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", -literal:"true false nothing"}, -illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ -className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, -end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o,{className:"number",relevance:0, -variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ -},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ -begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ -className:"label",begin:/^\w+:/},l,c,{className:"meta", -begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, -end:/$/,keywords:{ -"meta-keyword":"const disable else elseif enable end externalsource if region then" -},contains:[c]}]}}})());hljs.registerLanguage("fortran",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n -})).join("")}return n=>{const a={variants:[n.COMMENT("!","$",{relevance:0 -}),n.COMMENT("^C[ ]","$",{relevance:0}),n.COMMENT("^C$","$",{relevance:0})] -},t=/(_[a-z_\d]+)?/,i=/([de][+-]?\d+)?/,c={className:"number",variants:[{ -begin:e(/\b\d+/,/\.(\d*)/,i,t)},{begin:e(/\b\d+/,i,t)},{begin:e(/\.\d+/,i,t)}], -relevance:0},o={className:"function", -beginKeywords:"subroutine function program",illegal:"[${=\\n]", -contains:[n.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]} -;return{name:"Fortran",case_insensitive:!0,aliases:["f90","f95"],keywords:{ -literal:".False. .True.", -keyword:"kind do concurrent local shared while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure integer real character complex logical codimension dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data", -built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce" -},illegal:/\/\*/,contains:[{className:"string",relevance:0, -variants:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},o,{begin:/^C\s*=(?!=)/, -relevance:0},a,c]}}})());hljs.registerLanguage("kotlin",(()=>{"use strict" -;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ -className:"number",variants:[{ -begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ -begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};return e=>{const n={ -keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", -built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", -literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" -},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ -className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", -variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", -illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, -contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ -className:"meta", -begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" -},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, -end:/\)/,contains:[e.inherit(r,{className:"meta-string"})]}] -},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ -variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, -contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], -{name:"Kotlin",aliases:["kt","kts"],keywords:n, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", -begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", -begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", -begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", -returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, -keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, -endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, -endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 -},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{className:"class", -beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, -illegal:"extends implements",contains:[{ -beginKeywords:"public protected internal private constructor" -},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, -excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, -excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", -end:"$",illegal:"\n"},o]}}})());hljs.registerLanguage("erb",(()=>{"use strict";return e=>({name:"ERB", -subLanguage:"xml",contains:[e.COMMENT("<%#","%>"),{begin:"<%[%=-]?", -end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]})})());hljs.registerLanguage("mathematica",(()=>{"use strict" -;const e=["AASTriangle","AbelianGroup","Abort","AbortKernels","AbortProtect","AbortScheduledTask","Above","Abs","AbsArg","AbsArgPlot","Absolute","AbsoluteCorrelation","AbsoluteCorrelationFunction","AbsoluteCurrentValue","AbsoluteDashing","AbsoluteFileName","AbsoluteOptions","AbsolutePointSize","AbsoluteThickness","AbsoluteTime","AbsoluteTiming","AcceptanceThreshold","AccountingForm","Accumulate","Accuracy","AccuracyGoal","ActionDelay","ActionMenu","ActionMenuBox","ActionMenuBoxOptions","Activate","Active","ActiveClassification","ActiveClassificationObject","ActiveItem","ActivePrediction","ActivePredictionObject","ActiveStyle","AcyclicGraphQ","AddOnHelpPath","AddSides","AddTo","AddToSearchIndex","AddUsers","AdjacencyGraph","AdjacencyList","AdjacencyMatrix","AdjacentMeshCells","AdjustmentBox","AdjustmentBoxOptions","AdjustTimeSeriesForecast","AdministrativeDivisionData","AffineHalfSpace","AffineSpace","AffineStateSpaceModel","AffineTransform","After","AggregatedEntityClass","AggregationLayer","AircraftData","AirportData","AirPressureData","AirTemperatureData","AiryAi","AiryAiPrime","AiryAiZero","AiryBi","AiryBiPrime","AiryBiZero","AlgebraicIntegerQ","AlgebraicNumber","AlgebraicNumberDenominator","AlgebraicNumberNorm","AlgebraicNumberPolynomial","AlgebraicNumberTrace","AlgebraicRules","AlgebraicRulesData","Algebraics","AlgebraicUnitQ","Alignment","AlignmentMarker","AlignmentPoint","All","AllowAdultContent","AllowedCloudExtraParameters","AllowedCloudParameterExtensions","AllowedDimensions","AllowedFrequencyRange","AllowedHeads","AllowGroupClose","AllowIncomplete","AllowInlineCells","AllowKernelInitialization","AllowLooseGrammar","AllowReverseGroupClose","AllowScriptLevelChange","AllowVersionUpdate","AllTrue","Alphabet","AlphabeticOrder","AlphabeticSort","AlphaChannel","AlternateImage","AlternatingFactorial","AlternatingGroup","AlternativeHypothesis","Alternatives","AltitudeMethod","AmbientLight","AmbiguityFunction","AmbiguityList","Analytic","AnatomyData","AnatomyForm","AnatomyPlot3D","AnatomySkinStyle","AnatomyStyling","AnchoredSearch","And","AndersonDarlingTest","AngerJ","AngleBisector","AngleBracket","AnglePath","AnglePath3D","AngleVector","AngularGauge","Animate","AnimationCycleOffset","AnimationCycleRepetitions","AnimationDirection","AnimationDisplayTime","AnimationRate","AnimationRepetitions","AnimationRunning","AnimationRunTime","AnimationTimeIndex","Animator","AnimatorBox","AnimatorBoxOptions","AnimatorElements","Annotate","Annotation","AnnotationDelete","AnnotationKeys","AnnotationRules","AnnotationValue","Annuity","AnnuityDue","Annulus","AnomalyDetection","AnomalyDetector","AnomalyDetectorFunction","Anonymous","Antialiasing","AntihermitianMatrixQ","Antisymmetric","AntisymmetricMatrixQ","Antonyms","AnyOrder","AnySubset","AnyTrue","Apart","ApartSquareFree","APIFunction","Appearance","AppearanceElements","AppearanceRules","AppellF1","Append","AppendCheck","AppendLayer","AppendTo","Apply","ApplySides","ArcCos","ArcCosh","ArcCot","ArcCoth","ArcCsc","ArcCsch","ArcCurvature","ARCHProcess","ArcLength","ArcSec","ArcSech","ArcSin","ArcSinDistribution","ArcSinh","ArcTan","ArcTanh","Area","Arg","ArgMax","ArgMin","ArgumentCountQ","ARIMAProcess","ArithmeticGeometricMean","ARMAProcess","Around","AroundReplace","ARProcess","Array","ArrayComponents","ArrayDepth","ArrayFilter","ArrayFlatten","ArrayMesh","ArrayPad","ArrayPlot","ArrayQ","ArrayResample","ArrayReshape","ArrayRules","Arrays","Arrow","Arrow3DBox","ArrowBox","Arrowheads","ASATriangle","Ask","AskAppend","AskConfirm","AskDisplay","AskedQ","AskedValue","AskFunction","AskState","AskTemplateDisplay","AspectRatio","AspectRatioFixed","Assert","AssociateTo","Association","AssociationFormat","AssociationMap","AssociationQ","AssociationThread","AssumeDeterministic","Assuming","Assumptions","AstronomicalData","Asymptotic","AsymptoticDSolveValue","AsymptoticEqual","AsymptoticEquivalent","AsymptoticGreater","AsymptoticGreaterEqual","AsymptoticIntegrate","AsymptoticLess","AsymptoticLessEqual","AsymptoticOutputTracker","AsymptoticProduct","AsymptoticRSolveValue","AsymptoticSolve","AsymptoticSum","Asynchronous","AsynchronousTaskObject","AsynchronousTasks","Atom","AtomCoordinates","AtomCount","AtomDiagramCoordinates","AtomList","AtomQ","AttentionLayer","Attributes","Audio","AudioAmplify","AudioAnnotate","AudioAnnotationLookup","AudioBlockMap","AudioCapture","AudioChannelAssignment","AudioChannelCombine","AudioChannelMix","AudioChannels","AudioChannelSeparate","AudioData","AudioDelay","AudioDelete","AudioDevice","AudioDistance","AudioEncoding","AudioFade","AudioFrequencyShift","AudioGenerator","AudioIdentify","AudioInputDevice","AudioInsert","AudioInstanceQ","AudioIntervals","AudioJoin","AudioLabel","AudioLength","AudioLocalMeasurements","AudioLooping","AudioLoudness","AudioMeasurements","AudioNormalize","AudioOutputDevice","AudioOverlay","AudioPad","AudioPan","AudioPartition","AudioPause","AudioPitchShift","AudioPlay","AudioPlot","AudioQ","AudioRecord","AudioReplace","AudioResample","AudioReverb","AudioReverse","AudioSampleRate","AudioSpectralMap","AudioSpectralTransformation","AudioSplit","AudioStop","AudioStream","AudioStreams","AudioTimeStretch","AudioTracks","AudioTrim","AudioType","AugmentedPolyhedron","AugmentedSymmetricPolynomial","Authenticate","Authentication","AuthenticationDialog","AutoAction","Autocomplete","AutocompletionFunction","AutoCopy","AutocorrelationTest","AutoDelete","AutoEvaluateEvents","AutoGeneratedPackage","AutoIndent","AutoIndentSpacings","AutoItalicWords","AutoloadPath","AutoMatch","Automatic","AutomaticImageSize","AutoMultiplicationSymbol","AutoNumberFormatting","AutoOpenNotebooks","AutoOpenPalettes","AutoQuoteCharacters","AutoRefreshed","AutoRemove","AutorunSequencing","AutoScaling","AutoScroll","AutoSpacing","AutoStyleOptions","AutoStyleWords","AutoSubmitting","Axes","AxesEdge","AxesLabel","AxesOrigin","AxesStyle","AxiomaticTheory","Axis","BabyMonsterGroupB","Back","Background","BackgroundAppearance","BackgroundTasksSettings","Backslash","Backsubstitution","Backward","Ball","Band","BandpassFilter","BandstopFilter","BarabasiAlbertGraphDistribution","BarChart","BarChart3D","BarcodeImage","BarcodeRecognize","BaringhausHenzeTest","BarLegend","BarlowProschanImportance","BarnesG","BarOrigin","BarSpacing","BartlettHannWindow","BartlettWindow","BaseDecode","BaseEncode","BaseForm","Baseline","BaselinePosition","BaseStyle","BasicRecurrentLayer","BatchNormalizationLayer","BatchSize","BatesDistribution","BattleLemarieWavelet","BayesianMaximization","BayesianMaximizationObject","BayesianMinimization","BayesianMinimizationObject","Because","BeckmannDistribution","Beep","Before","Begin","BeginDialogPacket","BeginFrontEndInteractionPacket","BeginPackage","BellB","BellY","Below","BenfordDistribution","BeniniDistribution","BenktanderGibratDistribution","BenktanderWeibullDistribution","BernoulliB","BernoulliDistribution","BernoulliGraphDistribution","BernoulliProcess","BernsteinBasis","BesselFilterModel","BesselI","BesselJ","BesselJZero","BesselK","BesselY","BesselYZero","Beta","BetaBinomialDistribution","BetaDistribution","BetaNegativeBinomialDistribution","BetaPrimeDistribution","BetaRegularized","Between","BetweennessCentrality","BeveledPolyhedron","BezierCurve","BezierCurve3DBox","BezierCurve3DBoxOptions","BezierCurveBox","BezierCurveBoxOptions","BezierFunction","BilateralFilter","Binarize","BinaryDeserialize","BinaryDistance","BinaryFormat","BinaryImageQ","BinaryRead","BinaryReadList","BinarySerialize","BinaryWrite","BinCounts","BinLists","Binomial","BinomialDistribution","BinomialProcess","BinormalDistribution","BiorthogonalSplineWavelet","BipartiteGraphQ","BiquadraticFilterModel","BirnbaumImportance","BirnbaumSaundersDistribution","BitAnd","BitClear","BitGet","BitLength","BitNot","BitOr","BitSet","BitShiftLeft","BitShiftRight","BitXor","BiweightLocation","BiweightMidvariance","Black","BlackmanHarrisWindow","BlackmanNuttallWindow","BlackmanWindow","Blank","BlankForm","BlankNullSequence","BlankSequence","Blend","Block","BlockchainAddressData","BlockchainBase","BlockchainBlockData","BlockchainContractValue","BlockchainData","BlockchainGet","BlockchainKeyEncode","BlockchainPut","BlockchainTokenData","BlockchainTransaction","BlockchainTransactionData","BlockchainTransactionSign","BlockchainTransactionSubmit","BlockMap","BlockRandom","BlomqvistBeta","BlomqvistBetaTest","Blue","Blur","BodePlot","BohmanWindow","Bold","Bond","BondCount","BondList","BondQ","Bookmarks","Boole","BooleanConsecutiveFunction","BooleanConvert","BooleanCountingFunction","BooleanFunction","BooleanGraph","BooleanMaxterms","BooleanMinimize","BooleanMinterms","BooleanQ","BooleanRegion","Booleans","BooleanStrings","BooleanTable","BooleanVariables","BorderDimensions","BorelTannerDistribution","Bottom","BottomHatTransform","BoundaryDiscretizeGraphics","BoundaryDiscretizeRegion","BoundaryMesh","BoundaryMeshRegion","BoundaryMeshRegionQ","BoundaryStyle","BoundedRegionQ","BoundingRegion","Bounds","Box","BoxBaselineShift","BoxData","BoxDimensions","Boxed","Boxes","BoxForm","BoxFormFormatTypes","BoxFrame","BoxID","BoxMargins","BoxMatrix","BoxObject","BoxRatios","BoxRotation","BoxRotationPoint","BoxStyle","BoxWhiskerChart","Bra","BracketingBar","BraKet","BrayCurtisDistance","BreadthFirstScan","Break","BridgeData","BrightnessEqualize","BroadcastStationData","Brown","BrownForsytheTest","BrownianBridgeProcess","BrowserCategory","BSplineBasis","BSplineCurve","BSplineCurve3DBox","BSplineCurve3DBoxOptions","BSplineCurveBox","BSplineCurveBoxOptions","BSplineFunction","BSplineSurface","BSplineSurface3DBox","BSplineSurface3DBoxOptions","BubbleChart","BubbleChart3D","BubbleScale","BubbleSizes","BuildingData","BulletGauge","BusinessDayQ","ButterflyGraph","ButterworthFilterModel","Button","ButtonBar","ButtonBox","ButtonBoxOptions","ButtonCell","ButtonContents","ButtonData","ButtonEvaluator","ButtonExpandable","ButtonFrame","ButtonFunction","ButtonMargins","ButtonMinHeight","ButtonNote","ButtonNotebook","ButtonSource","ButtonStyle","ButtonStyleMenuListing","Byte","ByteArray","ByteArrayFormat","ByteArrayQ","ByteArrayToString","ByteCount","ByteOrdering","C","CachedValue","CacheGraphics","CachePersistence","CalendarConvert","CalendarData","CalendarType","Callout","CalloutMarker","CalloutStyle","CallPacket","CanberraDistance","Cancel","CancelButton","CandlestickChart","CanonicalGraph","CanonicalizePolygon","CanonicalizePolyhedron","CanonicalName","CanonicalWarpingCorrespondence","CanonicalWarpingDistance","CantorMesh","CantorStaircase","Cap","CapForm","CapitalDifferentialD","Capitalize","CapsuleShape","CaptureRunning","CardinalBSplineBasis","CarlemanLinearize","CarmichaelLambda","CaseOrdering","Cases","CaseSensitive","Cashflow","Casoratian","Catalan","CatalanNumber","Catch","CategoricalDistribution","Catenate","CatenateLayer","CauchyDistribution","CauchyWindow","CayleyGraph","CDF","CDFDeploy","CDFInformation","CDFWavelet","Ceiling","CelestialSystem","Cell","CellAutoOverwrite","CellBaseline","CellBoundingBox","CellBracketOptions","CellChangeTimes","CellContents","CellContext","CellDingbat","CellDynamicExpression","CellEditDuplicate","CellElementsBoundingBox","CellElementSpacings","CellEpilog","CellEvaluationDuplicate","CellEvaluationFunction","CellEvaluationLanguage","CellEventActions","CellFrame","CellFrameColor","CellFrameLabelMargins","CellFrameLabels","CellFrameMargins","CellGroup","CellGroupData","CellGrouping","CellGroupingRules","CellHorizontalScrolling","CellID","CellLabel","CellLabelAutoDelete","CellLabelMargins","CellLabelPositioning","CellLabelStyle","CellLabelTemplate","CellMargins","CellObject","CellOpen","CellPrint","CellProlog","Cells","CellSize","CellStyle","CellTags","CellularAutomaton","CensoredDistribution","Censoring","Center","CenterArray","CenterDot","CentralFeature","CentralMoment","CentralMomentGeneratingFunction","Cepstrogram","CepstrogramArray","CepstrumArray","CForm","ChampernowneNumber","ChangeOptions","ChannelBase","ChannelBrokerAction","ChannelDatabin","ChannelHistoryLength","ChannelListen","ChannelListener","ChannelListeners","ChannelListenerWait","ChannelObject","ChannelPreSendFunction","ChannelReceiverFunction","ChannelSend","ChannelSubscribers","ChanVeseBinarize","Character","CharacterCounts","CharacterEncoding","CharacterEncodingsPath","CharacteristicFunction","CharacteristicPolynomial","CharacterName","CharacterNormalize","CharacterRange","Characters","ChartBaseStyle","ChartElementData","ChartElementDataFunction","ChartElementFunction","ChartElements","ChartLabels","ChartLayout","ChartLegends","ChartStyle","Chebyshev1FilterModel","Chebyshev2FilterModel","ChebyshevDistance","ChebyshevT","ChebyshevU","Check","CheckAbort","CheckAll","Checkbox","CheckboxBar","CheckboxBox","CheckboxBoxOptions","ChemicalData","ChessboardDistance","ChiDistribution","ChineseRemainder","ChiSquareDistribution","ChoiceButtons","ChoiceDialog","CholeskyDecomposition","Chop","ChromaticityPlot","ChromaticityPlot3D","ChromaticPolynomial","Circle","CircleBox","CircleDot","CircleMinus","CirclePlus","CirclePoints","CircleThrough","CircleTimes","CirculantGraph","CircularOrthogonalMatrixDistribution","CircularQuaternionMatrixDistribution","CircularRealMatrixDistribution","CircularSymplecticMatrixDistribution","CircularUnitaryMatrixDistribution","Circumsphere","CityData","ClassifierFunction","ClassifierInformation","ClassifierMeasurements","ClassifierMeasurementsObject","Classify","ClassPriors","Clear","ClearAll","ClearAttributes","ClearCookies","ClearPermissions","ClearSystemCache","ClebschGordan","ClickPane","Clip","ClipboardNotebook","ClipFill","ClippingStyle","ClipPlanes","ClipPlanesStyle","ClipRange","Clock","ClockGauge","ClockwiseContourIntegral","Close","Closed","CloseKernels","ClosenessCentrality","Closing","ClosingAutoSave","ClosingEvent","ClosingSaveDialog","CloudAccountData","CloudBase","CloudConnect","CloudConnections","CloudDeploy","CloudDirectory","CloudDisconnect","CloudEvaluate","CloudExport","CloudExpression","CloudExpressions","CloudFunction","CloudGet","CloudImport","CloudLoggingData","CloudObject","CloudObjectInformation","CloudObjectInformationData","CloudObjectNameFormat","CloudObjects","CloudObjectURLType","CloudPublish","CloudPut","CloudRenderingMethod","CloudSave","CloudShare","CloudSubmit","CloudSymbol","CloudUnshare","CloudUserID","ClusterClassify","ClusterDissimilarityFunction","ClusteringComponents","ClusteringTree","CMYKColor","Coarse","CodeAssistOptions","Coefficient","CoefficientArrays","CoefficientDomain","CoefficientList","CoefficientRules","CoifletWavelet","Collect","Colon","ColonForm","ColorBalance","ColorCombine","ColorConvert","ColorCoverage","ColorData","ColorDataFunction","ColorDetect","ColorDistance","ColorFunction","ColorFunctionScaling","Colorize","ColorNegate","ColorOutput","ColorProfileData","ColorQ","ColorQuantize","ColorReplace","ColorRules","ColorSelectorSettings","ColorSeparate","ColorSetter","ColorSetterBox","ColorSetterBoxOptions","ColorSlider","ColorsNear","ColorSpace","ColorToneMapping","Column","ColumnAlignments","ColumnBackgrounds","ColumnForm","ColumnLines","ColumnsEqual","ColumnSpacings","ColumnWidths","CombinedEntityClass","CombinerFunction","CometData","CommonDefaultFormatTypes","Commonest","CommonestFilter","CommonName","CommonUnits","CommunityBoundaryStyle","CommunityGraphPlot","CommunityLabels","CommunityRegionStyle","CompanyData","CompatibleUnitQ","CompilationOptions","CompilationTarget","Compile","Compiled","CompiledCodeFunction","CompiledFunction","CompilerOptions","Complement","ComplementedEntityClass","CompleteGraph","CompleteGraphQ","CompleteKaryTree","CompletionsListPacket","Complex","ComplexContourPlot","Complexes","ComplexExpand","ComplexInfinity","ComplexityFunction","ComplexListPlot","ComplexPlot","ComplexPlot3D","ComplexRegionPlot","ComplexStreamPlot","ComplexVectorPlot","ComponentMeasurements","ComponentwiseContextMenu","Compose","ComposeList","ComposeSeries","CompositeQ","Composition","CompoundElement","CompoundExpression","CompoundPoissonDistribution","CompoundPoissonProcess","CompoundRenewalProcess","Compress","CompressedData","CompressionLevel","ComputeUncertainty","Condition","ConditionalExpression","Conditioned","Cone","ConeBox","ConfidenceLevel","ConfidenceRange","ConfidenceTransform","ConfigurationPath","ConformAudio","ConformImages","Congruent","ConicHullRegion","ConicHullRegion3DBox","ConicHullRegionBox","ConicOptimization","Conjugate","ConjugateTranspose","Conjunction","Connect","ConnectedComponents","ConnectedGraphComponents","ConnectedGraphQ","ConnectedMeshComponents","ConnectedMoleculeComponents","ConnectedMoleculeQ","ConnectionSettings","ConnectLibraryCallbackFunction","ConnectSystemModelComponents","ConnesWindow","ConoverTest","ConsoleMessage","ConsoleMessagePacket","Constant","ConstantArray","ConstantArrayLayer","ConstantImage","ConstantPlusLayer","ConstantRegionQ","Constants","ConstantTimesLayer","ConstellationData","ConstrainedMax","ConstrainedMin","Construct","Containing","ContainsAll","ContainsAny","ContainsExactly","ContainsNone","ContainsOnly","ContentFieldOptions","ContentLocationFunction","ContentObject","ContentPadding","ContentsBoundingBox","ContentSelectable","ContentSize","Context","ContextMenu","Contexts","ContextToFileName","Continuation","Continue","ContinuedFraction","ContinuedFractionK","ContinuousAction","ContinuousMarkovProcess","ContinuousTask","ContinuousTimeModelQ","ContinuousWaveletData","ContinuousWaveletTransform","ContourDetect","ContourGraphics","ContourIntegral","ContourLabels","ContourLines","ContourPlot","ContourPlot3D","Contours","ContourShading","ContourSmoothing","ContourStyle","ContraharmonicMean","ContrastiveLossLayer","Control","ControlActive","ControlAlignment","ControlGroupContentsBox","ControllabilityGramian","ControllabilityMatrix","ControllableDecomposition","ControllableModelQ","ControllerDuration","ControllerInformation","ControllerInformationData","ControllerLinking","ControllerManipulate","ControllerMethod","ControllerPath","ControllerState","ControlPlacement","ControlsRendering","ControlType","Convergents","ConversionOptions","ConversionRules","ConvertToBitmapPacket","ConvertToPostScript","ConvertToPostScriptPacket","ConvexHullMesh","ConvexPolygonQ","ConvexPolyhedronQ","ConvolutionLayer","Convolve","ConwayGroupCo1","ConwayGroupCo2","ConwayGroupCo3","CookieFunction","Cookies","CoordinateBoundingBox","CoordinateBoundingBoxArray","CoordinateBounds","CoordinateBoundsArray","CoordinateChartData","CoordinatesToolOptions","CoordinateTransform","CoordinateTransformData","CoprimeQ","Coproduct","CopulaDistribution","Copyable","CopyDatabin","CopyDirectory","CopyFile","CopyTag","CopyToClipboard","CornerFilter","CornerNeighbors","Correlation","CorrelationDistance","CorrelationFunction","CorrelationTest","Cos","Cosh","CoshIntegral","CosineDistance","CosineWindow","CosIntegral","Cot","Coth","Count","CountDistinct","CountDistinctBy","CounterAssignments","CounterBox","CounterBoxOptions","CounterClockwiseContourIntegral","CounterEvaluator","CounterFunction","CounterIncrements","CounterStyle","CounterStyleMenuListing","CountRoots","CountryData","Counts","CountsBy","Covariance","CovarianceEstimatorFunction","CovarianceFunction","CoxianDistribution","CoxIngersollRossProcess","CoxModel","CoxModelFit","CramerVonMisesTest","CreateArchive","CreateCellID","CreateChannel","CreateCloudExpression","CreateDatabin","CreateDataStructure","CreateDataSystemModel","CreateDialog","CreateDirectory","CreateDocument","CreateFile","CreateIntermediateDirectories","CreateManagedLibraryExpression","CreateNotebook","CreatePacletArchive","CreatePalette","CreatePalettePacket","CreatePermissionsGroup","CreateScheduledTask","CreateSearchIndex","CreateSystemModel","CreateTemporary","CreateUUID","CreateWindow","CriterionFunction","CriticalityFailureImportance","CriticalitySuccessImportance","CriticalSection","Cross","CrossEntropyLossLayer","CrossingCount","CrossingDetect","CrossingPolygon","CrossMatrix","Csc","Csch","CTCLossLayer","Cube","CubeRoot","Cubics","Cuboid","CuboidBox","Cumulant","CumulantGeneratingFunction","Cup","CupCap","Curl","CurlyDoubleQuote","CurlyQuote","CurrencyConvert","CurrentDate","CurrentImage","CurrentlySpeakingPacket","CurrentNotebookImage","CurrentScreenImage","CurrentValue","Curry","CurryApplied","CurvatureFlowFilter","CurveClosed","Cyan","CycleGraph","CycleIndexPolynomial","Cycles","CyclicGroup","Cyclotomic","Cylinder","CylinderBox","CylindricalDecomposition","D","DagumDistribution","DamData","DamerauLevenshteinDistance","DampingFactor","Darker","Dashed","Dashing","DatabaseConnect","DatabaseDisconnect","DatabaseReference","Databin","DatabinAdd","DatabinRemove","Databins","DatabinUpload","DataCompression","DataDistribution","DataRange","DataReversed","Dataset","DatasetDisplayPanel","DataStructure","DataStructureQ","Date","DateBounds","Dated","DateDelimiters","DateDifference","DatedUnit","DateFormat","DateFunction","DateHistogram","DateInterval","DateList","DateListLogPlot","DateListPlot","DateListStepPlot","DateObject","DateObjectQ","DateOverlapsQ","DatePattern","DatePlus","DateRange","DateReduction","DateString","DateTicksFormat","DateValue","DateWithinQ","DaubechiesWavelet","DavisDistribution","DawsonF","DayCount","DayCountConvention","DayHemisphere","DaylightQ","DayMatchQ","DayName","DayNightTerminator","DayPlus","DayRange","DayRound","DeBruijnGraph","DeBruijnSequence","Debug","DebugTag","Decapitalize","Decimal","DecimalForm","DeclareKnownSymbols","DeclarePackage","Decompose","DeconvolutionLayer","Decrement","Decrypt","DecryptFile","DedekindEta","DeepSpaceProbeData","Default","DefaultAxesStyle","DefaultBaseStyle","DefaultBoxStyle","DefaultButton","DefaultColor","DefaultControlPlacement","DefaultDuplicateCellStyle","DefaultDuration","DefaultElement","DefaultFaceGridsStyle","DefaultFieldHintStyle","DefaultFont","DefaultFontProperties","DefaultFormatType","DefaultFormatTypeForStyle","DefaultFrameStyle","DefaultFrameTicksStyle","DefaultGridLinesStyle","DefaultInlineFormatType","DefaultInputFormatType","DefaultLabelStyle","DefaultMenuStyle","DefaultNaturalLanguage","DefaultNewCellStyle","DefaultNewInlineCellStyle","DefaultNotebook","DefaultOptions","DefaultOutputFormatType","DefaultPrintPrecision","DefaultStyle","DefaultStyleDefinitions","DefaultTextFormatType","DefaultTextInlineFormatType","DefaultTicksStyle","DefaultTooltipStyle","DefaultValue","DefaultValues","Defer","DefineExternal","DefineInputStreamMethod","DefineOutputStreamMethod","DefineResourceFunction","Definition","Degree","DegreeCentrality","DegreeGraphDistribution","DegreeLexicographic","DegreeReverseLexicographic","DEigensystem","DEigenvalues","Deinitialization","Del","DelaunayMesh","Delayed","Deletable","Delete","DeleteAnomalies","DeleteBorderComponents","DeleteCases","DeleteChannel","DeleteCloudExpression","DeleteContents","DeleteDirectory","DeleteDuplicates","DeleteDuplicatesBy","DeleteFile","DeleteMissing","DeleteObject","DeletePermissionsKey","DeleteSearchIndex","DeleteSmallComponents","DeleteStopwords","DeleteWithContents","DeletionWarning","DelimitedArray","DelimitedSequence","Delimiter","DelimiterFlashTime","DelimiterMatching","Delimiters","DeliveryFunction","Dendrogram","Denominator","DensityGraphics","DensityHistogram","DensityPlot","DensityPlot3D","DependentVariables","Deploy","Deployed","Depth","DepthFirstScan","Derivative","DerivativeFilter","DerivedKey","DescriptorStateSpace","DesignMatrix","DestroyAfterEvaluation","Det","DeviceClose","DeviceConfigure","DeviceExecute","DeviceExecuteAsynchronous","DeviceObject","DeviceOpen","DeviceOpenQ","DeviceRead","DeviceReadBuffer","DeviceReadLatest","DeviceReadList","DeviceReadTimeSeries","Devices","DeviceStreams","DeviceWrite","DeviceWriteBuffer","DGaussianWavelet","DiacriticalPositioning","Diagonal","DiagonalizableMatrixQ","DiagonalMatrix","DiagonalMatrixQ","Dialog","DialogIndent","DialogInput","DialogLevel","DialogNotebook","DialogProlog","DialogReturn","DialogSymbols","Diamond","DiamondMatrix","DiceDissimilarity","DictionaryLookup","DictionaryWordQ","DifferenceDelta","DifferenceOrder","DifferenceQuotient","DifferenceRoot","DifferenceRootReduce","Differences","DifferentialD","DifferentialRoot","DifferentialRootReduce","DifferentiatorFilter","DigitalSignature","DigitBlock","DigitBlockMinimum","DigitCharacter","DigitCount","DigitQ","DihedralAngle","DihedralGroup","Dilation","DimensionalCombinations","DimensionalMeshComponents","DimensionReduce","DimensionReducerFunction","DimensionReduction","Dimensions","DiracComb","DiracDelta","DirectedEdge","DirectedEdges","DirectedGraph","DirectedGraphQ","DirectedInfinity","Direction","Directive","Directory","DirectoryName","DirectoryQ","DirectoryStack","DirichletBeta","DirichletCharacter","DirichletCondition","DirichletConvolve","DirichletDistribution","DirichletEta","DirichletL","DirichletLambda","DirichletTransform","DirichletWindow","DisableConsolePrintPacket","DisableFormatting","DiscreteAsymptotic","DiscreteChirpZTransform","DiscreteConvolve","DiscreteDelta","DiscreteHadamardTransform","DiscreteIndicator","DiscreteLimit","DiscreteLQEstimatorGains","DiscreteLQRegulatorGains","DiscreteLyapunovSolve","DiscreteMarkovProcess","DiscreteMaxLimit","DiscreteMinLimit","DiscretePlot","DiscretePlot3D","DiscreteRatio","DiscreteRiccatiSolve","DiscreteShift","DiscreteTimeModelQ","DiscreteUniformDistribution","DiscreteVariables","DiscreteWaveletData","DiscreteWaveletPacketTransform","DiscreteWaveletTransform","DiscretizeGraphics","DiscretizeRegion","Discriminant","DisjointQ","Disjunction","Disk","DiskBox","DiskMatrix","DiskSegment","Dispatch","DispatchQ","DispersionEstimatorFunction","Display","DisplayAllSteps","DisplayEndPacket","DisplayFlushImagePacket","DisplayForm","DisplayFunction","DisplayPacket","DisplayRules","DisplaySetSizePacket","DisplayString","DisplayTemporary","DisplayWith","DisplayWithRef","DisplayWithVariable","DistanceFunction","DistanceMatrix","DistanceTransform","Distribute","Distributed","DistributedContexts","DistributeDefinitions","DistributionChart","DistributionDomain","DistributionFitTest","DistributionParameterAssumptions","DistributionParameterQ","Dithering","Div","Divergence","Divide","DivideBy","Dividers","DivideSides","Divisible","Divisors","DivisorSigma","DivisorSum","DMSList","DMSString","Do","DockedCells","DocumentGenerator","DocumentGeneratorInformation","DocumentGeneratorInformationData","DocumentGenerators","DocumentNotebook","DocumentWeightingRules","Dodecahedron","DomainRegistrationInformation","DominantColors","DOSTextFormat","Dot","DotDashed","DotEqual","DotLayer","DotPlusLayer","Dotted","DoubleBracketingBar","DoubleContourIntegral","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DoublyInfinite","Down","DownArrow","DownArrowBar","DownArrowUpArrow","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","Downsample","DownTee","DownTeeArrow","DownValues","DragAndDrop","DrawEdges","DrawFrontFaces","DrawHighlighted","Drop","DropoutLayer","DSolve","DSolveValue","Dt","DualLinearProgramming","DualPolyhedron","DualSystemsModel","DumpGet","DumpSave","DuplicateFreeQ","Duration","Dynamic","DynamicBox","DynamicBoxOptions","DynamicEvaluationTimeout","DynamicGeoGraphics","DynamicImage","DynamicLocation","DynamicModule","DynamicModuleBox","DynamicModuleBoxOptions","DynamicModuleParent","DynamicModuleValues","DynamicName","DynamicNamespace","DynamicReference","DynamicSetting","DynamicUpdating","DynamicWrapper","DynamicWrapperBox","DynamicWrapperBoxOptions","E","EarthImpactData","EarthquakeData","EccentricityCentrality","Echo","EchoFunction","EclipseType","EdgeAdd","EdgeBetweennessCentrality","EdgeCapacity","EdgeCapForm","EdgeColor","EdgeConnectivity","EdgeContract","EdgeCost","EdgeCount","EdgeCoverQ","EdgeCycleMatrix","EdgeDashing","EdgeDelete","EdgeDetect","EdgeForm","EdgeIndex","EdgeJoinForm","EdgeLabeling","EdgeLabels","EdgeLabelStyle","EdgeList","EdgeOpacity","EdgeQ","EdgeRenderingFunction","EdgeRules","EdgeShapeFunction","EdgeStyle","EdgeTaggedGraph","EdgeTaggedGraphQ","EdgeTags","EdgeThickness","EdgeWeight","EdgeWeightedGraphQ","Editable","EditButtonSettings","EditCellTagsSettings","EditDistance","EffectiveInterest","Eigensystem","Eigenvalues","EigenvectorCentrality","Eigenvectors","Element","ElementData","ElementwiseLayer","ElidedForms","Eliminate","EliminationOrder","Ellipsoid","EllipticE","EllipticExp","EllipticExpPrime","EllipticF","EllipticFilterModel","EllipticK","EllipticLog","EllipticNomeQ","EllipticPi","EllipticReducedHalfPeriods","EllipticTheta","EllipticThetaPrime","EmbedCode","EmbeddedHTML","EmbeddedService","EmbeddingLayer","EmbeddingObject","EmitSound","EmphasizeSyntaxErrors","EmpiricalDistribution","Empty","EmptyGraphQ","EmptyRegion","EnableConsolePrintPacket","Enabled","Encode","Encrypt","EncryptedObject","EncryptFile","End","EndAdd","EndDialogPacket","EndFrontEndInteractionPacket","EndOfBuffer","EndOfFile","EndOfLine","EndOfString","EndPackage","EngineEnvironment","EngineeringForm","Enter","EnterExpressionPacket","EnterTextPacket","Entity","EntityClass","EntityClassList","EntityCopies","EntityFunction","EntityGroup","EntityInstance","EntityList","EntityPrefetch","EntityProperties","EntityProperty","EntityPropertyClass","EntityRegister","EntityStore","EntityStores","EntityTypeName","EntityUnregister","EntityValue","Entropy","EntropyFilter","Environment","Epilog","EpilogFunction","Equal","EqualColumns","EqualRows","EqualTilde","EqualTo","EquatedTo","Equilibrium","EquirippleFilterKernel","Equivalent","Erf","Erfc","Erfi","ErlangB","ErlangC","ErlangDistribution","Erosion","ErrorBox","ErrorBoxOptions","ErrorNorm","ErrorPacket","ErrorsDialogSettings","EscapeRadius","EstimatedBackground","EstimatedDistribution","EstimatedProcess","EstimatorGains","EstimatorRegulator","EuclideanDistance","EulerAngles","EulerCharacteristic","EulerE","EulerGamma","EulerianGraphQ","EulerMatrix","EulerPhi","Evaluatable","Evaluate","Evaluated","EvaluatePacket","EvaluateScheduledTask","EvaluationBox","EvaluationCell","EvaluationCompletionAction","EvaluationData","EvaluationElements","EvaluationEnvironment","EvaluationMode","EvaluationMonitor","EvaluationNotebook","EvaluationObject","EvaluationOrder","Evaluator","EvaluatorNames","EvenQ","EventData","EventEvaluator","EventHandler","EventHandlerTag","EventLabels","EventSeries","ExactBlackmanWindow","ExactNumberQ","ExactRootIsolation","ExampleData","Except","ExcludedForms","ExcludedLines","ExcludedPhysicalQuantities","ExcludePods","Exclusions","ExclusionsStyle","Exists","Exit","ExitDialog","ExoplanetData","Exp","Expand","ExpandAll","ExpandDenominator","ExpandFileName","ExpandNumerator","Expectation","ExpectationE","ExpectedValue","ExpGammaDistribution","ExpIntegralE","ExpIntegralEi","ExpirationDate","Exponent","ExponentFunction","ExponentialDistribution","ExponentialFamily","ExponentialGeneratingFunction","ExponentialMovingAverage","ExponentialPowerDistribution","ExponentPosition","ExponentStep","Export","ExportAutoReplacements","ExportByteArray","ExportForm","ExportPacket","ExportString","Expression","ExpressionCell","ExpressionGraph","ExpressionPacket","ExpressionUUID","ExpToTrig","ExtendedEntityClass","ExtendedGCD","Extension","ExtentElementFunction","ExtentMarkers","ExtentSize","ExternalBundle","ExternalCall","ExternalDataCharacterEncoding","ExternalEvaluate","ExternalFunction","ExternalFunctionName","ExternalIdentifier","ExternalObject","ExternalOptions","ExternalSessionObject","ExternalSessions","ExternalStorageBase","ExternalStorageDownload","ExternalStorageGet","ExternalStorageObject","ExternalStoragePut","ExternalStorageUpload","ExternalTypeSignature","ExternalValue","Extract","ExtractArchive","ExtractLayer","ExtractPacletArchive","ExtremeValueDistribution","FaceAlign","FaceForm","FaceGrids","FaceGridsStyle","FacialFeatures","Factor","FactorComplete","Factorial","Factorial2","FactorialMoment","FactorialMomentGeneratingFunction","FactorialPower","FactorInteger","FactorList","FactorSquareFree","FactorSquareFreeList","FactorTerms","FactorTermsList","Fail","Failure","FailureAction","FailureDistribution","FailureQ","False","FareySequence","FARIMAProcess","FeatureDistance","FeatureExtract","FeatureExtraction","FeatureExtractor","FeatureExtractorFunction","FeatureNames","FeatureNearest","FeatureSpacePlot","FeatureSpacePlot3D","FeatureTypes","FEDisableConsolePrintPacket","FeedbackLinearize","FeedbackSector","FeedbackSectorStyle","FeedbackType","FEEnableConsolePrintPacket","FetalGrowthData","Fibonacci","Fibonorial","FieldCompletionFunction","FieldHint","FieldHintStyle","FieldMasked","FieldSize","File","FileBaseName","FileByteCount","FileConvert","FileDate","FileExistsQ","FileExtension","FileFormat","FileHandler","FileHash","FileInformation","FileName","FileNameDepth","FileNameDialogSettings","FileNameDrop","FileNameForms","FileNameJoin","FileNames","FileNameSetter","FileNameSplit","FileNameTake","FilePrint","FileSize","FileSystemMap","FileSystemScan","FileTemplate","FileTemplateApply","FileType","FilledCurve","FilledCurveBox","FilledCurveBoxOptions","Filling","FillingStyle","FillingTransform","FilteredEntityClass","FilterRules","FinancialBond","FinancialData","FinancialDerivative","FinancialIndicator","Find","FindAnomalies","FindArgMax","FindArgMin","FindChannels","FindClique","FindClusters","FindCookies","FindCurvePath","FindCycle","FindDevices","FindDistribution","FindDistributionParameters","FindDivisions","FindEdgeCover","FindEdgeCut","FindEdgeIndependentPaths","FindEquationalProof","FindEulerianCycle","FindExternalEvaluators","FindFaces","FindFile","FindFit","FindFormula","FindFundamentalCycles","FindGeneratingFunction","FindGeoLocation","FindGeometricConjectures","FindGeometricTransform","FindGraphCommunities","FindGraphIsomorphism","FindGraphPartition","FindHamiltonianCycle","FindHamiltonianPath","FindHiddenMarkovStates","FindImageText","FindIndependentEdgeSet","FindIndependentVertexSet","FindInstance","FindIntegerNullVector","FindKClan","FindKClique","FindKClub","FindKPlex","FindLibrary","FindLinearRecurrence","FindList","FindMatchingColor","FindMaximum","FindMaximumCut","FindMaximumFlow","FindMaxValue","FindMeshDefects","FindMinimum","FindMinimumCostFlow","FindMinimumCut","FindMinValue","FindMoleculeSubstructure","FindPath","FindPeaks","FindPermutation","FindPostmanTour","FindProcessParameters","FindRepeat","FindRoot","FindSequenceFunction","FindSettings","FindShortestPath","FindShortestTour","FindSpanningTree","FindSystemModelEquilibrium","FindTextualAnswer","FindThreshold","FindTransientRepeat","FindVertexCover","FindVertexCut","FindVertexIndependentPaths","Fine","FinishDynamic","FiniteAbelianGroupCount","FiniteGroupCount","FiniteGroupData","First","FirstCase","FirstPassageTimeDistribution","FirstPosition","FischerGroupFi22","FischerGroupFi23","FischerGroupFi24Prime","FisherHypergeometricDistribution","FisherRatioTest","FisherZDistribution","Fit","FitAll","FitRegularization","FittedModel","FixedOrder","FixedPoint","FixedPointList","FlashSelection","Flat","Flatten","FlattenAt","FlattenLayer","FlatTopWindow","FlipView","Floor","FlowPolynomial","FlushPrintOutputPacket","Fold","FoldList","FoldPair","FoldPairList","FollowRedirects","Font","FontColor","FontFamily","FontForm","FontName","FontOpacity","FontPostScriptName","FontProperties","FontReencoding","FontSize","FontSlant","FontSubstitutions","FontTracking","FontVariations","FontWeight","For","ForAll","ForceVersionInstall","Format","FormatRules","FormatType","FormatTypeAutoConvert","FormatValues","FormBox","FormBoxOptions","FormControl","FormFunction","FormLayoutFunction","FormObject","FormPage","FormTheme","FormulaData","FormulaLookup","FortranForm","Forward","ForwardBackward","Fourier","FourierCoefficient","FourierCosCoefficient","FourierCosSeries","FourierCosTransform","FourierDCT","FourierDCTFilter","FourierDCTMatrix","FourierDST","FourierDSTMatrix","FourierMatrix","FourierParameters","FourierSequenceTransform","FourierSeries","FourierSinCoefficient","FourierSinSeries","FourierSinTransform","FourierTransform","FourierTrigSeries","FractionalBrownianMotionProcess","FractionalGaussianNoiseProcess","FractionalPart","FractionBox","FractionBoxOptions","FractionLine","Frame","FrameBox","FrameBoxOptions","Framed","FrameInset","FrameLabel","Frameless","FrameMargins","FrameRate","FrameStyle","FrameTicks","FrameTicksStyle","FRatioDistribution","FrechetDistribution","FreeQ","FrenetSerretSystem","FrequencySamplingFilterKernel","FresnelC","FresnelF","FresnelG","FresnelS","Friday","FrobeniusNumber","FrobeniusSolve","FromAbsoluteTime","FromCharacterCode","FromCoefficientRules","FromContinuedFraction","FromDate","FromDigits","FromDMS","FromEntity","FromJulianDate","FromLetterNumber","FromPolarCoordinates","FromRomanNumeral","FromSphericalCoordinates","FromUnixTime","Front","FrontEndDynamicExpression","FrontEndEventActions","FrontEndExecute","FrontEndObject","FrontEndResource","FrontEndResourceString","FrontEndStackSize","FrontEndToken","FrontEndTokenExecute","FrontEndValueCache","FrontEndVersion","FrontFaceColor","FrontFaceOpacity","Full","FullAxes","FullDefinition","FullForm","FullGraphics","FullInformationOutputRegulator","FullOptions","FullRegion","FullSimplify","Function","FunctionCompile","FunctionCompileExport","FunctionCompileExportByteArray","FunctionCompileExportLibrary","FunctionCompileExportString","FunctionDomain","FunctionExpand","FunctionInterpolation","FunctionPeriod","FunctionRange","FunctionSpace","FussellVeselyImportance","GaborFilter","GaborMatrix","GaborWavelet","GainMargins","GainPhaseMargins","GalaxyData","GalleryView","Gamma","GammaDistribution","GammaRegularized","GapPenalty","GARCHProcess","GatedRecurrentLayer","Gather","GatherBy","GaugeFaceElementFunction","GaugeFaceStyle","GaugeFrameElementFunction","GaugeFrameSize","GaugeFrameStyle","GaugeLabels","GaugeMarkers","GaugeStyle","GaussianFilter","GaussianIntegers","GaussianMatrix","GaussianOrthogonalMatrixDistribution","GaussianSymplecticMatrixDistribution","GaussianUnitaryMatrixDistribution","GaussianWindow","GCD","GegenbauerC","General","GeneralizedLinearModelFit","GenerateAsymmetricKeyPair","GenerateConditions","GeneratedCell","GeneratedDocumentBinding","GenerateDerivedKey","GenerateDigitalSignature","GenerateDocument","GeneratedParameters","GeneratedQuantityMagnitudes","GenerateFileSignature","GenerateHTTPResponse","GenerateSecuredAuthenticationKey","GenerateSymmetricKey","GeneratingFunction","GeneratorDescription","GeneratorHistoryLength","GeneratorOutputType","Generic","GenericCylindricalDecomposition","GenomeData","GenomeLookup","GeoAntipode","GeoArea","GeoArraySize","GeoBackground","GeoBoundingBox","GeoBounds","GeoBoundsRegion","GeoBubbleChart","GeoCenter","GeoCircle","GeoContourPlot","GeoDensityPlot","GeodesicClosing","GeodesicDilation","GeodesicErosion","GeodesicOpening","GeoDestination","GeodesyData","GeoDirection","GeoDisk","GeoDisplacement","GeoDistance","GeoDistanceList","GeoElevationData","GeoEntities","GeoGraphics","GeogravityModelData","GeoGridDirectionDifference","GeoGridLines","GeoGridLinesStyle","GeoGridPosition","GeoGridRange","GeoGridRangePadding","GeoGridUnitArea","GeoGridUnitDistance","GeoGridVector","GeoGroup","GeoHemisphere","GeoHemisphereBoundary","GeoHistogram","GeoIdentify","GeoImage","GeoLabels","GeoLength","GeoListPlot","GeoLocation","GeologicalPeriodData","GeomagneticModelData","GeoMarker","GeometricAssertion","GeometricBrownianMotionProcess","GeometricDistribution","GeometricMean","GeometricMeanFilter","GeometricOptimization","GeometricScene","GeometricTransformation","GeometricTransformation3DBox","GeometricTransformation3DBoxOptions","GeometricTransformationBox","GeometricTransformationBoxOptions","GeoModel","GeoNearest","GeoPath","GeoPosition","GeoPositionENU","GeoPositionXYZ","GeoProjection","GeoProjectionData","GeoRange","GeoRangePadding","GeoRegionValuePlot","GeoResolution","GeoScaleBar","GeoServer","GeoSmoothHistogram","GeoStreamPlot","GeoStyling","GeoStylingImageFunction","GeoVariant","GeoVector","GeoVectorENU","GeoVectorPlot","GeoVectorXYZ","GeoVisibleRegion","GeoVisibleRegionBoundary","GeoWithinQ","GeoZoomLevel","GestureHandler","GestureHandlerTag","Get","GetBoundingBoxSizePacket","GetContext","GetEnvironment","GetFileName","GetFrontEndOptionsDataPacket","GetLinebreakInformationPacket","GetMenusPacket","GetPageBreakInformationPacket","Glaisher","GlobalClusteringCoefficient","GlobalPreferences","GlobalSession","Glow","GoldenAngle","GoldenRatio","GompertzMakehamDistribution","GoochShading","GoodmanKruskalGamma","GoodmanKruskalGammaTest","Goto","Grad","Gradient","GradientFilter","GradientOrientationFilter","GrammarApply","GrammarRules","GrammarToken","Graph","Graph3D","GraphAssortativity","GraphAutomorphismGroup","GraphCenter","GraphComplement","GraphData","GraphDensity","GraphDiameter","GraphDifference","GraphDisjointUnion","GraphDistance","GraphDistanceMatrix","GraphElementData","GraphEmbedding","GraphHighlight","GraphHighlightStyle","GraphHub","Graphics","Graphics3D","Graphics3DBox","Graphics3DBoxOptions","GraphicsArray","GraphicsBaseline","GraphicsBox","GraphicsBoxOptions","GraphicsColor","GraphicsColumn","GraphicsComplex","GraphicsComplex3DBox","GraphicsComplex3DBoxOptions","GraphicsComplexBox","GraphicsComplexBoxOptions","GraphicsContents","GraphicsData","GraphicsGrid","GraphicsGridBox","GraphicsGroup","GraphicsGroup3DBox","GraphicsGroup3DBoxOptions","GraphicsGroupBox","GraphicsGroupBoxOptions","GraphicsGrouping","GraphicsHighlightColor","GraphicsRow","GraphicsSpacing","GraphicsStyle","GraphIntersection","GraphLayout","GraphLinkEfficiency","GraphPeriphery","GraphPlot","GraphPlot3D","GraphPower","GraphPropertyDistribution","GraphQ","GraphRadius","GraphReciprocity","GraphRoot","GraphStyle","GraphUnion","Gray","GrayLevel","Greater","GreaterEqual","GreaterEqualLess","GreaterEqualThan","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterThan","GreaterTilde","Green","GreenFunction","Grid","GridBaseline","GridBox","GridBoxAlignment","GridBoxBackground","GridBoxDividers","GridBoxFrame","GridBoxItemSize","GridBoxItemStyle","GridBoxOptions","GridBoxSpacings","GridCreationSettings","GridDefaultElement","GridElementStyleOptions","GridFrame","GridFrameMargins","GridGraph","GridLines","GridLinesStyle","GroebnerBasis","GroupActionBase","GroupBy","GroupCentralizer","GroupElementFromWord","GroupElementPosition","GroupElementQ","GroupElements","GroupElementToWord","GroupGenerators","Groupings","GroupMultiplicationTable","GroupOrbits","GroupOrder","GroupPageBreakWithin","GroupSetwiseStabilizer","GroupStabilizer","GroupStabilizerChain","GroupTogetherGrouping","GroupTogetherNestedGrouping","GrowCutComponents","Gudermannian","GuidedFilter","GumbelDistribution","HaarWavelet","HadamardMatrix","HalfLine","HalfNormalDistribution","HalfPlane","HalfSpace","HalftoneShading","HamiltonianGraphQ","HammingDistance","HammingWindow","HandlerFunctions","HandlerFunctionsKeys","HankelH1","HankelH2","HankelMatrix","HankelTransform","HannPoissonWindow","HannWindow","HaradaNortonGroupHN","HararyGraph","HarmonicMean","HarmonicMeanFilter","HarmonicNumber","Hash","HatchFilling","HatchShading","Haversine","HazardFunction","Head","HeadCompose","HeaderAlignment","HeaderBackground","HeaderDisplayFunction","HeaderLines","HeaderSize","HeaderStyle","Heads","HeavisideLambda","HeavisidePi","HeavisideTheta","HeldGroupHe","HeldPart","HelpBrowserLookup","HelpBrowserNotebook","HelpBrowserSettings","Here","HermiteDecomposition","HermiteH","HermitianMatrixQ","HessenbergDecomposition","Hessian","HeunB","HeunBPrime","HeunC","HeunCPrime","HeunD","HeunDPrime","HeunG","HeunGPrime","HeunT","HeunTPrime","HexadecimalCharacter","Hexahedron","HexahedronBox","HexahedronBoxOptions","HiddenItems","HiddenMarkovProcess","HiddenSurface","Highlighted","HighlightGraph","HighlightImage","HighlightMesh","HighpassFilter","HigmanSimsGroupHS","HilbertCurve","HilbertFilter","HilbertMatrix","Histogram","Histogram3D","HistogramDistribution","HistogramList","HistogramTransform","HistogramTransformInterpolation","HistoricalPeriodData","HitMissTransform","HITSCentrality","HjorthDistribution","HodgeDual","HoeffdingD","HoeffdingDTest","Hold","HoldAll","HoldAllComplete","HoldComplete","HoldFirst","HoldForm","HoldPattern","HoldRest","HolidayCalendar","HomeDirectory","HomePage","Horizontal","HorizontalForm","HorizontalGauge","HorizontalScrollPosition","HornerForm","HostLookup","HotellingTSquareDistribution","HoytDistribution","HTMLSave","HTTPErrorResponse","HTTPRedirect","HTTPRequest","HTTPRequestData","HTTPResponse","Hue","HumanGrowthData","HumpDownHump","HumpEqual","HurwitzLerchPhi","HurwitzZeta","HyperbolicDistribution","HypercubeGraph","HyperexponentialDistribution","Hyperfactorial","Hypergeometric0F1","Hypergeometric0F1Regularized","Hypergeometric1F1","Hypergeometric1F1Regularized","Hypergeometric2F1","Hypergeometric2F1Regularized","HypergeometricDistribution","HypergeometricPFQ","HypergeometricPFQRegularized","HypergeometricU","Hyperlink","HyperlinkAction","HyperlinkCreationSettings","Hyperplane","Hyphenation","HyphenationOptions","HypoexponentialDistribution","HypothesisTestData","I","IconData","Iconize","IconizedObject","IconRules","Icosahedron","Identity","IdentityMatrix","If","IgnoreCase","IgnoreDiacritics","IgnorePunctuation","IgnoreSpellCheck","IgnoringInactive","Im","Image","Image3D","Image3DProjection","Image3DSlices","ImageAccumulate","ImageAdd","ImageAdjust","ImageAlign","ImageApply","ImageApplyIndexed","ImageAspectRatio","ImageAssemble","ImageAugmentationLayer","ImageBoundingBoxes","ImageCache","ImageCacheValid","ImageCapture","ImageCaptureFunction","ImageCases","ImageChannels","ImageClip","ImageCollage","ImageColorSpace","ImageCompose","ImageContainsQ","ImageContents","ImageConvolve","ImageCooccurrence","ImageCorners","ImageCorrelate","ImageCorrespondingPoints","ImageCrop","ImageData","ImageDeconvolve","ImageDemosaic","ImageDifference","ImageDimensions","ImageDisplacements","ImageDistance","ImageEffect","ImageExposureCombine","ImageFeatureTrack","ImageFileApply","ImageFileFilter","ImageFileScan","ImageFilter","ImageFocusCombine","ImageForestingComponents","ImageFormattingWidth","ImageForwardTransformation","ImageGraphics","ImageHistogram","ImageIdentify","ImageInstanceQ","ImageKeypoints","ImageLabels","ImageLegends","ImageLevels","ImageLines","ImageMargins","ImageMarker","ImageMarkers","ImageMeasurements","ImageMesh","ImageMultiply","ImageOffset","ImagePad","ImagePadding","ImagePartition","ImagePeriodogram","ImagePerspectiveTransformation","ImagePosition","ImagePreviewFunction","ImagePyramid","ImagePyramidApply","ImageQ","ImageRangeCache","ImageRecolor","ImageReflect","ImageRegion","ImageResize","ImageResolution","ImageRestyle","ImageRotate","ImageRotated","ImageSaliencyFilter","ImageScaled","ImageScan","ImageSize","ImageSizeAction","ImageSizeCache","ImageSizeMultipliers","ImageSizeRaw","ImageSubtract","ImageTake","ImageTransformation","ImageTrim","ImageType","ImageValue","ImageValuePositions","ImagingDevice","ImplicitRegion","Implies","Import","ImportAutoReplacements","ImportByteArray","ImportOptions","ImportString","ImprovementImportance","In","Inactivate","Inactive","IncidenceGraph","IncidenceList","IncidenceMatrix","IncludeAromaticBonds","IncludeConstantBasis","IncludeDefinitions","IncludeDirectories","IncludeFileExtension","IncludeGeneratorTasks","IncludeHydrogens","IncludeInflections","IncludeMetaInformation","IncludePods","IncludeQuantities","IncludeRelatedTables","IncludeSingularTerm","IncludeWindowTimes","Increment","IndefiniteMatrixQ","Indent","IndentingNewlineSpacings","IndentMaxFraction","IndependenceTest","IndependentEdgeSetQ","IndependentPhysicalQuantity","IndependentUnit","IndependentUnitDimension","IndependentVertexSetQ","Indeterminate","IndeterminateThreshold","IndexCreationOptions","Indexed","IndexEdgeTaggedGraph","IndexGraph","IndexTag","Inequality","InexactNumberQ","InexactNumbers","InfiniteFuture","InfiniteLine","InfinitePast","InfinitePlane","Infinity","Infix","InflationAdjust","InflationMethod","Information","InformationData","InformationDataGrid","Inherited","InheritScope","InhomogeneousPoissonProcess","InitialEvaluationHistory","Initialization","InitializationCell","InitializationCellEvaluation","InitializationCellWarning","InitializationObjects","InitializationValue","Initialize","InitialSeeding","InlineCounterAssignments","InlineCounterIncrements","InlineRules","Inner","InnerPolygon","InnerPolyhedron","Inpaint","Input","InputAliases","InputAssumptions","InputAutoReplacements","InputField","InputFieldBox","InputFieldBoxOptions","InputForm","InputGrouping","InputNamePacket","InputNotebook","InputPacket","InputSettings","InputStream","InputString","InputStringPacket","InputToBoxFormPacket","Insert","InsertionFunction","InsertionPointObject","InsertLinebreaks","InsertResults","Inset","Inset3DBox","Inset3DBoxOptions","InsetBox","InsetBoxOptions","Insphere","Install","InstallService","InstanceNormalizationLayer","InString","Integer","IntegerDigits","IntegerExponent","IntegerLength","IntegerName","IntegerPart","IntegerPartitions","IntegerQ","IntegerReverse","Integers","IntegerString","Integral","Integrate","Interactive","InteractiveTradingChart","Interlaced","Interleaving","InternallyBalancedDecomposition","InterpolatingFunction","InterpolatingPolynomial","Interpolation","InterpolationOrder","InterpolationPoints","InterpolationPrecision","Interpretation","InterpretationBox","InterpretationBoxOptions","InterpretationFunction","Interpreter","InterpretTemplate","InterquartileRange","Interrupt","InterruptSettings","IntersectedEntityClass","IntersectingQ","Intersection","Interval","IntervalIntersection","IntervalMarkers","IntervalMarkersStyle","IntervalMemberQ","IntervalSlider","IntervalUnion","Into","Inverse","InverseBetaRegularized","InverseCDF","InverseChiSquareDistribution","InverseContinuousWaveletTransform","InverseDistanceTransform","InverseEllipticNomeQ","InverseErf","InverseErfc","InverseFourier","InverseFourierCosTransform","InverseFourierSequenceTransform","InverseFourierSinTransform","InverseFourierTransform","InverseFunction","InverseFunctions","InverseGammaDistribution","InverseGammaRegularized","InverseGaussianDistribution","InverseGudermannian","InverseHankelTransform","InverseHaversine","InverseImagePyramid","InverseJacobiCD","InverseJacobiCN","InverseJacobiCS","InverseJacobiDC","InverseJacobiDN","InverseJacobiDS","InverseJacobiNC","InverseJacobiND","InverseJacobiNS","InverseJacobiSC","InverseJacobiSD","InverseJacobiSN","InverseLaplaceTransform","InverseMellinTransform","InversePermutation","InverseRadon","InverseRadonTransform","InverseSeries","InverseShortTimeFourier","InverseSpectrogram","InverseSurvivalFunction","InverseTransformedRegion","InverseWaveletTransform","InverseWeierstrassP","InverseWishartMatrixDistribution","InverseZTransform","Invisible","InvisibleApplication","InvisibleTimes","IPAddress","IrreduciblePolynomialQ","IslandData","IsolatingInterval","IsomorphicGraphQ","IsotopeData","Italic","Item","ItemAspectRatio","ItemBox","ItemBoxOptions","ItemDisplayFunction","ItemSize","ItemStyle","ItoProcess","JaccardDissimilarity","JacobiAmplitude","Jacobian","JacobiCD","JacobiCN","JacobiCS","JacobiDC","JacobiDN","JacobiDS","JacobiNC","JacobiND","JacobiNS","JacobiP","JacobiSC","JacobiSD","JacobiSN","JacobiSymbol","JacobiZeta","JankoGroupJ1","JankoGroupJ2","JankoGroupJ3","JankoGroupJ4","JarqueBeraALMTest","JohnsonDistribution","Join","JoinAcross","Joined","JoinedCurve","JoinedCurveBox","JoinedCurveBoxOptions","JoinForm","JordanDecomposition","JordanModelDecomposition","JulianDate","JuliaSetBoettcher","JuliaSetIterationCount","JuliaSetPlot","JuliaSetPoints","K","KagiChart","KaiserBesselWindow","KaiserWindow","KalmanEstimator","KalmanFilter","KarhunenLoeveDecomposition","KaryTree","KatzCentrality","KCoreComponents","KDistribution","KEdgeConnectedComponents","KEdgeConnectedGraphQ","KeepExistingVersion","KelvinBei","KelvinBer","KelvinKei","KelvinKer","KendallTau","KendallTauTest","KernelExecute","KernelFunction","KernelMixtureDistribution","KernelObject","Kernels","Ket","Key","KeyCollisionFunction","KeyComplement","KeyDrop","KeyDropFrom","KeyExistsQ","KeyFreeQ","KeyIntersection","KeyMap","KeyMemberQ","KeypointStrength","Keys","KeySelect","KeySort","KeySortBy","KeyTake","KeyUnion","KeyValueMap","KeyValuePattern","Khinchin","KillProcess","KirchhoffGraph","KirchhoffMatrix","KleinInvariantJ","KnapsackSolve","KnightTourGraph","KnotData","KnownUnitQ","KochCurve","KolmogorovSmirnovTest","KroneckerDelta","KroneckerModelDecomposition","KroneckerProduct","KroneckerSymbol","KuiperTest","KumaraswamyDistribution","Kurtosis","KuwaharaFilter","KVertexConnectedComponents","KVertexConnectedGraphQ","LABColor","Label","Labeled","LabeledSlider","LabelingFunction","LabelingSize","LabelStyle","LabelVisibility","LaguerreL","LakeData","LambdaComponents","LambertW","LaminaData","LanczosWindow","LandauDistribution","Language","LanguageCategory","LanguageData","LanguageIdentify","LanguageOptions","LaplaceDistribution","LaplaceTransform","Laplacian","LaplacianFilter","LaplacianGaussianFilter","Large","Larger","Last","Latitude","LatitudeLongitude","LatticeData","LatticeReduce","Launch","LaunchKernels","LayeredGraphPlot","LayerSizeFunction","LayoutInformation","LCHColor","LCM","LeaderSize","LeafCount","LeapYearQ","LearnDistribution","LearnedDistribution","LearningRate","LearningRateMultipliers","LeastSquares","LeastSquaresFilterKernel","Left","LeftArrow","LeftArrowBar","LeftArrowRightArrow","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftRightArrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","LegendAppearance","Legended","LegendFunction","LegendLabel","LegendLayout","LegendMargins","LegendMarkers","LegendMarkerSize","LegendreP","LegendreQ","LegendreType","Length","LengthWhile","LerchPhi","Less","LessEqual","LessEqualGreater","LessEqualThan","LessFullEqual","LessGreater","LessLess","LessSlantEqual","LessThan","LessTilde","LetterCharacter","LetterCounts","LetterNumber","LetterQ","Level","LeveneTest","LeviCivitaTensor","LevyDistribution","Lexicographic","LibraryDataType","LibraryFunction","LibraryFunctionError","LibraryFunctionInformation","LibraryFunctionLoad","LibraryFunctionUnload","LibraryLoad","LibraryUnload","LicenseID","LiftingFilterData","LiftingWaveletTransform","LightBlue","LightBrown","LightCyan","Lighter","LightGray","LightGreen","Lighting","LightingAngle","LightMagenta","LightOrange","LightPink","LightPurple","LightRed","LightSources","LightYellow","Likelihood","Limit","LimitsPositioning","LimitsPositioningTokens","LindleyDistribution","Line","Line3DBox","Line3DBoxOptions","LinearFilter","LinearFractionalOptimization","LinearFractionalTransform","LinearGradientImage","LinearizingTransformationData","LinearLayer","LinearModelFit","LinearOffsetFunction","LinearOptimization","LinearProgramming","LinearRecurrence","LinearSolve","LinearSolveFunction","LineBox","LineBoxOptions","LineBreak","LinebreakAdjustments","LineBreakChart","LinebreakSemicolonWeighting","LineBreakWithin","LineColor","LineGraph","LineIndent","LineIndentMaxFraction","LineIntegralConvolutionPlot","LineIntegralConvolutionScale","LineLegend","LineOpacity","LineSpacing","LineWrapParts","LinkActivate","LinkClose","LinkConnect","LinkConnectedQ","LinkCreate","LinkError","LinkFlush","LinkFunction","LinkHost","LinkInterrupt","LinkLaunch","LinkMode","LinkObject","LinkOpen","LinkOptions","LinkPatterns","LinkProtocol","LinkRankCentrality","LinkRead","LinkReadHeld","LinkReadyQ","Links","LinkService","LinkWrite","LinkWriteHeld","LiouvilleLambda","List","Listable","ListAnimate","ListContourPlot","ListContourPlot3D","ListConvolve","ListCorrelate","ListCurvePathPlot","ListDeconvolve","ListDensityPlot","ListDensityPlot3D","Listen","ListFormat","ListFourierSequenceTransform","ListInterpolation","ListLineIntegralConvolutionPlot","ListLinePlot","ListLogLinearPlot","ListLogLogPlot","ListLogPlot","ListPicker","ListPickerBox","ListPickerBoxBackground","ListPickerBoxOptions","ListPlay","ListPlot","ListPlot3D","ListPointPlot3D","ListPolarPlot","ListQ","ListSliceContourPlot3D","ListSliceDensityPlot3D","ListSliceVectorPlot3D","ListStepPlot","ListStreamDensityPlot","ListStreamPlot","ListSurfacePlot3D","ListVectorDensityPlot","ListVectorPlot","ListVectorPlot3D","ListZTransform","Literal","LiteralSearch","LocalAdaptiveBinarize","LocalCache","LocalClusteringCoefficient","LocalizeDefinitions","LocalizeVariables","LocalObject","LocalObjects","LocalResponseNormalizationLayer","LocalSubmit","LocalSymbol","LocalTime","LocalTimeZone","LocationEquivalenceTest","LocationTest","Locator","LocatorAutoCreate","LocatorBox","LocatorBoxOptions","LocatorCentering","LocatorPane","LocatorPaneBox","LocatorPaneBoxOptions","LocatorRegion","Locked","Log","Log10","Log2","LogBarnesG","LogGamma","LogGammaDistribution","LogicalExpand","LogIntegral","LogisticDistribution","LogisticSigmoid","LogitModelFit","LogLikelihood","LogLinearPlot","LogLogisticDistribution","LogLogPlot","LogMultinormalDistribution","LogNormalDistribution","LogPlot","LogRankTest","LogSeriesDistribution","LongEqual","Longest","LongestCommonSequence","LongestCommonSequencePositions","LongestCommonSubsequence","LongestCommonSubsequencePositions","LongestMatch","LongestOrderedSequence","LongForm","Longitude","LongLeftArrow","LongLeftRightArrow","LongRightArrow","LongShortTermMemoryLayer","Lookup","Loopback","LoopFreeGraphQ","Looping","LossFunction","LowerCaseQ","LowerLeftArrow","LowerRightArrow","LowerTriangularize","LowerTriangularMatrixQ","LowpassFilter","LQEstimatorGains","LQGRegulator","LQOutputRegulatorGains","LQRegulatorGains","LUBackSubstitution","LucasL","LuccioSamiComponents","LUDecomposition","LunarEclipse","LUVColor","LyapunovSolve","LyonsGroupLy","MachineID","MachineName","MachineNumberQ","MachinePrecision","MacintoshSystemPageSetup","Magenta","Magnification","Magnify","MailAddressValidation","MailExecute","MailFolder","MailItem","MailReceiverFunction","MailResponseFunction","MailSearch","MailServerConnect","MailServerConnection","MailSettings","MainSolve","MaintainDynamicCaches","Majority","MakeBoxes","MakeExpression","MakeRules","ManagedLibraryExpressionID","ManagedLibraryExpressionQ","MandelbrotSetBoettcher","MandelbrotSetDistance","MandelbrotSetIterationCount","MandelbrotSetMemberQ","MandelbrotSetPlot","MangoldtLambda","ManhattanDistance","Manipulate","Manipulator","MannedSpaceMissionData","MannWhitneyTest","MantissaExponent","Manual","Map","MapAll","MapAt","MapIndexed","MAProcess","MapThread","MarchenkoPasturDistribution","MarcumQ","MardiaCombinedTest","MardiaKurtosisTest","MardiaSkewnessTest","MarginalDistribution","MarkovProcessProperties","Masking","MatchingDissimilarity","MatchLocalNameQ","MatchLocalNames","MatchQ","Material","MathematicalFunctionData","MathematicaNotation","MathieuC","MathieuCharacteristicA","MathieuCharacteristicB","MathieuCharacteristicExponent","MathieuCPrime","MathieuGroupM11","MathieuGroupM12","MathieuGroupM22","MathieuGroupM23","MathieuGroupM24","MathieuS","MathieuSPrime","MathMLForm","MathMLText","Matrices","MatrixExp","MatrixForm","MatrixFunction","MatrixLog","MatrixNormalDistribution","MatrixPlot","MatrixPower","MatrixPropertyDistribution","MatrixQ","MatrixRank","MatrixTDistribution","Max","MaxBend","MaxCellMeasure","MaxColorDistance","MaxDate","MaxDetect","MaxDuration","MaxExtraBandwidths","MaxExtraConditions","MaxFeatureDisplacement","MaxFeatures","MaxFilter","MaximalBy","Maximize","MaxItems","MaxIterations","MaxLimit","MaxMemoryUsed","MaxMixtureKernels","MaxOverlapFraction","MaxPlotPoints","MaxPoints","MaxRecursion","MaxStableDistribution","MaxStepFraction","MaxSteps","MaxStepSize","MaxTrainingRounds","MaxValue","MaxwellDistribution","MaxWordGap","McLaughlinGroupMcL","Mean","MeanAbsoluteLossLayer","MeanAround","MeanClusteringCoefficient","MeanDegreeConnectivity","MeanDeviation","MeanFilter","MeanGraphDistance","MeanNeighborDegree","MeanShift","MeanShiftFilter","MeanSquaredLossLayer","Median","MedianDeviation","MedianFilter","MedicalTestData","Medium","MeijerG","MeijerGReduce","MeixnerDistribution","MellinConvolve","MellinTransform","MemberQ","MemoryAvailable","MemoryConstrained","MemoryConstraint","MemoryInUse","MengerMesh","Menu","MenuAppearance","MenuCommandKey","MenuEvaluator","MenuItem","MenuList","MenuPacket","MenuSortingValue","MenuStyle","MenuView","Merge","MergeDifferences","MergingFunction","MersennePrimeExponent","MersennePrimeExponentQ","Mesh","MeshCellCentroid","MeshCellCount","MeshCellHighlight","MeshCellIndex","MeshCellLabel","MeshCellMarker","MeshCellMeasure","MeshCellQuality","MeshCells","MeshCellShapeFunction","MeshCellStyle","MeshConnectivityGraph","MeshCoordinates","MeshFunctions","MeshPrimitives","MeshQualityGoal","MeshRange","MeshRefinementFunction","MeshRegion","MeshRegionQ","MeshShading","MeshStyle","Message","MessageDialog","MessageList","MessageName","MessageObject","MessageOptions","MessagePacket","Messages","MessagesNotebook","MetaCharacters","MetaInformation","MeteorShowerData","Method","MethodOptions","MexicanHatWavelet","MeyerWavelet","Midpoint","Min","MinColorDistance","MinDate","MinDetect","MineralData","MinFilter","MinimalBy","MinimalPolynomial","MinimalStateSpaceModel","Minimize","MinimumTimeIncrement","MinIntervalSize","MinkowskiQuestionMark","MinLimit","MinMax","MinorPlanetData","Minors","MinRecursion","MinSize","MinStableDistribution","Minus","MinusPlus","MinValue","Missing","MissingBehavior","MissingDataMethod","MissingDataRules","MissingQ","MissingString","MissingStyle","MissingValuePattern","MittagLefflerE","MixedFractionParts","MixedGraphQ","MixedMagnitude","MixedRadix","MixedRadixQuantity","MixedUnit","MixtureDistribution","Mod","Modal","Mode","Modular","ModularInverse","ModularLambda","Module","Modulus","MoebiusMu","Molecule","MoleculeContainsQ","MoleculeEquivalentQ","MoleculeGraph","MoleculeModify","MoleculePattern","MoleculePlot","MoleculePlot3D","MoleculeProperty","MoleculeQ","MoleculeRecognize","MoleculeValue","Moment","Momentary","MomentConvert","MomentEvaluate","MomentGeneratingFunction","MomentOfInertia","Monday","Monitor","MonomialList","MonomialOrder","MonsterGroupM","MoonPhase","MoonPosition","MorletWavelet","MorphologicalBinarize","MorphologicalBranchPoints","MorphologicalComponents","MorphologicalEulerNumber","MorphologicalGraph","MorphologicalPerimeter","MorphologicalTransform","MortalityData","Most","MountainData","MouseAnnotation","MouseAppearance","MouseAppearanceTag","MouseButtons","Mouseover","MousePointerNote","MousePosition","MovieData","MovingAverage","MovingMap","MovingMedian","MoyalDistribution","Multicolumn","MultiedgeStyle","MultigraphQ","MultilaunchWarning","MultiLetterItalics","MultiLetterStyle","MultilineFunction","Multinomial","MultinomialDistribution","MultinormalDistribution","MultiplicativeOrder","Multiplicity","MultiplySides","Multiselection","MultivariateHypergeometricDistribution","MultivariatePoissonDistribution","MultivariateTDistribution","N","NakagamiDistribution","NameQ","Names","NamespaceBox","NamespaceBoxOptions","Nand","NArgMax","NArgMin","NBernoulliB","NBodySimulation","NBodySimulationData","NCache","NDEigensystem","NDEigenvalues","NDSolve","NDSolveValue","Nearest","NearestFunction","NearestMeshCells","NearestNeighborGraph","NearestTo","NebulaData","NeedCurrentFrontEndPackagePacket","NeedCurrentFrontEndSymbolsPacket","NeedlemanWunschSimilarity","Needs","Negative","NegativeBinomialDistribution","NegativeDefiniteMatrixQ","NegativeIntegers","NegativeMultinomialDistribution","NegativeRationals","NegativeReals","NegativeSemidefiniteMatrixQ","NeighborhoodData","NeighborhoodGraph","Nest","NestedGreaterGreater","NestedLessLess","NestedScriptRules","NestGraph","NestList","NestWhile","NestWhileList","NetAppend","NetBidirectionalOperator","NetChain","NetDecoder","NetDelete","NetDrop","NetEncoder","NetEvaluationMode","NetExtract","NetFlatten","NetFoldOperator","NetGANOperator","NetGraph","NetInformation","NetInitialize","NetInsert","NetInsertSharedArrays","NetJoin","NetMapOperator","NetMapThreadOperator","NetMeasurements","NetModel","NetNestOperator","NetPairEmbeddingOperator","NetPort","NetPortGradient","NetPrepend","NetRename","NetReplace","NetReplacePart","NetSharedArray","NetStateObject","NetTake","NetTrain","NetTrainResultsObject","NetworkPacketCapture","NetworkPacketRecording","NetworkPacketRecordingDuring","NetworkPacketTrace","NeumannValue","NevilleThetaC","NevilleThetaD","NevilleThetaN","NevilleThetaS","NewPrimitiveStyle","NExpectation","Next","NextCell","NextDate","NextPrime","NextScheduledTaskTime","NHoldAll","NHoldFirst","NHoldRest","NicholsGridLines","NicholsPlot","NightHemisphere","NIntegrate","NMaximize","NMaxValue","NMinimize","NMinValue","NominalVariables","NonAssociative","NoncentralBetaDistribution","NoncentralChiSquareDistribution","NoncentralFRatioDistribution","NoncentralStudentTDistribution","NonCommutativeMultiply","NonConstants","NondimensionalizationTransform","None","NoneTrue","NonlinearModelFit","NonlinearStateSpaceModel","NonlocalMeansFilter","NonNegative","NonNegativeIntegers","NonNegativeRationals","NonNegativeReals","NonPositive","NonPositiveIntegers","NonPositiveRationals","NonPositiveReals","Nor","NorlundB","Norm","Normal","NormalDistribution","NormalGrouping","NormalizationLayer","Normalize","Normalized","NormalizedSquaredEuclideanDistance","NormalMatrixQ","NormalsFunction","NormFunction","Not","NotCongruent","NotCupCap","NotDoubleVerticalBar","Notebook","NotebookApply","NotebookAutoSave","NotebookClose","NotebookConvertSettings","NotebookCreate","NotebookCreateReturnObject","NotebookDefault","NotebookDelete","NotebookDirectory","NotebookDynamicExpression","NotebookEvaluate","NotebookEventActions","NotebookFileName","NotebookFind","NotebookFindReturnObject","NotebookGet","NotebookGetLayoutInformationPacket","NotebookGetMisspellingsPacket","NotebookImport","NotebookInformation","NotebookInterfaceObject","NotebookLocate","NotebookObject","NotebookOpen","NotebookOpenReturnObject","NotebookPath","NotebookPrint","NotebookPut","NotebookPutReturnObject","NotebookRead","NotebookResetGeneratedCells","Notebooks","NotebookSave","NotebookSaveAs","NotebookSelection","NotebookSetupLayoutInformationPacket","NotebooksMenu","NotebookTemplate","NotebookWrite","NotElement","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","Nothing","NotHumpDownHump","NotHumpEqual","NotificationFunction","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessFullEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotPrecedesTilde","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","Now","NoWhitespace","NProbability","NProduct","NProductFactors","NRoots","NSolve","NSum","NSumTerms","NuclearExplosionData","NuclearReactorData","Null","NullRecords","NullSpace","NullWords","Number","NumberCompose","NumberDecompose","NumberExpand","NumberFieldClassNumber","NumberFieldDiscriminant","NumberFieldFundamentalUnits","NumberFieldIntegralBasis","NumberFieldNormRepresentatives","NumberFieldRegulator","NumberFieldRootsOfUnity","NumberFieldSignature","NumberForm","NumberFormat","NumberLinePlot","NumberMarks","NumberMultiplier","NumberPadding","NumberPoint","NumberQ","NumberSeparator","NumberSigns","NumberString","Numerator","NumeratorDenominator","NumericalOrder","NumericalSort","NumericArray","NumericArrayQ","NumericArrayType","NumericFunction","NumericQ","NuttallWindow","NValues","NyquistGridLines","NyquistPlot","O","ObservabilityGramian","ObservabilityMatrix","ObservableDecomposition","ObservableModelQ","OceanData","Octahedron","OddQ","Off","Offset","OLEData","On","ONanGroupON","Once","OneIdentity","Opacity","OpacityFunction","OpacityFunctionScaling","Open","OpenAppend","Opener","OpenerBox","OpenerBoxOptions","OpenerView","OpenFunctionInspectorPacket","Opening","OpenRead","OpenSpecialOptions","OpenTemporary","OpenWrite","Operate","OperatingSystem","OperatorApplied","OptimumFlowData","Optional","OptionalElement","OptionInspectorSettings","OptionQ","Options","OptionsPacket","OptionsPattern","OptionValue","OptionValueBox","OptionValueBoxOptions","Or","Orange","Order","OrderDistribution","OrderedQ","Ordering","OrderingBy","OrderingLayer","Orderless","OrderlessPatternSequence","OrnsteinUhlenbeckProcess","Orthogonalize","OrthogonalMatrixQ","Out","Outer","OuterPolygon","OuterPolyhedron","OutputAutoOverwrite","OutputControllabilityMatrix","OutputControllableModelQ","OutputForm","OutputFormData","OutputGrouping","OutputMathEditExpression","OutputNamePacket","OutputResponse","OutputSizeLimit","OutputStream","Over","OverBar","OverDot","Overflow","OverHat","Overlaps","Overlay","OverlayBox","OverlayBoxOptions","Overscript","OverscriptBox","OverscriptBoxOptions","OverTilde","OverVector","OverwriteTarget","OwenT","OwnValues","Package","PackingMethod","PackPaclet","PacletDataRebuild","PacletDirectoryAdd","PacletDirectoryLoad","PacletDirectoryRemove","PacletDirectoryUnload","PacletDisable","PacletEnable","PacletFind","PacletFindRemote","PacletInformation","PacletInstall","PacletInstallSubmit","PacletNewerQ","PacletObject","PacletObjectQ","PacletSite","PacletSiteObject","PacletSiteRegister","PacletSites","PacletSiteUnregister","PacletSiteUpdate","PacletUninstall","PacletUpdate","PaddedForm","Padding","PaddingLayer","PaddingSize","PadeApproximant","PadLeft","PadRight","PageBreakAbove","PageBreakBelow","PageBreakWithin","PageFooterLines","PageFooters","PageHeaderLines","PageHeaders","PageHeight","PageRankCentrality","PageTheme","PageWidth","Pagination","PairedBarChart","PairedHistogram","PairedSmoothHistogram","PairedTTest","PairedZTest","PaletteNotebook","PalettePath","PalindromeQ","Pane","PaneBox","PaneBoxOptions","Panel","PanelBox","PanelBoxOptions","Paneled","PaneSelector","PaneSelectorBox","PaneSelectorBoxOptions","PaperWidth","ParabolicCylinderD","ParagraphIndent","ParagraphSpacing","ParallelArray","ParallelCombine","ParallelDo","Parallelepiped","ParallelEvaluate","Parallelization","Parallelize","ParallelMap","ParallelNeeds","Parallelogram","ParallelProduct","ParallelSubmit","ParallelSum","ParallelTable","ParallelTry","Parameter","ParameterEstimator","ParameterMixtureDistribution","ParameterVariables","ParametricFunction","ParametricNDSolve","ParametricNDSolveValue","ParametricPlot","ParametricPlot3D","ParametricRampLayer","ParametricRegion","ParentBox","ParentCell","ParentConnect","ParentDirectory","ParentForm","Parenthesize","ParentList","ParentNotebook","ParetoDistribution","ParetoPickandsDistribution","ParkData","Part","PartBehavior","PartialCorrelationFunction","PartialD","ParticleAcceleratorData","ParticleData","Partition","PartitionGranularity","PartitionsP","PartitionsQ","PartLayer","PartOfSpeech","PartProtection","ParzenWindow","PascalDistribution","PassEventsDown","PassEventsUp","Paste","PasteAutoQuoteCharacters","PasteBoxFormInlineCells","PasteButton","Path","PathGraph","PathGraphQ","Pattern","PatternFilling","PatternSequence","PatternTest","PauliMatrix","PaulWavelet","Pause","PausedTime","PDF","PeakDetect","PeanoCurve","PearsonChiSquareTest","PearsonCorrelationTest","PearsonDistribution","PercentForm","PerfectNumber","PerfectNumberQ","PerformanceGoal","Perimeter","PeriodicBoundaryCondition","PeriodicInterpolation","Periodogram","PeriodogramArray","Permanent","Permissions","PermissionsGroup","PermissionsGroupMemberQ","PermissionsGroups","PermissionsKey","PermissionsKeys","PermutationCycles","PermutationCyclesQ","PermutationGroup","PermutationLength","PermutationList","PermutationListQ","PermutationMax","PermutationMin","PermutationOrder","PermutationPower","PermutationProduct","PermutationReplace","Permutations","PermutationSupport","Permute","PeronaMalikFilter","Perpendicular","PerpendicularBisector","PersistenceLocation","PersistenceTime","PersistentObject","PersistentObjects","PersistentValue","PersonData","PERTDistribution","PetersenGraph","PhaseMargins","PhaseRange","PhysicalSystemData","Pi","Pick","PIDData","PIDDerivativeFilter","PIDFeedforward","PIDTune","Piecewise","PiecewiseExpand","PieChart","PieChart3D","PillaiTrace","PillaiTraceTest","PingTime","Pink","PitchRecognize","Pivoting","PixelConstrained","PixelValue","PixelValuePositions","Placed","Placeholder","PlaceholderReplace","Plain","PlanarAngle","PlanarGraph","PlanarGraphQ","PlanckRadiationLaw","PlaneCurveData","PlanetaryMoonData","PlanetData","PlantData","Play","PlayRange","Plot","Plot3D","Plot3Matrix","PlotDivision","PlotJoined","PlotLabel","PlotLabels","PlotLayout","PlotLegends","PlotMarkers","PlotPoints","PlotRange","PlotRangeClipping","PlotRangeClipPlanesStyle","PlotRangePadding","PlotRegion","PlotStyle","PlotTheme","Pluralize","Plus","PlusMinus","Pochhammer","PodStates","PodWidth","Point","Point3DBox","Point3DBoxOptions","PointBox","PointBoxOptions","PointFigureChart","PointLegend","PointSize","PoissonConsulDistribution","PoissonDistribution","PoissonProcess","PoissonWindow","PolarAxes","PolarAxesOrigin","PolarGridLines","PolarPlot","PolarTicks","PoleZeroMarkers","PolyaAeppliDistribution","PolyGamma","Polygon","Polygon3DBox","Polygon3DBoxOptions","PolygonalNumber","PolygonAngle","PolygonBox","PolygonBoxOptions","PolygonCoordinates","PolygonDecomposition","PolygonHoleScale","PolygonIntersections","PolygonScale","Polyhedron","PolyhedronAngle","PolyhedronCoordinates","PolyhedronData","PolyhedronDecomposition","PolyhedronGenus","PolyLog","PolynomialExtendedGCD","PolynomialForm","PolynomialGCD","PolynomialLCM","PolynomialMod","PolynomialQ","PolynomialQuotient","PolynomialQuotientRemainder","PolynomialReduce","PolynomialRemainder","Polynomials","PoolingLayer","PopupMenu","PopupMenuBox","PopupMenuBoxOptions","PopupView","PopupWindow","Position","PositionIndex","Positive","PositiveDefiniteMatrixQ","PositiveIntegers","PositiveRationals","PositiveReals","PositiveSemidefiniteMatrixQ","PossibleZeroQ","Postfix","PostScript","Power","PowerDistribution","PowerExpand","PowerMod","PowerModList","PowerRange","PowerSpectralDensity","PowersRepresentations","PowerSymmetricPolynomial","Precedence","PrecedenceForm","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","Precision","PrecisionGoal","PreDecrement","Predict","PredictionRoot","PredictorFunction","PredictorInformation","PredictorMeasurements","PredictorMeasurementsObject","PreemptProtect","PreferencesPath","Prefix","PreIncrement","Prepend","PrependLayer","PrependTo","PreprocessingRules","PreserveColor","PreserveImageOptions","Previous","PreviousCell","PreviousDate","PriceGraphDistribution","PrimaryPlaceholder","Prime","PrimeNu","PrimeOmega","PrimePi","PrimePowerQ","PrimeQ","Primes","PrimeZetaP","PrimitivePolynomialQ","PrimitiveRoot","PrimitiveRootList","PrincipalComponents","PrincipalValue","Print","PrintableASCIIQ","PrintAction","PrintForm","PrintingCopies","PrintingOptions","PrintingPageRange","PrintingStartingPageNumber","PrintingStyleEnvironment","Printout3D","Printout3DPreviewer","PrintPrecision","PrintTemporary","Prism","PrismBox","PrismBoxOptions","PrivateCellOptions","PrivateEvaluationOptions","PrivateFontOptions","PrivateFrontEndOptions","PrivateKey","PrivateNotebookOptions","PrivatePaths","Probability","ProbabilityDistribution","ProbabilityPlot","ProbabilityPr","ProbabilityScalePlot","ProbitModelFit","ProcessConnection","ProcessDirectory","ProcessEnvironment","Processes","ProcessEstimator","ProcessInformation","ProcessObject","ProcessParameterAssumptions","ProcessParameterQ","ProcessStateDomain","ProcessStatus","ProcessTimeDomain","Product","ProductDistribution","ProductLog","ProgressIndicator","ProgressIndicatorBox","ProgressIndicatorBoxOptions","Projection","Prolog","PromptForm","ProofObject","Properties","Property","PropertyList","PropertyValue","Proportion","Proportional","Protect","Protected","ProteinData","Pruning","PseudoInverse","PsychrometricPropertyData","PublicKey","PublisherID","PulsarData","PunctuationCharacter","Purple","Put","PutAppend","Pyramid","PyramidBox","PyramidBoxOptions","QBinomial","QFactorial","QGamma","QHypergeometricPFQ","QnDispersion","QPochhammer","QPolyGamma","QRDecomposition","QuadraticIrrationalQ","QuadraticOptimization","Quantile","QuantilePlot","Quantity","QuantityArray","QuantityDistribution","QuantityForm","QuantityMagnitude","QuantityQ","QuantityUnit","QuantityVariable","QuantityVariableCanonicalUnit","QuantityVariableDimensions","QuantityVariableIdentifier","QuantityVariablePhysicalQuantity","Quartics","QuartileDeviation","Quartiles","QuartileSkewness","Query","QueueingNetworkProcess","QueueingProcess","QueueProperties","Quiet","Quit","Quotient","QuotientRemainder","RadialGradientImage","RadialityCentrality","RadicalBox","RadicalBoxOptions","RadioButton","RadioButtonBar","RadioButtonBox","RadioButtonBoxOptions","Radon","RadonTransform","RamanujanTau","RamanujanTauL","RamanujanTauTheta","RamanujanTauZ","Ramp","Random","RandomChoice","RandomColor","RandomComplex","RandomEntity","RandomFunction","RandomGeoPosition","RandomGraph","RandomImage","RandomInstance","RandomInteger","RandomPermutation","RandomPoint","RandomPolygon","RandomPolyhedron","RandomPrime","RandomReal","RandomSample","RandomSeed","RandomSeeding","RandomVariate","RandomWalkProcess","RandomWord","Range","RangeFilter","RangeSpecification","RankedMax","RankedMin","RarerProbability","Raster","Raster3D","Raster3DBox","Raster3DBoxOptions","RasterArray","RasterBox","RasterBoxOptions","Rasterize","RasterSize","Rational","RationalFunctions","Rationalize","Rationals","Ratios","RawArray","RawBoxes","RawData","RawMedium","RayleighDistribution","Re","Read","ReadByteArray","ReadLine","ReadList","ReadProtected","ReadString","Real","RealAbs","RealBlockDiagonalForm","RealDigits","RealExponent","Reals","RealSign","Reap","RebuildPacletData","RecognitionPrior","RecognitionThreshold","Record","RecordLists","RecordSeparators","Rectangle","RectangleBox","RectangleBoxOptions","RectangleChart","RectangleChart3D","RectangularRepeatingElement","RecurrenceFilter","RecurrenceTable","RecurringDigitsForm","Red","Reduce","RefBox","ReferenceLineStyle","ReferenceMarkers","ReferenceMarkerStyle","Refine","ReflectionMatrix","ReflectionTransform","Refresh","RefreshRate","Region","RegionBinarize","RegionBoundary","RegionBoundaryStyle","RegionBounds","RegionCentroid","RegionDifference","RegionDimension","RegionDisjoint","RegionDistance","RegionDistanceFunction","RegionEmbeddingDimension","RegionEqual","RegionFillingStyle","RegionFunction","RegionImage","RegionIntersection","RegionMeasure","RegionMember","RegionMemberFunction","RegionMoment","RegionNearest","RegionNearestFunction","RegionPlot","RegionPlot3D","RegionProduct","RegionQ","RegionResize","RegionSize","RegionSymmetricDifference","RegionUnion","RegionWithin","RegisterExternalEvaluator","RegularExpression","Regularization","RegularlySampledQ","RegularPolygon","ReIm","ReImLabels","ReImPlot","ReImStyle","Reinstall","RelationalDatabase","RelationGraph","Release","ReleaseHold","ReliabilityDistribution","ReliefImage","ReliefPlot","RemoteAuthorizationCaching","RemoteConnect","RemoteConnectionObject","RemoteFile","RemoteRun","RemoteRunProcess","Remove","RemoveAlphaChannel","RemoveAsynchronousTask","RemoveAudioStream","RemoveBackground","RemoveChannelListener","RemoveChannelSubscribers","Removed","RemoveDiacritics","RemoveInputStreamMethod","RemoveOutputStreamMethod","RemoveProperty","RemoveScheduledTask","RemoveUsers","RemoveVideoStream","RenameDirectory","RenameFile","RenderAll","RenderingOptions","RenewalProcess","RenkoChart","RepairMesh","Repeated","RepeatedNull","RepeatedString","RepeatedTiming","RepeatingElement","Replace","ReplaceAll","ReplaceHeldPart","ReplaceImageValue","ReplaceList","ReplacePart","ReplacePixelValue","ReplaceRepeated","ReplicateLayer","RequiredPhysicalQuantities","Resampling","ResamplingAlgorithmData","ResamplingMethod","Rescale","RescalingTransform","ResetDirectory","ResetMenusPacket","ResetScheduledTask","ReshapeLayer","Residue","ResizeLayer","Resolve","ResourceAcquire","ResourceData","ResourceFunction","ResourceObject","ResourceRegister","ResourceRemove","ResourceSearch","ResourceSubmissionObject","ResourceSubmit","ResourceSystemBase","ResourceSystemPath","ResourceUpdate","ResourceVersion","ResponseForm","Rest","RestartInterval","Restricted","Resultant","ResumePacket","Return","ReturnEntersInput","ReturnExpressionPacket","ReturnInputFormPacket","ReturnPacket","ReturnReceiptFunction","ReturnTextPacket","Reverse","ReverseApplied","ReverseBiorthogonalSplineWavelet","ReverseElement","ReverseEquilibrium","ReverseGraph","ReverseSort","ReverseSortBy","ReverseUpEquilibrium","RevolutionAxis","RevolutionPlot3D","RGBColor","RiccatiSolve","RiceDistribution","RidgeFilter","RiemannR","RiemannSiegelTheta","RiemannSiegelZ","RiemannXi","Riffle","Right","RightArrow","RightArrowBar","RightArrowLeftArrow","RightComposition","RightCosetRepresentative","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightTee","RightTeeArrow","RightTeeVector","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","RiskAchievementImportance","RiskReductionImportance","RogersTanimotoDissimilarity","RollPitchYawAngles","RollPitchYawMatrix","RomanNumeral","Root","RootApproximant","RootIntervals","RootLocusPlot","RootMeanSquare","RootOfUnityQ","RootReduce","Roots","RootSum","Rotate","RotateLabel","RotateLeft","RotateRight","RotationAction","RotationBox","RotationBoxOptions","RotationMatrix","RotationTransform","Round","RoundImplies","RoundingRadius","Row","RowAlignments","RowBackgrounds","RowBox","RowHeights","RowLines","RowMinHeight","RowReduce","RowsEqual","RowSpacings","RSolve","RSolveValue","RudinShapiro","RudvalisGroupRu","Rule","RuleCondition","RuleDelayed","RuleForm","RulePlot","RulerUnits","Run","RunProcess","RunScheduledTask","RunThrough","RuntimeAttributes","RuntimeOptions","RussellRaoDissimilarity","SameQ","SameTest","SameTestProperties","SampledEntityClass","SampleDepth","SampledSoundFunction","SampledSoundList","SampleRate","SamplingPeriod","SARIMAProcess","SARMAProcess","SASTriangle","SatelliteData","SatisfiabilityCount","SatisfiabilityInstances","SatisfiableQ","Saturday","Save","Saveable","SaveAutoDelete","SaveConnection","SaveDefinitions","SavitzkyGolayMatrix","SawtoothWave","Scale","Scaled","ScaleDivisions","ScaledMousePosition","ScaleOrigin","ScalePadding","ScaleRanges","ScaleRangeStyle","ScalingFunctions","ScalingMatrix","ScalingTransform","Scan","ScheduledTask","ScheduledTaskActiveQ","ScheduledTaskInformation","ScheduledTaskInformationData","ScheduledTaskObject","ScheduledTasks","SchurDecomposition","ScientificForm","ScientificNotationThreshold","ScorerGi","ScorerGiPrime","ScorerHi","ScorerHiPrime","ScreenRectangle","ScreenStyleEnvironment","ScriptBaselineShifts","ScriptForm","ScriptLevel","ScriptMinSize","ScriptRules","ScriptSizeMultipliers","Scrollbars","ScrollingOptions","ScrollPosition","SearchAdjustment","SearchIndexObject","SearchIndices","SearchQueryString","SearchResultObject","Sec","Sech","SechDistribution","SecondOrderConeOptimization","SectionGrouping","SectorChart","SectorChart3D","SectorOrigin","SectorSpacing","SecuredAuthenticationKey","SecuredAuthenticationKeys","SeedRandom","Select","Selectable","SelectComponents","SelectedCells","SelectedNotebook","SelectFirst","Selection","SelectionAnimate","SelectionCell","SelectionCellCreateCell","SelectionCellDefaultStyle","SelectionCellParentStyle","SelectionCreateCell","SelectionDebuggerTag","SelectionDuplicateCell","SelectionEvaluate","SelectionEvaluateCreateCell","SelectionMove","SelectionPlaceholder","SelectionSetStyle","SelectWithContents","SelfLoops","SelfLoopStyle","SemanticImport","SemanticImportString","SemanticInterpretation","SemialgebraicComponentInstances","SemidefiniteOptimization","SendMail","SendMessage","Sequence","SequenceAlignment","SequenceAttentionLayer","SequenceCases","SequenceCount","SequenceFold","SequenceFoldList","SequenceForm","SequenceHold","SequenceLastLayer","SequenceMostLayer","SequencePosition","SequencePredict","SequencePredictorFunction","SequenceReplace","SequenceRestLayer","SequenceReverseLayer","SequenceSplit","Series","SeriesCoefficient","SeriesData","SeriesTermGoal","ServiceConnect","ServiceDisconnect","ServiceExecute","ServiceObject","ServiceRequest","ServiceResponse","ServiceSubmit","SessionSubmit","SessionTime","Set","SetAccuracy","SetAlphaChannel","SetAttributes","Setbacks","SetBoxFormNamesPacket","SetCloudDirectory","SetCookies","SetDelayed","SetDirectory","SetEnvironment","SetEvaluationNotebook","SetFileDate","SetFileLoadingContext","SetNotebookStatusLine","SetOptions","SetOptionsPacket","SetPermissions","SetPrecision","SetProperty","SetSecuredAuthenticationKey","SetSelectedNotebook","SetSharedFunction","SetSharedVariable","SetSpeechParametersPacket","SetStreamPosition","SetSystemModel","SetSystemOptions","Setter","SetterBar","SetterBox","SetterBoxOptions","Setting","SetUsers","SetValue","Shading","Shallow","ShannonWavelet","ShapiroWilkTest","Share","SharingList","Sharpen","ShearingMatrix","ShearingTransform","ShellRegion","ShenCastanMatrix","ShiftedGompertzDistribution","ShiftRegisterSequence","Short","ShortDownArrow","Shortest","ShortestMatch","ShortestPathFunction","ShortLeftArrow","ShortRightArrow","ShortTimeFourier","ShortTimeFourierData","ShortUpArrow","Show","ShowAutoConvert","ShowAutoSpellCheck","ShowAutoStyles","ShowCellBracket","ShowCellLabel","ShowCellTags","ShowClosedCellArea","ShowCodeAssist","ShowContents","ShowControls","ShowCursorTracker","ShowGroupOpenCloseIcon","ShowGroupOpener","ShowInvisibleCharacters","ShowPageBreaks","ShowPredictiveInterface","ShowSelection","ShowShortBoxForm","ShowSpecialCharacters","ShowStringCharacters","ShowSyntaxStyles","ShrinkingDelay","ShrinkWrapBoundingBox","SiderealTime","SiegelTheta","SiegelTukeyTest","SierpinskiCurve","SierpinskiMesh","Sign","Signature","SignedRankTest","SignedRegionDistance","SignificanceLevel","SignPadding","SignTest","SimilarityRules","SimpleGraph","SimpleGraphQ","SimplePolygonQ","SimplePolyhedronQ","Simplex","Simplify","Sin","Sinc","SinghMaddalaDistribution","SingleEvaluation","SingleLetterItalics","SingleLetterStyle","SingularValueDecomposition","SingularValueList","SingularValuePlot","SingularValues","Sinh","SinhIntegral","SinIntegral","SixJSymbol","Skeleton","SkeletonTransform","SkellamDistribution","Skewness","SkewNormalDistribution","SkinStyle","Skip","SliceContourPlot3D","SliceDensityPlot3D","SliceDistribution","SliceVectorPlot3D","Slider","Slider2D","Slider2DBox","Slider2DBoxOptions","SliderBox","SliderBoxOptions","SlideView","Slot","SlotSequence","Small","SmallCircle","Smaller","SmithDecomposition","SmithDelayCompensator","SmithWatermanSimilarity","SmoothDensityHistogram","SmoothHistogram","SmoothHistogram3D","SmoothKernelDistribution","SnDispersion","Snippet","SnubPolyhedron","SocialMediaData","Socket","SocketConnect","SocketListen","SocketListener","SocketObject","SocketOpen","SocketReadMessage","SocketReadyQ","Sockets","SocketWaitAll","SocketWaitNext","SoftmaxLayer","SokalSneathDissimilarity","SolarEclipse","SolarSystemFeatureData","SolidAngle","SolidData","SolidRegionQ","Solve","SolveAlways","SolveDelayed","Sort","SortBy","SortedBy","SortedEntityClass","Sound","SoundAndGraphics","SoundNote","SoundVolume","SourceLink","Sow","Space","SpaceCurveData","SpaceForm","Spacer","Spacings","Span","SpanAdjustments","SpanCharacterRounding","SpanFromAbove","SpanFromBoth","SpanFromLeft","SpanLineThickness","SpanMaxSize","SpanMinSize","SpanningCharacters","SpanSymmetric","SparseArray","SpatialGraphDistribution","SpatialMedian","SpatialTransformationLayer","Speak","SpeakerMatchQ","SpeakTextPacket","SpearmanRankTest","SpearmanRho","SpeciesData","SpecificityGoal","SpectralLineData","Spectrogram","SpectrogramArray","Specularity","SpeechCases","SpeechInterpreter","SpeechRecognize","SpeechSynthesize","SpellingCorrection","SpellingCorrectionList","SpellingDictionaries","SpellingDictionariesPath","SpellingOptions","SpellingSuggestionsPacket","Sphere","SphereBox","SpherePoints","SphericalBesselJ","SphericalBesselY","SphericalHankelH1","SphericalHankelH2","SphericalHarmonicY","SphericalPlot3D","SphericalRegion","SphericalShell","SpheroidalEigenvalue","SpheroidalJoiningFactor","SpheroidalPS","SpheroidalPSPrime","SpheroidalQS","SpheroidalQSPrime","SpheroidalRadialFactor","SpheroidalS1","SpheroidalS1Prime","SpheroidalS2","SpheroidalS2Prime","Splice","SplicedDistribution","SplineClosed","SplineDegree","SplineKnots","SplineWeights","Split","SplitBy","SpokenString","Sqrt","SqrtBox","SqrtBoxOptions","Square","SquaredEuclideanDistance","SquareFreeQ","SquareIntersection","SquareMatrixQ","SquareRepeatingElement","SquaresR","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","SquareWave","SSSTriangle","StabilityMargins","StabilityMarginsStyle","StableDistribution","Stack","StackBegin","StackComplete","StackedDateListPlot","StackedListPlot","StackInhibit","StadiumShape","StandardAtmosphereData","StandardDeviation","StandardDeviationFilter","StandardForm","Standardize","Standardized","StandardOceanData","StandbyDistribution","Star","StarClusterData","StarData","StarGraph","StartAsynchronousTask","StartExternalSession","StartingStepSize","StartOfLine","StartOfString","StartProcess","StartScheduledTask","StartupSound","StartWebSession","StateDimensions","StateFeedbackGains","StateOutputEstimator","StateResponse","StateSpaceModel","StateSpaceRealization","StateSpaceTransform","StateTransformationLinearize","StationaryDistribution","StationaryWaveletPacketTransform","StationaryWaveletTransform","StatusArea","StatusCentrality","StepMonitor","StereochemistryElements","StieltjesGamma","StippleShading","StirlingS1","StirlingS2","StopAsynchronousTask","StoppingPowerData","StopScheduledTask","StrataVariables","StratonovichProcess","StreamColorFunction","StreamColorFunctionScaling","StreamDensityPlot","StreamMarkers","StreamPlot","StreamPoints","StreamPosition","Streams","StreamScale","StreamStyle","String","StringBreak","StringByteCount","StringCases","StringContainsQ","StringCount","StringDelete","StringDrop","StringEndsQ","StringExpression","StringExtract","StringForm","StringFormat","StringFreeQ","StringInsert","StringJoin","StringLength","StringMatchQ","StringPadLeft","StringPadRight","StringPart","StringPartition","StringPosition","StringQ","StringRepeat","StringReplace","StringReplaceList","StringReplacePart","StringReverse","StringRiffle","StringRotateLeft","StringRotateRight","StringSkeleton","StringSplit","StringStartsQ","StringTake","StringTemplate","StringToByteArray","StringToStream","StringTrim","StripBoxes","StripOnInput","StripWrapperBoxes","StrokeForm","StructuralImportance","StructuredArray","StructuredArrayHeadQ","StructuredSelection","StruveH","StruveL","Stub","StudentTDistribution","Style","StyleBox","StyleBoxAutoDelete","StyleData","StyleDefinitions","StyleForm","StyleHints","StyleKeyMapping","StyleMenuListing","StyleNameDialogSettings","StyleNames","StylePrint","StyleSheetPath","Subdivide","Subfactorial","Subgraph","SubMinus","SubPlus","SubresultantPolynomialRemainders","SubresultantPolynomials","Subresultants","Subscript","SubscriptBox","SubscriptBoxOptions","Subscripted","Subsequences","Subset","SubsetCases","SubsetCount","SubsetEqual","SubsetMap","SubsetPosition","SubsetQ","SubsetReplace","Subsets","SubStar","SubstitutionSystem","Subsuperscript","SubsuperscriptBox","SubsuperscriptBoxOptions","SubtitleEncoding","SubtitleTracks","Subtract","SubtractFrom","SubtractSides","SubValues","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","Success","SuchThat","Sum","SumConvergence","SummationLayer","Sunday","SunPosition","Sunrise","Sunset","SuperDagger","SuperMinus","SupernovaData","SuperPlus","Superscript","SuperscriptBox","SuperscriptBoxOptions","Superset","SupersetEqual","SuperStar","Surd","SurdForm","SurfaceAppearance","SurfaceArea","SurfaceColor","SurfaceData","SurfaceGraphics","SurvivalDistribution","SurvivalFunction","SurvivalModel","SurvivalModelFit","SuspendPacket","SuzukiDistribution","SuzukiGroupSuz","SwatchLegend","Switch","Symbol","SymbolName","SymletWavelet","Symmetric","SymmetricGroup","SymmetricKey","SymmetricMatrixQ","SymmetricPolynomial","SymmetricReduction","Symmetrize","SymmetrizedArray","SymmetrizedArrayRules","SymmetrizedDependentComponents","SymmetrizedIndependentComponents","SymmetrizedReplacePart","SynchronousInitialization","SynchronousUpdating","Synonyms","Syntax","SyntaxForm","SyntaxInformation","SyntaxLength","SyntaxPacket","SyntaxQ","SynthesizeMissingValues","SystemCredential","SystemCredentialData","SystemCredentialKey","SystemCredentialKeys","SystemCredentialStoreObject","SystemDialogInput","SystemException","SystemGet","SystemHelpPath","SystemInformation","SystemInformationData","SystemInstall","SystemModel","SystemModeler","SystemModelExamples","SystemModelLinearize","SystemModelParametricSimulate","SystemModelPlot","SystemModelProgressReporting","SystemModelReliability","SystemModels","SystemModelSimulate","SystemModelSimulateSensitivity","SystemModelSimulationData","SystemOpen","SystemOptions","SystemProcessData","SystemProcesses","SystemsConnectionsModel","SystemsModelDelay","SystemsModelDelayApproximate","SystemsModelDelete","SystemsModelDimensions","SystemsModelExtract","SystemsModelFeedbackConnect","SystemsModelLabels","SystemsModelLinearity","SystemsModelMerge","SystemsModelOrder","SystemsModelParallelConnect","SystemsModelSeriesConnect","SystemsModelStateFeedbackConnect","SystemsModelVectorRelativeOrders","SystemStub","SystemTest","Tab","TabFilling","Table","TableAlignments","TableDepth","TableDirections","TableForm","TableHeadings","TableSpacing","TableView","TableViewBox","TableViewBoxBackground","TableViewBoxItemSize","TableViewBoxOptions","TabSpacings","TabView","TabViewBox","TabViewBoxOptions","TagBox","TagBoxNote","TagBoxOptions","TaggingRules","TagSet","TagSetDelayed","TagStyle","TagUnset","Take","TakeDrop","TakeLargest","TakeLargestBy","TakeList","TakeSmallest","TakeSmallestBy","TakeWhile","Tally","Tan","Tanh","TargetDevice","TargetFunctions","TargetSystem","TargetUnits","TaskAbort","TaskExecute","TaskObject","TaskRemove","TaskResume","Tasks","TaskSuspend","TaskWait","TautologyQ","TelegraphProcess","TemplateApply","TemplateArgBox","TemplateBox","TemplateBoxOptions","TemplateEvaluate","TemplateExpression","TemplateIf","TemplateObject","TemplateSequence","TemplateSlot","TemplateSlotSequence","TemplateUnevaluated","TemplateVerbatim","TemplateWith","TemporalData","TemporalRegularity","Temporary","TemporaryVariable","TensorContract","TensorDimensions","TensorExpand","TensorProduct","TensorQ","TensorRank","TensorReduce","TensorSymmetry","TensorTranspose","TensorWedge","TestID","TestReport","TestReportObject","TestResultObject","Tetrahedron","TetrahedronBox","TetrahedronBoxOptions","TeXForm","TeXSave","Text","Text3DBox","Text3DBoxOptions","TextAlignment","TextBand","TextBoundingBox","TextBox","TextCases","TextCell","TextClipboardType","TextContents","TextData","TextElement","TextForm","TextGrid","TextJustification","TextLine","TextPacket","TextParagraph","TextPosition","TextRecognize","TextSearch","TextSearchReport","TextSentences","TextString","TextStructure","TextStyle","TextTranslation","Texture","TextureCoordinateFunction","TextureCoordinateScaling","TextWords","Therefore","ThermodynamicData","ThermometerGauge","Thick","Thickness","Thin","Thinning","ThisLink","ThompsonGroupTh","Thread","ThreadingLayer","ThreeJSymbol","Threshold","Through","Throw","ThueMorse","Thumbnail","Thursday","Ticks","TicksStyle","TideData","Tilde","TildeEqual","TildeFullEqual","TildeTilde","TimeConstrained","TimeConstraint","TimeDirection","TimeFormat","TimeGoal","TimelinePlot","TimeObject","TimeObjectQ","TimeRemaining","Times","TimesBy","TimeSeries","TimeSeriesAggregate","TimeSeriesForecast","TimeSeriesInsert","TimeSeriesInvertibility","TimeSeriesMap","TimeSeriesMapThread","TimeSeriesModel","TimeSeriesModelFit","TimeSeriesResample","TimeSeriesRescale","TimeSeriesShift","TimeSeriesThread","TimeSeriesWindow","TimeUsed","TimeValue","TimeWarpingCorrespondence","TimeWarpingDistance","TimeZone","TimeZoneConvert","TimeZoneOffset","Timing","Tiny","TitleGrouping","TitsGroupT","ToBoxes","ToCharacterCode","ToColor","ToContinuousTimeModel","ToDate","Today","ToDiscreteTimeModel","ToEntity","ToeplitzMatrix","ToExpression","ToFileName","Together","Toggle","ToggleFalse","Toggler","TogglerBar","TogglerBox","TogglerBoxOptions","ToHeldExpression","ToInvertibleTimeSeries","TokenWords","Tolerance","ToLowerCase","Tomorrow","ToNumberField","TooBig","Tooltip","TooltipBox","TooltipBoxOptions","TooltipDelay","TooltipStyle","ToonShading","Top","TopHatTransform","ToPolarCoordinates","TopologicalSort","ToRadicals","ToRules","ToSphericalCoordinates","ToString","Total","TotalHeight","TotalLayer","TotalVariationFilter","TotalWidth","TouchPosition","TouchscreenAutoZoom","TouchscreenControlPlacement","ToUpperCase","Tr","Trace","TraceAbove","TraceAction","TraceBackward","TraceDepth","TraceDialog","TraceForward","TraceInternal","TraceLevel","TraceOff","TraceOn","TraceOriginal","TracePrint","TraceScan","TrackedSymbols","TrackingFunction","TracyWidomDistribution","TradingChart","TraditionalForm","TraditionalFunctionNotation","TraditionalNotation","TraditionalOrder","TrainingProgressCheckpointing","TrainingProgressFunction","TrainingProgressMeasurements","TrainingProgressReporting","TrainingStoppingCriterion","TrainingUpdateSchedule","TransferFunctionCancel","TransferFunctionExpand","TransferFunctionFactor","TransferFunctionModel","TransferFunctionPoles","TransferFunctionTransform","TransferFunctionZeros","TransformationClass","TransformationFunction","TransformationFunctions","TransformationMatrix","TransformedDistribution","TransformedField","TransformedProcess","TransformedRegion","TransitionDirection","TransitionDuration","TransitionEffect","TransitiveClosureGraph","TransitiveReductionGraph","Translate","TranslationOptions","TranslationTransform","Transliterate","Transparent","TransparentColor","Transpose","TransposeLayer","TrapSelection","TravelDirections","TravelDirectionsData","TravelDistance","TravelDistanceList","TravelMethod","TravelTime","TreeForm","TreeGraph","TreeGraphQ","TreePlot","TrendStyle","Triangle","TriangleCenter","TriangleConstruct","TriangleMeasurement","TriangleWave","TriangularDistribution","TriangulateMesh","Trig","TrigExpand","TrigFactor","TrigFactorList","Trigger","TrigReduce","TrigToExp","TrimmedMean","TrimmedVariance","TropicalStormData","True","TrueQ","TruncatedDistribution","TruncatedPolyhedron","TsallisQExponentialDistribution","TsallisQGaussianDistribution","TTest","Tube","TubeBezierCurveBox","TubeBezierCurveBoxOptions","TubeBox","TubeBoxOptions","TubeBSplineCurveBox","TubeBSplineCurveBoxOptions","Tuesday","TukeyLambdaDistribution","TukeyWindow","TunnelData","Tuples","TuranGraph","TuringMachine","TuttePolynomial","TwoWayRule","Typed","TypeSpecifier","UnateQ","Uncompress","UnconstrainedParameters","Undefined","UnderBar","Underflow","Underlined","Underoverscript","UnderoverscriptBox","UnderoverscriptBoxOptions","Underscript","UnderscriptBox","UnderscriptBoxOptions","UnderseaFeatureData","UndirectedEdge","UndirectedGraph","UndirectedGraphQ","UndoOptions","UndoTrackedVariables","Unequal","UnequalTo","Unevaluated","UniformDistribution","UniformGraphDistribution","UniformPolyhedron","UniformSumDistribution","Uninstall","Union","UnionedEntityClass","UnionPlus","Unique","UnitaryMatrixQ","UnitBox","UnitConvert","UnitDimensions","Unitize","UnitRootTest","UnitSimplify","UnitStep","UnitSystem","UnitTriangle","UnitVector","UnitVectorLayer","UnityDimensions","UniverseModelData","UniversityData","UnixTime","Unprotect","UnregisterExternalEvaluator","UnsameQ","UnsavedVariables","Unset","UnsetShared","UntrackedVariables","Up","UpArrow","UpArrowBar","UpArrowDownArrow","Update","UpdateDynamicObjects","UpdateDynamicObjectsSynchronous","UpdateInterval","UpdatePacletSites","UpdateSearchIndex","UpDownArrow","UpEquilibrium","UpperCaseQ","UpperLeftArrow","UpperRightArrow","UpperTriangularize","UpperTriangularMatrixQ","Upsample","UpSet","UpSetDelayed","UpTee","UpTeeArrow","UpTo","UpValues","URL","URLBuild","URLDecode","URLDispatcher","URLDownload","URLDownloadSubmit","URLEncode","URLExecute","URLExpand","URLFetch","URLFetchAsynchronous","URLParse","URLQueryDecode","URLQueryEncode","URLRead","URLResponseTime","URLSave","URLSaveAsynchronous","URLShorten","URLSubmit","UseGraphicsRange","UserDefinedWavelet","Using","UsingFrontEnd","UtilityFunction","V2Get","ValenceErrorHandling","ValidationLength","ValidationSet","Value","ValueBox","ValueBoxOptions","ValueDimensions","ValueForm","ValuePreprocessingFunction","ValueQ","Values","ValuesData","Variables","Variance","VarianceEquivalenceTest","VarianceEstimatorFunction","VarianceGammaDistribution","VarianceTest","VectorAngle","VectorAround","VectorAspectRatio","VectorColorFunction","VectorColorFunctionScaling","VectorDensityPlot","VectorGlyphData","VectorGreater","VectorGreaterEqual","VectorLess","VectorLessEqual","VectorMarkers","VectorPlot","VectorPlot3D","VectorPoints","VectorQ","VectorRange","Vectors","VectorScale","VectorScaling","VectorSizes","VectorStyle","Vee","Verbatim","Verbose","VerboseConvertToPostScriptPacket","VerificationTest","VerifyConvergence","VerifyDerivedKey","VerifyDigitalSignature","VerifyFileSignature","VerifyInterpretation","VerifySecurityCertificates","VerifySolutions","VerifyTestAssumptions","Version","VersionedPreferences","VersionNumber","VertexAdd","VertexCapacity","VertexColors","VertexComponent","VertexConnectivity","VertexContract","VertexCoordinateRules","VertexCoordinates","VertexCorrelationSimilarity","VertexCosineSimilarity","VertexCount","VertexCoverQ","VertexDataCoordinates","VertexDegree","VertexDelete","VertexDiceSimilarity","VertexEccentricity","VertexInComponent","VertexInDegree","VertexIndex","VertexJaccardSimilarity","VertexLabeling","VertexLabels","VertexLabelStyle","VertexList","VertexNormals","VertexOutComponent","VertexOutDegree","VertexQ","VertexRenderingFunction","VertexReplace","VertexShape","VertexShapeFunction","VertexSize","VertexStyle","VertexTextureCoordinates","VertexWeight","VertexWeightedGraphQ","Vertical","VerticalBar","VerticalForm","VerticalGauge","VerticalSeparator","VerticalSlider","VerticalTilde","Video","VideoEncoding","VideoExtractFrames","VideoFrameList","VideoFrameMap","VideoPause","VideoPlay","VideoQ","VideoStop","VideoStream","VideoStreams","VideoTimeSeries","VideoTracks","VideoTrim","ViewAngle","ViewCenter","ViewMatrix","ViewPoint","ViewPointSelectorSettings","ViewPort","ViewProjection","ViewRange","ViewVector","ViewVertical","VirtualGroupData","Visible","VisibleCell","VoiceStyleData","VoigtDistribution","VolcanoData","Volume","VonMisesDistribution","VoronoiMesh","WaitAll","WaitAsynchronousTask","WaitNext","WaitUntil","WakebyDistribution","WalleniusHypergeometricDistribution","WaringYuleDistribution","WarpingCorrespondence","WarpingDistance","WatershedComponents","WatsonUSquareTest","WattsStrogatzGraphDistribution","WaveletBestBasis","WaveletFilterCoefficients","WaveletImagePlot","WaveletListPlot","WaveletMapIndexed","WaveletMatrixPlot","WaveletPhi","WaveletPsi","WaveletScale","WaveletScalogram","WaveletThreshold","WeaklyConnectedComponents","WeaklyConnectedGraphComponents","WeaklyConnectedGraphQ","WeakStationarity","WeatherData","WeatherForecastData","WebAudioSearch","WebElementObject","WeberE","WebExecute","WebImage","WebImageSearch","WebSearch","WebSessionObject","WebSessions","WebWindowObject","Wedge","Wednesday","WeibullDistribution","WeierstrassE1","WeierstrassE2","WeierstrassE3","WeierstrassEta1","WeierstrassEta2","WeierstrassEta3","WeierstrassHalfPeriods","WeierstrassHalfPeriodW1","WeierstrassHalfPeriodW2","WeierstrassHalfPeriodW3","WeierstrassInvariantG2","WeierstrassInvariantG3","WeierstrassInvariants","WeierstrassP","WeierstrassPPrime","WeierstrassSigma","WeierstrassZeta","WeightedAdjacencyGraph","WeightedAdjacencyMatrix","WeightedData","WeightedGraphQ","Weights","WelchWindow","WheelGraph","WhenEvent","Which","While","White","WhiteNoiseProcess","WhitePoint","Whitespace","WhitespaceCharacter","WhittakerM","WhittakerW","WienerFilter","WienerProcess","WignerD","WignerSemicircleDistribution","WikidataData","WikidataSearch","WikipediaData","WikipediaSearch","WilksW","WilksWTest","WindDirectionData","WindingCount","WindingPolygon","WindowClickSelect","WindowElements","WindowFloating","WindowFrame","WindowFrameElements","WindowMargins","WindowMovable","WindowOpacity","WindowPersistentStyles","WindowSelected","WindowSize","WindowStatusArea","WindowTitle","WindowToolbars","WindowWidth","WindSpeedData","WindVectorData","WinsorizedMean","WinsorizedVariance","WishartMatrixDistribution","With","WolframAlpha","WolframAlphaDate","WolframAlphaQuantity","WolframAlphaResult","WolframLanguageData","Word","WordBoundary","WordCharacter","WordCloud","WordCount","WordCounts","WordData","WordDefinition","WordFrequency","WordFrequencyData","WordList","WordOrientation","WordSearch","WordSelectionFunction","WordSeparators","WordSpacings","WordStem","WordTranslation","WorkingPrecision","WrapAround","Write","WriteLine","WriteString","Wronskian","XMLElement","XMLObject","XMLTemplate","Xnor","Xor","XYZColor","Yellow","Yesterday","YuleDissimilarity","ZernikeR","ZeroSymmetric","ZeroTest","ZeroWidthTimes","Zeta","ZetaZero","ZIPCodeData","ZipfDistribution","ZoomCenter","ZoomFactor","ZTest","ZTransform","$Aborted","$ActivationGroupID","$ActivationKey","$ActivationUserRegistered","$AddOnsDirectory","$AllowDataUpdates","$AllowExternalChannelFunctions","$AllowInternet","$AssertFunction","$Assumptions","$AsynchronousTask","$AudioDecoders","$AudioEncoders","$AudioInputDevices","$AudioOutputDevices","$BaseDirectory","$BasePacletsDirectory","$BatchInput","$BatchOutput","$BlockchainBase","$BoxForms","$ByteOrdering","$CacheBaseDirectory","$Canceled","$ChannelBase","$CharacterEncoding","$CharacterEncodings","$CloudAccountName","$CloudBase","$CloudConnected","$CloudConnection","$CloudCreditsAvailable","$CloudEvaluation","$CloudExpressionBase","$CloudObjectNameFormat","$CloudObjectURLType","$CloudRootDirectory","$CloudSymbolBase","$CloudUserID","$CloudUserUUID","$CloudVersion","$CloudVersionNumber","$CloudWolframEngineVersionNumber","$CommandLine","$CompilationTarget","$ConditionHold","$ConfiguredKernels","$Context","$ContextPath","$ControlActiveSetting","$Cookies","$CookieStore","$CreationDate","$CurrentLink","$CurrentTask","$CurrentWebSession","$DataStructures","$DateStringFormat","$DefaultAudioInputDevice","$DefaultAudioOutputDevice","$DefaultFont","$DefaultFrontEnd","$DefaultImagingDevice","$DefaultLocalBase","$DefaultMailbox","$DefaultNetworkInterface","$DefaultPath","$DefaultProxyRules","$DefaultSystemCredentialStore","$Display","$DisplayFunction","$DistributedContexts","$DynamicEvaluation","$Echo","$EmbedCodeEnvironments","$EmbeddableServices","$EntityStores","$Epilog","$EvaluationCloudBase","$EvaluationCloudObject","$EvaluationEnvironment","$ExportFormats","$ExternalIdentifierTypes","$ExternalStorageBase","$Failed","$FinancialDataSource","$FontFamilies","$FormatType","$FrontEnd","$FrontEndSession","$GeoEntityTypes","$GeoLocation","$GeoLocationCity","$GeoLocationCountry","$GeoLocationPrecision","$GeoLocationSource","$HistoryLength","$HomeDirectory","$HTMLExportRules","$HTTPCookies","$HTTPRequest","$IgnoreEOF","$ImageFormattingWidth","$ImageResolution","$ImagingDevice","$ImagingDevices","$ImportFormats","$IncomingMailSettings","$InitialDirectory","$Initialization","$InitializationContexts","$Input","$InputFileName","$InputStreamMethods","$Inspector","$InstallationDate","$InstallationDirectory","$InterfaceEnvironment","$InterpreterTypes","$IterationLimit","$KernelCount","$KernelID","$Language","$LaunchDirectory","$LibraryPath","$LicenseExpirationDate","$LicenseID","$LicenseProcesses","$LicenseServer","$LicenseSubprocesses","$LicenseType","$Line","$Linked","$LinkSupported","$LoadedFiles","$LocalBase","$LocalSymbolBase","$MachineAddresses","$MachineDomain","$MachineDomains","$MachineEpsilon","$MachineID","$MachineName","$MachinePrecision","$MachineType","$MaxExtraPrecision","$MaxLicenseProcesses","$MaxLicenseSubprocesses","$MaxMachineNumber","$MaxNumber","$MaxPiecewiseCases","$MaxPrecision","$MaxRootDegree","$MessageGroups","$MessageList","$MessagePrePrint","$Messages","$MinMachineNumber","$MinNumber","$MinorReleaseNumber","$MinPrecision","$MobilePhone","$ModuleNumber","$NetworkConnected","$NetworkInterfaces","$NetworkLicense","$NewMessage","$NewSymbol","$NotebookInlineStorageLimit","$Notebooks","$NoValue","$NumberMarks","$Off","$OperatingSystem","$Output","$OutputForms","$OutputSizeLimit","$OutputStreamMethods","$Packages","$ParentLink","$ParentProcessID","$PasswordFile","$PatchLevelID","$Path","$PathnameSeparator","$PerformanceGoal","$Permissions","$PermissionsGroupBase","$PersistenceBase","$PersistencePath","$PipeSupported","$PlotTheme","$Post","$Pre","$PreferencesDirectory","$PreInitialization","$PrePrint","$PreRead","$PrintForms","$PrintLiteral","$Printout3DPreviewer","$ProcessID","$ProcessorCount","$ProcessorType","$ProductInformation","$ProgramName","$PublisherID","$RandomState","$RecursionLimit","$RegisteredDeviceClasses","$RegisteredUserName","$ReleaseNumber","$RequesterAddress","$RequesterWolframID","$RequesterWolframUUID","$RootDirectory","$ScheduledTask","$ScriptCommandLine","$ScriptInputString","$SecuredAuthenticationKeyTokens","$ServiceCreditsAvailable","$Services","$SessionID","$SetParentLink","$SharedFunctions","$SharedVariables","$SoundDisplay","$SoundDisplayFunction","$SourceLink","$SSHAuthentication","$SubtitleDecoders","$SubtitleEncoders","$SummaryBoxDataSizeLimit","$SuppressInputFormHeads","$SynchronousEvaluation","$SyntaxHandler","$System","$SystemCharacterEncoding","$SystemCredentialStore","$SystemID","$SystemMemory","$SystemShell","$SystemTimeZone","$SystemWordLength","$TemplatePath","$TemporaryDirectory","$TemporaryPrefix","$TestFileName","$TextStyle","$TimedOut","$TimeUnit","$TimeZone","$TimeZoneEntity","$TopDirectory","$TraceOff","$TraceOn","$TracePattern","$TracePostAction","$TracePreAction","$UnitSystem","$Urgent","$UserAddOnsDirectory","$UserAgentLanguages","$UserAgentMachine","$UserAgentName","$UserAgentOperatingSystem","$UserAgentString","$UserAgentVersion","$UserBaseDirectory","$UserBasePacletsDirectory","$UserDocumentsDirectory","$Username","$UserName","$UserURLBase","$Version","$VersionNumber","$VideoDecoders","$VideoEncoders","$VoiceStyles","$WolframDocumentsDirectory","$WolframID","$WolframUUID"] -;function t(e){return e?"string"==typeof e?e:e.source:null}function i(e){ -return o("(",e,")?")}function o(...e){return e.map((e=>t(e))).join("")} -function a(...e){return"("+e.map((e=>t(e))).join("|")+")"}return t=>{ -const n=a(o(/([2-9]|[1-2]\d|[3][0-5])\^\^/,/(\w*\.\w+|\w+\.\w*|\w+)/),/(\d*\.\d+|\d+\.\d*|\d+)/),r={ -className:"number",relevance:0, -begin:o(n,i(a(/``[+-]?(\d*\.\d+|\d+\.\d*|\d+)/,/`([+-]?(\d*\.\d+|\d+\.\d*|\d+))?/)),i(/\*\^[+-]?\d+/)) -},l=/[a-zA-Z$][a-zA-Z0-9$]*/,s=new Set(e),c={variants:[{ -className:"builtin-symbol",begin:l,"on:begin":(e,t)=>{ -s.has(e[0])||t.ignoreMatch()}},{className:"symbol",relevance:0,begin:l}]},u={ -className:"message-name",relevance:0,begin:o("::",l)};return{name:"Mathematica", -aliases:["mma","wl"],classNameAliases:{brace:"punctuation",pattern:"type", -slot:"type",symbol:"variable","named-character":"variable", -"builtin-symbol":"built_in","message-name":"string"}, -contains:[t.COMMENT(/\(\*/,/\*\)/,{contains:["self"]}),{className:"pattern", -relevance:0,begin:/([a-zA-Z$][a-zA-Z0-9$]*)?_+([a-zA-Z$][a-zA-Z0-9$]*)?/},{ -className:"slot",relevance:0,begin:/#[a-zA-Z$][a-zA-Z0-9$]*|#+[0-9]?/},u,c,{ -className:"named-character",begin:/\\\[[$a-zA-Z][$a-zA-Z0-9]+\]/ -},t.QUOTE_STRING_MODE,r,{className:"operator",relevance:0, -begin:/[+\-*/,;.:@~=><&|_`'^?!%]+/},{className:"brace",relevance:0, -begin:/[[\](){}]/}]}}})());hljs.registerLanguage("matlab",(()=>{"use strict";return e=>{var a={relevance:0, -contains:[{begin:"('|\\.')+"}]};return{name:"Matlab",keywords:{ -keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while", -built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell " -},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function", -beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{ -className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}] -},{className:"built_in",begin:/true|false/,relevance:0,starts:a},{ -begin:"[a-zA-Z][a-zA-Z_0-9]*('|\\.')+",relevance:0},{className:"number", -begin:e.C_NUMBER_RE,relevance:0,starts:a},{className:"string",begin:"'",end:"'", -contains:[e.BACKSLASH_ESCAPE,{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0, -starts:a},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE,{ -begin:'""'}],starts:a -},e.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),e.COMMENT("%","$")]}}})());hljs.registerLanguage("csharp",(()=>{"use strict";return e=>{const n={ -keyword:["abstract","as","base","break","case","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), -built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], -literal:["default","false","null","true"]},a=e.inherit(e.TITLE_MODE,{ -begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{ -begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] -},t=e.inherit(s,{illegal:/\n/}),r={className:"subst",begin:/\{/,end:/\}/, -keywords:n},l=e.inherit(r,{illegal:/\n/}),c={className:"string",begin:/\$"/, -end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ -},e.BACKSLASH_ESCAPE,l]},o={className:"string",begin:/\$@"/,end:'"',contains:[{ -begin:/\{\{/},{begin:/\}\}/},{begin:'""'},r]},d=e.inherit(o,{illegal:/\n/, -contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]}) -;r.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE], -l.contains=[d,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{ -illegal:/\n/})];const g={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},a] -},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={ -begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], -keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, -contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ -begin:"\x3c!--|--\x3e"},{begin:""}]}] -}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", -end:"$",keywords:{ -"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum" -}},g,i,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, -illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" -},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", -relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", -begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ -className:"meta-string",begin:/"/,end:/"/}]},{ -beginKeywords:"new return throw await else",relevance:0},{className:"function", -begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, -end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", -relevance:0},{begin:e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, -contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/, -excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, -contains:[g,i,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}})());hljs.registerLanguage("lisp",(()=>{"use strict";return e=>{ -var n="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",a="\\|[^]*?\\|",i="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",s={ -className:"literal",begin:"\\b(t{1}|nil)\\b"},l={className:"number",variants:[{ -begin:i,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{ -begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{ -begin:"#(c|C)\\("+i+" +"+i,end:"\\)"}]},b=e.inherit(e.QUOTE_STRING_MODE,{ -illegal:null}),g=e.COMMENT(";","$",{relevance:0}),r={begin:"\\*",end:"\\*"},t={ -className:"symbol",begin:"[:&]"+n},c={begin:n,relevance:0},d={begin:a},o={ -contains:[l,b,r,t,{begin:"\\(",end:"\\)",contains:["self",s,b,l,c]},c], -variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{ -name:"quote"}},{begin:"'"+a}]},v={variants:[{begin:"'"+n},{ -begin:"#'"+n+"(::"+n+")*"}]},m={begin:"\\(\\s*",end:"\\)"},u={endsWithParent:!0, -relevance:0};return m.contains=[{className:"name",variants:[{begin:n,relevance:0 -},{begin:a}]},u],u.contains=[o,v,m,s,l,b,g,r,t,d,c],{name:"Lisp",illegal:/\S/, -contains:[l,e.SHEBANG(),s,b,g,o,v,m,c]}}})());hljs.registerLanguage("diff",(()=>{"use strict";return e=>({name:"Diff", -aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{ -begin:/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{ -begin:/^--- +\d+,\d+ +----$/}]},{className:"comment",variants:[{begin:/Index: /, -end:/$/},{begin:/^index/,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^-{3}/,end:/$/ -},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/},{ -begin:/^diff --git/,end:/$/}]},{className:"addition",begin:/^\+/,end:/$/},{ -className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, -end:/$/}]})})());hljs.registerLanguage("ada",(()=>{"use strict";return e=>{ -const n="[A-Za-z](_?[A-Za-z0-9.])*",s="[]\\{\\}%#'\"",a=e.COMMENT("--","$"),r={ -begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:s,contains:[{ -beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword", -beginKeywords:"not null constant access function procedure in out aliased exception" -},{className:"type",begin:n,endsParent:!0,relevance:0}]};return{name:"Ada", -case_insensitive:!0,keywords:{ -keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor", -literal:"True False"},contains:[a,{className:"string",begin:/"/,end:/"/, -contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{ -className:"number", -begin:"\\b(\\d(_|\\d)*#\\w+(\\.\\w+)?#([eE][-+]?\\d(_|\\d)*)?|\\d(_|\\d)*(\\.\\d(_|\\d)*)?([eE][-+]?\\d(_|\\d)*)?)", -relevance:0},{className:"symbol",begin:"'"+n},{className:"title", -begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?", -end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:s},{ -begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+", -end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)", -keywords:"overriding function procedure with is renames return",returnBegin:!0, -contains:[a,{className:"title", -begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)", -excludeBegin:!0,excludeEnd:!0,illegal:s},r,{className:"type", -begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0, -excludeEnd:!0,endsParent:!0,illegal:s}]},{className:"type", -begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:s -},r]}}})());hljs.registerLanguage("pgsql",(()=>{"use strict";return E=>{ -const T=E.COMMENT("--","$"),N="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",A="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",R=A.trim().split(" ").map((E=>E.split("|")[0])).join("|"),I="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST".split(" ").map((E=>E.split("|")[0])).join("|") -;return{name:"PostgreSQL",aliases:["postgres","postgresql"],case_insensitive:!0, -keywords:{ -keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ", -built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED " -},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/, -contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{ -begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{ -begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{ -begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{ -begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{ -begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{ -begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{ -begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{ -begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{ -begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/ -},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{ -begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{ -begin:/\bGROUPING\s+SETS\b/},{ -begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{ -begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{ -begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{ -begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{ -begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{ -begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/ -},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/ -},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{ -begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{ -begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{ -begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{ -begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{ -begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{ -begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{ -begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{ -begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{ -begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{ -begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/ -},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{ -begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/, -keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ -},{ -begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/ -},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{ -begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{ -type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR" -}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{ -begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{ -keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE", -end:E.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE" -},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type", -begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/ -},{ -begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/, -keywords:{keyword:"RETURNS", -type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER" -}},{begin:"\\b("+I+")\\s*\\("},{begin:"\\.("+R+")\\b"},{ -begin:"\\b("+R+")\\s+PATH\\b",keywords:{keyword:"PATH", -type:A.replace("PATH ","")}},{className:"type",begin:"\\b("+R+")\\b"},{ -className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{ -className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}], -relevance:10},E.END_SAME_AS_BEGIN({begin:N,end:N,contains:[{ -subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"], -endsWithParent:!0}]}),{begin:'"',end:'"',contains:[{begin:'""'}] -},E.C_NUMBER_MODE,E.C_BLOCK_COMMENT_MODE,T,{className:"meta",variants:[{ -begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{ -className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}} -})());hljs.registerLanguage("rust",(()=>{"use strict";return e=>{ -const n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!" -;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?", -keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield", -literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}})());hljs.registerLanguage("yaml",(()=>{"use strict";return e=>{ -var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ -className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ -},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", -variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ -end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, -end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", -contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ -begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ -begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", -relevance:10},{className:"string", -begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ -begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, -relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", -begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a -},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", -begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", -relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ -className:"number", -begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" -},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] -;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, -aliases:["yml"],contains:b}}})());hljs.registerLanguage("json",(()=>{"use strict";return n=>{const e={ -literal:"true false null" -},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],a=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],l={ -end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},t={begin:/\{/, -end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/, -contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(l,{begin:/:/ -})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(l)], -illegal:"\\S"};return a.push(t,s),i.forEach((n=>{a.push(n)})),{name:"JSON", -contains:a,keywords:e,illegal:"\\S"}}})());hljs.registerLanguage("makefile",(()=>{"use strict";return e=>{const i={ -className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{"use strict";return e=>{ -var t=e.COMMENT("--","$");return{name:"SQL (more)",aliases:["mysql","oracle"], -disableAutodetect:!0,case_insensitive:!0,illegal:/[<>{}*]/,contains:[{ -beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with", -end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/, -keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek", -literal:"true false null unknown", -built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void" -},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{ -className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{ -className:"string",begin:"`",end:"`" -},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE] -},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}})());hljs.registerLanguage("julia",(()=>{"use strict";return e=>{ -var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r, -keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"], -literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","\u03c0","\u212f"], -built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"] -},n={keywords:t,illegal:/<\//},a={className:"subst",begin:/\$\(/,end:/\)/, -keywords:t},i={className:"variable",begin:"\\$"+r},o={className:"string", -contains:[e.BACKSLASH_ESCAPE,a,i],variants:[{begin:/\w*"""/,end:/"""\w*/, -relevance:10},{begin:/\w*"/,end:/"\w*/}]},s={className:"string", -contains:[e.BACKSLASH_ESCAPE,a,i],begin:"`",end:"`"},l={className:"meta", -begin:"@"+r};return n.name="Julia",n.contains=[{className:"number", -begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/, -relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},o,s,l,{ -className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#", -end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword", -begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/ -}],a.contains=n.contains,n}})());hljs.registerLanguage("julia-repl",(()=>{"use strict";return a=>({ -name:"Julia REPL",contains:[{className:"meta",begin:/^julia>/,relevance:10, -starts:{end:/^(?![ ]{6})/,subLanguage:"julia"},aliases:["jldoctest"]}]})})());hljs.registerLanguage("css",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() -;return n=>{const a=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", -case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, -classNameAliases:{keyframePosition:"selector-tag"}, -contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ -},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 -},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 -},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ -begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ -className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", -contains:[a.HEXCOLOR,a.IMPORTANT,n.CSS_NUMBER_MODE,...l,{ -begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" -},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] -},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ -begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), -end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", -begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, -relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", -attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" -},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag", -begin:"\\b("+e.join("|")+")\\b"}]};var s}})());hljs.registerLanguage("ini",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}return s=>{const a={className:"number", -relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:s.NUMBER_RE}] -},i=s.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const t={ -className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ -}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={ -className:"string",contains:[s.BACKSLASH_ESCAPE],variants:[{begin:"'''", -end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' -},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,a,"self"], -relevance:0 -},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map((n=>e(n))).join("|")+")" -;return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, -contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{ -begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr", -starts:{end:/$/,contains:[i,c,r,t,l,a]}}]}}})());hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ -return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e -})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", -subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 -},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, -relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), -relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ -begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ -className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, -returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", -end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], -variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ -className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ -begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) -;let t=[a,i] -;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), -t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ -className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ -begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", -contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", -end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, -end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ -begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ -begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", -contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ -begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ -className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ -className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})());hljs.registerLanguage("dart",(()=>{"use strict";return e=>{const n={ -className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},a={className:"subst", -variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super" -},t={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""', -end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n" -},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"""', -end:'"""',contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:"'",end:"'",illegal:"\\n", -contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"',end:'"',illegal:"\\n", -contains:[e.BACKSLASH_ESCAPE,n,a]}]};a.contains=[e.C_NUMBER_MODE,t] -;const i=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=i.map((e=>e+"?")) -;return{name:"Dart",keywords:{ -keyword:"abstract as assert async await break case catch class const continue covariant default deferred do dynamic else enum export extends extension external factory false final finally for Function get hide if implements import in inferface is late library mixin new null on operator part required rethrow return set show static super switch sync this throw true try typedef var void while with yield", -built_in:i.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]), -$pattern:/[A-Za-z][A-Za-z0-9_]*\??/}, -contains:[t,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0 -}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".", -end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ -className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0, -contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE] -},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}})());hljs.registerLanguage("apache",(()=>{"use strict";return e=>{const n={ -className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/} -;return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0, -contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/, -contains:[n,{className:"number",begin:/:\d{1,5}/ -},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute", -begin:/\w+/,relevance:0,keywords:{ -nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername" -},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"}, -contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable", -begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}] -},n,{className:"number",begin:/\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}} -})());hljs.registerLanguage("go",(()=>{"use strict";return e=>{const n={ -keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune", -literal:"true false iota nil", -built_in:"append cap close complex copy imag len make new panic print println real recover delete" -};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const r=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/, -keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" -},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},a={begin:/->\{/, -end:/\}/},o={variants:[{begin:/\$\d/},{ -begin:n(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") -},{begin:/[$%@][^\s\w{]/,relevance:0}] -},c=[e.BACKSLASH_ESCAPE,i,o],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,s="\\1")=>{ -const i="\\1"===s?s:n(s,t) -;return n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,s,r) -},d=(e,t,s)=>n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,s,r),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ -endsWithParent:!0}),a,{className:"string",contains:c,variants:[{ -begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", -end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ -begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", -relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", -contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ -begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", -begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", -relevance:0},{ -begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", -keywords:"split return print reverse grep",relevance:0, -contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ -begin:l("s|tr|y",t(...g))},{begin:l("s|tr|y","\\(","\\)")},{ -begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{ -className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ -begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",t(...g),/\1/)},{ -begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ -begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", -end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ -begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", -subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] -}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:s, -contains:p}}})());hljs.registerLanguage("lua",(()=>{"use strict";return e=>{ -const t="\\[=*\\[",a="\\]=*\\]",n={begin:t,end:a,contains:["self"] -},o=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",a,{contains:[n], -relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, -literal:"true false nil", -keyword:"and break do else elseif end for goto if in local not or repeat return then until while", -built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" -},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)", -contains:[e.inherit(e.TITLE_MODE,{ -begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", -begin:"\\(",endsWithParent:!0,contains:o}].concat(o) -},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", -begin:t,end:a,contains:[n],relevance:5}])}}})());hljs.registerLanguage("cpp",(()=>{"use strict";function e(e){ -return t("(",e,")?")}function t(...e){return e.map((e=>{ -return(t=e)?"string"==typeof t?t:t.source:null;var t})).join("")}return n=>{ -const r=n.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+e(a)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",s={ -className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string", -variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", -contains:[n.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},n.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},n.inherit(c,{className:"meta-string"}),{ -className:"meta-string",begin:/<.*?>/},r,n.C_BLOCK_COMMENT_MODE]},d={ -className:"title",begin:e(a)+n.IDENT_RE,relevance:0 -},u=e(a)+n.IDENT_RE+"\\s*\\(",m={ -keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", -built_in:"_Bool _Complex _Imaginary", -_relevance_hints:["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"], -literal:"true false nullptr NULL"},p={className:"function.dispatch",relevance:0, -keywords:m, -begin:t(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,n.IDENT_RE,(_=/\s*\(/, -t("(?=",_,")")))};var _;const g=[p,l,s,r,n.C_BLOCK_COMMENT_MODE,o,c],b={ -variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ -beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:g.concat([{ -begin:/\(/,end:/\)/,keywords:m,contains:g.concat(["self"]),relevance:0}]), -relevance:0},f={className:"function",begin:"("+i+"[\\*&\\s]+)+"+u, -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/, -contains:[{begin:"decltype\\(auto\\)",keywords:m,relevance:0},{begin:u, -returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/, -endsWithParent:!0,contains:[c,o]},{className:"params",begin:/\(/,end:/\)/, -keywords:m,relevance:0,contains:[r,n.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/, -end:/\)/,keywords:m,relevance:0,contains:["self",r,n.C_BLOCK_COMMENT_MODE,c,o,s] -}]},s,r,n.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", -aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"",keywords:m,contains:["self",s]},{begin:n.IDENT_RE+"::",keywords:m},{ -className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, -contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{ -preprocessor:l,strings:c,keywords:m}}}})());hljs.registerLanguage("scss",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() -;return a=>{const n=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(a),l=o,s=i,d="@[a-z-]+",c={className:"variable", -begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"};return{name:"SCSS",case_insensitive:!0, -illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{ -className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ -className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 -},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", -begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo", -begin:":("+s.join("|")+")"},{className:"selector-pseudo", -begin:"::("+l.join("|")+")"},c,{begin:/\(/,end:/\)/,contains:[a.CSS_NUMBER_MODE] -},{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{ -begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" -},{begin:":",end:";", -contains:[c,n.HEXCOLOR,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.IMPORTANT] -},{begin:"@(page|font-face)",lexemes:d,keywords:"@page @font-face"},{begin:"@", -end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, -keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:d, -className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" -},c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.HEXCOLOR,a.CSS_NUMBER_MODE]}]}} -})());hljs.registerLanguage("http",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n -})).join("")}return n=>{const a="HTTP/(2|1\\.[01])",s={className:"attribute", -begin:e("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{ -className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]} -},t=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{ -name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})", -end:/$/,contains:[{className:"meta",begin:a},{className:"number", -begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:t}},{ -begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string", -begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{ -className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:t} -},n.inherit(s,{relevance:0})]}}})());hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ -name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})());hljs.registerLanguage("powershell",(()=>{"use strict";return e=>{const n={ -$pattern:/-?[A-z\.\-]+\b/, -keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter", -built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write" -},s={begin:"`[\\s\\S]",relevance:0},i={className:"variable",variants:[{ -begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}] -},a={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}], -contains:[s,i,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},t={ -className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}] -},r=e.inherit(e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/, -end:/#>/}],contains:[{className:"doctag",variants:[{ -begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/ -},{ -begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/ -}]}]}),c={className:"class",beginKeywords:"class enum",end:/\s*[{]/, -excludeEnd:!0,relevance:0,contains:[e.TITLE_MODE]},l={className:"function", -begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0, -contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title", -begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/, -className:"params",relevance:0,contains:[i]}]},o={begin:/using\s/,end:/$/, -returnBegin:!0,contains:[a,t,{className:"keyword", -begin:/(using|assembly|command|module|namespace|type)/}]},p={ -className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0, -relevance:0,contains:[{className:"keyword", -begin:"(".concat(n.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0, -relevance:0},e.inherit(e.TITLE_MODE,{endsParent:!0})] -},g=[p,r,s,e.NUMBER_MODE,a,t,{className:"built_in",variants:[{ -begin:"(Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where)+(-)[\\w\\d]+" -}]},i,{className:"literal",begin:/\$(null|true|false)\b/},{ -className:"selector-tag",begin:/@\B/,relevance:0}],m={begin:/\[/,end:/\]/, -excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",g,{ -begin:"(string|char|byte|int|long|bool|decimal|single|double|DateTime|xml|array|hashtable|void)", -className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/, -relevance:0})};return p.contains.unshift(m),{name:"PowerShell", -aliases:["ps","ps1"],case_insensitive:!0,keywords:n,contains:g.concat(c,l,o,{ -variants:[{className:"operator", -begin:"(-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor)\\b" -},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},m)}}})());hljs.registerLanguage("sql",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function r(...r){ -return r.map((r=>e(r))).join("")}function t(...r){ -return"("+r.map((r=>e(r))).join("|")+")"}return e=>{ -const n=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],o=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],c=s,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update ","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!s.includes(e))),u={ -begin:r(/\b/,t(...c),/\s*\(/),keywords:{built_in:c}};return{name:"SQL", -case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/, -keyword:((e,{exceptions:r,when:t}={})=>{const n=t -;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:n(e)?e+"|0":e)) -})(l,{when:e=>e.length<3}),literal:a,type:i, -built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] -},contains:[{begin:t(...o),keywords:{$pattern:/[\w\.]+/,keyword:l.concat(o), -literal:a,type:i}},{className:"type", -begin:t("double precision","large object","with timezone","without timezone") -},u,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ -begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ -begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator", -begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}})());hljs.registerLanguage("javascript",(()=>{"use strict" -;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;function r(e){return t("(?=",e,")")}function t(...e){return e.map((e=>{ -return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ -const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, -isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,s=e.input[a] -;"<"!==s?">"===s&&(((e,{after:n})=>{const a="", -returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ -begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 -},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] -},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ -variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, -end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, -contains:["self"]}]}],relevance:0},{className:"function", -beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, -contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),p],illegal:/%/},{ -beginKeywords:"while if switch catch for"},{className:"function", -begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,contains:[p,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ -begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", -beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ -beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, -end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",p] -},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", -contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},p]},{begin:/\$[(.]/}] -}}})());hljs.registerLanguage("java",(()=>{"use strict" -;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ -className:"number",variants:[{ -begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ -begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};return e=>{ -var n="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s={ -className:"meta",begin:"@[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", -contains:[{begin:/\(/,end:/\)/,contains:["self"]}]};const r=a;return{ -name:"Java",aliases:["jsp"],keywords:n,illegal:/<\/|#/, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, -relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ -begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ -className:"class",beginKeywords:"class interface enum",end:/[{;=]/, -excludeEnd:!0,relevance:1,keywords:"class interface enum",illegal:/[:"\[\]]/, -contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"new throw return else",relevance:0},{className:"class", -begin:"record\\s+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,excludeEnd:!0, -end:/[{;=]/,keywords:n,contains:[{beginKeywords:"record"},{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, -keywords:n,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"function", -begin:"([\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(<[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(\\s*,\\s*[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(", -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, -keywords:n,relevance:0, -contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,r,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},r,s]}}})());hljs.registerLanguage("php-template",(()=>{"use strict";return n=>({ -name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/, -subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"', -end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{ -illegal:null,className:null,contains:null,skip:!0 -}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null, -skip:!0})]}]})})());hljs.registerLanguage("python-repl",(()=>{"use strict";return s=>({ -aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$", -subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{ -begin:/^\.\.\.(?=[ ]|$)/}]}]})})());hljs.registerLanguage("swift",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} -function a(...n){return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"} -const i=e=>a(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),u=["init","self"].map(i),c=["Any","Self"],r=["associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],o=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],d=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],p=t(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),F=t(p,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=a(p,F,"*"),h=t(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=t(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=a(h,f,"*"),y=a(/[A-Z]/,f,"*"),g=["autoclosure",a(/convention\(/,t("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",a(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","testable","UIApplicationMain","unknown","usableFromInline"],E=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] -;return e=>{const p={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ -contains:["self"]}),v=[e.C_LINE_COMMENT_MODE,h],N={className:"keyword", -begin:a(/\./,n(t(...s,...u))),end:t(...s,...u),excludeBegin:!0},A={ -match:a(/\./,t(...r)),relevance:0 -},C=r.filter((e=>"string"==typeof e)).concat(["_|0"]),_={variants:[{ -className:"keyword", -match:t(...r.filter((e=>"string"!=typeof e)).concat(c).map(i),...u)}]},D={ -$pattern:t(/\b\w+/,/#\w+/),keyword:C.concat(m),literal:o},B=[N,A,_],k=[{ -match:a(/\./,t(...d)),relevance:0},{className:"built_in", -match:a(/\b/,t(...d),/(?=\()/)}],M={match:/->/,relevance:0},S=[M,{ -className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${F})+`}] -}],x="([0-9a-fA-F]_*)+",I={className:"number",relevance:0,variants:[{ -match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ -match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ -match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},O=(e="")=>({ -className:"subst",variants:[{match:a(/\\/,e,/[0\\tnr"']/)},{ -match:a(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),T=(e="")=>({className:"subst", -match:a(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),L=(e="")=>({className:"subst", -label:"interpol",begin:a(/\\/,e,/\(/),end:/\)/}),P=(e="")=>({begin:a(e,/"""/), -end:a(/"""/,e),contains:[O(e),T(e),L(e)]}),$=(e="")=>({begin:a(e,/"/), -end:a(/"/,e),contains:[O(e),L(e)]}),K={className:"string", -variants:[P(),P("#"),P("##"),P("###"),$(),$("#"),$("##"),$("###")]},j={ -match:a(/`/,w,/`/)},z=[j,{className:"variable",match:/\$\d+/},{ -className:"variable",match:`\\$${f}+`}],q=[{match:/(@|#)available/, -className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:E, -contains:[...S,I,K]}]}},{className:"keyword",match:a(/@/,t(...g))},{ -className:"meta",match:a(/@/,w)}],U={match:n(/\b[A-Z]/),relevance:0,contains:[{ -className:"type", -match:a(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") -},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{ -match:/\.\.\./,relevance:0},{match:a(/\s+&\s+/,n(y)),relevance:0}]},Z={ -begin://,keywords:D,contains:[...v,...B,...q,M,U]};U.contains.push(Z) -;const G={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:["self",{ -match:a(w,/\s*:/),keywords:"_|0",relevance:0 -},...v,...B,...k,...S,I,K,...z,...q,U]},H={beginKeywords:"func",contains:[{ -className:"title",match:t(j.match,w,b),endsParent:!0,relevance:0},p]},R={ -begin://,contains:[...v,U]},V={begin:/\(/,end:/\)/,keywords:D, -contains:[{begin:t(n(a(w,/\s*:/)),n(a(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0, -contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}] -},...v,...B,...S,I,K,...q,U,G],endsParent:!0,illegal:/["']/},W={ -className:"function",match:n(/\bfunc\b/),contains:[H,R,V,p],illegal:[/\[/,/%/] -},X={className:"function",match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{ -keyword:"subscript init init? init!",$pattern:/\w+[?!]?/},contains:[R,V,p], -illegal:/\[|%/},J={beginKeywords:"operator",end:e.MATCH_NOTHING_RE,contains:[{ -className:"title",match:b,endsParent:!0,relevance:0}]},Q={ -beginKeywords:"precedencegroup",end:e.MATCH_NOTHING_RE,contains:[{ -className:"title",match:y,relevance:0},{begin:/{/,end:/}/,relevance:0, -endsParent:!0,keywords:[...l,...o],contains:[U]}]};for(const e of K.variants){ -const n=e.contains.find((e=>"interpol"===e.label));n.keywords=D -;const a=[...B,...k,...S,I,K,...z];n.contains=[...a,{begin:/\(/,end:/\)/, -contains:["self",...a]}]}return{name:"Swift",keywords:D,contains:[...v,W,X,{ -className:"class",beginKeywords:"struct protocol class extension enum", -end:"\\{",excludeEnd:!0,keywords:D,contains:[e.inherit(e.TITLE_MODE,{ -begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...B]},J,Q,{ -beginKeywords:"import",end:/$/,contains:[...v],relevance:0 -},...B,...k,...S,I,K,...z,...q,U,G]}}})());hljs.registerLanguage("clojure",(()=>{"use strict";return e=>{ -const t="a-zA-Z_\\-!.?+*=<>&#'",n="["+t+"]["+t+"0-9/;:]*",r="def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord",a={ -$pattern:n, -"builtin-name":r+" cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy first rest cons cast coll last butlast sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize" -},s={begin:n,relevance:0},o={className:"number",begin:"[-+]?\\d+(\\.\\d+)?", -relevance:0},i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null -}),c=e.COMMENT(";","$",{relevance:0}),d={className:"literal", -begin:/\b(true|false|nil)\b/},l={begin:"[\\[\\{]",end:"[\\]\\}]"},m={ -className:"comment",begin:"\\^"+n},p=e.COMMENT("\\^\\{","\\}"),u={ -className:"symbol",begin:"[:]{1,2}"+n},f={begin:"\\(",end:"\\)"},h={ -endsWithParent:!0,relevance:0},y={keywords:a,className:"name",begin:n, -relevance:0,starts:h},g=[f,i,m,p,c,u,l,o,d,s],b={beginKeywords:r,lexemes:n, -end:'(\\[|#|\\d|"|:|\\{|\\)|\\(|$)',contains:[{className:"title",begin:n, -relevance:0,excludeEnd:!0,endsParent:!0}].concat(g)} -;return f.contains=[e.COMMENT("comment",""),b,y,h], -h.contains=g,l.contains=g,p.contains=[l],{name:"Clojure",aliases:["clj"], -illegal:/\S/,contains:[f,i,m,p,c,u,l,o,d]}}})());hljs.registerLanguage("haskell",(()=>{"use strict";return e=>{const n={ -variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},i={ -className:"meta",begin:/\{-#/,end:/#-\}/},a={className:"meta",begin:"^#",end:"$" -},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(", -end:"\\)",illegal:'"',contains:[i,a,{className:"type", -begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{ -begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"], -keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec", -contains:[{beginKeywords:"module",end:"where",keywords:"module where", -contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$", -keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{ -className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where", -keywords:"class family instance where",contains:[s,l,n]},{className:"class", -begin:"\\b(data|(new)?type)\\b",end:"$", -keywords:"data family type newtype deriving",contains:[i,s,l,{begin:/\{/, -end:/\}/,contains:l.contains},n]},{beginKeywords:"default",end:"$", -contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$", -contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$", -keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe", -contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta", -begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$" -},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{ -begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}})());hljs.registerLanguage("cmake",(()=>{"use strict";return e=>({name:"CMake", -aliases:["cmake.in"],case_insensitive:!0,keywords:{ -keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined" -},contains:[{className:"variable",begin:/\$\{/,end:/\}/ -},e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE]})})());hljs.registerLanguage("objectivec",(()=>{"use strict";return e=>{ -const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n, -keyword:"@interface @class @protocol @implementation"};return{ -name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], -keywords:{$pattern:n, -keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN", -literal:"false true FALSE TRUE nil YES NO NULL", -built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once" -},illegal:"/,end:/$/, -illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:/(\{|$)/, -excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{ -begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}})());hljs.registerLanguage("coffeescript",(()=>{"use strict" -;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;return r=>{const t={ -keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"], -e=>!i.includes(e))),literal:n.concat(["yes","no","on","off"]), -built_in:a.concat(["npm","print"])};var i;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={ -className:"subst",begin:/#\{/,end:/\}/,keywords:t -},c=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?", -relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/, -contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE] -},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/, -contains:[r.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///", -end:"///",contains:[o,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)", -relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s -},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{ -begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c -;const l=r.inherit(r.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={ -className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/, -end:/\)/,keywords:t,contains:["self"].concat(c)}]};return{name:"CoffeeScript", -aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/, -contains:c.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{ -className:"function",begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0, -contains:[l,g]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function", -begin:d,end:"[-=]>",returnBegin:!0,contains:[g]}]},{className:"class", -beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{ -beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[l]},l] -},{begin:s+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}})()); \ No newline at end of file +var hljs = function () { + "use strict"; + + function e(t) { + return t instanceof Map ? t.clear = t.delete = t.set = () => { + throw Error("map is read-only") + } : t instanceof Set && (t.add = t.clear = t.delete = () => { + throw Error("set is read-only") + }), Object.freeze(t), Object.getOwnPropertyNames(t).forEach((n => { + var i = t[n] + ;"object" != typeof i || Object.isFrozen(i) || e(i) + })), t + } + + var t = e, n = e; + t.default = n + ; + + class i { + constructor(e) { + void 0 === e.data && (e.data = {}), this.data = e.data, this.isMatchIgnored = !1 + } + + ignoreMatch() { + this.isMatchIgnored = !0 + } + } + + function s(e) { + return e.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'") + } + + function a(e, ...t) { + const n = Object.create(null); + for (const t in e) n[t] = e[t] + ; + return t.forEach((e => { + for (const t in e) n[t] = e[t] + })), n + } + + const r = e => !!e.kind + ; + + class l { + constructor(e, t) { + this.buffer = "", this.classPrefix = t.classPrefix, e.walk(this) + } + + addText(e) { + this.buffer += s(e) + } + + openNode(e) { + if (!r(e)) return; + let t = e.kind + ;e.sublanguage || (t = `${this.classPrefix}${t}`), this.span(t) + } + + closeNode(e) { + r(e) && (this.buffer += "
") + } + + value() { + return this.buffer + } + + span(e) { + this.buffer += `` + } + } + + class o { + constructor() { + this.rootNode = { + children: [] + }, this.stack = [this.rootNode] + } + + get top() { + return this.stack[this.stack.length - 1] + } + + get root() { + return this.rootNode + } + + static _walk(e, t) { + return "string" == typeof t ? e.addText(t) : t.children && (e.openNode(t), + t.children.forEach((t => this._walk(e, t))), e.closeNode(t)), e + } + + static _collapse(e) { + "string" != typeof e && e.children && (e.children.every((e => "string" == typeof e)) ? e.children = [e.children.join("")] : e.children.forEach((e => { + o._collapse(e) + }))) + } + + add(e) { + this.top.children.push(e) + } + + openNode(e) { + const t = {kind: e, children: []} + ;this.add(t), this.stack.push(t) + } + + closeNode() { + if (this.stack.length > 1) return this.stack.pop() + } + + closeAllNodes() { + for (; this.closeNode();) ; + } + + toJSON() { + return JSON.stringify(this.rootNode, null, 4) + } + + walk(e) { + return this.constructor._walk(e, this.rootNode) + } + } + + class c extends o { + constructor(e) { + super(), this.options = e + } + + addKeyword(e, t) { + "" !== e && (this.openNode(t), this.addText(e), this.closeNode()) + } + + addText(e) { + "" !== e && this.add(e) + } + + addSublanguage(e, t) { + const n = e.root + ;n.kind = t, n.sublanguage = !0, this.add(n) + } + + toHTML() { + return new l(this, this.options).value() + } + + finalize() { + return !0 + } + } + + function g(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + const u = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./, h = "[a-zA-Z]\\w*", d = "[a-zA-Z_]\\w*", + f = "\\b\\d+(\\.\\d+)?", p = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", + m = "\\b(0b[01]+)", b = { + begin: "\\\\[\\s\\S]", relevance: 0 + }, E = { + className: "string", begin: "'", end: "'", + illegal: "\\n", contains: [b] + }, x = { + className: "string", begin: '"', end: '"', + illegal: "\\n", contains: [b] + }, v = { + begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ + }, w = (e, t, n = {}) => { + const i = a({className: "comment", begin: e, end: t, contains: []}, n) + ; + return i.contains.push(v), i.contains.push({ + className: "doctag", + begin: "(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):", relevance: 0 + }), i + }, y = w("//", "$"), N = w("/\\*", "\\*/"), R = w("#", "$"); + var _ = Object.freeze({ + __proto__: null, MATCH_NOTHING_RE: /\b\B/, IDENT_RE: h, UNDERSCORE_IDENT_RE: d, + NUMBER_RE: f, C_NUMBER_RE: p, BINARY_NUMBER_RE: m, + RE_STARTERS_RE: "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", + SHEBANG: (e = {}) => { + const t = /^#![ ]*\// + ; + return e.binary && (e.begin = ((...e) => e.map((e => g(e))).join(""))(t, /.*\b/, e.binary, /\b.*/)), + a({ + className: "meta", begin: t, end: /$/, relevance: 0, "on:begin": (e, t) => { + 0 !== e.index && t.ignoreMatch() + } + }, e) + }, BACKSLASH_ESCAPE: b, APOS_STRING_MODE: E, + QUOTE_STRING_MODE: x, PHRASAL_WORDS_MODE: v, COMMENT: w, C_LINE_COMMENT_MODE: y, + C_BLOCK_COMMENT_MODE: N, HASH_COMMENT_MODE: R, NUMBER_MODE: { + className: "number", + begin: f, relevance: 0 + }, C_NUMBER_MODE: {className: "number", begin: p, relevance: 0}, + BINARY_NUMBER_MODE: {className: "number", begin: m, relevance: 0}, CSS_NUMBER_MODE: { + className: "number", + begin: f + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", + relevance: 0 + }, REGEXP_MODE: { + begin: /(?=\/[^/\n]*\/)/, contains: [{ + className: "regexp", + begin: /\//, end: /\/[gimuy]*/, illegal: /\n/, contains: [b, { + begin: /\[/, end: /\]/, + relevance: 0, contains: [b] + }] + }] + }, TITLE_MODE: { + className: "title", begin: h, relevance: 0 + }, UNDERSCORE_TITLE_MODE: {className: "title", begin: d, relevance: 0}, METHOD_GUARD: { + begin: "\\.\\s*[a-zA-Z_]\\w*", relevance: 0 + }, END_SAME_AS_BEGIN: e => Object.assign(e, { + "on:begin": (e, t) => { + t.data._beginMatch = e[1] + }, "on:end": (e, t) => { + t.data._beginMatch !== e[1] && t.ignoreMatch() + } + }) + }); + + function k(e, t) { + "." === e.input[e.index - 1] && t.ignoreMatch() + } + + function M(e, t) { + t && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", + e.__beforeBegin = k, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, + void 0 === e.relevance && (e.relevance = 0)) + } + + function O(e, t) { + Array.isArray(e.illegal) && (e.illegal = ((...e) => "(" + e.map((e => g(e))).join("|") + ")")(...e.illegal)) + } + + function A(e, t) { + if (e.match) { + if (e.begin || e.end) throw Error("begin & end are not supported with match") + ; + e.begin = e.match, delete e.match + } + } + + function L(e, t) { + void 0 === e.relevance && (e.relevance = 1) + } + + const I = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"] + ; + + function j(e, t, n = "keyword") { + const i = {} + ; + return "string" == typeof e ? s(n, e.split(" ")) : Array.isArray(e) ? s(n, e) : Object.keys(e).forEach((n => { + Object.assign(i, j(e[n], t, n)) + })), i; + + function s(e, n) { + t && (n = n.map((e => e.toLowerCase()))), n.forEach((t => { + const n = t.split("|") + ;i[n[0]] = [e, B(n[0], n[1])] + })) + } + } + + function B(e, t) { + return t ? Number(t) : (e => I.includes(e.toLowerCase()))(e) ? 0 : 1 + } + + function T(e, {plugins: t}) { + function n(t, n) { + return RegExp(g(t), "m" + (e.case_insensitive ? "i" : "") + (n ? "g" : "")) + } + + class i { + constructor() { + this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0 + } + + addRule(e, t) { + t.position = this.position++, this.matchIndexes[this.matchAt] = t, this.regexes.push([t, e]), + this.matchAt += (e => RegExp(e.toString() + "|").exec("").length - 1)(e) + 1 + } + + compile() { + 0 === this.regexes.length && (this.exec = () => null) + ;const e = this.regexes.map((e => e[1])); + this.matcherRe = n(((e, t = "|") => { + let n = 0 + ; + return e.map((e => { + n += 1; + const t = n; + let i = g(e), s = ""; + for (; i.length > 0;) { + const e = u.exec(i); + if (!e) { + s += i; + break + } + s += i.substring(0, e.index), i = i.substring(e.index + e[0].length), + "\\" === e[0][0] && e[1] ? s += "\\" + (Number(e[1]) + t) : (s += e[0], "(" === e[0] && n++) + } + return s + })).map((e => `(${e})`)).join(t) + })(e), !0), this.lastIndex = 0 + } + + exec(e) { + this.matcherRe.lastIndex = this.lastIndex; + const t = this.matcherRe.exec(e) + ; + if (!t) return null + ; + const n = t.findIndex(((e, t) => t > 0 && void 0 !== e)), i = this.matchIndexes[n] + ; + return t.splice(0, n), Object.assign(t, i) + } + } + + class s { + constructor() { + this.rules = [], this.multiRegexes = [], + this.count = 0, this.lastIndex = 0, this.regexIndex = 0 + } + + getMatcher(e) { + if (this.multiRegexes[e]) return this.multiRegexes[e]; + const t = new i + ; + return this.rules.slice(e).forEach((([e, n]) => t.addRule(e, n))), + t.compile(), this.multiRegexes[e] = t, t + } + + resumingScanAtSamePosition() { + return 0 !== this.regexIndex + } + + considerAll() { + this.regexIndex = 0 + } + + addRule(e, t) { + this.rules.push([e, t]), "begin" === t.type && this.count++ + } + + exec(e) { + const t = this.getMatcher(this.regexIndex); + t.lastIndex = this.lastIndex + ;let n = t.exec(e) + ; + if (this.resumingScanAtSamePosition()) if (n && n.index === this.lastIndex) ; else { + const t = this.getMatcher(0); + t.lastIndex = this.lastIndex + 1, n = t.exec(e) + } + return n && (this.regexIndex += n.position + 1, + this.regexIndex === this.count && this.considerAll()), n + } + } + + if (e.compilerExtensions || (e.compilerExtensions = []), + e.contains && e.contains.includes("self")) throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") + ; + return e.classNameAliases = a(e.classNameAliases || {}), function t(i, r) { + const l = i + ; + if (i.isCompiled) return l + ; + [A].forEach((e => e(i, r))), e.compilerExtensions.forEach((e => e(i, r))), + i.__beforeBegin = null, [M, O, L].forEach((e => e(i, r))), i.isCompiled = !0; + let o = null + ; + if ("object" == typeof i.keywords && (o = i.keywords.$pattern, + delete i.keywords.$pattern), + i.keywords && (i.keywords = j(i.keywords, e.case_insensitive)), + i.lexemes && o) throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ") + ; + return o = o || i.lexemes || /\w+/, + l.keywordPatternRe = n(o, !0), r && (i.begin || (i.begin = /\B|\b/), + l.beginRe = n(i.begin), i.endSameAsBegin && (i.end = i.begin), + i.end || i.endsWithParent || (i.end = /\B|\b/), + i.end && (l.endRe = n(i.end)), l.terminatorEnd = g(i.end) || "", + i.endsWithParent && r.terminatorEnd && (l.terminatorEnd += (i.end ? "|" : "") + r.terminatorEnd)), + i.illegal && (l.illegalRe = n(i.illegal)), + i.contains || (i.contains = []), i.contains = [].concat(...i.contains.map((e => (e => (e.variants && !e.cachedVariants && (e.cachedVariants = e.variants.map((t => a(e, { + variants: null + }, t)))), e.cachedVariants ? e.cachedVariants : S(e) ? a(e, { + starts: e.starts ? a(e.starts) : null + }) : Object.isFrozen(e) ? a(e) : e))("self" === e ? i : e)))), i.contains.forEach((e => { + t(e, l) + })), i.starts && t(i.starts, r), l.matcher = (e => { + const t = new s + ; + return e.contains.forEach((e => t.addRule(e.begin, { + rule: e, type: "begin" + }))), e.terminatorEnd && t.addRule(e.terminatorEnd, { + type: "end" + }), e.illegal && t.addRule(e.illegal, {type: "illegal"}), t + })(l), l + }(e) + } + + function S(e) { + return !!e && (e.endsWithParent || S(e.starts)) + } + + function P(e) { + const t = { + props: ["language", "code", "autodetect"], data: () => ({ + detectedLanguage: "", + unknownLanguage: !1 + }), computed: { + className() { + return this.unknownLanguage ? "" : "hljs " + this.detectedLanguage + }, highlighted() { + if (!this.autoDetect && !e.getLanguage(this.language)) return console.warn(`The language "${this.language}" you specified could not be found.`), + this.unknownLanguage = !0, s(this.code); + let t = {} + ; + return this.autoDetect ? (t = e.highlightAuto(this.code), + this.detectedLanguage = t.language) : (t = e.highlight(this.language, this.code, this.ignoreIllegals), + this.detectedLanguage = this.language), t.value + }, autoDetect() { + return !(this.language && (e = this.autodetect, !e && "" !== e)); + var e + }, + ignoreIllegals: () => !0 + }, render(e) { + return e("pre", {}, [e("code", { + class: this.className, domProps: {innerHTML: this.highlighted} + })]) + } + }; + return { + Component: t, VuePlugin: { + install(e) { + e.component("highlightjs", t) + } + } + } + } + + const D = { + "after:highlightElement": ({el: e, result: t, text: n}) => { + const i = H(e) + ; + if (!i.length) return; + const a = document.createElement("div") + ;a.innerHTML = t.value, t.value = ((e, t, n) => { + let i = 0, a = ""; + const r = []; + + function l() { + return e.length && t.length ? e[0].offset !== t[0].offset ? e[0].offset < t[0].offset ? e : t : "start" === t[0].event ? e : t : e.length ? e : t + } + + function o(e) { + a += "<" + C(e) + [].map.call(e.attributes, (function (e) { + return " " + e.nodeName + '="' + s(e.value) + '"' + })).join("") + ">" + } + + function c(e) { + a += "" + } + + function g(e) { + ("start" === e.event ? o : c)(e.node) + } + + for (; e.length || t.length;) { + let t = l() + ; + if (a += s(n.substring(i, t[0].offset)), i = t[0].offset, t === e) { + r.reverse().forEach(c) + ; + do { + g(t.splice(0, 1)[0]), t = l() + } while (t === e && t.length && t[0].offset === i) + ; + r.reverse().forEach(o) + } else "start" === t[0].event ? r.push(t[0].node) : r.pop(), g(t.splice(0, 1)[0]) + } + return a + s(n.substr(i)) + })(i, H(a), n) + } + }; + + function C(e) { + return e.nodeName.toLowerCase() + } + + function H(e) { + const t = []; + return function e(n, i) { + for (let s = n.firstChild; s; s = s.nextSibling) 3 === s.nodeType ? i += s.nodeValue.length : 1 === s.nodeType && (t.push({ + event: "start", offset: i, node: s + }), i = e(s, i), C(s).match(/br|hr|img|input/) || t.push({ + event: "stop", offset: i, node: s + })); + return i + }(e, 0), t + } + + const $ = {}, U = e => { + console.error(e) + }, z = (e, ...t) => { + console.log("WARN: " + e, ...t) + }, K = (e, t) => { + $[`${e}/${t}`] || (console.log(`Deprecated as of ${e}. ${t}`), $[`${e}/${t}`] = !0) + }, G = s, V = a, W = Symbol("nomatch"); + return (e => { + const n = Object.create(null), s = Object.create(null), a = []; + let r = !0 + ;const l = /(^(<[^>]+>|\t|)+|\n)/gm, + o = "Could not find the language '{}', did you forget to load/include a language module?", g = { + disableAutodetect: !0, name: "Plain text", contains: [] + }; + let u = { + noHighlightRe: /^(no-?highlight)$/i, + languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, classPrefix: "hljs-", + tabReplace: null, useBR: !1, languages: null, __emitter: c + }; + + function h(e) { + return u.noHighlightRe.test(e) + } + + function d(e, t, n, i) { + let s = "", a = "" + ;"object" == typeof t ? (s = e, + n = t.ignoreIllegals, a = t.language, i = void 0) : (K("10.7.0", "highlight(lang, code, ...args) has been deprecated."), + K("10.7.0", "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), + a = e, s = t); + const r = {code: s, language: a}; + M("before:highlight", r) + ;const l = r.result ? r.result : f(r.language, r.code, n, i) + ; + return l.code = r.code, M("after:highlight", l), l + } + + function f(e, t, s, l) { + function c(e, t) { + const n = v.case_insensitive ? t[0].toLowerCase() : t[0] + ; + return Object.prototype.hasOwnProperty.call(e.keywords, n) && e.keywords[n] + } + + function g() { + null != R.subLanguage ? (() => { + if ("" === M) return; + let e = null + ; + if ("string" == typeof R.subLanguage) { + if (!n[R.subLanguage]) return void k.addText(M) + ; + e = f(R.subLanguage, M, !0, _[R.subLanguage]), _[R.subLanguage] = e.top + } else e = p(M, R.subLanguage.length ? R.subLanguage : null) + ; + R.relevance > 0 && (O += e.relevance), k.addSublanguage(e.emitter, e.language) + })() : (() => { + if (!R.keywords) return void k.addText(M); + let e = 0 + ;R.keywordPatternRe.lastIndex = 0; + let t = R.keywordPatternRe.exec(M), n = ""; + for (; t;) { + n += M.substring(e, t.index); + const i = c(R, t); + if (i) { + const [e, s] = i + ; + if (k.addText(n), n = "", O += s, e.startsWith("_")) n += t[0]; else { + const n = v.classNameAliases[e] || e; + k.addKeyword(t[0], n) + } + } else n += t[0] + ; + e = R.keywordPatternRe.lastIndex, t = R.keywordPatternRe.exec(M) + } + n += M.substr(e), k.addText(n) + })(), M = "" + } + + function h(e) { + return e.className && k.openNode(v.classNameAliases[e.className] || e.className), + R = Object.create(e, {parent: {value: R}}), R + } + + function d(e, t, n) { + let s = ((e, t) => { + const n = e && e.exec(t); + return n && 0 === n.index + })(e.endRe, n); + if (s) { + if (e["on:end"]) { + const n = new i(e); + e["on:end"](t, n), n.isMatchIgnored && (s = !1) + } + if (s) { + for (; e.endsParent && e.parent;) e = e.parent; + return e + } + } + if (e.endsWithParent) return d(e.parent, t, n) + } + + function m(e) { + return 0 === R.matcher.regexIndex ? (M += e[0], 1) : (I = !0, 0) + } + + function b(e) { + const n = e[0], i = t.substr(e.index), s = d(R, e, i); + if (!s) return W; + const a = R + ;a.skip ? M += n : (a.returnEnd || a.excludeEnd || (M += n), g(), a.excludeEnd && (M = n)); + do { + R.className && k.closeNode(), R.skip || R.subLanguage || (O += R.relevance), R = R.parent + } while (R !== s.parent) + ; + return s.starts && (s.endSameAsBegin && (s.starts.endRe = s.endRe), + h(s.starts)), a.returnEnd ? 0 : n.length + } + + let E = {}; + + function x(n, a) { + const l = a && a[0] + ; + if (M += n, null == l) return g(), 0 + ; + if ("begin" === E.type && "end" === a.type && E.index === a.index && "" === l) { + if (M += t.slice(a.index, a.index + 1), !r) { + const t = Error("0 width match regex") + ; + throw t.languageName = e, t.badRule = E.rule, t + } + return 1 + } + if (E = a, "begin" === a.type) return function (e) { + const t = e[0], n = e.rule, s = new i(n), a = [n.__beforeBegin, n["on:begin"]] + ; + for (const n of a) if (n && (n(e, s), s.isMatchIgnored)) return m(t) + ; + return n && n.endSameAsBegin && (n.endRe = RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "m")), + n.skip ? M += t : (n.excludeBegin && (M += t), + g(), n.returnBegin || n.excludeBegin || (M = t)), h(n), n.returnBegin ? 0 : t.length + }(a) + ; + if ("illegal" === a.type && !s) { + const e = Error('Illegal lexeme "' + l + '" for mode "' + (R.className || "") + '"') + ; + throw e.mode = R, e + } + if ("end" === a.type) { + const e = b(a); + if (e !== W) return e + } + if ("illegal" === a.type && "" === l) return 1 + ; + if (L > 1e5 && L > 3 * a.index) throw Error("potential infinite loop, way more iterations than matches") + ; + return M += l, l.length + } + + const v = N(e) + ; + if (!v) throw U(o.replace("{}", e)), Error('Unknown language: "' + e + '"') + ; + const w = T(v, {plugins: a}); + let y = "", R = l || w; + const _ = {}, k = new u.__emitter(u); + (() => { + const e = []; + for (let t = R; t !== v; t = t.parent) t.className && e.unshift(t.className) + ; + e.forEach((e => k.openNode(e))) + })(); + let M = "", O = 0, A = 0, L = 0, I = !1; + try { + for (R.matcher.considerAll(); ;) { + L++, I ? I = !1 : R.matcher.considerAll(), R.matcher.lastIndex = A + ;const e = R.matcher.exec(t); + if (!e) break; + const n = x(t.substring(A, e.index), e) + ;A = e.index + n + } + return x(t.substr(A)), k.closeAllNodes(), k.finalize(), y = k.toHTML(), { + relevance: Math.floor(O), value: y, language: e, illegal: !1, emitter: k, top: R + } + } catch (n) { + if (n.message && n.message.includes("Illegal")) return { + illegal: !0, illegalBy: { + msg: n.message, context: t.slice(A - 100, A + 100), mode: n.mode + }, sofar: y, relevance: 0, + value: G(t), emitter: k + }; + if (r) return { + illegal: !1, relevance: 0, value: G(t), emitter: k, + language: e, top: R, errorRaised: n + }; + throw n + } + } + + function p(e, t) { + t = t || u.languages || Object.keys(n); + const i = (e => { + const t = { + relevance: 0, + emitter: new u.__emitter(u), value: G(e), illegal: !1, top: g + } + ; + return t.emitter.addText(e), t + })(e), s = t.filter(N).filter(k).map((t => f(t, e, !1))) + ;s.unshift(i); + const a = s.sort(((e, t) => { + if (e.relevance !== t.relevance) return t.relevance - e.relevance + ; + if (e.language && t.language) { + if (N(e.language).supersetOf === t.language) return 1 + ; + if (N(t.language).supersetOf === e.language) return -1 + } + return 0 + })), [r, l] = a, o = r + ; + return o.second_best = l, o + } + + const m = { + "before:highlightElement": ({el: e}) => { + u.useBR && (e.innerHTML = e.innerHTML.replace(/\n/g, "").replace(//g, "\n")) + }, "after:highlightElement": ({result: e}) => { + u.useBR && (e.value = e.value.replace(/\n/g, "
")) + } + }, b = /^(<[^>]+>|\t)+/gm, E = { + "after:highlightElement": ({result: e}) => { + u.tabReplace && (e.value = e.value.replace(b, (e => e.replace(/\t/g, u.tabReplace)))) + } + } + ; + + function x(e) { + let t = null; + const n = (e => { + let t = e.className + " " + ;t += e.parentNode ? e.parentNode.className : ""; + const n = u.languageDetectRe.exec(t) + ; + if (n) { + const t = N(n[1]) + ; + return t || (z(o.replace("{}", n[1])), z("Falling back to no-highlight mode for this block.", e)), + t ? n[1] : "no-highlight" + } + return t.split(/\s+/).find((e => h(e) || N(e))) + })(e) + ; + if (h(n)) return; + M("before:highlightElement", {el: e, language: n}), t = e + ;const i = t.textContent, a = n ? d(i, {language: n, ignoreIllegals: !0}) : p(i) + ;M("after:highlightElement", { + el: e, result: a, text: i + }), e.innerHTML = a.value, ((e, t, n) => { + const i = t ? s[t] : n + ;e.classList.add("hljs"), i && e.classList.add(i) + })(e, n, a.language), e.result = { + language: a.language, re: a.relevance, relavance: a.relevance + }, a.second_best && (e.second_best = { + language: a.second_best.language, + re: a.second_best.relevance, relavance: a.second_best.relevance + }) + } + + const v = () => { + v.called || (v.called = !0, + K("10.6.0", "initHighlighting() is deprecated. Use highlightAll() instead."), + document.querySelectorAll("pre code").forEach(x)) + }; + let w = !1; + + function y() { + "loading" !== document.readyState ? document.querySelectorAll("pre code").forEach(x) : w = !0 + } + + function N(e) { + return e = (e || "").toLowerCase(), n[e] || n[s[e]] + } + + function R(e, {languageName: t}) { + "string" == typeof e && (e = [e]), e.forEach((e => { + s[e.toLowerCase()] = t + })) + } + + function k(e) { + const t = N(e) + ; + return t && !t.disableAutodetect + } + + function M(e, t) { + const n = e; + a.forEach((e => { + e[n] && e[n](t) + })) + } + + "undefined" != typeof window && window.addEventListener && window.addEventListener("DOMContentLoaded", (() => { + w && y() + }), !1), Object.assign(e, { + highlight: d, highlightAuto: p, highlightAll: y, + fixMarkup: e => { + return K("10.2.0", "fixMarkup will be removed entirely in v11.0"), K("10.2.0", "Please see https://github.com/highlightjs/highlight.js/issues/2534"), + t = e, + u.tabReplace || u.useBR ? t.replace(l, (e => "\n" === e ? u.useBR ? "
" : e : u.tabReplace ? e.replace(/\t/g, u.tabReplace) : e)) : t + ; + var t + }, highlightElement: x, + highlightBlock: e => (K("10.7.0", "highlightBlock will be removed entirely in v12.0"), + K("10.7.0", "Please use highlightElement now."), x(e)), configure: e => { + e.useBR && (K("10.3.0", "'useBR' will be removed entirely in v11.0"), + K("10.3.0", "Please see https://github.com/highlightjs/highlight.js/issues/2559")), + u = V(u, e) + }, initHighlighting: v, initHighlightingOnLoad: () => { + K("10.6.0", "initHighlightingOnLoad() is deprecated. Use highlightAll() instead."), + w = !0 + }, registerLanguage: (t, i) => { + let s = null; + try { + s = i(e) + } catch (e) { + if (U("Language definition for '{}' could not be registered.".replace("{}", t)), + !r) throw e; + U(e), s = g + } + s.name || (s.name = t), n[t] = s, s.rawDefinition = i.bind(null, e), s.aliases && R(s.aliases, { + languageName: t + }) + }, unregisterLanguage: e => { + delete n[e] + ; + for (const t of Object.keys(s)) s[t] === e && delete s[t] + }, + listLanguages: () => Object.keys(n), getLanguage: N, registerAliases: R, + requireLanguage: e => { + K("10.4.0", "requireLanguage will be removed entirely in v11."), + K("10.4.0", "Please see https://github.com/highlightjs/highlight.js/pull/2844") + ;const t = N(e); + if (t) return t + ; + throw Error("The '{}' language is required, but not loaded.".replace("{}", e)) + }, + autoDetection: k, inherit: V, addPlugin: e => { + (e => { + e["before:highlightBlock"] && !e["before:highlightElement"] && (e["before:highlightElement"] = t => { + e["before:highlightBlock"](Object.assign({block: t.el}, t)) + }), e["after:highlightBlock"] && !e["after:highlightElement"] && (e["after:highlightElement"] = t => { + e["after:highlightBlock"](Object.assign({block: t.el}, t)) + }) + })(e), a.push(e) + }, + vuePlugin: P(e).VuePlugin + }), e.debugMode = () => { + r = !1 + }, e.safeMode = () => { + r = !0 + }, e.versionString = "10.7.2"; + for (const e in _) "object" == typeof _[e] && t(_[e]) + ; + return Object.assign(e, _), e.addPlugin(m), e.addPlugin(D), e.addPlugin(E), e + })({}) +}(); +"object" == typeof exports && "undefined" != typeof module && (module.exports = hljs); +hljs.registerLanguage("nginx", (() => { + "use strict"; + return e => { + const n = { + className: "variable", variants: [{begin: /\$\d+/}, {begin: /\$\{/, end: /\}/}, { + begin: /[$@]/ + e.UNDERSCORE_IDENT_RE + }] + }, a = { + endsWithParent: !0, keywords: { + $pattern: "[a-z/_]+", + literal: "on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll" + }, relevance: 0, illegal: "=>", contains: [e.HASH_COMMENT_MODE, { + className: "string", + contains: [e.BACKSLASH_ESCAPE, n], variants: [{begin: /"/, end: /"/}, { + begin: /'/, end: /'/ + }] + }, { + begin: "([a-z]+):/", end: "\\s", endsWithParent: !0, excludeEnd: !0, contains: [n] + }, { + className: "regexp", contains: [e.BACKSLASH_ESCAPE, n], variants: [{ + begin: "\\s\\^", + end: "\\s|\\{|;", returnEnd: !0 + }, {begin: "~\\*?\\s+", end: "\\s|\\{|;", returnEnd: !0}, { + begin: "\\*(\\.[a-z\\-]+)+" + }, {begin: "([a-z\\-]+\\.)+\\*"}] + }, { + className: "number", + begin: "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b" + }, { + className: "number", begin: "\\b\\d+[kKmMgGdshdwy]*\\b", relevance: 0 + }, n] + }; + return { + name: "Nginx config", aliases: ["nginxconf"], contains: [e.HASH_COMMENT_MODE, { + begin: e.UNDERSCORE_IDENT_RE + "\\s+\\{", returnBegin: !0, end: /\{/, contains: [{ + className: "section", begin: e.UNDERSCORE_IDENT_RE + }], relevance: 0 + }, { + begin: e.UNDERSCORE_IDENT_RE + "\\s", end: ";|\\{", returnBegin: !0, contains: [{ + className: "attribute", begin: e.UNDERSCORE_IDENT_RE, starts: a + }], relevance: 0 + }], + illegal: "[^\\s\\}]" + } + } +})()); +hljs.registerLanguage("less", (() => { + "use strict" + ;const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], + t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], + i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], + o = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], + n = ["align-content", "align-items", "align-self", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "clip-path", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-variation-settings", "font-weight", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inherit", "initial", "justify-content", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "max-height", "max-width", "min-height", "min-width", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "src", "tab-size", "table-layout", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index"].reverse(), + r = i.concat(o) + ; + return a => { + const s = (e => ({ + IMPORTANT: {className: "meta", begin: "!important"}, + HEXCOLOR: {className: "number", begin: "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, + ATTRIBUTE_SELECTOR_MODE: { + className: "selector-attr", begin: /\[/, end: /\]/, + illegal: "$", contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + } + }))(a), l = r, d = "([\\w-]+|@\\{[\\w-]+\\})", c = [], g = [], b = e => ({ + className: "string", + begin: "~?" + e + ".*?" + e + }), m = (e, t, i) => ({className: e, begin: t, relevance: i}), u = { + $pattern: /[a-z-]+/, keyword: "and or not only", attribute: t.join(" ") + }, p = { + begin: "\\(", end: "\\)", contains: g, keywords: u, relevance: 0 + } + ;g.push(a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, b("'"), b('"'), a.CSS_NUMBER_MODE, { + begin: "(url|data-uri)\\(", starts: { + className: "string", end: "[\\)\\n]", + excludeEnd: !0 + } + }, s.HEXCOLOR, p, m("variable", "@@?[\\w-]+", 10), m("variable", "@\\{[\\w-]+\\}"), m("built_in", "~?`[^`]*?`"), { + className: "attribute", begin: "[\\w-]+\\s*:", end: ":", returnBegin: !0, excludeEnd: !0 + }, s.IMPORTANT); + const f = g.concat({begin: /\{/, end: /\}/, contains: c}), h = { + beginKeywords: "when", endsWithParent: !0, contains: [{ + beginKeywords: "and not" + }].concat(g) + }, w = { + begin: d + "\\s*:", returnBegin: !0, end: /[;}]/, relevance: 0, + contains: [{begin: /-(webkit|moz|ms|o)-/}, { + className: "attribute", + begin: "\\b(" + n.join("|") + ")\\b", end: /(?=:)/, starts: { + endsWithParent: !0, + illegal: "[<=$]", relevance: 0, contains: g + } + }] + }, v = { + className: "keyword", + begin: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", + starts: {end: "[;{}]", keywords: u, returnEnd: !0, contains: g, relevance: 0} + }, y = { + className: "variable", variants: [{begin: "@[\\w-]+\\s*:", relevance: 15}, { + begin: "@[\\w-]+" + }], starts: {end: "[;}]", returnEnd: !0, contains: f} + }, k = { + variants: [{ + begin: "[\\.#:&\\[>]", end: "[;{}]" + }, {begin: d, end: /\{/}], returnBegin: !0, + returnEnd: !0, illegal: "[<='$\"]", relevance: 0, + contains: [a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, h, m("keyword", "all\\b"), m("variable", "@\\{[\\w-]+\\}"), { + begin: "\\b(" + e.join("|") + ")\\b", className: "selector-tag" + }, m("selector-tag", d + "%?", 0), m("selector-id", "#" + d), m("selector-class", "\\." + d, 0), m("selector-tag", "&", 0), s.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", begin: ":(" + i.join("|") + ")" + }, { + className: "selector-pseudo", begin: "::(" + o.join("|") + ")" + }, { + begin: "\\(", end: "\\)", + contains: f + }, {begin: "!important"}] + }, E = { + begin: `[\\w-]+:(:)?(${l.join("|")})`, + returnBegin: !0, contains: [k] + } + ; + return c.push(a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, v, y, E, w, k), { + name: "Less", case_insensitive: !0, illegal: "[=>'/<($\"]", contains: c + } + } +})()); +hljs.registerLanguage("python", (() => { + "use strict"; + return e => { + const n = { + $pattern: /[A-Za-z]\w+|__\w+__/, + keyword: ["and", "as", "assert", "async", "await", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal|10", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"], + built_in: ["__import__", "abs", "all", "any", "ascii", "bin", "bool", "breakpoint", "bytearray", "bytes", "callable", "chr", "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "exec", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance", "issubclass", "iter", "len", "list", "locals", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip"], + literal: ["__debug__", "Ellipsis", "False", "None", "NotImplemented", "True"], + type: ["Any", "Callable", "Coroutine", "Dict", "List", "Literal", "Generic", "Optional", "Sequence", "Set", "Tuple", "Type", "Union"] + }, a = {className: "meta", begin: /^(>>>|\.\.\.) /}, i = { + className: "subst", begin: /\{/, + end: /\}/, keywords: n, illegal: /#/ + }, s = {begin: /\{\{/, relevance: 0}, t = { + className: "string", contains: [e.BACKSLASH_ESCAPE], variants: [{ + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/, end: /'''/, + contains: [e.BACKSLASH_ESCAPE, a], relevance: 10 + }, { + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/, end: /"""/, + contains: [e.BACKSLASH_ESCAPE, a], relevance: 10 + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'''/, end: /'''/, + contains: [e.BACKSLASH_ESCAPE, a, s, i] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"""/, + end: /"""/, contains: [e.BACKSLASH_ESCAPE, a, s, i] + }, { + begin: /([uU]|[rR])'/, end: /'/, + relevance: 10 + }, {begin: /([uU]|[rR])"/, end: /"/, relevance: 10}, { + begin: /([bB]|[bB][rR]|[rR][bB])'/, end: /'/ + }, { + begin: /([bB]|[bB][rR]|[rR][bB])"/, + end: /"/ + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'/, end: /'/, + contains: [e.BACKSLASH_ESCAPE, s, i] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"/, end: /"/, + contains: [e.BACKSLASH_ESCAPE, s, i] + }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, r = "[0-9](_?[0-9])*", l = `(\\b(${r}))?\\.(${r})|\\b(${r})\\.`, b = { + className: "number", relevance: 0, variants: [{ + begin: `(\\b(${r})|(${l}))[eE][+-]?(${r})[jJ]?\\b` + }, {begin: `(${l})[jJ]?`}, { + begin: "\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b" + }, { + begin: "\\b0[bB](_?[01])+[lL]?\\b" + }, {begin: "\\b0[oO](_?[0-7])+[lL]?\\b"}, { + begin: "\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b" + }, {begin: `\\b(${r})[jJ]\\b`}] + }, o = { + className: "comment", + begin: (d = /# type:/, ((...e) => e.map((e => (e => e ? "string" == typeof e ? e : e.source : null)(e))).join(""))("(?=", d, ")")), + end: /$/, keywords: n, contains: [{begin: /# type:/}, { + begin: /#/, end: /\b\B/, + endsWithParent: !0 + }] + }, c = { + className: "params", variants: [{ + className: "", + begin: /\(\s*\)/, skip: !0 + }, { + begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, + keywords: n, contains: ["self", a, b, t, e.HASH_COMMENT_MODE] + }] + }; + var d + ; + return i.contains = [t, b, a], { + name: "Python", aliases: ["py", "gyp", "ipython"], + keywords: n, illegal: /(<\/|->|\?)|=>/, contains: [a, b, {begin: /\bself\b/}, { + beginKeywords: "if", relevance: 0 + }, t, o, e.HASH_COMMENT_MODE, { + variants: [{ + className: "function", beginKeywords: "def" + }, { + className: "class", + beginKeywords: "class" + }], end: /:/, illegal: /[${=;\n,]/, + contains: [e.UNDERSCORE_TITLE_MODE, c, {begin: /->/, endsWithParent: !0, keywords: n}] + }, {className: "meta", begin: /^[\t ]*@/, end: /(?=#)|$/, contains: [b, c, t]}] + } + } +})()); +hljs.registerLanguage("r", (() => { + "use strict"; + + function e(...e) { + return e.map((e => { + return (a = e) ? "string" == typeof a ? a : a.source : null; + var a + })).join("") + } + + return a => { + const n = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/; + return { + name: "R", + illegal: /->/, keywords: { + $pattern: n, + keyword: "function if in break next repeat else for while", + literal: "NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", + built_in: "LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" + }, compilerExtensions: [(a, n) => { + if (!a.beforeMatch) return + ; + if (a.starts) throw Error("beforeMatch cannot be used with starts") + ; + const i = Object.assign({}, a); + Object.keys(a).forEach((e => { + delete a[e] + })), a.begin = e(i.beforeMatch, e("(?=", i.begin, ")")), a.starts = { + relevance: 0, + contains: [Object.assign(i, {endsParent: !0})] + }, a.relevance = 0, delete i.beforeMatch + }], contains: [a.COMMENT(/#'/, /$/, { + contains: [{ + className: "doctag", + begin: "@examples", starts: { + contains: [{begin: /\n/}, { + begin: /#'\s*(?=@[a-zA-Z]+)/, + endsParent: !0 + }, {begin: /#'/, end: /$/, excludeBegin: !0}] + } + }, { + className: "doctag", + begin: "@param", end: /$/, contains: [{ + className: "variable", variants: [{begin: n}, { + begin: /`(?:\\.|[^`\\])+`/ + }], endsParent: !0 + }] + }, { + className: "doctag", + begin: /@[a-zA-Z]+/ + }, {className: "meta-keyword", begin: /\\[a-zA-Z]+/}] + }), a.HASH_COMMENT_MODE, { + className: "string", contains: [a.BACKSLASH_ESCAPE], + variants: [a.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\(/, end: /\)(-*)"/ + }), a.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\{/, end: /\}(-*)"/ + }), a.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\[/, end: /\](-*)"/ + }), a.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\(/, end: /\)(-*)'/ + }), a.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\{/, end: /\}(-*)'/ + }), a.END_SAME_AS_BEGIN({begin: /[rR]'(-*)\[/, end: /\](-*)'/}), { + begin: '"', end: '"', + relevance: 0 + }, {begin: "'", end: "'", relevance: 0}] + }, { + className: "number", relevance: 0, + beforeMatch: /([^a-zA-Z0-9._])/, variants: [{ + match: /0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/ + }, { + match: /0[xX][0-9a-fA-F]+([pP][+-]?\d+)?[Li]?/ + }, { + match: /(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[Li]?/ + }] + }, {begin: "%", end: "%"}, { + begin: e(/[a-zA-Z][a-zA-Z_0-9]*/, "\\s+<-\\s+") + }, { + begin: "`", end: "`", contains: [{ + begin: /\\./ + }] + }] + } + } +})()); +hljs.registerLanguage("bash", (() => { + "use strict"; + + function e(...e) { + return e.map((e => { + return (s = e) ? "string" == typeof s ? s : s.source : null; + var s + })).join("") + } + + return s => { + const n = {}, t = { + begin: /\$\{/, end: /\}/, contains: ["self", { + begin: /:-/, contains: [n] + }] + }; + Object.assign(n, { + className: "variable", variants: [{ + begin: e(/\$[\w\d#@][\w\d_]*/, "(?![\\w\\d])(?![$])") + }, t] + }); + const a = { + className: "subst", begin: /\$\(/, end: /\)/, contains: [s.BACKSLASH_ESCAPE] + }, i = { + begin: /<<-?\s*(?=\w+)/, starts: { + contains: [s.END_SAME_AS_BEGIN({ + begin: /(\w+)/, + end: /(\w+)/, className: "string" + })] + } + }, c = { + className: "string", begin: /"/, end: /"/, + contains: [s.BACKSLASH_ESCAPE, n, a] + }; + a.contains.push(c); + const o = { + begin: /\$\(\(/, + end: /\)\)/, contains: [{begin: /\d+#[0-9a-f]+/, className: "number"}, s.NUMBER_MODE, n] + }, r = s.SHEBANG({ + binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)", relevance: 10 + }), l = { + className: "function", begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, returnBegin: !0, + contains: [s.inherit(s.TITLE_MODE, {begin: /\w[\w\d_]*/})], relevance: 0 + }; + return { + name: "Bash", aliases: ["sh", "zsh"], keywords: { + $pattern: /\b[a-z._-]+\b/, + keyword: "if then else elif fi for while in do done case esac function", + literal: "true false", + built_in: "break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" + }, contains: [r, s.SHEBANG(), l, o, s.HASH_COMMENT_MODE, i, c, { + className: "", begin: /\\"/ + }, {className: "string", begin: /'/, end: /'/}, n] + } + } +})()); +hljs.registerLanguage("shell", (() => { + "use strict"; + return s => ({ + name: "Shell Session", aliases: ["console"], contains: [{ + className: "meta", + begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/, starts: { + end: /[^\\](?=\s*$)/, + subLanguage: "bash" + } + }] + }) +})()); +hljs.registerLanguage("gradle", (() => { + "use strict"; + return e => ({ + name: "Gradle", + case_insensitive: !0, keywords: { + keyword: "task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine" + }, + contains: [e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, e.NUMBER_MODE, e.REGEXP_MODE] + }) +})()); +hljs.registerLanguage("properties", (() => { + "use strict"; + return e => { + var n = "[ \\t\\f]*", a = n + "[:=]" + n, t = "(" + a + "|[ \\t\\f]+)", r = "([^\\\\\\W:= \\t\\f\\n]|\\\\.)+", + s = "([^\\\\:= \\t\\f\\n]|\\\\.)+", i = { + end: t, relevance: 0, starts: { + className: "string", end: /$/, relevance: 0, contains: [{ + begin: "\\\\\\\\" + }, {begin: "\\\\\\n"}] + } + }; + return { + name: ".properties", + case_insensitive: !0, illegal: /\S/, contains: [e.COMMENT("^\\s*[!#]", "$"), { + returnBegin: !0, variants: [{begin: r + a, relevance: 1}, { + begin: r + "[ \\t\\f]+", + relevance: 0 + }], contains: [{className: "attr", begin: r, endsParent: !0, relevance: 0}], + starts: i + }, { + begin: s + t, returnBegin: !0, relevance: 0, contains: [{ + className: "meta", + begin: s, endsParent: !0, relevance: 0 + }], starts: i + }, { + className: "attr", relevance: 0, + begin: s + n + "$" + }] + } + } +})()); +hljs.registerLanguage("xml", (() => { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function n(e) { + return a("(?=", e, ")") + } + + function a(...n) { + return n.map((n => e(n))).join("") + } + + function s(...n) { + return "(" + n.map((n => e(n))).join("|") + ")" + } + + return e => { + const t = a(/[A-Z_]/, a("(", /[A-Z0-9_.-]*:/, ")?"), /[A-Z0-9_.-]*/), i = { + className: "symbol", begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ + }, r = { + begin: /\s/, + contains: [{className: "meta-keyword", begin: /#?[a-z_][a-z1-9_-]+/, illegal: /\n/}] + }, c = e.inherit(r, {begin: /\(/, end: /\)/}), l = e.inherit(e.APOS_STRING_MODE, { + className: "meta-string" + }), g = e.inherit(e.QUOTE_STRING_MODE, { + className: "meta-string" + }), m = { + endsWithParent: !0, illegal: /`]+/}] + }] + }] + }; + return { + name: "HTML, XML", + aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"], + case_insensitive: !0, contains: [{ + className: "meta", begin: //, + relevance: 10, contains: [r, g, l, c, { + begin: /\[/, end: /\]/, contains: [{ + className: "meta", + begin: //, contains: [r, c, g, l] + }] + }] + }, e.COMMENT(//, { + relevance: 10 + }), {begin: //, relevance: 10}, i, { + className: "meta", begin: /<\?xml/, end: /\?>/, relevance: 10 + }, { + className: "tag", + begin: /)/, end: />/, keywords: {name: "style"}, contains: [m], starts: { + end: /<\/style>/, returnEnd: !0, subLanguage: ["css", "xml"] + } + }, { + className: "tag", + begin: /)/, end: />/, keywords: {name: "script"}, contains: [m], starts: { + end: /<\/script>/, returnEnd: !0, subLanguage: ["javascript", "handlebars", "xml"] + } + }, { + className: "tag", begin: /<>|<\/>/ + }, { + className: "tag", + begin: a(//, />/, /\s/)))), end: /\/?>/, contains: [{ + className: "name", + begin: t, relevance: 0, starts: m + }] + }, { + className: "tag", begin: a(/<\//, n(a(t, />/))), + contains: [{className: "name", begin: t, relevance: 0}, { + begin: />/, relevance: 0, + endsParent: !0 + }] + }] + } + } +})()); +hljs.registerLanguage("c", (() => { + "use strict"; + + function e(e) { + return ((...e) => e.map((e => (e => e ? "string" == typeof e ? e : e.source : null)(e))).join(""))("(", e, ")?") + } + + return t => { + const n = t.COMMENT("//", "$", { + contains: [{begin: /\\\n/}] + }), r = "[a-zA-Z_]\\w*::", a = "(decltype\\(auto\\)|" + e(r) + "[a-zA-Z_]\\w*" + e("<[^<>]+>") + ")", i = { + className: "keyword", begin: "\\b[a-z\\d_]*_t\\b" + }, s = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', end: '"', illegal: "\\n", + contains: [t.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", illegal: "." + }, t.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, end: /\)([^()\\ ]{0,16})"/ + })] + }, o = { + className: "number", variants: [{begin: "\\b(0b[01']+)"}, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], relevance: 0 + }, c = { + className: "meta", begin: /#\s*[a-z]+\b/, end: /$/, keywords: { + "meta-keyword": "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, contains: [{begin: /\\\n/, relevance: 0}, t.inherit(s, {className: "meta-string"}), { + className: "meta-string", begin: /<.*?>/ + }, n, t.C_BLOCK_COMMENT_MODE] + }, l = { + className: "title", begin: e(r) + t.IDENT_RE, relevance: 0 + }, d = e(r) + t.IDENT_RE + "\\s*\\(", u = { + keyword: "int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", + built_in: "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary", + literal: "true false nullptr NULL" + }, m = [c, i, n, t.C_BLOCK_COMMENT_MODE, o, s], p = { + variants: [{begin: /=/, end: /;/}, {begin: /\(/, end: /\)/}, { + beginKeywords: "new throw return else", end: /;/ + }], keywords: u, contains: m.concat([{ + begin: /\(/, end: /\)/, keywords: u, contains: m.concat(["self"]), relevance: 0 + }]), + relevance: 0 + }, _ = { + className: "function", begin: "(" + a + "[\\*&\\s]+)+" + d, + returnBegin: !0, end: /[{;=]/, excludeEnd: !0, keywords: u, illegal: /[^\w\s\*&:<>.]/, + contains: [{begin: "decltype\\(auto\\)", keywords: u, relevance: 0}, { + begin: d, + returnBegin: !0, contains: [l], relevance: 0 + }, { + className: "params", begin: /\(/, + end: /\)/, keywords: u, relevance: 0, contains: [n, t.C_BLOCK_COMMENT_MODE, s, o, i, { + begin: /\(/, end: /\)/, keywords: u, relevance: 0, + contains: ["self", n, t.C_BLOCK_COMMENT_MODE, s, o, i] + }] + }, i, n, t.C_BLOCK_COMMENT_MODE, c] + }; + return { + name: "C", aliases: ["h"], keywords: u, + disableAutodetect: !0, illegal: "", keywords: u, contains: ["self", i] + }, {begin: t.IDENT_RE + "::", keywords: u}, { + className: "class", beginKeywords: "enum class struct union", end: /[{;:<>=]/, + contains: [{beginKeywords: "final class struct"}, t.TITLE_MODE] + }]), exports: { + preprocessor: c, strings: s, keywords: u + } + } + } +})()); +hljs.registerLanguage("ruby", (() => { + "use strict"; + + function e(...e) { + return e.map((e => { + return (n = e) ? "string" == typeof n ? n : n.source : null; + var n + })).join("") + } + + return n => { + const a = "([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)", i = { + keyword: "and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", + built_in: "proc lambda", literal: "true false nil" + }, s = { + className: "doctag", + begin: "@[A-Za-z]+" + }, r = {begin: "#<", end: ">"}, b = [n.COMMENT("#", "$", { + contains: [s] + }), n.COMMENT("^=begin", "^=end", { + contains: [s], relevance: 10 + }), n.COMMENT("^__END__", "\\n$")], c = { + className: "subst", begin: /#\{/, end: /\}/, + keywords: i + }, t = { + className: "string", contains: [n.BACKSLASH_ESCAPE, c], variants: [{ + begin: /'/, end: /'/ + }, {begin: /"/, end: /"/}, {begin: /`/, end: /`/}, { + begin: /%[qQwWx]?\(/, + end: /\)/ + }, {begin: /%[qQwWx]?\[/, end: /\]/}, {begin: /%[qQwWx]?\{/, end: /\}/}, { + begin: /%[qQwWx]?/ + }, {begin: /%[qQwWx]?\//, end: /\//}, { + begin: /%[qQwWx]?%/, + end: /%/ + }, {begin: /%[qQwWx]?-/, end: /-/}, {begin: /%[qQwWx]?\|/, end: /\|/}, { + begin: /\B\?(\\\d{1,3})/ + }, {begin: /\B\?(\\x[A-Fa-f0-9]{1,2})/}, { + begin: /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/ + }, { + begin: /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/ + }, { + begin: /\B\?\\(c|C-)[\x20-\x7e]/ + }, {begin: /\B\?\\?\S/}, { + begin: /<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/, returnBegin: !0, contains: [{ + begin: /<<[-~]?'?/ + }, n.END_SAME_AS_BEGIN({ + begin: /(\w+)/, end: /(\w+)/, + contains: [n.BACKSLASH_ESCAPE, c] + })] + }] + }, g = "[0-9](_?[0-9])*", d = { + className: "number", + relevance: 0, variants: [{ + begin: `\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b` + }, { + begin: "\\b0[dD][0-9](_?[0-9])*r?i?\\b" + }, { + begin: "\\b0[bB][0-1](_?[0-1])*r?i?\\b" + }, {begin: "\\b0[oO][0-7](_?[0-7])*r?i?\\b"}, { + begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b" + }, { + begin: "\\b0(_?[0-7])+r?i?\\b" + }] + }, l = { + className: "params", begin: "\\(", end: "\\)", + endsParent: !0, keywords: i + }, o = [t, { + className: "class", beginKeywords: "class module", + end: "$|;", illegal: /=/, contains: [n.inherit(n.TITLE_MODE, { + begin: "[A-Za-z_]\\w*(::\\w+)*(\\?|!)?" + }), { + begin: "<\\s*", contains: [{ + begin: "(" + n.IDENT_RE + "::)?" + n.IDENT_RE, relevance: 0 + }] + }].concat(b) + }, { + className: "function", begin: e(/def\s+/, (_ = a + "\\s*(\\(|;|$)", e("(?=", _, ")"))), + relevance: 0, keywords: "def", end: "$|;", contains: [n.inherit(n.TITLE_MODE, { + begin: a + }), l].concat(b) + }, {begin: n.IDENT_RE + "::"}, { + className: "symbol", + begin: n.UNDERSCORE_IDENT_RE + "(!|\\?)?:", relevance: 0 + }, { + className: "symbol", + begin: ":(?!\\s)", contains: [t, {begin: a}], relevance: 0 + }, d, { + className: "variable", + begin: "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])" + }, { + className: "params", begin: /\|/, end: /\|/, relevance: 0, keywords: i + }, { + begin: "(" + n.RE_STARTERS_RE + "|unless)\\s*", keywords: "unless", contains: [{ + className: "regexp", contains: [n.BACKSLASH_ESCAPE, c], illegal: /\n/, variants: [{ + begin: "/", end: "/[a-z]*" + }, {begin: /%r\{/, end: /\}[a-z]*/}, { + begin: "%r\\(", + end: "\\)[a-z]*" + }, {begin: "%r!", end: "![a-z]*"}, {begin: "%r\\[", end: "\\][a-z]*"}] + }].concat(r, b), relevance: 0 + }].concat(r, b); + var _; + c.contains = o, l.contains = o + ;const E = [{begin: /^\s*=>/, starts: {end: "$", contains: o}}, { + className: "meta", + begin: "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", + starts: {end: "$", contains: o} + }]; + return b.unshift(r), { + name: "Ruby", + aliases: ["rb", "gemspec", "podspec", "thor", "irb"], keywords: i, illegal: /\/\*/, + contains: [n.SHEBANG({binary: "ruby"})].concat(E).concat(b).concat(o) + } + } +})()); +hljs.registerLanguage("php", (() => { + "use strict"; + return e => { + const r = { + className: "variable", + begin: "\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?![A-Za-z0-9])(?![$])" + }, t = { + className: "meta", variants: [{begin: /<\?php/, relevance: 10}, {begin: /<\?[=]?/}, { + begin: /\?>/ + }] + }, a = { + className: "subst", variants: [{begin: /\$\w+/}, { + begin: /\{\$/, + end: /\}/ + }] + }, n = e.inherit(e.APOS_STRING_MODE, { + illegal: null + }), i = e.inherit(e.QUOTE_STRING_MODE, { + illegal: null, + contains: e.QUOTE_STRING_MODE.contains.concat(a) + }), o = e.END_SAME_AS_BEGIN({ + begin: /<<<[ \t]*(\w+)\n/, end: /[ \t]*(\w+)\b/, + contains: e.QUOTE_STRING_MODE.contains.concat(a) + }), l = { + className: "string", + contains: [e.BACKSLASH_ESCAPE, t], variants: [e.inherit(n, { + begin: "b'", end: "'" + }), e.inherit(i, {begin: 'b"', end: '"'}), i, n, o] + }, s = { + className: "number", variants: [{ + begin: "\\b0b[01]+(?:_[01]+)*\\b" + }, {begin: "\\b0o[0-7]+(?:_[0-7]+)*\\b"}, { + begin: "\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b" + }, { + begin: "(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?" + }], relevance: 0 + }, c = { + keyword: "__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield", + literal: "false null true", + built_in: "Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass" + }; + return { + aliases: ["php3", "php4", "php5", "php6", "php7", "php8"], + case_insensitive: !0, keywords: c, + contains: [e.HASH_COMMENT_MODE, e.COMMENT("//", "$", { + contains: [t] + }), e.COMMENT("/\\*", "\\*/", { + contains: [{className: "doctag", begin: "@[A-Za-z]+"}] + }), e.COMMENT("__halt_compiler.+?;", !1, { + endsWithParent: !0, + keywords: "__halt_compiler" + }), t, {className: "keyword", begin: /\$this\b/}, r, { + begin: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/ + }, { + className: "function", + relevance: 0, beginKeywords: "fn function", end: /[;{]/, excludeEnd: !0, + illegal: "[$%\\[]", contains: [{beginKeywords: "use"}, e.UNDERSCORE_TITLE_MODE, { + begin: "=>", endsParent: !0 + }, { + className: "params", begin: "\\(", end: "\\)", + excludeBegin: !0, excludeEnd: !0, keywords: c, + contains: ["self", r, e.C_BLOCK_COMMENT_MODE, l, s] + }] + }, { + className: "class", variants: [{ + beginKeywords: "enum", illegal: /[($"]/ + }, { + beginKeywords: "class interface trait", + illegal: /[:($"]/ + }], relevance: 0, end: /\{/, excludeEnd: !0, contains: [{ + beginKeywords: "extends implements" + }, e.UNDERSCORE_TITLE_MODE] + }, { + beginKeywords: "namespace", relevance: 0, end: ";", illegal: /[.']/, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + beginKeywords: "use", relevance: 0, end: ";", + contains: [e.UNDERSCORE_TITLE_MODE] + }, l, s] + } + } +})()); +hljs.registerLanguage("stata", (() => { + "use strict"; + return e => ({ + name: "Stata", + aliases: ["do", "ado"], case_insensitive: !0, + keywords: "if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5", + contains: [{className: "symbol", begin: /`[a-zA-Z0-9_]+'/}, { + className: "variable", + begin: /\$\{?[a-zA-Z0-9_]+\}?/ + }, { + className: "string", variants: [{ + begin: '`"[^\r\n]*?"\'' + }, {begin: '"[^\r\n"]*"'}] + }, { + className: "built_in", + variants: [{ + begin: "\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()" + }] + }, e.COMMENT("^[ \t]*\\*.*$", !1), e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }) +})()); +hljs.registerLanguage("typescript", (() => { + "use strict" + ;const e = "[A-Za-z$_][0-9A-Za-z$_]*", + n = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends"], + a = ["true", "false", "null", "undefined", "NaN", "Infinity"], + s = [].concat(["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape"], ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], ["Intl", "DataView", "Number", "Math", "Date", "String", "RegExp", "Object", "Function", "Boolean", "Error", "Symbol", "Set", "Map", "WeakSet", "WeakMap", "Proxy", "Reflect", "JSON", "Promise", "Float64Array", "Int16Array", "Int32Array", "Int8Array", "Uint16Array", "Uint32Array", "Float32Array", "Array", "Uint8Array", "Uint8ClampedArray", "ArrayBuffer", "BigInt64Array", "BigUint64Array", "BigInt"], ["EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"]) + ; + + function t(e) { + return r("(?=", e, ")") + } + + function r(...e) { + return e.map((e => { + return (n = e) ? "string" == typeof n ? n : n.source : null; + var n + })).join("") + } + + return i => { + const c = { + $pattern: e, + keyword: n.concat(["type", "namespace", "typedef", "interface", "public", "private", "protected", "implements", "declare", "abstract", "readonly"]), + literal: a, + built_in: s.concat(["any", "void", "number", "boolean", "string", "object", "never", "enum"]) + }, o = {className: "meta", begin: "@[A-Za-z$_][0-9A-Za-z$_]*"}, l = (e, n, a) => { + const s = e.contains.findIndex((e => e.label === n)) + ; + if (-1 === s) throw Error("can not find mode to replace"); + e.contains.splice(s, 1, a) + }, b = (i => { + const c = e, o = { + begin: /<[A-Za-z0-9\\._:-]+/, + end: /\/[A-Za-z0-9\\._:-]+>|\/>/, isTrulyOpeningTag: (e, n) => { + const a = e[0].length + e.index, s = e.input[a]; + "<" !== s ? ">" === s && (((e, {after: n}) => { + const a = "", + returnBegin: !0, end: "\\s*=>", contains: [{ + className: "params", variants: [{ + begin: i.UNDERSCORE_IDENT_RE, relevance: 0 + }, { + className: null, begin: /\(\s*\)/, skip: !0 + }, {begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: l, contains: f}] + }] + }, {begin: /,/, relevance: 0}, {className: "", begin: /\s/, end: /\s*/, skip: !0}, { + variants: [{begin: "<>", end: ""}, { + begin: o.begin, "on:begin": o.isTrulyOpeningTag, + end: o.end + }], subLanguage: "xml", contains: [{ + begin: o.begin, end: o.end, skip: !0, + contains: ["self"] + }] + }], relevance: 0 + }, { + className: "function", + beginKeywords: "function", end: /[{;]/, excludeEnd: !0, keywords: l, + contains: ["self", i.inherit(i.TITLE_MODE, {begin: c}), A], illegal: /%/ + }, { + beginKeywords: "while if switch catch for" + }, { + className: "function", + begin: i.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", + returnBegin: !0, contains: [A, i.inherit(i.TITLE_MODE, {begin: c})] + }, { + variants: [{ + begin: "\\." + c + }, {begin: "\\$" + c}], relevance: 0 + }, { + className: "class", + beginKeywords: "class", end: /[{;=]/, excludeEnd: !0, illegal: /[:"[\]]/, contains: [{ + beginKeywords: "extends" + }, i.UNDERSCORE_TITLE_MODE] + }, { + begin: /\b(?=constructor)/, + end: /[{;]/, excludeEnd: !0, contains: [i.inherit(i.TITLE_MODE, {begin: c}), "self", A] + }, { + begin: "(get|set)\\s+(?=" + c + "\\()", end: /\{/, keywords: "get set", + contains: [i.inherit(i.TITLE_MODE, {begin: c}), {begin: /\(\)/}, A] + }, {begin: /\$[(.]/}] + } + })(i) + ; + return Object.assign(b.keywords, c), b.exports.PARAMS_CONTAINS.push(o), b.contains = b.contains.concat([o, { + beginKeywords: "namespace", end: /\{/, excludeEnd: !0 + }, { + beginKeywords: "interface", + end: /\{/, excludeEnd: !0, keywords: "interface extends" + }]), l(b, "shebang", i.SHEBANG()), l(b, "use_strict", { + className: "meta", relevance: 10, + begin: /^\s*['"]use strict['"]/ + }), b.contains.find((e => "function" === e.className)).relevance = 0, Object.assign(b, { + name: "TypeScript", aliases: ["ts", "tsx"] + }), b + } +})()); +hljs.registerLanguage("vbnet", (() => { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function n(...n) { + return n.map((n => e(n))).join("") + } + + function t(...n) { + return "(" + n.map((n => e(n))).join("|") + ")" + } + + return e => { + const a = /\d{1,2}\/\d{1,2}\/\d{4}/, i = /\d{4}-\d{1,2}-\d{1,2}/, s = /(\d|1[012])(:\d+){0,2} *(AM|PM)/, + r = /\d{1,2}(:\d{1,2}){1,2}/, o = { + className: "literal", variants: [{begin: n(/# */, t(i, a), / *#/)}, { + begin: n(/# */, r, / *#/) + }, {begin: n(/# */, s, / *#/)}, { + begin: n(/# */, t(i, a), / +/, t(s, r), / *#/) + }] + }, l = e.COMMENT(/'''/, /$/, { + contains: [{ + className: "doctag", begin: /<\/?/, end: />/ + }] + }), c = e.COMMENT(null, /$/, { + variants: [{ + begin: /'/ + }, {begin: /([\t ]|^)REM(?=\s)/}] + }); + return { + name: "Visual Basic .NET", + aliases: ["vb"], case_insensitive: !0, classNameAliases: {label: "symbol"}, keywords: { + keyword: "addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", + built_in: "addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", + type: "boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", + literal: "true false nothing" + }, + illegal: "//|\\{|\\}|endif|gosub|variant|wend|^\\$ ", contains: [{ + className: "string", begin: /"(""|[^/n])"C\b/ + }, { + className: "string", begin: /"/, + end: /"/, illegal: /\n/, contains: [{begin: /""/}] + }, o, { + className: "number", relevance: 0, + variants: [{ + begin: /\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ + }, {begin: /\b\d[\d_]*((U?[SIL])|[%&])?/}, {begin: /&H[\dA-F_]+((U?[SIL])|[%&])?/}, { + begin: /&O[0-7_]+((U?[SIL])|[%&])?/ + }, {begin: /&B[01_]+((U?[SIL])|[%&])?/}] + }, { + className: "label", begin: /^\w+:/ + }, l, c, { + className: "meta", + begin: /[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, + end: /$/, keywords: { + "meta-keyword": "const disable else elseif enable end externalsource if region then" + }, contains: [c] + }] + } + } +})()); +hljs.registerLanguage("fortran", (() => { + "use strict"; + + function e(...e) { + return e.map((e => { + return (n = e) ? "string" == typeof n ? n : n.source : null; + var n + })).join("") + } + + return n => { + const a = { + variants: [n.COMMENT("!", "$", { + relevance: 0 + }), n.COMMENT("^C[ ]", "$", {relevance: 0}), n.COMMENT("^C$", "$", {relevance: 0})] + }, t = /(_[a-z_\d]+)?/, i = /([de][+-]?\d+)?/, c = { + className: "number", variants: [{ + begin: e(/\b\d+/, /\.(\d*)/, i, t) + }, {begin: e(/\b\d+/, i, t)}, {begin: e(/\.\d+/, i, t)}], + relevance: 0 + }, o = { + className: "function", + beginKeywords: "subroutine function program", illegal: "[${=\\n]", + contains: [n.UNDERSCORE_TITLE_MODE, {className: "params", begin: "\\(", end: "\\)"}] + } + ; + return { + name: "Fortran", case_insensitive: !0, aliases: ["f90", "f95"], keywords: { + literal: ".False. .True.", + keyword: "kind do concurrent local shared while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure integer real character complex logical codimension dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data", + built_in: "alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce" + }, illegal: /\/\*/, contains: [{ + className: "string", relevance: 0, + variants: [n.APOS_STRING_MODE, n.QUOTE_STRING_MODE] + }, o, { + begin: /^C\s*=(?!=)/, + relevance: 0 + }, a, c] + } + } +})()); +hljs.registerLanguage("kotlin", (() => { + "use strict" + ;var e = "\\.([0-9](_*[0-9])*)", n = "[0-9a-fA-F](_*[0-9a-fA-F])*", a = { + className: "number", variants: [{ + begin: `(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, {begin: `\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`}, { + begin: `(${e})[fFdD]?\\b` + }, {begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b"}, { + begin: `\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, {begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b"}, {begin: `\\b0[xX](${n})[lL]?\\b`}, { + begin: "\\b0(_*[0-7])*[lL]?\\b" + }, {begin: "\\b0[bB][01](_*[01])*[lL]?\\b"}], + relevance: 0 + }; + return e => { + const n = { + keyword: "abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", + built_in: "Byte Short Char Int Long Boolean Float Double Void Unit Nothing", + literal: "true false null" + }, i = { + className: "symbol", begin: e.UNDERSCORE_IDENT_RE + "@" + }, s = {className: "subst", begin: /\$\{/, end: /\}/, contains: [e.C_NUMBER_MODE]}, t = { + className: "variable", begin: "\\$" + e.UNDERSCORE_IDENT_RE + }, r = { + className: "string", + variants: [{begin: '"""', end: '"""(?=[^"])', contains: [t, s]}, { + begin: "'", end: "'", + illegal: /\n/, contains: [e.BACKSLASH_ESCAPE] + }, { + begin: '"', end: '"', illegal: /\n/, + contains: [e.BACKSLASH_ESCAPE, t, s] + }] + }; + s.contains.push(r); + const l = { + className: "meta", + begin: "@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*" + e.UNDERSCORE_IDENT_RE + ")?" + }, c = { + className: "meta", begin: "@" + e.UNDERSCORE_IDENT_RE, contains: [{ + begin: /\(/, + end: /\)/, contains: [e.inherit(r, {className: "meta-string"})] + }] + }, o = a, b = e.COMMENT("/\\*", "\\*/", {contains: [e.C_BLOCK_COMMENT_MODE]}), E = { + variants: [{className: "type", begin: e.UNDERSCORE_IDENT_RE}, { + begin: /\(/, end: /\)/, + contains: [] + }] + }, d = E; + return d.variants[1].contains = [E], E.variants[1].contains = [d], + { + name: "Kotlin", aliases: ["kt", "kts"], keywords: n, + contains: [e.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, contains: [{ + className: "doctag", + begin: "@[A-Za-z]+" + }] + }), e.C_LINE_COMMENT_MODE, b, { + className: "keyword", + begin: /\b(break|continue|return|this)\b/, starts: { + contains: [{ + className: "symbol", + begin: /@\w+/ + }] + } + }, i, l, c, { + className: "function", beginKeywords: "fun", end: "[(]|$", + returnBegin: !0, excludeEnd: !0, keywords: n, relevance: 5, contains: [{ + begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(", returnBegin: !0, relevance: 0, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + className: "type", begin: //, + keywords: "reified", relevance: 0 + }, { + className: "params", begin: /\(/, end: /\)/, + endsParent: !0, keywords: n, relevance: 0, contains: [{ + begin: /:/, end: /[=,\/]/, + endsWithParent: !0, contains: [E, e.C_LINE_COMMENT_MODE, b], relevance: 0 + }, e.C_LINE_COMMENT_MODE, b, l, c, r, e.C_NUMBER_MODE] + }, b] + }, { + className: "class", + beginKeywords: "class interface trait", end: /[:\{(]|$/, excludeEnd: !0, + illegal: "extends implements", contains: [{ + beginKeywords: "public protected internal private constructor" + }, e.UNDERSCORE_TITLE_MODE, { + className: "type", begin: //, excludeBegin: !0, + excludeEnd: !0, relevance: 0 + }, { + className: "type", begin: /[,:]\s*/, end: /[<\(,]|$/, + excludeBegin: !0, returnEnd: !0 + }, l, c] + }, r, { + className: "meta", begin: "^#!/usr/bin/env", + end: "$", illegal: "\n" + }, o] + } + } +})()); +hljs.registerLanguage("erb", (() => { + "use strict"; + return e => ({ + name: "ERB", + subLanguage: "xml", contains: [e.COMMENT("<%#", "%>"), { + begin: "<%[%=-]?", + end: "[%-]?%>", subLanguage: "ruby", excludeBegin: !0, excludeEnd: !0 + }] + }) +})()); +hljs.registerLanguage("mathematica", (() => { + "use strict" + ;const e = ["AASTriangle", "AbelianGroup", "Abort", "AbortKernels", "AbortProtect", "AbortScheduledTask", "Above", "Abs", "AbsArg", "AbsArgPlot", "Absolute", "AbsoluteCorrelation", "AbsoluteCorrelationFunction", "AbsoluteCurrentValue", "AbsoluteDashing", "AbsoluteFileName", "AbsoluteOptions", "AbsolutePointSize", "AbsoluteThickness", "AbsoluteTime", "AbsoluteTiming", "AcceptanceThreshold", "AccountingForm", "Accumulate", "Accuracy", "AccuracyGoal", "ActionDelay", "ActionMenu", "ActionMenuBox", "ActionMenuBoxOptions", "Activate", "Active", "ActiveClassification", "ActiveClassificationObject", "ActiveItem", "ActivePrediction", "ActivePredictionObject", "ActiveStyle", "AcyclicGraphQ", "AddOnHelpPath", "AddSides", "AddTo", "AddToSearchIndex", "AddUsers", "AdjacencyGraph", "AdjacencyList", "AdjacencyMatrix", "AdjacentMeshCells", "AdjustmentBox", "AdjustmentBoxOptions", "AdjustTimeSeriesForecast", "AdministrativeDivisionData", "AffineHalfSpace", "AffineSpace", "AffineStateSpaceModel", "AffineTransform", "After", "AggregatedEntityClass", "AggregationLayer", "AircraftData", "AirportData", "AirPressureData", "AirTemperatureData", "AiryAi", "AiryAiPrime", "AiryAiZero", "AiryBi", "AiryBiPrime", "AiryBiZero", "AlgebraicIntegerQ", "AlgebraicNumber", "AlgebraicNumberDenominator", "AlgebraicNumberNorm", "AlgebraicNumberPolynomial", "AlgebraicNumberTrace", "AlgebraicRules", "AlgebraicRulesData", "Algebraics", "AlgebraicUnitQ", "Alignment", "AlignmentMarker", "AlignmentPoint", "All", "AllowAdultContent", "AllowedCloudExtraParameters", "AllowedCloudParameterExtensions", "AllowedDimensions", "AllowedFrequencyRange", "AllowedHeads", "AllowGroupClose", "AllowIncomplete", "AllowInlineCells", "AllowKernelInitialization", "AllowLooseGrammar", "AllowReverseGroupClose", "AllowScriptLevelChange", "AllowVersionUpdate", "AllTrue", "Alphabet", "AlphabeticOrder", "AlphabeticSort", "AlphaChannel", "AlternateImage", "AlternatingFactorial", "AlternatingGroup", "AlternativeHypothesis", "Alternatives", "AltitudeMethod", "AmbientLight", "AmbiguityFunction", "AmbiguityList", "Analytic", "AnatomyData", "AnatomyForm", "AnatomyPlot3D", "AnatomySkinStyle", "AnatomyStyling", "AnchoredSearch", "And", "AndersonDarlingTest", "AngerJ", "AngleBisector", "AngleBracket", "AnglePath", "AnglePath3D", "AngleVector", "AngularGauge", "Animate", "AnimationCycleOffset", "AnimationCycleRepetitions", "AnimationDirection", "AnimationDisplayTime", "AnimationRate", "AnimationRepetitions", "AnimationRunning", "AnimationRunTime", "AnimationTimeIndex", "Animator", "AnimatorBox", "AnimatorBoxOptions", "AnimatorElements", "Annotate", "Annotation", "AnnotationDelete", "AnnotationKeys", "AnnotationRules", "AnnotationValue", "Annuity", "AnnuityDue", "Annulus", "AnomalyDetection", "AnomalyDetector", "AnomalyDetectorFunction", "Anonymous", "Antialiasing", "AntihermitianMatrixQ", "Antisymmetric", "AntisymmetricMatrixQ", "Antonyms", "AnyOrder", "AnySubset", "AnyTrue", "Apart", "ApartSquareFree", "APIFunction", "Appearance", "AppearanceElements", "AppearanceRules", "AppellF1", "Append", "AppendCheck", "AppendLayer", "AppendTo", "Apply", "ApplySides", "ArcCos", "ArcCosh", "ArcCot", "ArcCoth", "ArcCsc", "ArcCsch", "ArcCurvature", "ARCHProcess", "ArcLength", "ArcSec", "ArcSech", "ArcSin", "ArcSinDistribution", "ArcSinh", "ArcTan", "ArcTanh", "Area", "Arg", "ArgMax", "ArgMin", "ArgumentCountQ", "ARIMAProcess", "ArithmeticGeometricMean", "ARMAProcess", "Around", "AroundReplace", "ARProcess", "Array", "ArrayComponents", "ArrayDepth", "ArrayFilter", "ArrayFlatten", "ArrayMesh", "ArrayPad", "ArrayPlot", "ArrayQ", "ArrayResample", "ArrayReshape", "ArrayRules", "Arrays", "Arrow", "Arrow3DBox", "ArrowBox", "Arrowheads", "ASATriangle", "Ask", "AskAppend", "AskConfirm", "AskDisplay", "AskedQ", "AskedValue", "AskFunction", "AskState", "AskTemplateDisplay", "AspectRatio", "AspectRatioFixed", "Assert", "AssociateTo", "Association", "AssociationFormat", "AssociationMap", "AssociationQ", "AssociationThread", "AssumeDeterministic", "Assuming", "Assumptions", "AstronomicalData", "Asymptotic", "AsymptoticDSolveValue", "AsymptoticEqual", "AsymptoticEquivalent", "AsymptoticGreater", "AsymptoticGreaterEqual", "AsymptoticIntegrate", "AsymptoticLess", "AsymptoticLessEqual", "AsymptoticOutputTracker", "AsymptoticProduct", "AsymptoticRSolveValue", "AsymptoticSolve", "AsymptoticSum", "Asynchronous", "AsynchronousTaskObject", "AsynchronousTasks", "Atom", "AtomCoordinates", "AtomCount", "AtomDiagramCoordinates", "AtomList", "AtomQ", "AttentionLayer", "Attributes", "Audio", "AudioAmplify", "AudioAnnotate", "AudioAnnotationLookup", "AudioBlockMap", "AudioCapture", "AudioChannelAssignment", "AudioChannelCombine", "AudioChannelMix", "AudioChannels", "AudioChannelSeparate", "AudioData", "AudioDelay", "AudioDelete", "AudioDevice", "AudioDistance", "AudioEncoding", "AudioFade", "AudioFrequencyShift", "AudioGenerator", "AudioIdentify", "AudioInputDevice", "AudioInsert", "AudioInstanceQ", "AudioIntervals", "AudioJoin", "AudioLabel", "AudioLength", "AudioLocalMeasurements", "AudioLooping", "AudioLoudness", "AudioMeasurements", "AudioNormalize", "AudioOutputDevice", "AudioOverlay", "AudioPad", "AudioPan", "AudioPartition", "AudioPause", "AudioPitchShift", "AudioPlay", "AudioPlot", "AudioQ", "AudioRecord", "AudioReplace", "AudioResample", "AudioReverb", "AudioReverse", "AudioSampleRate", "AudioSpectralMap", "AudioSpectralTransformation", "AudioSplit", "AudioStop", "AudioStream", "AudioStreams", "AudioTimeStretch", "AudioTracks", "AudioTrim", "AudioType", "AugmentedPolyhedron", "AugmentedSymmetricPolynomial", "Authenticate", "Authentication", "AuthenticationDialog", "AutoAction", "Autocomplete", "AutocompletionFunction", "AutoCopy", "AutocorrelationTest", "AutoDelete", "AutoEvaluateEvents", "AutoGeneratedPackage", "AutoIndent", "AutoIndentSpacings", "AutoItalicWords", "AutoloadPath", "AutoMatch", "Automatic", "AutomaticImageSize", "AutoMultiplicationSymbol", "AutoNumberFormatting", "AutoOpenNotebooks", "AutoOpenPalettes", "AutoQuoteCharacters", "AutoRefreshed", "AutoRemove", "AutorunSequencing", "AutoScaling", "AutoScroll", "AutoSpacing", "AutoStyleOptions", "AutoStyleWords", "AutoSubmitting", "Axes", "AxesEdge", "AxesLabel", "AxesOrigin", "AxesStyle", "AxiomaticTheory", "Axis", "BabyMonsterGroupB", "Back", "Background", "BackgroundAppearance", "BackgroundTasksSettings", "Backslash", "Backsubstitution", "Backward", "Ball", "Band", "BandpassFilter", "BandstopFilter", "BarabasiAlbertGraphDistribution", "BarChart", "BarChart3D", "BarcodeImage", "BarcodeRecognize", "BaringhausHenzeTest", "BarLegend", "BarlowProschanImportance", "BarnesG", "BarOrigin", "BarSpacing", "BartlettHannWindow", "BartlettWindow", "BaseDecode", "BaseEncode", "BaseForm", "Baseline", "BaselinePosition", "BaseStyle", "BasicRecurrentLayer", "BatchNormalizationLayer", "BatchSize", "BatesDistribution", "BattleLemarieWavelet", "BayesianMaximization", "BayesianMaximizationObject", "BayesianMinimization", "BayesianMinimizationObject", "Because", "BeckmannDistribution", "Beep", "Before", "Begin", "BeginDialogPacket", "BeginFrontEndInteractionPacket", "BeginPackage", "BellB", "BellY", "Below", "BenfordDistribution", "BeniniDistribution", "BenktanderGibratDistribution", "BenktanderWeibullDistribution", "BernoulliB", "BernoulliDistribution", "BernoulliGraphDistribution", "BernoulliProcess", "BernsteinBasis", "BesselFilterModel", "BesselI", "BesselJ", "BesselJZero", "BesselK", "BesselY", "BesselYZero", "Beta", "BetaBinomialDistribution", "BetaDistribution", "BetaNegativeBinomialDistribution", "BetaPrimeDistribution", "BetaRegularized", "Between", "BetweennessCentrality", "BeveledPolyhedron", "BezierCurve", "BezierCurve3DBox", "BezierCurve3DBoxOptions", "BezierCurveBox", "BezierCurveBoxOptions", "BezierFunction", "BilateralFilter", "Binarize", "BinaryDeserialize", "BinaryDistance", "BinaryFormat", "BinaryImageQ", "BinaryRead", "BinaryReadList", "BinarySerialize", "BinaryWrite", "BinCounts", "BinLists", "Binomial", "BinomialDistribution", "BinomialProcess", "BinormalDistribution", "BiorthogonalSplineWavelet", "BipartiteGraphQ", "BiquadraticFilterModel", "BirnbaumImportance", "BirnbaumSaundersDistribution", "BitAnd", "BitClear", "BitGet", "BitLength", "BitNot", "BitOr", "BitSet", "BitShiftLeft", "BitShiftRight", "BitXor", "BiweightLocation", "BiweightMidvariance", "Black", "BlackmanHarrisWindow", "BlackmanNuttallWindow", "BlackmanWindow", "Blank", "BlankForm", "BlankNullSequence", "BlankSequence", "Blend", "Block", "BlockchainAddressData", "BlockchainBase", "BlockchainBlockData", "BlockchainContractValue", "BlockchainData", "BlockchainGet", "BlockchainKeyEncode", "BlockchainPut", "BlockchainTokenData", "BlockchainTransaction", "BlockchainTransactionData", "BlockchainTransactionSign", "BlockchainTransactionSubmit", "BlockMap", "BlockRandom", "BlomqvistBeta", "BlomqvistBetaTest", "Blue", "Blur", "BodePlot", "BohmanWindow", "Bold", "Bond", "BondCount", "BondList", "BondQ", "Bookmarks", "Boole", "BooleanConsecutiveFunction", "BooleanConvert", "BooleanCountingFunction", "BooleanFunction", "BooleanGraph", "BooleanMaxterms", "BooleanMinimize", "BooleanMinterms", "BooleanQ", "BooleanRegion", "Booleans", "BooleanStrings", "BooleanTable", "BooleanVariables", "BorderDimensions", "BorelTannerDistribution", "Bottom", "BottomHatTransform", "BoundaryDiscretizeGraphics", "BoundaryDiscretizeRegion", "BoundaryMesh", "BoundaryMeshRegion", "BoundaryMeshRegionQ", "BoundaryStyle", "BoundedRegionQ", "BoundingRegion", "Bounds", "Box", "BoxBaselineShift", "BoxData", "BoxDimensions", "Boxed", "Boxes", "BoxForm", "BoxFormFormatTypes", "BoxFrame", "BoxID", "BoxMargins", "BoxMatrix", "BoxObject", "BoxRatios", "BoxRotation", "BoxRotationPoint", "BoxStyle", "BoxWhiskerChart", "Bra", "BracketingBar", "BraKet", "BrayCurtisDistance", "BreadthFirstScan", "Break", "BridgeData", "BrightnessEqualize", "BroadcastStationData", "Brown", "BrownForsytheTest", "BrownianBridgeProcess", "BrowserCategory", "BSplineBasis", "BSplineCurve", "BSplineCurve3DBox", "BSplineCurve3DBoxOptions", "BSplineCurveBox", "BSplineCurveBoxOptions", "BSplineFunction", "BSplineSurface", "BSplineSurface3DBox", "BSplineSurface3DBoxOptions", "BubbleChart", "BubbleChart3D", "BubbleScale", "BubbleSizes", "BuildingData", "BulletGauge", "BusinessDayQ", "ButterflyGraph", "ButterworthFilterModel", "Button", "ButtonBar", "ButtonBox", "ButtonBoxOptions", "ButtonCell", "ButtonContents", "ButtonData", "ButtonEvaluator", "ButtonExpandable", "ButtonFrame", "ButtonFunction", "ButtonMargins", "ButtonMinHeight", "ButtonNote", "ButtonNotebook", "ButtonSource", "ButtonStyle", "ButtonStyleMenuListing", "Byte", "ByteArray", "ByteArrayFormat", "ByteArrayQ", "ByteArrayToString", "ByteCount", "ByteOrdering", "C", "CachedValue", "CacheGraphics", "CachePersistence", "CalendarConvert", "CalendarData", "CalendarType", "Callout", "CalloutMarker", "CalloutStyle", "CallPacket", "CanberraDistance", "Cancel", "CancelButton", "CandlestickChart", "CanonicalGraph", "CanonicalizePolygon", "CanonicalizePolyhedron", "CanonicalName", "CanonicalWarpingCorrespondence", "CanonicalWarpingDistance", "CantorMesh", "CantorStaircase", "Cap", "CapForm", "CapitalDifferentialD", "Capitalize", "CapsuleShape", "CaptureRunning", "CardinalBSplineBasis", "CarlemanLinearize", "CarmichaelLambda", "CaseOrdering", "Cases", "CaseSensitive", "Cashflow", "Casoratian", "Catalan", "CatalanNumber", "Catch", "CategoricalDistribution", "Catenate", "CatenateLayer", "CauchyDistribution", "CauchyWindow", "CayleyGraph", "CDF", "CDFDeploy", "CDFInformation", "CDFWavelet", "Ceiling", "CelestialSystem", "Cell", "CellAutoOverwrite", "CellBaseline", "CellBoundingBox", "CellBracketOptions", "CellChangeTimes", "CellContents", "CellContext", "CellDingbat", "CellDynamicExpression", "CellEditDuplicate", "CellElementsBoundingBox", "CellElementSpacings", "CellEpilog", "CellEvaluationDuplicate", "CellEvaluationFunction", "CellEvaluationLanguage", "CellEventActions", "CellFrame", "CellFrameColor", "CellFrameLabelMargins", "CellFrameLabels", "CellFrameMargins", "CellGroup", "CellGroupData", "CellGrouping", "CellGroupingRules", "CellHorizontalScrolling", "CellID", "CellLabel", "CellLabelAutoDelete", "CellLabelMargins", "CellLabelPositioning", "CellLabelStyle", "CellLabelTemplate", "CellMargins", "CellObject", "CellOpen", "CellPrint", "CellProlog", "Cells", "CellSize", "CellStyle", "CellTags", "CellularAutomaton", "CensoredDistribution", "Censoring", "Center", "CenterArray", "CenterDot", "CentralFeature", "CentralMoment", "CentralMomentGeneratingFunction", "Cepstrogram", "CepstrogramArray", "CepstrumArray", "CForm", "ChampernowneNumber", "ChangeOptions", "ChannelBase", "ChannelBrokerAction", "ChannelDatabin", "ChannelHistoryLength", "ChannelListen", "ChannelListener", "ChannelListeners", "ChannelListenerWait", "ChannelObject", "ChannelPreSendFunction", "ChannelReceiverFunction", "ChannelSend", "ChannelSubscribers", "ChanVeseBinarize", "Character", "CharacterCounts", "CharacterEncoding", "CharacterEncodingsPath", "CharacteristicFunction", "CharacteristicPolynomial", "CharacterName", "CharacterNormalize", "CharacterRange", "Characters", "ChartBaseStyle", "ChartElementData", "ChartElementDataFunction", "ChartElementFunction", "ChartElements", "ChartLabels", "ChartLayout", "ChartLegends", "ChartStyle", "Chebyshev1FilterModel", "Chebyshev2FilterModel", "ChebyshevDistance", "ChebyshevT", "ChebyshevU", "Check", "CheckAbort", "CheckAll", "Checkbox", "CheckboxBar", "CheckboxBox", "CheckboxBoxOptions", "ChemicalData", "ChessboardDistance", "ChiDistribution", "ChineseRemainder", "ChiSquareDistribution", "ChoiceButtons", "ChoiceDialog", "CholeskyDecomposition", "Chop", "ChromaticityPlot", "ChromaticityPlot3D", "ChromaticPolynomial", "Circle", "CircleBox", "CircleDot", "CircleMinus", "CirclePlus", "CirclePoints", "CircleThrough", "CircleTimes", "CirculantGraph", "CircularOrthogonalMatrixDistribution", "CircularQuaternionMatrixDistribution", "CircularRealMatrixDistribution", "CircularSymplecticMatrixDistribution", "CircularUnitaryMatrixDistribution", "Circumsphere", "CityData", "ClassifierFunction", "ClassifierInformation", "ClassifierMeasurements", "ClassifierMeasurementsObject", "Classify", "ClassPriors", "Clear", "ClearAll", "ClearAttributes", "ClearCookies", "ClearPermissions", "ClearSystemCache", "ClebschGordan", "ClickPane", "Clip", "ClipboardNotebook", "ClipFill", "ClippingStyle", "ClipPlanes", "ClipPlanesStyle", "ClipRange", "Clock", "ClockGauge", "ClockwiseContourIntegral", "Close", "Closed", "CloseKernels", "ClosenessCentrality", "Closing", "ClosingAutoSave", "ClosingEvent", "ClosingSaveDialog", "CloudAccountData", "CloudBase", "CloudConnect", "CloudConnections", "CloudDeploy", "CloudDirectory", "CloudDisconnect", "CloudEvaluate", "CloudExport", "CloudExpression", "CloudExpressions", "CloudFunction", "CloudGet", "CloudImport", "CloudLoggingData", "CloudObject", "CloudObjectInformation", "CloudObjectInformationData", "CloudObjectNameFormat", "CloudObjects", "CloudObjectURLType", "CloudPublish", "CloudPut", "CloudRenderingMethod", "CloudSave", "CloudShare", "CloudSubmit", "CloudSymbol", "CloudUnshare", "CloudUserID", "ClusterClassify", "ClusterDissimilarityFunction", "ClusteringComponents", "ClusteringTree", "CMYKColor", "Coarse", "CodeAssistOptions", "Coefficient", "CoefficientArrays", "CoefficientDomain", "CoefficientList", "CoefficientRules", "CoifletWavelet", "Collect", "Colon", "ColonForm", "ColorBalance", "ColorCombine", "ColorConvert", "ColorCoverage", "ColorData", "ColorDataFunction", "ColorDetect", "ColorDistance", "ColorFunction", "ColorFunctionScaling", "Colorize", "ColorNegate", "ColorOutput", "ColorProfileData", "ColorQ", "ColorQuantize", "ColorReplace", "ColorRules", "ColorSelectorSettings", "ColorSeparate", "ColorSetter", "ColorSetterBox", "ColorSetterBoxOptions", "ColorSlider", "ColorsNear", "ColorSpace", "ColorToneMapping", "Column", "ColumnAlignments", "ColumnBackgrounds", "ColumnForm", "ColumnLines", "ColumnsEqual", "ColumnSpacings", "ColumnWidths", "CombinedEntityClass", "CombinerFunction", "CometData", "CommonDefaultFormatTypes", "Commonest", "CommonestFilter", "CommonName", "CommonUnits", "CommunityBoundaryStyle", "CommunityGraphPlot", "CommunityLabels", "CommunityRegionStyle", "CompanyData", "CompatibleUnitQ", "CompilationOptions", "CompilationTarget", "Compile", "Compiled", "CompiledCodeFunction", "CompiledFunction", "CompilerOptions", "Complement", "ComplementedEntityClass", "CompleteGraph", "CompleteGraphQ", "CompleteKaryTree", "CompletionsListPacket", "Complex", "ComplexContourPlot", "Complexes", "ComplexExpand", "ComplexInfinity", "ComplexityFunction", "ComplexListPlot", "ComplexPlot", "ComplexPlot3D", "ComplexRegionPlot", "ComplexStreamPlot", "ComplexVectorPlot", "ComponentMeasurements", "ComponentwiseContextMenu", "Compose", "ComposeList", "ComposeSeries", "CompositeQ", "Composition", "CompoundElement", "CompoundExpression", "CompoundPoissonDistribution", "CompoundPoissonProcess", "CompoundRenewalProcess", "Compress", "CompressedData", "CompressionLevel", "ComputeUncertainty", "Condition", "ConditionalExpression", "Conditioned", "Cone", "ConeBox", "ConfidenceLevel", "ConfidenceRange", "ConfidenceTransform", "ConfigurationPath", "ConformAudio", "ConformImages", "Congruent", "ConicHullRegion", "ConicHullRegion3DBox", "ConicHullRegionBox", "ConicOptimization", "Conjugate", "ConjugateTranspose", "Conjunction", "Connect", "ConnectedComponents", "ConnectedGraphComponents", "ConnectedGraphQ", "ConnectedMeshComponents", "ConnectedMoleculeComponents", "ConnectedMoleculeQ", "ConnectionSettings", "ConnectLibraryCallbackFunction", "ConnectSystemModelComponents", "ConnesWindow", "ConoverTest", "ConsoleMessage", "ConsoleMessagePacket", "Constant", "ConstantArray", "ConstantArrayLayer", "ConstantImage", "ConstantPlusLayer", "ConstantRegionQ", "Constants", "ConstantTimesLayer", "ConstellationData", "ConstrainedMax", "ConstrainedMin", "Construct", "Containing", "ContainsAll", "ContainsAny", "ContainsExactly", "ContainsNone", "ContainsOnly", "ContentFieldOptions", "ContentLocationFunction", "ContentObject", "ContentPadding", "ContentsBoundingBox", "ContentSelectable", "ContentSize", "Context", "ContextMenu", "Contexts", "ContextToFileName", "Continuation", "Continue", "ContinuedFraction", "ContinuedFractionK", "ContinuousAction", "ContinuousMarkovProcess", "ContinuousTask", "ContinuousTimeModelQ", "ContinuousWaveletData", "ContinuousWaveletTransform", "ContourDetect", "ContourGraphics", "ContourIntegral", "ContourLabels", "ContourLines", "ContourPlot", "ContourPlot3D", "Contours", "ContourShading", "ContourSmoothing", "ContourStyle", "ContraharmonicMean", "ContrastiveLossLayer", "Control", "ControlActive", "ControlAlignment", "ControlGroupContentsBox", "ControllabilityGramian", "ControllabilityMatrix", "ControllableDecomposition", "ControllableModelQ", "ControllerDuration", "ControllerInformation", "ControllerInformationData", "ControllerLinking", "ControllerManipulate", "ControllerMethod", "ControllerPath", "ControllerState", "ControlPlacement", "ControlsRendering", "ControlType", "Convergents", "ConversionOptions", "ConversionRules", "ConvertToBitmapPacket", "ConvertToPostScript", "ConvertToPostScriptPacket", "ConvexHullMesh", "ConvexPolygonQ", "ConvexPolyhedronQ", "ConvolutionLayer", "Convolve", "ConwayGroupCo1", "ConwayGroupCo2", "ConwayGroupCo3", "CookieFunction", "Cookies", "CoordinateBoundingBox", "CoordinateBoundingBoxArray", "CoordinateBounds", "CoordinateBoundsArray", "CoordinateChartData", "CoordinatesToolOptions", "CoordinateTransform", "CoordinateTransformData", "CoprimeQ", "Coproduct", "CopulaDistribution", "Copyable", "CopyDatabin", "CopyDirectory", "CopyFile", "CopyTag", "CopyToClipboard", "CornerFilter", "CornerNeighbors", "Correlation", "CorrelationDistance", "CorrelationFunction", "CorrelationTest", "Cos", "Cosh", "CoshIntegral", "CosineDistance", "CosineWindow", "CosIntegral", "Cot", "Coth", "Count", "CountDistinct", "CountDistinctBy", "CounterAssignments", "CounterBox", "CounterBoxOptions", "CounterClockwiseContourIntegral", "CounterEvaluator", "CounterFunction", "CounterIncrements", "CounterStyle", "CounterStyleMenuListing", "CountRoots", "CountryData", "Counts", "CountsBy", "Covariance", "CovarianceEstimatorFunction", "CovarianceFunction", "CoxianDistribution", "CoxIngersollRossProcess", "CoxModel", "CoxModelFit", "CramerVonMisesTest", "CreateArchive", "CreateCellID", "CreateChannel", "CreateCloudExpression", "CreateDatabin", "CreateDataStructure", "CreateDataSystemModel", "CreateDialog", "CreateDirectory", "CreateDocument", "CreateFile", "CreateIntermediateDirectories", "CreateManagedLibraryExpression", "CreateNotebook", "CreatePacletArchive", "CreatePalette", "CreatePalettePacket", "CreatePermissionsGroup", "CreateScheduledTask", "CreateSearchIndex", "CreateSystemModel", "CreateTemporary", "CreateUUID", "CreateWindow", "CriterionFunction", "CriticalityFailureImportance", "CriticalitySuccessImportance", "CriticalSection", "Cross", "CrossEntropyLossLayer", "CrossingCount", "CrossingDetect", "CrossingPolygon", "CrossMatrix", "Csc", "Csch", "CTCLossLayer", "Cube", "CubeRoot", "Cubics", "Cuboid", "CuboidBox", "Cumulant", "CumulantGeneratingFunction", "Cup", "CupCap", "Curl", "CurlyDoubleQuote", "CurlyQuote", "CurrencyConvert", "CurrentDate", "CurrentImage", "CurrentlySpeakingPacket", "CurrentNotebookImage", "CurrentScreenImage", "CurrentValue", "Curry", "CurryApplied", "CurvatureFlowFilter", "CurveClosed", "Cyan", "CycleGraph", "CycleIndexPolynomial", "Cycles", "CyclicGroup", "Cyclotomic", "Cylinder", "CylinderBox", "CylindricalDecomposition", "D", "DagumDistribution", "DamData", "DamerauLevenshteinDistance", "DampingFactor", "Darker", "Dashed", "Dashing", "DatabaseConnect", "DatabaseDisconnect", "DatabaseReference", "Databin", "DatabinAdd", "DatabinRemove", "Databins", "DatabinUpload", "DataCompression", "DataDistribution", "DataRange", "DataReversed", "Dataset", "DatasetDisplayPanel", "DataStructure", "DataStructureQ", "Date", "DateBounds", "Dated", "DateDelimiters", "DateDifference", "DatedUnit", "DateFormat", "DateFunction", "DateHistogram", "DateInterval", "DateList", "DateListLogPlot", "DateListPlot", "DateListStepPlot", "DateObject", "DateObjectQ", "DateOverlapsQ", "DatePattern", "DatePlus", "DateRange", "DateReduction", "DateString", "DateTicksFormat", "DateValue", "DateWithinQ", "DaubechiesWavelet", "DavisDistribution", "DawsonF", "DayCount", "DayCountConvention", "DayHemisphere", "DaylightQ", "DayMatchQ", "DayName", "DayNightTerminator", "DayPlus", "DayRange", "DayRound", "DeBruijnGraph", "DeBruijnSequence", "Debug", "DebugTag", "Decapitalize", "Decimal", "DecimalForm", "DeclareKnownSymbols", "DeclarePackage", "Decompose", "DeconvolutionLayer", "Decrement", "Decrypt", "DecryptFile", "DedekindEta", "DeepSpaceProbeData", "Default", "DefaultAxesStyle", "DefaultBaseStyle", "DefaultBoxStyle", "DefaultButton", "DefaultColor", "DefaultControlPlacement", "DefaultDuplicateCellStyle", "DefaultDuration", "DefaultElement", "DefaultFaceGridsStyle", "DefaultFieldHintStyle", "DefaultFont", "DefaultFontProperties", "DefaultFormatType", "DefaultFormatTypeForStyle", "DefaultFrameStyle", "DefaultFrameTicksStyle", "DefaultGridLinesStyle", "DefaultInlineFormatType", "DefaultInputFormatType", "DefaultLabelStyle", "DefaultMenuStyle", "DefaultNaturalLanguage", "DefaultNewCellStyle", "DefaultNewInlineCellStyle", "DefaultNotebook", "DefaultOptions", "DefaultOutputFormatType", "DefaultPrintPrecision", "DefaultStyle", "DefaultStyleDefinitions", "DefaultTextFormatType", "DefaultTextInlineFormatType", "DefaultTicksStyle", "DefaultTooltipStyle", "DefaultValue", "DefaultValues", "Defer", "DefineExternal", "DefineInputStreamMethod", "DefineOutputStreamMethod", "DefineResourceFunction", "Definition", "Degree", "DegreeCentrality", "DegreeGraphDistribution", "DegreeLexicographic", "DegreeReverseLexicographic", "DEigensystem", "DEigenvalues", "Deinitialization", "Del", "DelaunayMesh", "Delayed", "Deletable", "Delete", "DeleteAnomalies", "DeleteBorderComponents", "DeleteCases", "DeleteChannel", "DeleteCloudExpression", "DeleteContents", "DeleteDirectory", "DeleteDuplicates", "DeleteDuplicatesBy", "DeleteFile", "DeleteMissing", "DeleteObject", "DeletePermissionsKey", "DeleteSearchIndex", "DeleteSmallComponents", "DeleteStopwords", "DeleteWithContents", "DeletionWarning", "DelimitedArray", "DelimitedSequence", "Delimiter", "DelimiterFlashTime", "DelimiterMatching", "Delimiters", "DeliveryFunction", "Dendrogram", "Denominator", "DensityGraphics", "DensityHistogram", "DensityPlot", "DensityPlot3D", "DependentVariables", "Deploy", "Deployed", "Depth", "DepthFirstScan", "Derivative", "DerivativeFilter", "DerivedKey", "DescriptorStateSpace", "DesignMatrix", "DestroyAfterEvaluation", "Det", "DeviceClose", "DeviceConfigure", "DeviceExecute", "DeviceExecuteAsynchronous", "DeviceObject", "DeviceOpen", "DeviceOpenQ", "DeviceRead", "DeviceReadBuffer", "DeviceReadLatest", "DeviceReadList", "DeviceReadTimeSeries", "Devices", "DeviceStreams", "DeviceWrite", "DeviceWriteBuffer", "DGaussianWavelet", "DiacriticalPositioning", "Diagonal", "DiagonalizableMatrixQ", "DiagonalMatrix", "DiagonalMatrixQ", "Dialog", "DialogIndent", "DialogInput", "DialogLevel", "DialogNotebook", "DialogProlog", "DialogReturn", "DialogSymbols", "Diamond", "DiamondMatrix", "DiceDissimilarity", "DictionaryLookup", "DictionaryWordQ", "DifferenceDelta", "DifferenceOrder", "DifferenceQuotient", "DifferenceRoot", "DifferenceRootReduce", "Differences", "DifferentialD", "DifferentialRoot", "DifferentialRootReduce", "DifferentiatorFilter", "DigitalSignature", "DigitBlock", "DigitBlockMinimum", "DigitCharacter", "DigitCount", "DigitQ", "DihedralAngle", "DihedralGroup", "Dilation", "DimensionalCombinations", "DimensionalMeshComponents", "DimensionReduce", "DimensionReducerFunction", "DimensionReduction", "Dimensions", "DiracComb", "DiracDelta", "DirectedEdge", "DirectedEdges", "DirectedGraph", "DirectedGraphQ", "DirectedInfinity", "Direction", "Directive", "Directory", "DirectoryName", "DirectoryQ", "DirectoryStack", "DirichletBeta", "DirichletCharacter", "DirichletCondition", "DirichletConvolve", "DirichletDistribution", "DirichletEta", "DirichletL", "DirichletLambda", "DirichletTransform", "DirichletWindow", "DisableConsolePrintPacket", "DisableFormatting", "DiscreteAsymptotic", "DiscreteChirpZTransform", "DiscreteConvolve", "DiscreteDelta", "DiscreteHadamardTransform", "DiscreteIndicator", "DiscreteLimit", "DiscreteLQEstimatorGains", "DiscreteLQRegulatorGains", "DiscreteLyapunovSolve", "DiscreteMarkovProcess", "DiscreteMaxLimit", "DiscreteMinLimit", "DiscretePlot", "DiscretePlot3D", "DiscreteRatio", "DiscreteRiccatiSolve", "DiscreteShift", "DiscreteTimeModelQ", "DiscreteUniformDistribution", "DiscreteVariables", "DiscreteWaveletData", "DiscreteWaveletPacketTransform", "DiscreteWaveletTransform", "DiscretizeGraphics", "DiscretizeRegion", "Discriminant", "DisjointQ", "Disjunction", "Disk", "DiskBox", "DiskMatrix", "DiskSegment", "Dispatch", "DispatchQ", "DispersionEstimatorFunction", "Display", "DisplayAllSteps", "DisplayEndPacket", "DisplayFlushImagePacket", "DisplayForm", "DisplayFunction", "DisplayPacket", "DisplayRules", "DisplaySetSizePacket", "DisplayString", "DisplayTemporary", "DisplayWith", "DisplayWithRef", "DisplayWithVariable", "DistanceFunction", "DistanceMatrix", "DistanceTransform", "Distribute", "Distributed", "DistributedContexts", "DistributeDefinitions", "DistributionChart", "DistributionDomain", "DistributionFitTest", "DistributionParameterAssumptions", "DistributionParameterQ", "Dithering", "Div", "Divergence", "Divide", "DivideBy", "Dividers", "DivideSides", "Divisible", "Divisors", "DivisorSigma", "DivisorSum", "DMSList", "DMSString", "Do", "DockedCells", "DocumentGenerator", "DocumentGeneratorInformation", "DocumentGeneratorInformationData", "DocumentGenerators", "DocumentNotebook", "DocumentWeightingRules", "Dodecahedron", "DomainRegistrationInformation", "DominantColors", "DOSTextFormat", "Dot", "DotDashed", "DotEqual", "DotLayer", "DotPlusLayer", "Dotted", "DoubleBracketingBar", "DoubleContourIntegral", "DoubleDownArrow", "DoubleLeftArrow", "DoubleLeftRightArrow", "DoubleLeftTee", "DoubleLongLeftArrow", "DoubleLongLeftRightArrow", "DoubleLongRightArrow", "DoubleRightArrow", "DoubleRightTee", "DoubleUpArrow", "DoubleUpDownArrow", "DoubleVerticalBar", "DoublyInfinite", "Down", "DownArrow", "DownArrowBar", "DownArrowUpArrow", "DownLeftRightVector", "DownLeftTeeVector", "DownLeftVector", "DownLeftVectorBar", "DownRightTeeVector", "DownRightVector", "DownRightVectorBar", "Downsample", "DownTee", "DownTeeArrow", "DownValues", "DragAndDrop", "DrawEdges", "DrawFrontFaces", "DrawHighlighted", "Drop", "DropoutLayer", "DSolve", "DSolveValue", "Dt", "DualLinearProgramming", "DualPolyhedron", "DualSystemsModel", "DumpGet", "DumpSave", "DuplicateFreeQ", "Duration", "Dynamic", "DynamicBox", "DynamicBoxOptions", "DynamicEvaluationTimeout", "DynamicGeoGraphics", "DynamicImage", "DynamicLocation", "DynamicModule", "DynamicModuleBox", "DynamicModuleBoxOptions", "DynamicModuleParent", "DynamicModuleValues", "DynamicName", "DynamicNamespace", "DynamicReference", "DynamicSetting", "DynamicUpdating", "DynamicWrapper", "DynamicWrapperBox", "DynamicWrapperBoxOptions", "E", "EarthImpactData", "EarthquakeData", "EccentricityCentrality", "Echo", "EchoFunction", "EclipseType", "EdgeAdd", "EdgeBetweennessCentrality", "EdgeCapacity", "EdgeCapForm", "EdgeColor", "EdgeConnectivity", "EdgeContract", "EdgeCost", "EdgeCount", "EdgeCoverQ", "EdgeCycleMatrix", "EdgeDashing", "EdgeDelete", "EdgeDetect", "EdgeForm", "EdgeIndex", "EdgeJoinForm", "EdgeLabeling", "EdgeLabels", "EdgeLabelStyle", "EdgeList", "EdgeOpacity", "EdgeQ", "EdgeRenderingFunction", "EdgeRules", "EdgeShapeFunction", "EdgeStyle", "EdgeTaggedGraph", "EdgeTaggedGraphQ", "EdgeTags", "EdgeThickness", "EdgeWeight", "EdgeWeightedGraphQ", "Editable", "EditButtonSettings", "EditCellTagsSettings", "EditDistance", "EffectiveInterest", "Eigensystem", "Eigenvalues", "EigenvectorCentrality", "Eigenvectors", "Element", "ElementData", "ElementwiseLayer", "ElidedForms", "Eliminate", "EliminationOrder", "Ellipsoid", "EllipticE", "EllipticExp", "EllipticExpPrime", "EllipticF", "EllipticFilterModel", "EllipticK", "EllipticLog", "EllipticNomeQ", "EllipticPi", "EllipticReducedHalfPeriods", "EllipticTheta", "EllipticThetaPrime", "EmbedCode", "EmbeddedHTML", "EmbeddedService", "EmbeddingLayer", "EmbeddingObject", "EmitSound", "EmphasizeSyntaxErrors", "EmpiricalDistribution", "Empty", "EmptyGraphQ", "EmptyRegion", "EnableConsolePrintPacket", "Enabled", "Encode", "Encrypt", "EncryptedObject", "EncryptFile", "End", "EndAdd", "EndDialogPacket", "EndFrontEndInteractionPacket", "EndOfBuffer", "EndOfFile", "EndOfLine", "EndOfString", "EndPackage", "EngineEnvironment", "EngineeringForm", "Enter", "EnterExpressionPacket", "EnterTextPacket", "Entity", "EntityClass", "EntityClassList", "EntityCopies", "EntityFunction", "EntityGroup", "EntityInstance", "EntityList", "EntityPrefetch", "EntityProperties", "EntityProperty", "EntityPropertyClass", "EntityRegister", "EntityStore", "EntityStores", "EntityTypeName", "EntityUnregister", "EntityValue", "Entropy", "EntropyFilter", "Environment", "Epilog", "EpilogFunction", "Equal", "EqualColumns", "EqualRows", "EqualTilde", "EqualTo", "EquatedTo", "Equilibrium", "EquirippleFilterKernel", "Equivalent", "Erf", "Erfc", "Erfi", "ErlangB", "ErlangC", "ErlangDistribution", "Erosion", "ErrorBox", "ErrorBoxOptions", "ErrorNorm", "ErrorPacket", "ErrorsDialogSettings", "EscapeRadius", "EstimatedBackground", "EstimatedDistribution", "EstimatedProcess", "EstimatorGains", "EstimatorRegulator", "EuclideanDistance", "EulerAngles", "EulerCharacteristic", "EulerE", "EulerGamma", "EulerianGraphQ", "EulerMatrix", "EulerPhi", "Evaluatable", "Evaluate", "Evaluated", "EvaluatePacket", "EvaluateScheduledTask", "EvaluationBox", "EvaluationCell", "EvaluationCompletionAction", "EvaluationData", "EvaluationElements", "EvaluationEnvironment", "EvaluationMode", "EvaluationMonitor", "EvaluationNotebook", "EvaluationObject", "EvaluationOrder", "Evaluator", "EvaluatorNames", "EvenQ", "EventData", "EventEvaluator", "EventHandler", "EventHandlerTag", "EventLabels", "EventSeries", "ExactBlackmanWindow", "ExactNumberQ", "ExactRootIsolation", "ExampleData", "Except", "ExcludedForms", "ExcludedLines", "ExcludedPhysicalQuantities", "ExcludePods", "Exclusions", "ExclusionsStyle", "Exists", "Exit", "ExitDialog", "ExoplanetData", "Exp", "Expand", "ExpandAll", "ExpandDenominator", "ExpandFileName", "ExpandNumerator", "Expectation", "ExpectationE", "ExpectedValue", "ExpGammaDistribution", "ExpIntegralE", "ExpIntegralEi", "ExpirationDate", "Exponent", "ExponentFunction", "ExponentialDistribution", "ExponentialFamily", "ExponentialGeneratingFunction", "ExponentialMovingAverage", "ExponentialPowerDistribution", "ExponentPosition", "ExponentStep", "Export", "ExportAutoReplacements", "ExportByteArray", "ExportForm", "ExportPacket", "ExportString", "Expression", "ExpressionCell", "ExpressionGraph", "ExpressionPacket", "ExpressionUUID", "ExpToTrig", "ExtendedEntityClass", "ExtendedGCD", "Extension", "ExtentElementFunction", "ExtentMarkers", "ExtentSize", "ExternalBundle", "ExternalCall", "ExternalDataCharacterEncoding", "ExternalEvaluate", "ExternalFunction", "ExternalFunctionName", "ExternalIdentifier", "ExternalObject", "ExternalOptions", "ExternalSessionObject", "ExternalSessions", "ExternalStorageBase", "ExternalStorageDownload", "ExternalStorageGet", "ExternalStorageObject", "ExternalStoragePut", "ExternalStorageUpload", "ExternalTypeSignature", "ExternalValue", "Extract", "ExtractArchive", "ExtractLayer", "ExtractPacletArchive", "ExtremeValueDistribution", "FaceAlign", "FaceForm", "FaceGrids", "FaceGridsStyle", "FacialFeatures", "Factor", "FactorComplete", "Factorial", "Factorial2", "FactorialMoment", "FactorialMomentGeneratingFunction", "FactorialPower", "FactorInteger", "FactorList", "FactorSquareFree", "FactorSquareFreeList", "FactorTerms", "FactorTermsList", "Fail", "Failure", "FailureAction", "FailureDistribution", "FailureQ", "False", "FareySequence", "FARIMAProcess", "FeatureDistance", "FeatureExtract", "FeatureExtraction", "FeatureExtractor", "FeatureExtractorFunction", "FeatureNames", "FeatureNearest", "FeatureSpacePlot", "FeatureSpacePlot3D", "FeatureTypes", "FEDisableConsolePrintPacket", "FeedbackLinearize", "FeedbackSector", "FeedbackSectorStyle", "FeedbackType", "FEEnableConsolePrintPacket", "FetalGrowthData", "Fibonacci", "Fibonorial", "FieldCompletionFunction", "FieldHint", "FieldHintStyle", "FieldMasked", "FieldSize", "File", "FileBaseName", "FileByteCount", "FileConvert", "FileDate", "FileExistsQ", "FileExtension", "FileFormat", "FileHandler", "FileHash", "FileInformation", "FileName", "FileNameDepth", "FileNameDialogSettings", "FileNameDrop", "FileNameForms", "FileNameJoin", "FileNames", "FileNameSetter", "FileNameSplit", "FileNameTake", "FilePrint", "FileSize", "FileSystemMap", "FileSystemScan", "FileTemplate", "FileTemplateApply", "FileType", "FilledCurve", "FilledCurveBox", "FilledCurveBoxOptions", "Filling", "FillingStyle", "FillingTransform", "FilteredEntityClass", "FilterRules", "FinancialBond", "FinancialData", "FinancialDerivative", "FinancialIndicator", "Find", "FindAnomalies", "FindArgMax", "FindArgMin", "FindChannels", "FindClique", "FindClusters", "FindCookies", "FindCurvePath", "FindCycle", "FindDevices", "FindDistribution", "FindDistributionParameters", "FindDivisions", "FindEdgeCover", "FindEdgeCut", "FindEdgeIndependentPaths", "FindEquationalProof", "FindEulerianCycle", "FindExternalEvaluators", "FindFaces", "FindFile", "FindFit", "FindFormula", "FindFundamentalCycles", "FindGeneratingFunction", "FindGeoLocation", "FindGeometricConjectures", "FindGeometricTransform", "FindGraphCommunities", "FindGraphIsomorphism", "FindGraphPartition", "FindHamiltonianCycle", "FindHamiltonianPath", "FindHiddenMarkovStates", "FindImageText", "FindIndependentEdgeSet", "FindIndependentVertexSet", "FindInstance", "FindIntegerNullVector", "FindKClan", "FindKClique", "FindKClub", "FindKPlex", "FindLibrary", "FindLinearRecurrence", "FindList", "FindMatchingColor", "FindMaximum", "FindMaximumCut", "FindMaximumFlow", "FindMaxValue", "FindMeshDefects", "FindMinimum", "FindMinimumCostFlow", "FindMinimumCut", "FindMinValue", "FindMoleculeSubstructure", "FindPath", "FindPeaks", "FindPermutation", "FindPostmanTour", "FindProcessParameters", "FindRepeat", "FindRoot", "FindSequenceFunction", "FindSettings", "FindShortestPath", "FindShortestTour", "FindSpanningTree", "FindSystemModelEquilibrium", "FindTextualAnswer", "FindThreshold", "FindTransientRepeat", "FindVertexCover", "FindVertexCut", "FindVertexIndependentPaths", "Fine", "FinishDynamic", "FiniteAbelianGroupCount", "FiniteGroupCount", "FiniteGroupData", "First", "FirstCase", "FirstPassageTimeDistribution", "FirstPosition", "FischerGroupFi22", "FischerGroupFi23", "FischerGroupFi24Prime", "FisherHypergeometricDistribution", "FisherRatioTest", "FisherZDistribution", "Fit", "FitAll", "FitRegularization", "FittedModel", "FixedOrder", "FixedPoint", "FixedPointList", "FlashSelection", "Flat", "Flatten", "FlattenAt", "FlattenLayer", "FlatTopWindow", "FlipView", "Floor", "FlowPolynomial", "FlushPrintOutputPacket", "Fold", "FoldList", "FoldPair", "FoldPairList", "FollowRedirects", "Font", "FontColor", "FontFamily", "FontForm", "FontName", "FontOpacity", "FontPostScriptName", "FontProperties", "FontReencoding", "FontSize", "FontSlant", "FontSubstitutions", "FontTracking", "FontVariations", "FontWeight", "For", "ForAll", "ForceVersionInstall", "Format", "FormatRules", "FormatType", "FormatTypeAutoConvert", "FormatValues", "FormBox", "FormBoxOptions", "FormControl", "FormFunction", "FormLayoutFunction", "FormObject", "FormPage", "FormTheme", "FormulaData", "FormulaLookup", "FortranForm", "Forward", "ForwardBackward", "Fourier", "FourierCoefficient", "FourierCosCoefficient", "FourierCosSeries", "FourierCosTransform", "FourierDCT", "FourierDCTFilter", "FourierDCTMatrix", "FourierDST", "FourierDSTMatrix", "FourierMatrix", "FourierParameters", "FourierSequenceTransform", "FourierSeries", "FourierSinCoefficient", "FourierSinSeries", "FourierSinTransform", "FourierTransform", "FourierTrigSeries", "FractionalBrownianMotionProcess", "FractionalGaussianNoiseProcess", "FractionalPart", "FractionBox", "FractionBoxOptions", "FractionLine", "Frame", "FrameBox", "FrameBoxOptions", "Framed", "FrameInset", "FrameLabel", "Frameless", "FrameMargins", "FrameRate", "FrameStyle", "FrameTicks", "FrameTicksStyle", "FRatioDistribution", "FrechetDistribution", "FreeQ", "FrenetSerretSystem", "FrequencySamplingFilterKernel", "FresnelC", "FresnelF", "FresnelG", "FresnelS", "Friday", "FrobeniusNumber", "FrobeniusSolve", "FromAbsoluteTime", "FromCharacterCode", "FromCoefficientRules", "FromContinuedFraction", "FromDate", "FromDigits", "FromDMS", "FromEntity", "FromJulianDate", "FromLetterNumber", "FromPolarCoordinates", "FromRomanNumeral", "FromSphericalCoordinates", "FromUnixTime", "Front", "FrontEndDynamicExpression", "FrontEndEventActions", "FrontEndExecute", "FrontEndObject", "FrontEndResource", "FrontEndResourceString", "FrontEndStackSize", "FrontEndToken", "FrontEndTokenExecute", "FrontEndValueCache", "FrontEndVersion", "FrontFaceColor", "FrontFaceOpacity", "Full", "FullAxes", "FullDefinition", "FullForm", "FullGraphics", "FullInformationOutputRegulator", "FullOptions", "FullRegion", "FullSimplify", "Function", "FunctionCompile", "FunctionCompileExport", "FunctionCompileExportByteArray", "FunctionCompileExportLibrary", "FunctionCompileExportString", "FunctionDomain", "FunctionExpand", "FunctionInterpolation", "FunctionPeriod", "FunctionRange", "FunctionSpace", "FussellVeselyImportance", "GaborFilter", "GaborMatrix", "GaborWavelet", "GainMargins", "GainPhaseMargins", "GalaxyData", "GalleryView", "Gamma", "GammaDistribution", "GammaRegularized", "GapPenalty", "GARCHProcess", "GatedRecurrentLayer", "Gather", "GatherBy", "GaugeFaceElementFunction", "GaugeFaceStyle", "GaugeFrameElementFunction", "GaugeFrameSize", "GaugeFrameStyle", "GaugeLabels", "GaugeMarkers", "GaugeStyle", "GaussianFilter", "GaussianIntegers", "GaussianMatrix", "GaussianOrthogonalMatrixDistribution", "GaussianSymplecticMatrixDistribution", "GaussianUnitaryMatrixDistribution", "GaussianWindow", "GCD", "GegenbauerC", "General", "GeneralizedLinearModelFit", "GenerateAsymmetricKeyPair", "GenerateConditions", "GeneratedCell", "GeneratedDocumentBinding", "GenerateDerivedKey", "GenerateDigitalSignature", "GenerateDocument", "GeneratedParameters", "GeneratedQuantityMagnitudes", "GenerateFileSignature", "GenerateHTTPResponse", "GenerateSecuredAuthenticationKey", "GenerateSymmetricKey", "GeneratingFunction", "GeneratorDescription", "GeneratorHistoryLength", "GeneratorOutputType", "Generic", "GenericCylindricalDecomposition", "GenomeData", "GenomeLookup", "GeoAntipode", "GeoArea", "GeoArraySize", "GeoBackground", "GeoBoundingBox", "GeoBounds", "GeoBoundsRegion", "GeoBubbleChart", "GeoCenter", "GeoCircle", "GeoContourPlot", "GeoDensityPlot", "GeodesicClosing", "GeodesicDilation", "GeodesicErosion", "GeodesicOpening", "GeoDestination", "GeodesyData", "GeoDirection", "GeoDisk", "GeoDisplacement", "GeoDistance", "GeoDistanceList", "GeoElevationData", "GeoEntities", "GeoGraphics", "GeogravityModelData", "GeoGridDirectionDifference", "GeoGridLines", "GeoGridLinesStyle", "GeoGridPosition", "GeoGridRange", "GeoGridRangePadding", "GeoGridUnitArea", "GeoGridUnitDistance", "GeoGridVector", "GeoGroup", "GeoHemisphere", "GeoHemisphereBoundary", "GeoHistogram", "GeoIdentify", "GeoImage", "GeoLabels", "GeoLength", "GeoListPlot", "GeoLocation", "GeologicalPeriodData", "GeomagneticModelData", "GeoMarker", "GeometricAssertion", "GeometricBrownianMotionProcess", "GeometricDistribution", "GeometricMean", "GeometricMeanFilter", "GeometricOptimization", "GeometricScene", "GeometricTransformation", "GeometricTransformation3DBox", "GeometricTransformation3DBoxOptions", "GeometricTransformationBox", "GeometricTransformationBoxOptions", "GeoModel", "GeoNearest", "GeoPath", "GeoPosition", "GeoPositionENU", "GeoPositionXYZ", "GeoProjection", "GeoProjectionData", "GeoRange", "GeoRangePadding", "GeoRegionValuePlot", "GeoResolution", "GeoScaleBar", "GeoServer", "GeoSmoothHistogram", "GeoStreamPlot", "GeoStyling", "GeoStylingImageFunction", "GeoVariant", "GeoVector", "GeoVectorENU", "GeoVectorPlot", "GeoVectorXYZ", "GeoVisibleRegion", "GeoVisibleRegionBoundary", "GeoWithinQ", "GeoZoomLevel", "GestureHandler", "GestureHandlerTag", "Get", "GetBoundingBoxSizePacket", "GetContext", "GetEnvironment", "GetFileName", "GetFrontEndOptionsDataPacket", "GetLinebreakInformationPacket", "GetMenusPacket", "GetPageBreakInformationPacket", "Glaisher", "GlobalClusteringCoefficient", "GlobalPreferences", "GlobalSession", "Glow", "GoldenAngle", "GoldenRatio", "GompertzMakehamDistribution", "GoochShading", "GoodmanKruskalGamma", "GoodmanKruskalGammaTest", "Goto", "Grad", "Gradient", "GradientFilter", "GradientOrientationFilter", "GrammarApply", "GrammarRules", "GrammarToken", "Graph", "Graph3D", "GraphAssortativity", "GraphAutomorphismGroup", "GraphCenter", "GraphComplement", "GraphData", "GraphDensity", "GraphDiameter", "GraphDifference", "GraphDisjointUnion", "GraphDistance", "GraphDistanceMatrix", "GraphElementData", "GraphEmbedding", "GraphHighlight", "GraphHighlightStyle", "GraphHub", "Graphics", "Graphics3D", "Graphics3DBox", "Graphics3DBoxOptions", "GraphicsArray", "GraphicsBaseline", "GraphicsBox", "GraphicsBoxOptions", "GraphicsColor", "GraphicsColumn", "GraphicsComplex", "GraphicsComplex3DBox", "GraphicsComplex3DBoxOptions", "GraphicsComplexBox", "GraphicsComplexBoxOptions", "GraphicsContents", "GraphicsData", "GraphicsGrid", "GraphicsGridBox", "GraphicsGroup", "GraphicsGroup3DBox", "GraphicsGroup3DBoxOptions", "GraphicsGroupBox", "GraphicsGroupBoxOptions", "GraphicsGrouping", "GraphicsHighlightColor", "GraphicsRow", "GraphicsSpacing", "GraphicsStyle", "GraphIntersection", "GraphLayout", "GraphLinkEfficiency", "GraphPeriphery", "GraphPlot", "GraphPlot3D", "GraphPower", "GraphPropertyDistribution", "GraphQ", "GraphRadius", "GraphReciprocity", "GraphRoot", "GraphStyle", "GraphUnion", "Gray", "GrayLevel", "Greater", "GreaterEqual", "GreaterEqualLess", "GreaterEqualThan", "GreaterFullEqual", "GreaterGreater", "GreaterLess", "GreaterSlantEqual", "GreaterThan", "GreaterTilde", "Green", "GreenFunction", "Grid", "GridBaseline", "GridBox", "GridBoxAlignment", "GridBoxBackground", "GridBoxDividers", "GridBoxFrame", "GridBoxItemSize", "GridBoxItemStyle", "GridBoxOptions", "GridBoxSpacings", "GridCreationSettings", "GridDefaultElement", "GridElementStyleOptions", "GridFrame", "GridFrameMargins", "GridGraph", "GridLines", "GridLinesStyle", "GroebnerBasis", "GroupActionBase", "GroupBy", "GroupCentralizer", "GroupElementFromWord", "GroupElementPosition", "GroupElementQ", "GroupElements", "GroupElementToWord", "GroupGenerators", "Groupings", "GroupMultiplicationTable", "GroupOrbits", "GroupOrder", "GroupPageBreakWithin", "GroupSetwiseStabilizer", "GroupStabilizer", "GroupStabilizerChain", "GroupTogetherGrouping", "GroupTogetherNestedGrouping", "GrowCutComponents", "Gudermannian", "GuidedFilter", "GumbelDistribution", "HaarWavelet", "HadamardMatrix", "HalfLine", "HalfNormalDistribution", "HalfPlane", "HalfSpace", "HalftoneShading", "HamiltonianGraphQ", "HammingDistance", "HammingWindow", "HandlerFunctions", "HandlerFunctionsKeys", "HankelH1", "HankelH2", "HankelMatrix", "HankelTransform", "HannPoissonWindow", "HannWindow", "HaradaNortonGroupHN", "HararyGraph", "HarmonicMean", "HarmonicMeanFilter", "HarmonicNumber", "Hash", "HatchFilling", "HatchShading", "Haversine", "HazardFunction", "Head", "HeadCompose", "HeaderAlignment", "HeaderBackground", "HeaderDisplayFunction", "HeaderLines", "HeaderSize", "HeaderStyle", "Heads", "HeavisideLambda", "HeavisidePi", "HeavisideTheta", "HeldGroupHe", "HeldPart", "HelpBrowserLookup", "HelpBrowserNotebook", "HelpBrowserSettings", "Here", "HermiteDecomposition", "HermiteH", "HermitianMatrixQ", "HessenbergDecomposition", "Hessian", "HeunB", "HeunBPrime", "HeunC", "HeunCPrime", "HeunD", "HeunDPrime", "HeunG", "HeunGPrime", "HeunT", "HeunTPrime", "HexadecimalCharacter", "Hexahedron", "HexahedronBox", "HexahedronBoxOptions", "HiddenItems", "HiddenMarkovProcess", "HiddenSurface", "Highlighted", "HighlightGraph", "HighlightImage", "HighlightMesh", "HighpassFilter", "HigmanSimsGroupHS", "HilbertCurve", "HilbertFilter", "HilbertMatrix", "Histogram", "Histogram3D", "HistogramDistribution", "HistogramList", "HistogramTransform", "HistogramTransformInterpolation", "HistoricalPeriodData", "HitMissTransform", "HITSCentrality", "HjorthDistribution", "HodgeDual", "HoeffdingD", "HoeffdingDTest", "Hold", "HoldAll", "HoldAllComplete", "HoldComplete", "HoldFirst", "HoldForm", "HoldPattern", "HoldRest", "HolidayCalendar", "HomeDirectory", "HomePage", "Horizontal", "HorizontalForm", "HorizontalGauge", "HorizontalScrollPosition", "HornerForm", "HostLookup", "HotellingTSquareDistribution", "HoytDistribution", "HTMLSave", "HTTPErrorResponse", "HTTPRedirect", "HTTPRequest", "HTTPRequestData", "HTTPResponse", "Hue", "HumanGrowthData", "HumpDownHump", "HumpEqual", "HurwitzLerchPhi", "HurwitzZeta", "HyperbolicDistribution", "HypercubeGraph", "HyperexponentialDistribution", "Hyperfactorial", "Hypergeometric0F1", "Hypergeometric0F1Regularized", "Hypergeometric1F1", "Hypergeometric1F1Regularized", "Hypergeometric2F1", "Hypergeometric2F1Regularized", "HypergeometricDistribution", "HypergeometricPFQ", "HypergeometricPFQRegularized", "HypergeometricU", "Hyperlink", "HyperlinkAction", "HyperlinkCreationSettings", "Hyperplane", "Hyphenation", "HyphenationOptions", "HypoexponentialDistribution", "HypothesisTestData", "I", "IconData", "Iconize", "IconizedObject", "IconRules", "Icosahedron", "Identity", "IdentityMatrix", "If", "IgnoreCase", "IgnoreDiacritics", "IgnorePunctuation", "IgnoreSpellCheck", "IgnoringInactive", "Im", "Image", "Image3D", "Image3DProjection", "Image3DSlices", "ImageAccumulate", "ImageAdd", "ImageAdjust", "ImageAlign", "ImageApply", "ImageApplyIndexed", "ImageAspectRatio", "ImageAssemble", "ImageAugmentationLayer", "ImageBoundingBoxes", "ImageCache", "ImageCacheValid", "ImageCapture", "ImageCaptureFunction", "ImageCases", "ImageChannels", "ImageClip", "ImageCollage", "ImageColorSpace", "ImageCompose", "ImageContainsQ", "ImageContents", "ImageConvolve", "ImageCooccurrence", "ImageCorners", "ImageCorrelate", "ImageCorrespondingPoints", "ImageCrop", "ImageData", "ImageDeconvolve", "ImageDemosaic", "ImageDifference", "ImageDimensions", "ImageDisplacements", "ImageDistance", "ImageEffect", "ImageExposureCombine", "ImageFeatureTrack", "ImageFileApply", "ImageFileFilter", "ImageFileScan", "ImageFilter", "ImageFocusCombine", "ImageForestingComponents", "ImageFormattingWidth", "ImageForwardTransformation", "ImageGraphics", "ImageHistogram", "ImageIdentify", "ImageInstanceQ", "ImageKeypoints", "ImageLabels", "ImageLegends", "ImageLevels", "ImageLines", "ImageMargins", "ImageMarker", "ImageMarkers", "ImageMeasurements", "ImageMesh", "ImageMultiply", "ImageOffset", "ImagePad", "ImagePadding", "ImagePartition", "ImagePeriodogram", "ImagePerspectiveTransformation", "ImagePosition", "ImagePreviewFunction", "ImagePyramid", "ImagePyramidApply", "ImageQ", "ImageRangeCache", "ImageRecolor", "ImageReflect", "ImageRegion", "ImageResize", "ImageResolution", "ImageRestyle", "ImageRotate", "ImageRotated", "ImageSaliencyFilter", "ImageScaled", "ImageScan", "ImageSize", "ImageSizeAction", "ImageSizeCache", "ImageSizeMultipliers", "ImageSizeRaw", "ImageSubtract", "ImageTake", "ImageTransformation", "ImageTrim", "ImageType", "ImageValue", "ImageValuePositions", "ImagingDevice", "ImplicitRegion", "Implies", "Import", "ImportAutoReplacements", "ImportByteArray", "ImportOptions", "ImportString", "ImprovementImportance", "In", "Inactivate", "Inactive", "IncidenceGraph", "IncidenceList", "IncidenceMatrix", "IncludeAromaticBonds", "IncludeConstantBasis", "IncludeDefinitions", "IncludeDirectories", "IncludeFileExtension", "IncludeGeneratorTasks", "IncludeHydrogens", "IncludeInflections", "IncludeMetaInformation", "IncludePods", "IncludeQuantities", "IncludeRelatedTables", "IncludeSingularTerm", "IncludeWindowTimes", "Increment", "IndefiniteMatrixQ", "Indent", "IndentingNewlineSpacings", "IndentMaxFraction", "IndependenceTest", "IndependentEdgeSetQ", "IndependentPhysicalQuantity", "IndependentUnit", "IndependentUnitDimension", "IndependentVertexSetQ", "Indeterminate", "IndeterminateThreshold", "IndexCreationOptions", "Indexed", "IndexEdgeTaggedGraph", "IndexGraph", "IndexTag", "Inequality", "InexactNumberQ", "InexactNumbers", "InfiniteFuture", "InfiniteLine", "InfinitePast", "InfinitePlane", "Infinity", "Infix", "InflationAdjust", "InflationMethod", "Information", "InformationData", "InformationDataGrid", "Inherited", "InheritScope", "InhomogeneousPoissonProcess", "InitialEvaluationHistory", "Initialization", "InitializationCell", "InitializationCellEvaluation", "InitializationCellWarning", "InitializationObjects", "InitializationValue", "Initialize", "InitialSeeding", "InlineCounterAssignments", "InlineCounterIncrements", "InlineRules", "Inner", "InnerPolygon", "InnerPolyhedron", "Inpaint", "Input", "InputAliases", "InputAssumptions", "InputAutoReplacements", "InputField", "InputFieldBox", "InputFieldBoxOptions", "InputForm", "InputGrouping", "InputNamePacket", "InputNotebook", "InputPacket", "InputSettings", "InputStream", "InputString", "InputStringPacket", "InputToBoxFormPacket", "Insert", "InsertionFunction", "InsertionPointObject", "InsertLinebreaks", "InsertResults", "Inset", "Inset3DBox", "Inset3DBoxOptions", "InsetBox", "InsetBoxOptions", "Insphere", "Install", "InstallService", "InstanceNormalizationLayer", "InString", "Integer", "IntegerDigits", "IntegerExponent", "IntegerLength", "IntegerName", "IntegerPart", "IntegerPartitions", "IntegerQ", "IntegerReverse", "Integers", "IntegerString", "Integral", "Integrate", "Interactive", "InteractiveTradingChart", "Interlaced", "Interleaving", "InternallyBalancedDecomposition", "InterpolatingFunction", "InterpolatingPolynomial", "Interpolation", "InterpolationOrder", "InterpolationPoints", "InterpolationPrecision", "Interpretation", "InterpretationBox", "InterpretationBoxOptions", "InterpretationFunction", "Interpreter", "InterpretTemplate", "InterquartileRange", "Interrupt", "InterruptSettings", "IntersectedEntityClass", "IntersectingQ", "Intersection", "Interval", "IntervalIntersection", "IntervalMarkers", "IntervalMarkersStyle", "IntervalMemberQ", "IntervalSlider", "IntervalUnion", "Into", "Inverse", "InverseBetaRegularized", "InverseCDF", "InverseChiSquareDistribution", "InverseContinuousWaveletTransform", "InverseDistanceTransform", "InverseEllipticNomeQ", "InverseErf", "InverseErfc", "InverseFourier", "InverseFourierCosTransform", "InverseFourierSequenceTransform", "InverseFourierSinTransform", "InverseFourierTransform", "InverseFunction", "InverseFunctions", "InverseGammaDistribution", "InverseGammaRegularized", "InverseGaussianDistribution", "InverseGudermannian", "InverseHankelTransform", "InverseHaversine", "InverseImagePyramid", "InverseJacobiCD", "InverseJacobiCN", "InverseJacobiCS", "InverseJacobiDC", "InverseJacobiDN", "InverseJacobiDS", "InverseJacobiNC", "InverseJacobiND", "InverseJacobiNS", "InverseJacobiSC", "InverseJacobiSD", "InverseJacobiSN", "InverseLaplaceTransform", "InverseMellinTransform", "InversePermutation", "InverseRadon", "InverseRadonTransform", "InverseSeries", "InverseShortTimeFourier", "InverseSpectrogram", "InverseSurvivalFunction", "InverseTransformedRegion", "InverseWaveletTransform", "InverseWeierstrassP", "InverseWishartMatrixDistribution", "InverseZTransform", "Invisible", "InvisibleApplication", "InvisibleTimes", "IPAddress", "IrreduciblePolynomialQ", "IslandData", "IsolatingInterval", "IsomorphicGraphQ", "IsotopeData", "Italic", "Item", "ItemAspectRatio", "ItemBox", "ItemBoxOptions", "ItemDisplayFunction", "ItemSize", "ItemStyle", "ItoProcess", "JaccardDissimilarity", "JacobiAmplitude", "Jacobian", "JacobiCD", "JacobiCN", "JacobiCS", "JacobiDC", "JacobiDN", "JacobiDS", "JacobiNC", "JacobiND", "JacobiNS", "JacobiP", "JacobiSC", "JacobiSD", "JacobiSN", "JacobiSymbol", "JacobiZeta", "JankoGroupJ1", "JankoGroupJ2", "JankoGroupJ3", "JankoGroupJ4", "JarqueBeraALMTest", "JohnsonDistribution", "Join", "JoinAcross", "Joined", "JoinedCurve", "JoinedCurveBox", "JoinedCurveBoxOptions", "JoinForm", "JordanDecomposition", "JordanModelDecomposition", "JulianDate", "JuliaSetBoettcher", "JuliaSetIterationCount", "JuliaSetPlot", "JuliaSetPoints", "K", "KagiChart", "KaiserBesselWindow", "KaiserWindow", "KalmanEstimator", "KalmanFilter", "KarhunenLoeveDecomposition", "KaryTree", "KatzCentrality", "KCoreComponents", "KDistribution", "KEdgeConnectedComponents", "KEdgeConnectedGraphQ", "KeepExistingVersion", "KelvinBei", "KelvinBer", "KelvinKei", "KelvinKer", "KendallTau", "KendallTauTest", "KernelExecute", "KernelFunction", "KernelMixtureDistribution", "KernelObject", "Kernels", "Ket", "Key", "KeyCollisionFunction", "KeyComplement", "KeyDrop", "KeyDropFrom", "KeyExistsQ", "KeyFreeQ", "KeyIntersection", "KeyMap", "KeyMemberQ", "KeypointStrength", "Keys", "KeySelect", "KeySort", "KeySortBy", "KeyTake", "KeyUnion", "KeyValueMap", "KeyValuePattern", "Khinchin", "KillProcess", "KirchhoffGraph", "KirchhoffMatrix", "KleinInvariantJ", "KnapsackSolve", "KnightTourGraph", "KnotData", "KnownUnitQ", "KochCurve", "KolmogorovSmirnovTest", "KroneckerDelta", "KroneckerModelDecomposition", "KroneckerProduct", "KroneckerSymbol", "KuiperTest", "KumaraswamyDistribution", "Kurtosis", "KuwaharaFilter", "KVertexConnectedComponents", "KVertexConnectedGraphQ", "LABColor", "Label", "Labeled", "LabeledSlider", "LabelingFunction", "LabelingSize", "LabelStyle", "LabelVisibility", "LaguerreL", "LakeData", "LambdaComponents", "LambertW", "LaminaData", "LanczosWindow", "LandauDistribution", "Language", "LanguageCategory", "LanguageData", "LanguageIdentify", "LanguageOptions", "LaplaceDistribution", "LaplaceTransform", "Laplacian", "LaplacianFilter", "LaplacianGaussianFilter", "Large", "Larger", "Last", "Latitude", "LatitudeLongitude", "LatticeData", "LatticeReduce", "Launch", "LaunchKernels", "LayeredGraphPlot", "LayerSizeFunction", "LayoutInformation", "LCHColor", "LCM", "LeaderSize", "LeafCount", "LeapYearQ", "LearnDistribution", "LearnedDistribution", "LearningRate", "LearningRateMultipliers", "LeastSquares", "LeastSquaresFilterKernel", "Left", "LeftArrow", "LeftArrowBar", "LeftArrowRightArrow", "LeftDownTeeVector", "LeftDownVector", "LeftDownVectorBar", "LeftRightArrow", "LeftRightVector", "LeftTee", "LeftTeeArrow", "LeftTeeVector", "LeftTriangle", "LeftTriangleBar", "LeftTriangleEqual", "LeftUpDownVector", "LeftUpTeeVector", "LeftUpVector", "LeftUpVectorBar", "LeftVector", "LeftVectorBar", "LegendAppearance", "Legended", "LegendFunction", "LegendLabel", "LegendLayout", "LegendMargins", "LegendMarkers", "LegendMarkerSize", "LegendreP", "LegendreQ", "LegendreType", "Length", "LengthWhile", "LerchPhi", "Less", "LessEqual", "LessEqualGreater", "LessEqualThan", "LessFullEqual", "LessGreater", "LessLess", "LessSlantEqual", "LessThan", "LessTilde", "LetterCharacter", "LetterCounts", "LetterNumber", "LetterQ", "Level", "LeveneTest", "LeviCivitaTensor", "LevyDistribution", "Lexicographic", "LibraryDataType", "LibraryFunction", "LibraryFunctionError", "LibraryFunctionInformation", "LibraryFunctionLoad", "LibraryFunctionUnload", "LibraryLoad", "LibraryUnload", "LicenseID", "LiftingFilterData", "LiftingWaveletTransform", "LightBlue", "LightBrown", "LightCyan", "Lighter", "LightGray", "LightGreen", "Lighting", "LightingAngle", "LightMagenta", "LightOrange", "LightPink", "LightPurple", "LightRed", "LightSources", "LightYellow", "Likelihood", "Limit", "LimitsPositioning", "LimitsPositioningTokens", "LindleyDistribution", "Line", "Line3DBox", "Line3DBoxOptions", "LinearFilter", "LinearFractionalOptimization", "LinearFractionalTransform", "LinearGradientImage", "LinearizingTransformationData", "LinearLayer", "LinearModelFit", "LinearOffsetFunction", "LinearOptimization", "LinearProgramming", "LinearRecurrence", "LinearSolve", "LinearSolveFunction", "LineBox", "LineBoxOptions", "LineBreak", "LinebreakAdjustments", "LineBreakChart", "LinebreakSemicolonWeighting", "LineBreakWithin", "LineColor", "LineGraph", "LineIndent", "LineIndentMaxFraction", "LineIntegralConvolutionPlot", "LineIntegralConvolutionScale", "LineLegend", "LineOpacity", "LineSpacing", "LineWrapParts", "LinkActivate", "LinkClose", "LinkConnect", "LinkConnectedQ", "LinkCreate", "LinkError", "LinkFlush", "LinkFunction", "LinkHost", "LinkInterrupt", "LinkLaunch", "LinkMode", "LinkObject", "LinkOpen", "LinkOptions", "LinkPatterns", "LinkProtocol", "LinkRankCentrality", "LinkRead", "LinkReadHeld", "LinkReadyQ", "Links", "LinkService", "LinkWrite", "LinkWriteHeld", "LiouvilleLambda", "List", "Listable", "ListAnimate", "ListContourPlot", "ListContourPlot3D", "ListConvolve", "ListCorrelate", "ListCurvePathPlot", "ListDeconvolve", "ListDensityPlot", "ListDensityPlot3D", "Listen", "ListFormat", "ListFourierSequenceTransform", "ListInterpolation", "ListLineIntegralConvolutionPlot", "ListLinePlot", "ListLogLinearPlot", "ListLogLogPlot", "ListLogPlot", "ListPicker", "ListPickerBox", "ListPickerBoxBackground", "ListPickerBoxOptions", "ListPlay", "ListPlot", "ListPlot3D", "ListPointPlot3D", "ListPolarPlot", "ListQ", "ListSliceContourPlot3D", "ListSliceDensityPlot3D", "ListSliceVectorPlot3D", "ListStepPlot", "ListStreamDensityPlot", "ListStreamPlot", "ListSurfacePlot3D", "ListVectorDensityPlot", "ListVectorPlot", "ListVectorPlot3D", "ListZTransform", "Literal", "LiteralSearch", "LocalAdaptiveBinarize", "LocalCache", "LocalClusteringCoefficient", "LocalizeDefinitions", "LocalizeVariables", "LocalObject", "LocalObjects", "LocalResponseNormalizationLayer", "LocalSubmit", "LocalSymbol", "LocalTime", "LocalTimeZone", "LocationEquivalenceTest", "LocationTest", "Locator", "LocatorAutoCreate", "LocatorBox", "LocatorBoxOptions", "LocatorCentering", "LocatorPane", "LocatorPaneBox", "LocatorPaneBoxOptions", "LocatorRegion", "Locked", "Log", "Log10", "Log2", "LogBarnesG", "LogGamma", "LogGammaDistribution", "LogicalExpand", "LogIntegral", "LogisticDistribution", "LogisticSigmoid", "LogitModelFit", "LogLikelihood", "LogLinearPlot", "LogLogisticDistribution", "LogLogPlot", "LogMultinormalDistribution", "LogNormalDistribution", "LogPlot", "LogRankTest", "LogSeriesDistribution", "LongEqual", "Longest", "LongestCommonSequence", "LongestCommonSequencePositions", "LongestCommonSubsequence", "LongestCommonSubsequencePositions", "LongestMatch", "LongestOrderedSequence", "LongForm", "Longitude", "LongLeftArrow", "LongLeftRightArrow", "LongRightArrow", "LongShortTermMemoryLayer", "Lookup", "Loopback", "LoopFreeGraphQ", "Looping", "LossFunction", "LowerCaseQ", "LowerLeftArrow", "LowerRightArrow", "LowerTriangularize", "LowerTriangularMatrixQ", "LowpassFilter", "LQEstimatorGains", "LQGRegulator", "LQOutputRegulatorGains", "LQRegulatorGains", "LUBackSubstitution", "LucasL", "LuccioSamiComponents", "LUDecomposition", "LunarEclipse", "LUVColor", "LyapunovSolve", "LyonsGroupLy", "MachineID", "MachineName", "MachineNumberQ", "MachinePrecision", "MacintoshSystemPageSetup", "Magenta", "Magnification", "Magnify", "MailAddressValidation", "MailExecute", "MailFolder", "MailItem", "MailReceiverFunction", "MailResponseFunction", "MailSearch", "MailServerConnect", "MailServerConnection", "MailSettings", "MainSolve", "MaintainDynamicCaches", "Majority", "MakeBoxes", "MakeExpression", "MakeRules", "ManagedLibraryExpressionID", "ManagedLibraryExpressionQ", "MandelbrotSetBoettcher", "MandelbrotSetDistance", "MandelbrotSetIterationCount", "MandelbrotSetMemberQ", "MandelbrotSetPlot", "MangoldtLambda", "ManhattanDistance", "Manipulate", "Manipulator", "MannedSpaceMissionData", "MannWhitneyTest", "MantissaExponent", "Manual", "Map", "MapAll", "MapAt", "MapIndexed", "MAProcess", "MapThread", "MarchenkoPasturDistribution", "MarcumQ", "MardiaCombinedTest", "MardiaKurtosisTest", "MardiaSkewnessTest", "MarginalDistribution", "MarkovProcessProperties", "Masking", "MatchingDissimilarity", "MatchLocalNameQ", "MatchLocalNames", "MatchQ", "Material", "MathematicalFunctionData", "MathematicaNotation", "MathieuC", "MathieuCharacteristicA", "MathieuCharacteristicB", "MathieuCharacteristicExponent", "MathieuCPrime", "MathieuGroupM11", "MathieuGroupM12", "MathieuGroupM22", "MathieuGroupM23", "MathieuGroupM24", "MathieuS", "MathieuSPrime", "MathMLForm", "MathMLText", "Matrices", "MatrixExp", "MatrixForm", "MatrixFunction", "MatrixLog", "MatrixNormalDistribution", "MatrixPlot", "MatrixPower", "MatrixPropertyDistribution", "MatrixQ", "MatrixRank", "MatrixTDistribution", "Max", "MaxBend", "MaxCellMeasure", "MaxColorDistance", "MaxDate", "MaxDetect", "MaxDuration", "MaxExtraBandwidths", "MaxExtraConditions", "MaxFeatureDisplacement", "MaxFeatures", "MaxFilter", "MaximalBy", "Maximize", "MaxItems", "MaxIterations", "MaxLimit", "MaxMemoryUsed", "MaxMixtureKernels", "MaxOverlapFraction", "MaxPlotPoints", "MaxPoints", "MaxRecursion", "MaxStableDistribution", "MaxStepFraction", "MaxSteps", "MaxStepSize", "MaxTrainingRounds", "MaxValue", "MaxwellDistribution", "MaxWordGap", "McLaughlinGroupMcL", "Mean", "MeanAbsoluteLossLayer", "MeanAround", "MeanClusteringCoefficient", "MeanDegreeConnectivity", "MeanDeviation", "MeanFilter", "MeanGraphDistance", "MeanNeighborDegree", "MeanShift", "MeanShiftFilter", "MeanSquaredLossLayer", "Median", "MedianDeviation", "MedianFilter", "MedicalTestData", "Medium", "MeijerG", "MeijerGReduce", "MeixnerDistribution", "MellinConvolve", "MellinTransform", "MemberQ", "MemoryAvailable", "MemoryConstrained", "MemoryConstraint", "MemoryInUse", "MengerMesh", "Menu", "MenuAppearance", "MenuCommandKey", "MenuEvaluator", "MenuItem", "MenuList", "MenuPacket", "MenuSortingValue", "MenuStyle", "MenuView", "Merge", "MergeDifferences", "MergingFunction", "MersennePrimeExponent", "MersennePrimeExponentQ", "Mesh", "MeshCellCentroid", "MeshCellCount", "MeshCellHighlight", "MeshCellIndex", "MeshCellLabel", "MeshCellMarker", "MeshCellMeasure", "MeshCellQuality", "MeshCells", "MeshCellShapeFunction", "MeshCellStyle", "MeshConnectivityGraph", "MeshCoordinates", "MeshFunctions", "MeshPrimitives", "MeshQualityGoal", "MeshRange", "MeshRefinementFunction", "MeshRegion", "MeshRegionQ", "MeshShading", "MeshStyle", "Message", "MessageDialog", "MessageList", "MessageName", "MessageObject", "MessageOptions", "MessagePacket", "Messages", "MessagesNotebook", "MetaCharacters", "MetaInformation", "MeteorShowerData", "Method", "MethodOptions", "MexicanHatWavelet", "MeyerWavelet", "Midpoint", "Min", "MinColorDistance", "MinDate", "MinDetect", "MineralData", "MinFilter", "MinimalBy", "MinimalPolynomial", "MinimalStateSpaceModel", "Minimize", "MinimumTimeIncrement", "MinIntervalSize", "MinkowskiQuestionMark", "MinLimit", "MinMax", "MinorPlanetData", "Minors", "MinRecursion", "MinSize", "MinStableDistribution", "Minus", "MinusPlus", "MinValue", "Missing", "MissingBehavior", "MissingDataMethod", "MissingDataRules", "MissingQ", "MissingString", "MissingStyle", "MissingValuePattern", "MittagLefflerE", "MixedFractionParts", "MixedGraphQ", "MixedMagnitude", "MixedRadix", "MixedRadixQuantity", "MixedUnit", "MixtureDistribution", "Mod", "Modal", "Mode", "Modular", "ModularInverse", "ModularLambda", "Module", "Modulus", "MoebiusMu", "Molecule", "MoleculeContainsQ", "MoleculeEquivalentQ", "MoleculeGraph", "MoleculeModify", "MoleculePattern", "MoleculePlot", "MoleculePlot3D", "MoleculeProperty", "MoleculeQ", "MoleculeRecognize", "MoleculeValue", "Moment", "Momentary", "MomentConvert", "MomentEvaluate", "MomentGeneratingFunction", "MomentOfInertia", "Monday", "Monitor", "MonomialList", "MonomialOrder", "MonsterGroupM", "MoonPhase", "MoonPosition", "MorletWavelet", "MorphologicalBinarize", "MorphologicalBranchPoints", "MorphologicalComponents", "MorphologicalEulerNumber", "MorphologicalGraph", "MorphologicalPerimeter", "MorphologicalTransform", "MortalityData", "Most", "MountainData", "MouseAnnotation", "MouseAppearance", "MouseAppearanceTag", "MouseButtons", "Mouseover", "MousePointerNote", "MousePosition", "MovieData", "MovingAverage", "MovingMap", "MovingMedian", "MoyalDistribution", "Multicolumn", "MultiedgeStyle", "MultigraphQ", "MultilaunchWarning", "MultiLetterItalics", "MultiLetterStyle", "MultilineFunction", "Multinomial", "MultinomialDistribution", "MultinormalDistribution", "MultiplicativeOrder", "Multiplicity", "MultiplySides", "Multiselection", "MultivariateHypergeometricDistribution", "MultivariatePoissonDistribution", "MultivariateTDistribution", "N", "NakagamiDistribution", "NameQ", "Names", "NamespaceBox", "NamespaceBoxOptions", "Nand", "NArgMax", "NArgMin", "NBernoulliB", "NBodySimulation", "NBodySimulationData", "NCache", "NDEigensystem", "NDEigenvalues", "NDSolve", "NDSolveValue", "Nearest", "NearestFunction", "NearestMeshCells", "NearestNeighborGraph", "NearestTo", "NebulaData", "NeedCurrentFrontEndPackagePacket", "NeedCurrentFrontEndSymbolsPacket", "NeedlemanWunschSimilarity", "Needs", "Negative", "NegativeBinomialDistribution", "NegativeDefiniteMatrixQ", "NegativeIntegers", "NegativeMultinomialDistribution", "NegativeRationals", "NegativeReals", "NegativeSemidefiniteMatrixQ", "NeighborhoodData", "NeighborhoodGraph", "Nest", "NestedGreaterGreater", "NestedLessLess", "NestedScriptRules", "NestGraph", "NestList", "NestWhile", "NestWhileList", "NetAppend", "NetBidirectionalOperator", "NetChain", "NetDecoder", "NetDelete", "NetDrop", "NetEncoder", "NetEvaluationMode", "NetExtract", "NetFlatten", "NetFoldOperator", "NetGANOperator", "NetGraph", "NetInformation", "NetInitialize", "NetInsert", "NetInsertSharedArrays", "NetJoin", "NetMapOperator", "NetMapThreadOperator", "NetMeasurements", "NetModel", "NetNestOperator", "NetPairEmbeddingOperator", "NetPort", "NetPortGradient", "NetPrepend", "NetRename", "NetReplace", "NetReplacePart", "NetSharedArray", "NetStateObject", "NetTake", "NetTrain", "NetTrainResultsObject", "NetworkPacketCapture", "NetworkPacketRecording", "NetworkPacketRecordingDuring", "NetworkPacketTrace", "NeumannValue", "NevilleThetaC", "NevilleThetaD", "NevilleThetaN", "NevilleThetaS", "NewPrimitiveStyle", "NExpectation", "Next", "NextCell", "NextDate", "NextPrime", "NextScheduledTaskTime", "NHoldAll", "NHoldFirst", "NHoldRest", "NicholsGridLines", "NicholsPlot", "NightHemisphere", "NIntegrate", "NMaximize", "NMaxValue", "NMinimize", "NMinValue", "NominalVariables", "NonAssociative", "NoncentralBetaDistribution", "NoncentralChiSquareDistribution", "NoncentralFRatioDistribution", "NoncentralStudentTDistribution", "NonCommutativeMultiply", "NonConstants", "NondimensionalizationTransform", "None", "NoneTrue", "NonlinearModelFit", "NonlinearStateSpaceModel", "NonlocalMeansFilter", "NonNegative", "NonNegativeIntegers", "NonNegativeRationals", "NonNegativeReals", "NonPositive", "NonPositiveIntegers", "NonPositiveRationals", "NonPositiveReals", "Nor", "NorlundB", "Norm", "Normal", "NormalDistribution", "NormalGrouping", "NormalizationLayer", "Normalize", "Normalized", "NormalizedSquaredEuclideanDistance", "NormalMatrixQ", "NormalsFunction", "NormFunction", "Not", "NotCongruent", "NotCupCap", "NotDoubleVerticalBar", "Notebook", "NotebookApply", "NotebookAutoSave", "NotebookClose", "NotebookConvertSettings", "NotebookCreate", "NotebookCreateReturnObject", "NotebookDefault", "NotebookDelete", "NotebookDirectory", "NotebookDynamicExpression", "NotebookEvaluate", "NotebookEventActions", "NotebookFileName", "NotebookFind", "NotebookFindReturnObject", "NotebookGet", "NotebookGetLayoutInformationPacket", "NotebookGetMisspellingsPacket", "NotebookImport", "NotebookInformation", "NotebookInterfaceObject", "NotebookLocate", "NotebookObject", "NotebookOpen", "NotebookOpenReturnObject", "NotebookPath", "NotebookPrint", "NotebookPut", "NotebookPutReturnObject", "NotebookRead", "NotebookResetGeneratedCells", "Notebooks", "NotebookSave", "NotebookSaveAs", "NotebookSelection", "NotebookSetupLayoutInformationPacket", "NotebooksMenu", "NotebookTemplate", "NotebookWrite", "NotElement", "NotEqualTilde", "NotExists", "NotGreater", "NotGreaterEqual", "NotGreaterFullEqual", "NotGreaterGreater", "NotGreaterLess", "NotGreaterSlantEqual", "NotGreaterTilde", "Nothing", "NotHumpDownHump", "NotHumpEqual", "NotificationFunction", "NotLeftTriangle", "NotLeftTriangleBar", "NotLeftTriangleEqual", "NotLess", "NotLessEqual", "NotLessFullEqual", "NotLessGreater", "NotLessLess", "NotLessSlantEqual", "NotLessTilde", "NotNestedGreaterGreater", "NotNestedLessLess", "NotPrecedes", "NotPrecedesEqual", "NotPrecedesSlantEqual", "NotPrecedesTilde", "NotReverseElement", "NotRightTriangle", "NotRightTriangleBar", "NotRightTriangleEqual", "NotSquareSubset", "NotSquareSubsetEqual", "NotSquareSuperset", "NotSquareSupersetEqual", "NotSubset", "NotSubsetEqual", "NotSucceeds", "NotSucceedsEqual", "NotSucceedsSlantEqual", "NotSucceedsTilde", "NotSuperset", "NotSupersetEqual", "NotTilde", "NotTildeEqual", "NotTildeFullEqual", "NotTildeTilde", "NotVerticalBar", "Now", "NoWhitespace", "NProbability", "NProduct", "NProductFactors", "NRoots", "NSolve", "NSum", "NSumTerms", "NuclearExplosionData", "NuclearReactorData", "Null", "NullRecords", "NullSpace", "NullWords", "Number", "NumberCompose", "NumberDecompose", "NumberExpand", "NumberFieldClassNumber", "NumberFieldDiscriminant", "NumberFieldFundamentalUnits", "NumberFieldIntegralBasis", "NumberFieldNormRepresentatives", "NumberFieldRegulator", "NumberFieldRootsOfUnity", "NumberFieldSignature", "NumberForm", "NumberFormat", "NumberLinePlot", "NumberMarks", "NumberMultiplier", "NumberPadding", "NumberPoint", "NumberQ", "NumberSeparator", "NumberSigns", "NumberString", "Numerator", "NumeratorDenominator", "NumericalOrder", "NumericalSort", "NumericArray", "NumericArrayQ", "NumericArrayType", "NumericFunction", "NumericQ", "NuttallWindow", "NValues", "NyquistGridLines", "NyquistPlot", "O", "ObservabilityGramian", "ObservabilityMatrix", "ObservableDecomposition", "ObservableModelQ", "OceanData", "Octahedron", "OddQ", "Off", "Offset", "OLEData", "On", "ONanGroupON", "Once", "OneIdentity", "Opacity", "OpacityFunction", "OpacityFunctionScaling", "Open", "OpenAppend", "Opener", "OpenerBox", "OpenerBoxOptions", "OpenerView", "OpenFunctionInspectorPacket", "Opening", "OpenRead", "OpenSpecialOptions", "OpenTemporary", "OpenWrite", "Operate", "OperatingSystem", "OperatorApplied", "OptimumFlowData", "Optional", "OptionalElement", "OptionInspectorSettings", "OptionQ", "Options", "OptionsPacket", "OptionsPattern", "OptionValue", "OptionValueBox", "OptionValueBoxOptions", "Or", "Orange", "Order", "OrderDistribution", "OrderedQ", "Ordering", "OrderingBy", "OrderingLayer", "Orderless", "OrderlessPatternSequence", "OrnsteinUhlenbeckProcess", "Orthogonalize", "OrthogonalMatrixQ", "Out", "Outer", "OuterPolygon", "OuterPolyhedron", "OutputAutoOverwrite", "OutputControllabilityMatrix", "OutputControllableModelQ", "OutputForm", "OutputFormData", "OutputGrouping", "OutputMathEditExpression", "OutputNamePacket", "OutputResponse", "OutputSizeLimit", "OutputStream", "Over", "OverBar", "OverDot", "Overflow", "OverHat", "Overlaps", "Overlay", "OverlayBox", "OverlayBoxOptions", "Overscript", "OverscriptBox", "OverscriptBoxOptions", "OverTilde", "OverVector", "OverwriteTarget", "OwenT", "OwnValues", "Package", "PackingMethod", "PackPaclet", "PacletDataRebuild", "PacletDirectoryAdd", "PacletDirectoryLoad", "PacletDirectoryRemove", "PacletDirectoryUnload", "PacletDisable", "PacletEnable", "PacletFind", "PacletFindRemote", "PacletInformation", "PacletInstall", "PacletInstallSubmit", "PacletNewerQ", "PacletObject", "PacletObjectQ", "PacletSite", "PacletSiteObject", "PacletSiteRegister", "PacletSites", "PacletSiteUnregister", "PacletSiteUpdate", "PacletUninstall", "PacletUpdate", "PaddedForm", "Padding", "PaddingLayer", "PaddingSize", "PadeApproximant", "PadLeft", "PadRight", "PageBreakAbove", "PageBreakBelow", "PageBreakWithin", "PageFooterLines", "PageFooters", "PageHeaderLines", "PageHeaders", "PageHeight", "PageRankCentrality", "PageTheme", "PageWidth", "Pagination", "PairedBarChart", "PairedHistogram", "PairedSmoothHistogram", "PairedTTest", "PairedZTest", "PaletteNotebook", "PalettePath", "PalindromeQ", "Pane", "PaneBox", "PaneBoxOptions", "Panel", "PanelBox", "PanelBoxOptions", "Paneled", "PaneSelector", "PaneSelectorBox", "PaneSelectorBoxOptions", "PaperWidth", "ParabolicCylinderD", "ParagraphIndent", "ParagraphSpacing", "ParallelArray", "ParallelCombine", "ParallelDo", "Parallelepiped", "ParallelEvaluate", "Parallelization", "Parallelize", "ParallelMap", "ParallelNeeds", "Parallelogram", "ParallelProduct", "ParallelSubmit", "ParallelSum", "ParallelTable", "ParallelTry", "Parameter", "ParameterEstimator", "ParameterMixtureDistribution", "ParameterVariables", "ParametricFunction", "ParametricNDSolve", "ParametricNDSolveValue", "ParametricPlot", "ParametricPlot3D", "ParametricRampLayer", "ParametricRegion", "ParentBox", "ParentCell", "ParentConnect", "ParentDirectory", "ParentForm", "Parenthesize", "ParentList", "ParentNotebook", "ParetoDistribution", "ParetoPickandsDistribution", "ParkData", "Part", "PartBehavior", "PartialCorrelationFunction", "PartialD", "ParticleAcceleratorData", "ParticleData", "Partition", "PartitionGranularity", "PartitionsP", "PartitionsQ", "PartLayer", "PartOfSpeech", "PartProtection", "ParzenWindow", "PascalDistribution", "PassEventsDown", "PassEventsUp", "Paste", "PasteAutoQuoteCharacters", "PasteBoxFormInlineCells", "PasteButton", "Path", "PathGraph", "PathGraphQ", "Pattern", "PatternFilling", "PatternSequence", "PatternTest", "PauliMatrix", "PaulWavelet", "Pause", "PausedTime", "PDF", "PeakDetect", "PeanoCurve", "PearsonChiSquareTest", "PearsonCorrelationTest", "PearsonDistribution", "PercentForm", "PerfectNumber", "PerfectNumberQ", "PerformanceGoal", "Perimeter", "PeriodicBoundaryCondition", "PeriodicInterpolation", "Periodogram", "PeriodogramArray", "Permanent", "Permissions", "PermissionsGroup", "PermissionsGroupMemberQ", "PermissionsGroups", "PermissionsKey", "PermissionsKeys", "PermutationCycles", "PermutationCyclesQ", "PermutationGroup", "PermutationLength", "PermutationList", "PermutationListQ", "PermutationMax", "PermutationMin", "PermutationOrder", "PermutationPower", "PermutationProduct", "PermutationReplace", "Permutations", "PermutationSupport", "Permute", "PeronaMalikFilter", "Perpendicular", "PerpendicularBisector", "PersistenceLocation", "PersistenceTime", "PersistentObject", "PersistentObjects", "PersistentValue", "PersonData", "PERTDistribution", "PetersenGraph", "PhaseMargins", "PhaseRange", "PhysicalSystemData", "Pi", "Pick", "PIDData", "PIDDerivativeFilter", "PIDFeedforward", "PIDTune", "Piecewise", "PiecewiseExpand", "PieChart", "PieChart3D", "PillaiTrace", "PillaiTraceTest", "PingTime", "Pink", "PitchRecognize", "Pivoting", "PixelConstrained", "PixelValue", "PixelValuePositions", "Placed", "Placeholder", "PlaceholderReplace", "Plain", "PlanarAngle", "PlanarGraph", "PlanarGraphQ", "PlanckRadiationLaw", "PlaneCurveData", "PlanetaryMoonData", "PlanetData", "PlantData", "Play", "PlayRange", "Plot", "Plot3D", "Plot3Matrix", "PlotDivision", "PlotJoined", "PlotLabel", "PlotLabels", "PlotLayout", "PlotLegends", "PlotMarkers", "PlotPoints", "PlotRange", "PlotRangeClipping", "PlotRangeClipPlanesStyle", "PlotRangePadding", "PlotRegion", "PlotStyle", "PlotTheme", "Pluralize", "Plus", "PlusMinus", "Pochhammer", "PodStates", "PodWidth", "Point", "Point3DBox", "Point3DBoxOptions", "PointBox", "PointBoxOptions", "PointFigureChart", "PointLegend", "PointSize", "PoissonConsulDistribution", "PoissonDistribution", "PoissonProcess", "PoissonWindow", "PolarAxes", "PolarAxesOrigin", "PolarGridLines", "PolarPlot", "PolarTicks", "PoleZeroMarkers", "PolyaAeppliDistribution", "PolyGamma", "Polygon", "Polygon3DBox", "Polygon3DBoxOptions", "PolygonalNumber", "PolygonAngle", "PolygonBox", "PolygonBoxOptions", "PolygonCoordinates", "PolygonDecomposition", "PolygonHoleScale", "PolygonIntersections", "PolygonScale", "Polyhedron", "PolyhedronAngle", "PolyhedronCoordinates", "PolyhedronData", "PolyhedronDecomposition", "PolyhedronGenus", "PolyLog", "PolynomialExtendedGCD", "PolynomialForm", "PolynomialGCD", "PolynomialLCM", "PolynomialMod", "PolynomialQ", "PolynomialQuotient", "PolynomialQuotientRemainder", "PolynomialReduce", "PolynomialRemainder", "Polynomials", "PoolingLayer", "PopupMenu", "PopupMenuBox", "PopupMenuBoxOptions", "PopupView", "PopupWindow", "Position", "PositionIndex", "Positive", "PositiveDefiniteMatrixQ", "PositiveIntegers", "PositiveRationals", "PositiveReals", "PositiveSemidefiniteMatrixQ", "PossibleZeroQ", "Postfix", "PostScript", "Power", "PowerDistribution", "PowerExpand", "PowerMod", "PowerModList", "PowerRange", "PowerSpectralDensity", "PowersRepresentations", "PowerSymmetricPolynomial", "Precedence", "PrecedenceForm", "Precedes", "PrecedesEqual", "PrecedesSlantEqual", "PrecedesTilde", "Precision", "PrecisionGoal", "PreDecrement", "Predict", "PredictionRoot", "PredictorFunction", "PredictorInformation", "PredictorMeasurements", "PredictorMeasurementsObject", "PreemptProtect", "PreferencesPath", "Prefix", "PreIncrement", "Prepend", "PrependLayer", "PrependTo", "PreprocessingRules", "PreserveColor", "PreserveImageOptions", "Previous", "PreviousCell", "PreviousDate", "PriceGraphDistribution", "PrimaryPlaceholder", "Prime", "PrimeNu", "PrimeOmega", "PrimePi", "PrimePowerQ", "PrimeQ", "Primes", "PrimeZetaP", "PrimitivePolynomialQ", "PrimitiveRoot", "PrimitiveRootList", "PrincipalComponents", "PrincipalValue", "Print", "PrintableASCIIQ", "PrintAction", "PrintForm", "PrintingCopies", "PrintingOptions", "PrintingPageRange", "PrintingStartingPageNumber", "PrintingStyleEnvironment", "Printout3D", "Printout3DPreviewer", "PrintPrecision", "PrintTemporary", "Prism", "PrismBox", "PrismBoxOptions", "PrivateCellOptions", "PrivateEvaluationOptions", "PrivateFontOptions", "PrivateFrontEndOptions", "PrivateKey", "PrivateNotebookOptions", "PrivatePaths", "Probability", "ProbabilityDistribution", "ProbabilityPlot", "ProbabilityPr", "ProbabilityScalePlot", "ProbitModelFit", "ProcessConnection", "ProcessDirectory", "ProcessEnvironment", "Processes", "ProcessEstimator", "ProcessInformation", "ProcessObject", "ProcessParameterAssumptions", "ProcessParameterQ", "ProcessStateDomain", "ProcessStatus", "ProcessTimeDomain", "Product", "ProductDistribution", "ProductLog", "ProgressIndicator", "ProgressIndicatorBox", "ProgressIndicatorBoxOptions", "Projection", "Prolog", "PromptForm", "ProofObject", "Properties", "Property", "PropertyList", "PropertyValue", "Proportion", "Proportional", "Protect", "Protected", "ProteinData", "Pruning", "PseudoInverse", "PsychrometricPropertyData", "PublicKey", "PublisherID", "PulsarData", "PunctuationCharacter", "Purple", "Put", "PutAppend", "Pyramid", "PyramidBox", "PyramidBoxOptions", "QBinomial", "QFactorial", "QGamma", "QHypergeometricPFQ", "QnDispersion", "QPochhammer", "QPolyGamma", "QRDecomposition", "QuadraticIrrationalQ", "QuadraticOptimization", "Quantile", "QuantilePlot", "Quantity", "QuantityArray", "QuantityDistribution", "QuantityForm", "QuantityMagnitude", "QuantityQ", "QuantityUnit", "QuantityVariable", "QuantityVariableCanonicalUnit", "QuantityVariableDimensions", "QuantityVariableIdentifier", "QuantityVariablePhysicalQuantity", "Quartics", "QuartileDeviation", "Quartiles", "QuartileSkewness", "Query", "QueueingNetworkProcess", "QueueingProcess", "QueueProperties", "Quiet", "Quit", "Quotient", "QuotientRemainder", "RadialGradientImage", "RadialityCentrality", "RadicalBox", "RadicalBoxOptions", "RadioButton", "RadioButtonBar", "RadioButtonBox", "RadioButtonBoxOptions", "Radon", "RadonTransform", "RamanujanTau", "RamanujanTauL", "RamanujanTauTheta", "RamanujanTauZ", "Ramp", "Random", "RandomChoice", "RandomColor", "RandomComplex", "RandomEntity", "RandomFunction", "RandomGeoPosition", "RandomGraph", "RandomImage", "RandomInstance", "RandomInteger", "RandomPermutation", "RandomPoint", "RandomPolygon", "RandomPolyhedron", "RandomPrime", "RandomReal", "RandomSample", "RandomSeed", "RandomSeeding", "RandomVariate", "RandomWalkProcess", "RandomWord", "Range", "RangeFilter", "RangeSpecification", "RankedMax", "RankedMin", "RarerProbability", "Raster", "Raster3D", "Raster3DBox", "Raster3DBoxOptions", "RasterArray", "RasterBox", "RasterBoxOptions", "Rasterize", "RasterSize", "Rational", "RationalFunctions", "Rationalize", "Rationals", "Ratios", "RawArray", "RawBoxes", "RawData", "RawMedium", "RayleighDistribution", "Re", "Read", "ReadByteArray", "ReadLine", "ReadList", "ReadProtected", "ReadString", "Real", "RealAbs", "RealBlockDiagonalForm", "RealDigits", "RealExponent", "Reals", "RealSign", "Reap", "RebuildPacletData", "RecognitionPrior", "RecognitionThreshold", "Record", "RecordLists", "RecordSeparators", "Rectangle", "RectangleBox", "RectangleBoxOptions", "RectangleChart", "RectangleChart3D", "RectangularRepeatingElement", "RecurrenceFilter", "RecurrenceTable", "RecurringDigitsForm", "Red", "Reduce", "RefBox", "ReferenceLineStyle", "ReferenceMarkers", "ReferenceMarkerStyle", "Refine", "ReflectionMatrix", "ReflectionTransform", "Refresh", "RefreshRate", "Region", "RegionBinarize", "RegionBoundary", "RegionBoundaryStyle", "RegionBounds", "RegionCentroid", "RegionDifference", "RegionDimension", "RegionDisjoint", "RegionDistance", "RegionDistanceFunction", "RegionEmbeddingDimension", "RegionEqual", "RegionFillingStyle", "RegionFunction", "RegionImage", "RegionIntersection", "RegionMeasure", "RegionMember", "RegionMemberFunction", "RegionMoment", "RegionNearest", "RegionNearestFunction", "RegionPlot", "RegionPlot3D", "RegionProduct", "RegionQ", "RegionResize", "RegionSize", "RegionSymmetricDifference", "RegionUnion", "RegionWithin", "RegisterExternalEvaluator", "RegularExpression", "Regularization", "RegularlySampledQ", "RegularPolygon", "ReIm", "ReImLabels", "ReImPlot", "ReImStyle", "Reinstall", "RelationalDatabase", "RelationGraph", "Release", "ReleaseHold", "ReliabilityDistribution", "ReliefImage", "ReliefPlot", "RemoteAuthorizationCaching", "RemoteConnect", "RemoteConnectionObject", "RemoteFile", "RemoteRun", "RemoteRunProcess", "Remove", "RemoveAlphaChannel", "RemoveAsynchronousTask", "RemoveAudioStream", "RemoveBackground", "RemoveChannelListener", "RemoveChannelSubscribers", "Removed", "RemoveDiacritics", "RemoveInputStreamMethod", "RemoveOutputStreamMethod", "RemoveProperty", "RemoveScheduledTask", "RemoveUsers", "RemoveVideoStream", "RenameDirectory", "RenameFile", "RenderAll", "RenderingOptions", "RenewalProcess", "RenkoChart", "RepairMesh", "Repeated", "RepeatedNull", "RepeatedString", "RepeatedTiming", "RepeatingElement", "Replace", "ReplaceAll", "ReplaceHeldPart", "ReplaceImageValue", "ReplaceList", "ReplacePart", "ReplacePixelValue", "ReplaceRepeated", "ReplicateLayer", "RequiredPhysicalQuantities", "Resampling", "ResamplingAlgorithmData", "ResamplingMethod", "Rescale", "RescalingTransform", "ResetDirectory", "ResetMenusPacket", "ResetScheduledTask", "ReshapeLayer", "Residue", "ResizeLayer", "Resolve", "ResourceAcquire", "ResourceData", "ResourceFunction", "ResourceObject", "ResourceRegister", "ResourceRemove", "ResourceSearch", "ResourceSubmissionObject", "ResourceSubmit", "ResourceSystemBase", "ResourceSystemPath", "ResourceUpdate", "ResourceVersion", "ResponseForm", "Rest", "RestartInterval", "Restricted", "Resultant", "ResumePacket", "Return", "ReturnEntersInput", "ReturnExpressionPacket", "ReturnInputFormPacket", "ReturnPacket", "ReturnReceiptFunction", "ReturnTextPacket", "Reverse", "ReverseApplied", "ReverseBiorthogonalSplineWavelet", "ReverseElement", "ReverseEquilibrium", "ReverseGraph", "ReverseSort", "ReverseSortBy", "ReverseUpEquilibrium", "RevolutionAxis", "RevolutionPlot3D", "RGBColor", "RiccatiSolve", "RiceDistribution", "RidgeFilter", "RiemannR", "RiemannSiegelTheta", "RiemannSiegelZ", "RiemannXi", "Riffle", "Right", "RightArrow", "RightArrowBar", "RightArrowLeftArrow", "RightComposition", "RightCosetRepresentative", "RightDownTeeVector", "RightDownVector", "RightDownVectorBar", "RightTee", "RightTeeArrow", "RightTeeVector", "RightTriangle", "RightTriangleBar", "RightTriangleEqual", "RightUpDownVector", "RightUpTeeVector", "RightUpVector", "RightUpVectorBar", "RightVector", "RightVectorBar", "RiskAchievementImportance", "RiskReductionImportance", "RogersTanimotoDissimilarity", "RollPitchYawAngles", "RollPitchYawMatrix", "RomanNumeral", "Root", "RootApproximant", "RootIntervals", "RootLocusPlot", "RootMeanSquare", "RootOfUnityQ", "RootReduce", "Roots", "RootSum", "Rotate", "RotateLabel", "RotateLeft", "RotateRight", "RotationAction", "RotationBox", "RotationBoxOptions", "RotationMatrix", "RotationTransform", "Round", "RoundImplies", "RoundingRadius", "Row", "RowAlignments", "RowBackgrounds", "RowBox", "RowHeights", "RowLines", "RowMinHeight", "RowReduce", "RowsEqual", "RowSpacings", "RSolve", "RSolveValue", "RudinShapiro", "RudvalisGroupRu", "Rule", "RuleCondition", "RuleDelayed", "RuleForm", "RulePlot", "RulerUnits", "Run", "RunProcess", "RunScheduledTask", "RunThrough", "RuntimeAttributes", "RuntimeOptions", "RussellRaoDissimilarity", "SameQ", "SameTest", "SameTestProperties", "SampledEntityClass", "SampleDepth", "SampledSoundFunction", "SampledSoundList", "SampleRate", "SamplingPeriod", "SARIMAProcess", "SARMAProcess", "SASTriangle", "SatelliteData", "SatisfiabilityCount", "SatisfiabilityInstances", "SatisfiableQ", "Saturday", "Save", "Saveable", "SaveAutoDelete", "SaveConnection", "SaveDefinitions", "SavitzkyGolayMatrix", "SawtoothWave", "Scale", "Scaled", "ScaleDivisions", "ScaledMousePosition", "ScaleOrigin", "ScalePadding", "ScaleRanges", "ScaleRangeStyle", "ScalingFunctions", "ScalingMatrix", "ScalingTransform", "Scan", "ScheduledTask", "ScheduledTaskActiveQ", "ScheduledTaskInformation", "ScheduledTaskInformationData", "ScheduledTaskObject", "ScheduledTasks", "SchurDecomposition", "ScientificForm", "ScientificNotationThreshold", "ScorerGi", "ScorerGiPrime", "ScorerHi", "ScorerHiPrime", "ScreenRectangle", "ScreenStyleEnvironment", "ScriptBaselineShifts", "ScriptForm", "ScriptLevel", "ScriptMinSize", "ScriptRules", "ScriptSizeMultipliers", "Scrollbars", "ScrollingOptions", "ScrollPosition", "SearchAdjustment", "SearchIndexObject", "SearchIndices", "SearchQueryString", "SearchResultObject", "Sec", "Sech", "SechDistribution", "SecondOrderConeOptimization", "SectionGrouping", "SectorChart", "SectorChart3D", "SectorOrigin", "SectorSpacing", "SecuredAuthenticationKey", "SecuredAuthenticationKeys", "SeedRandom", "Select", "Selectable", "SelectComponents", "SelectedCells", "SelectedNotebook", "SelectFirst", "Selection", "SelectionAnimate", "SelectionCell", "SelectionCellCreateCell", "SelectionCellDefaultStyle", "SelectionCellParentStyle", "SelectionCreateCell", "SelectionDebuggerTag", "SelectionDuplicateCell", "SelectionEvaluate", "SelectionEvaluateCreateCell", "SelectionMove", "SelectionPlaceholder", "SelectionSetStyle", "SelectWithContents", "SelfLoops", "SelfLoopStyle", "SemanticImport", "SemanticImportString", "SemanticInterpretation", "SemialgebraicComponentInstances", "SemidefiniteOptimization", "SendMail", "SendMessage", "Sequence", "SequenceAlignment", "SequenceAttentionLayer", "SequenceCases", "SequenceCount", "SequenceFold", "SequenceFoldList", "SequenceForm", "SequenceHold", "SequenceLastLayer", "SequenceMostLayer", "SequencePosition", "SequencePredict", "SequencePredictorFunction", "SequenceReplace", "SequenceRestLayer", "SequenceReverseLayer", "SequenceSplit", "Series", "SeriesCoefficient", "SeriesData", "SeriesTermGoal", "ServiceConnect", "ServiceDisconnect", "ServiceExecute", "ServiceObject", "ServiceRequest", "ServiceResponse", "ServiceSubmit", "SessionSubmit", "SessionTime", "Set", "SetAccuracy", "SetAlphaChannel", "SetAttributes", "Setbacks", "SetBoxFormNamesPacket", "SetCloudDirectory", "SetCookies", "SetDelayed", "SetDirectory", "SetEnvironment", "SetEvaluationNotebook", "SetFileDate", "SetFileLoadingContext", "SetNotebookStatusLine", "SetOptions", "SetOptionsPacket", "SetPermissions", "SetPrecision", "SetProperty", "SetSecuredAuthenticationKey", "SetSelectedNotebook", "SetSharedFunction", "SetSharedVariable", "SetSpeechParametersPacket", "SetStreamPosition", "SetSystemModel", "SetSystemOptions", "Setter", "SetterBar", "SetterBox", "SetterBoxOptions", "Setting", "SetUsers", "SetValue", "Shading", "Shallow", "ShannonWavelet", "ShapiroWilkTest", "Share", "SharingList", "Sharpen", "ShearingMatrix", "ShearingTransform", "ShellRegion", "ShenCastanMatrix", "ShiftedGompertzDistribution", "ShiftRegisterSequence", "Short", "ShortDownArrow", "Shortest", "ShortestMatch", "ShortestPathFunction", "ShortLeftArrow", "ShortRightArrow", "ShortTimeFourier", "ShortTimeFourierData", "ShortUpArrow", "Show", "ShowAutoConvert", "ShowAutoSpellCheck", "ShowAutoStyles", "ShowCellBracket", "ShowCellLabel", "ShowCellTags", "ShowClosedCellArea", "ShowCodeAssist", "ShowContents", "ShowControls", "ShowCursorTracker", "ShowGroupOpenCloseIcon", "ShowGroupOpener", "ShowInvisibleCharacters", "ShowPageBreaks", "ShowPredictiveInterface", "ShowSelection", "ShowShortBoxForm", "ShowSpecialCharacters", "ShowStringCharacters", "ShowSyntaxStyles", "ShrinkingDelay", "ShrinkWrapBoundingBox", "SiderealTime", "SiegelTheta", "SiegelTukeyTest", "SierpinskiCurve", "SierpinskiMesh", "Sign", "Signature", "SignedRankTest", "SignedRegionDistance", "SignificanceLevel", "SignPadding", "SignTest", "SimilarityRules", "SimpleGraph", "SimpleGraphQ", "SimplePolygonQ", "SimplePolyhedronQ", "Simplex", "Simplify", "Sin", "Sinc", "SinghMaddalaDistribution", "SingleEvaluation", "SingleLetterItalics", "SingleLetterStyle", "SingularValueDecomposition", "SingularValueList", "SingularValuePlot", "SingularValues", "Sinh", "SinhIntegral", "SinIntegral", "SixJSymbol", "Skeleton", "SkeletonTransform", "SkellamDistribution", "Skewness", "SkewNormalDistribution", "SkinStyle", "Skip", "SliceContourPlot3D", "SliceDensityPlot3D", "SliceDistribution", "SliceVectorPlot3D", "Slider", "Slider2D", "Slider2DBox", "Slider2DBoxOptions", "SliderBox", "SliderBoxOptions", "SlideView", "Slot", "SlotSequence", "Small", "SmallCircle", "Smaller", "SmithDecomposition", "SmithDelayCompensator", "SmithWatermanSimilarity", "SmoothDensityHistogram", "SmoothHistogram", "SmoothHistogram3D", "SmoothKernelDistribution", "SnDispersion", "Snippet", "SnubPolyhedron", "SocialMediaData", "Socket", "SocketConnect", "SocketListen", "SocketListener", "SocketObject", "SocketOpen", "SocketReadMessage", "SocketReadyQ", "Sockets", "SocketWaitAll", "SocketWaitNext", "SoftmaxLayer", "SokalSneathDissimilarity", "SolarEclipse", "SolarSystemFeatureData", "SolidAngle", "SolidData", "SolidRegionQ", "Solve", "SolveAlways", "SolveDelayed", "Sort", "SortBy", "SortedBy", "SortedEntityClass", "Sound", "SoundAndGraphics", "SoundNote", "SoundVolume", "SourceLink", "Sow", "Space", "SpaceCurveData", "SpaceForm", "Spacer", "Spacings", "Span", "SpanAdjustments", "SpanCharacterRounding", "SpanFromAbove", "SpanFromBoth", "SpanFromLeft", "SpanLineThickness", "SpanMaxSize", "SpanMinSize", "SpanningCharacters", "SpanSymmetric", "SparseArray", "SpatialGraphDistribution", "SpatialMedian", "SpatialTransformationLayer", "Speak", "SpeakerMatchQ", "SpeakTextPacket", "SpearmanRankTest", "SpearmanRho", "SpeciesData", "SpecificityGoal", "SpectralLineData", "Spectrogram", "SpectrogramArray", "Specularity", "SpeechCases", "SpeechInterpreter", "SpeechRecognize", "SpeechSynthesize", "SpellingCorrection", "SpellingCorrectionList", "SpellingDictionaries", "SpellingDictionariesPath", "SpellingOptions", "SpellingSuggestionsPacket", "Sphere", "SphereBox", "SpherePoints", "SphericalBesselJ", "SphericalBesselY", "SphericalHankelH1", "SphericalHankelH2", "SphericalHarmonicY", "SphericalPlot3D", "SphericalRegion", "SphericalShell", "SpheroidalEigenvalue", "SpheroidalJoiningFactor", "SpheroidalPS", "SpheroidalPSPrime", "SpheroidalQS", "SpheroidalQSPrime", "SpheroidalRadialFactor", "SpheroidalS1", "SpheroidalS1Prime", "SpheroidalS2", "SpheroidalS2Prime", "Splice", "SplicedDistribution", "SplineClosed", "SplineDegree", "SplineKnots", "SplineWeights", "Split", "SplitBy", "SpokenString", "Sqrt", "SqrtBox", "SqrtBoxOptions", "Square", "SquaredEuclideanDistance", "SquareFreeQ", "SquareIntersection", "SquareMatrixQ", "SquareRepeatingElement", "SquaresR", "SquareSubset", "SquareSubsetEqual", "SquareSuperset", "SquareSupersetEqual", "SquareUnion", "SquareWave", "SSSTriangle", "StabilityMargins", "StabilityMarginsStyle", "StableDistribution", "Stack", "StackBegin", "StackComplete", "StackedDateListPlot", "StackedListPlot", "StackInhibit", "StadiumShape", "StandardAtmosphereData", "StandardDeviation", "StandardDeviationFilter", "StandardForm", "Standardize", "Standardized", "StandardOceanData", "StandbyDistribution", "Star", "StarClusterData", "StarData", "StarGraph", "StartAsynchronousTask", "StartExternalSession", "StartingStepSize", "StartOfLine", "StartOfString", "StartProcess", "StartScheduledTask", "StartupSound", "StartWebSession", "StateDimensions", "StateFeedbackGains", "StateOutputEstimator", "StateResponse", "StateSpaceModel", "StateSpaceRealization", "StateSpaceTransform", "StateTransformationLinearize", "StationaryDistribution", "StationaryWaveletPacketTransform", "StationaryWaveletTransform", "StatusArea", "StatusCentrality", "StepMonitor", "StereochemistryElements", "StieltjesGamma", "StippleShading", "StirlingS1", "StirlingS2", "StopAsynchronousTask", "StoppingPowerData", "StopScheduledTask", "StrataVariables", "StratonovichProcess", "StreamColorFunction", "StreamColorFunctionScaling", "StreamDensityPlot", "StreamMarkers", "StreamPlot", "StreamPoints", "StreamPosition", "Streams", "StreamScale", "StreamStyle", "String", "StringBreak", "StringByteCount", "StringCases", "StringContainsQ", "StringCount", "StringDelete", "StringDrop", "StringEndsQ", "StringExpression", "StringExtract", "StringForm", "StringFormat", "StringFreeQ", "StringInsert", "StringJoin", "StringLength", "StringMatchQ", "StringPadLeft", "StringPadRight", "StringPart", "StringPartition", "StringPosition", "StringQ", "StringRepeat", "StringReplace", "StringReplaceList", "StringReplacePart", "StringReverse", "StringRiffle", "StringRotateLeft", "StringRotateRight", "StringSkeleton", "StringSplit", "StringStartsQ", "StringTake", "StringTemplate", "StringToByteArray", "StringToStream", "StringTrim", "StripBoxes", "StripOnInput", "StripWrapperBoxes", "StrokeForm", "StructuralImportance", "StructuredArray", "StructuredArrayHeadQ", "StructuredSelection", "StruveH", "StruveL", "Stub", "StudentTDistribution", "Style", "StyleBox", "StyleBoxAutoDelete", "StyleData", "StyleDefinitions", "StyleForm", "StyleHints", "StyleKeyMapping", "StyleMenuListing", "StyleNameDialogSettings", "StyleNames", "StylePrint", "StyleSheetPath", "Subdivide", "Subfactorial", "Subgraph", "SubMinus", "SubPlus", "SubresultantPolynomialRemainders", "SubresultantPolynomials", "Subresultants", "Subscript", "SubscriptBox", "SubscriptBoxOptions", "Subscripted", "Subsequences", "Subset", "SubsetCases", "SubsetCount", "SubsetEqual", "SubsetMap", "SubsetPosition", "SubsetQ", "SubsetReplace", "Subsets", "SubStar", "SubstitutionSystem", "Subsuperscript", "SubsuperscriptBox", "SubsuperscriptBoxOptions", "SubtitleEncoding", "SubtitleTracks", "Subtract", "SubtractFrom", "SubtractSides", "SubValues", "Succeeds", "SucceedsEqual", "SucceedsSlantEqual", "SucceedsTilde", "Success", "SuchThat", "Sum", "SumConvergence", "SummationLayer", "Sunday", "SunPosition", "Sunrise", "Sunset", "SuperDagger", "SuperMinus", "SupernovaData", "SuperPlus", "Superscript", "SuperscriptBox", "SuperscriptBoxOptions", "Superset", "SupersetEqual", "SuperStar", "Surd", "SurdForm", "SurfaceAppearance", "SurfaceArea", "SurfaceColor", "SurfaceData", "SurfaceGraphics", "SurvivalDistribution", "SurvivalFunction", "SurvivalModel", "SurvivalModelFit", "SuspendPacket", "SuzukiDistribution", "SuzukiGroupSuz", "SwatchLegend", "Switch", "Symbol", "SymbolName", "SymletWavelet", "Symmetric", "SymmetricGroup", "SymmetricKey", "SymmetricMatrixQ", "SymmetricPolynomial", "SymmetricReduction", "Symmetrize", "SymmetrizedArray", "SymmetrizedArrayRules", "SymmetrizedDependentComponents", "SymmetrizedIndependentComponents", "SymmetrizedReplacePart", "SynchronousInitialization", "SynchronousUpdating", "Synonyms", "Syntax", "SyntaxForm", "SyntaxInformation", "SyntaxLength", "SyntaxPacket", "SyntaxQ", "SynthesizeMissingValues", "SystemCredential", "SystemCredentialData", "SystemCredentialKey", "SystemCredentialKeys", "SystemCredentialStoreObject", "SystemDialogInput", "SystemException", "SystemGet", "SystemHelpPath", "SystemInformation", "SystemInformationData", "SystemInstall", "SystemModel", "SystemModeler", "SystemModelExamples", "SystemModelLinearize", "SystemModelParametricSimulate", "SystemModelPlot", "SystemModelProgressReporting", "SystemModelReliability", "SystemModels", "SystemModelSimulate", "SystemModelSimulateSensitivity", "SystemModelSimulationData", "SystemOpen", "SystemOptions", "SystemProcessData", "SystemProcesses", "SystemsConnectionsModel", "SystemsModelDelay", "SystemsModelDelayApproximate", "SystemsModelDelete", "SystemsModelDimensions", "SystemsModelExtract", "SystemsModelFeedbackConnect", "SystemsModelLabels", "SystemsModelLinearity", "SystemsModelMerge", "SystemsModelOrder", "SystemsModelParallelConnect", "SystemsModelSeriesConnect", "SystemsModelStateFeedbackConnect", "SystemsModelVectorRelativeOrders", "SystemStub", "SystemTest", "Tab", "TabFilling", "Table", "TableAlignments", "TableDepth", "TableDirections", "TableForm", "TableHeadings", "TableSpacing", "TableView", "TableViewBox", "TableViewBoxBackground", "TableViewBoxItemSize", "TableViewBoxOptions", "TabSpacings", "TabView", "TabViewBox", "TabViewBoxOptions", "TagBox", "TagBoxNote", "TagBoxOptions", "TaggingRules", "TagSet", "TagSetDelayed", "TagStyle", "TagUnset", "Take", "TakeDrop", "TakeLargest", "TakeLargestBy", "TakeList", "TakeSmallest", "TakeSmallestBy", "TakeWhile", "Tally", "Tan", "Tanh", "TargetDevice", "TargetFunctions", "TargetSystem", "TargetUnits", "TaskAbort", "TaskExecute", "TaskObject", "TaskRemove", "TaskResume", "Tasks", "TaskSuspend", "TaskWait", "TautologyQ", "TelegraphProcess", "TemplateApply", "TemplateArgBox", "TemplateBox", "TemplateBoxOptions", "TemplateEvaluate", "TemplateExpression", "TemplateIf", "TemplateObject", "TemplateSequence", "TemplateSlot", "TemplateSlotSequence", "TemplateUnevaluated", "TemplateVerbatim", "TemplateWith", "TemporalData", "TemporalRegularity", "Temporary", "TemporaryVariable", "TensorContract", "TensorDimensions", "TensorExpand", "TensorProduct", "TensorQ", "TensorRank", "TensorReduce", "TensorSymmetry", "TensorTranspose", "TensorWedge", "TestID", "TestReport", "TestReportObject", "TestResultObject", "Tetrahedron", "TetrahedronBox", "TetrahedronBoxOptions", "TeXForm", "TeXSave", "Text", "Text3DBox", "Text3DBoxOptions", "TextAlignment", "TextBand", "TextBoundingBox", "TextBox", "TextCases", "TextCell", "TextClipboardType", "TextContents", "TextData", "TextElement", "TextForm", "TextGrid", "TextJustification", "TextLine", "TextPacket", "TextParagraph", "TextPosition", "TextRecognize", "TextSearch", "TextSearchReport", "TextSentences", "TextString", "TextStructure", "TextStyle", "TextTranslation", "Texture", "TextureCoordinateFunction", "TextureCoordinateScaling", "TextWords", "Therefore", "ThermodynamicData", "ThermometerGauge", "Thick", "Thickness", "Thin", "Thinning", "ThisLink", "ThompsonGroupTh", "Thread", "ThreadingLayer", "ThreeJSymbol", "Threshold", "Through", "Throw", "ThueMorse", "Thumbnail", "Thursday", "Ticks", "TicksStyle", "TideData", "Tilde", "TildeEqual", "TildeFullEqual", "TildeTilde", "TimeConstrained", "TimeConstraint", "TimeDirection", "TimeFormat", "TimeGoal", "TimelinePlot", "TimeObject", "TimeObjectQ", "TimeRemaining", "Times", "TimesBy", "TimeSeries", "TimeSeriesAggregate", "TimeSeriesForecast", "TimeSeriesInsert", "TimeSeriesInvertibility", "TimeSeriesMap", "TimeSeriesMapThread", "TimeSeriesModel", "TimeSeriesModelFit", "TimeSeriesResample", "TimeSeriesRescale", "TimeSeriesShift", "TimeSeriesThread", "TimeSeriesWindow", "TimeUsed", "TimeValue", "TimeWarpingCorrespondence", "TimeWarpingDistance", "TimeZone", "TimeZoneConvert", "TimeZoneOffset", "Timing", "Tiny", "TitleGrouping", "TitsGroupT", "ToBoxes", "ToCharacterCode", "ToColor", "ToContinuousTimeModel", "ToDate", "Today", "ToDiscreteTimeModel", "ToEntity", "ToeplitzMatrix", "ToExpression", "ToFileName", "Together", "Toggle", "ToggleFalse", "Toggler", "TogglerBar", "TogglerBox", "TogglerBoxOptions", "ToHeldExpression", "ToInvertibleTimeSeries", "TokenWords", "Tolerance", "ToLowerCase", "Tomorrow", "ToNumberField", "TooBig", "Tooltip", "TooltipBox", "TooltipBoxOptions", "TooltipDelay", "TooltipStyle", "ToonShading", "Top", "TopHatTransform", "ToPolarCoordinates", "TopologicalSort", "ToRadicals", "ToRules", "ToSphericalCoordinates", "ToString", "Total", "TotalHeight", "TotalLayer", "TotalVariationFilter", "TotalWidth", "TouchPosition", "TouchscreenAutoZoom", "TouchscreenControlPlacement", "ToUpperCase", "Tr", "Trace", "TraceAbove", "TraceAction", "TraceBackward", "TraceDepth", "TraceDialog", "TraceForward", "TraceInternal", "TraceLevel", "TraceOff", "TraceOn", "TraceOriginal", "TracePrint", "TraceScan", "TrackedSymbols", "TrackingFunction", "TracyWidomDistribution", "TradingChart", "TraditionalForm", "TraditionalFunctionNotation", "TraditionalNotation", "TraditionalOrder", "TrainingProgressCheckpointing", "TrainingProgressFunction", "TrainingProgressMeasurements", "TrainingProgressReporting", "TrainingStoppingCriterion", "TrainingUpdateSchedule", "TransferFunctionCancel", "TransferFunctionExpand", "TransferFunctionFactor", "TransferFunctionModel", "TransferFunctionPoles", "TransferFunctionTransform", "TransferFunctionZeros", "TransformationClass", "TransformationFunction", "TransformationFunctions", "TransformationMatrix", "TransformedDistribution", "TransformedField", "TransformedProcess", "TransformedRegion", "TransitionDirection", "TransitionDuration", "TransitionEffect", "TransitiveClosureGraph", "TransitiveReductionGraph", "Translate", "TranslationOptions", "TranslationTransform", "Transliterate", "Transparent", "TransparentColor", "Transpose", "TransposeLayer", "TrapSelection", "TravelDirections", "TravelDirectionsData", "TravelDistance", "TravelDistanceList", "TravelMethod", "TravelTime", "TreeForm", "TreeGraph", "TreeGraphQ", "TreePlot", "TrendStyle", "Triangle", "TriangleCenter", "TriangleConstruct", "TriangleMeasurement", "TriangleWave", "TriangularDistribution", "TriangulateMesh", "Trig", "TrigExpand", "TrigFactor", "TrigFactorList", "Trigger", "TrigReduce", "TrigToExp", "TrimmedMean", "TrimmedVariance", "TropicalStormData", "True", "TrueQ", "TruncatedDistribution", "TruncatedPolyhedron", "TsallisQExponentialDistribution", "TsallisQGaussianDistribution", "TTest", "Tube", "TubeBezierCurveBox", "TubeBezierCurveBoxOptions", "TubeBox", "TubeBoxOptions", "TubeBSplineCurveBox", "TubeBSplineCurveBoxOptions", "Tuesday", "TukeyLambdaDistribution", "TukeyWindow", "TunnelData", "Tuples", "TuranGraph", "TuringMachine", "TuttePolynomial", "TwoWayRule", "Typed", "TypeSpecifier", "UnateQ", "Uncompress", "UnconstrainedParameters", "Undefined", "UnderBar", "Underflow", "Underlined", "Underoverscript", "UnderoverscriptBox", "UnderoverscriptBoxOptions", "Underscript", "UnderscriptBox", "UnderscriptBoxOptions", "UnderseaFeatureData", "UndirectedEdge", "UndirectedGraph", "UndirectedGraphQ", "UndoOptions", "UndoTrackedVariables", "Unequal", "UnequalTo", "Unevaluated", "UniformDistribution", "UniformGraphDistribution", "UniformPolyhedron", "UniformSumDistribution", "Uninstall", "Union", "UnionedEntityClass", "UnionPlus", "Unique", "UnitaryMatrixQ", "UnitBox", "UnitConvert", "UnitDimensions", "Unitize", "UnitRootTest", "UnitSimplify", "UnitStep", "UnitSystem", "UnitTriangle", "UnitVector", "UnitVectorLayer", "UnityDimensions", "UniverseModelData", "UniversityData", "UnixTime", "Unprotect", "UnregisterExternalEvaluator", "UnsameQ", "UnsavedVariables", "Unset", "UnsetShared", "UntrackedVariables", "Up", "UpArrow", "UpArrowBar", "UpArrowDownArrow", "Update", "UpdateDynamicObjects", "UpdateDynamicObjectsSynchronous", "UpdateInterval", "UpdatePacletSites", "UpdateSearchIndex", "UpDownArrow", "UpEquilibrium", "UpperCaseQ", "UpperLeftArrow", "UpperRightArrow", "UpperTriangularize", "UpperTriangularMatrixQ", "Upsample", "UpSet", "UpSetDelayed", "UpTee", "UpTeeArrow", "UpTo", "UpValues", "URL", "URLBuild", "URLDecode", "URLDispatcher", "URLDownload", "URLDownloadSubmit", "URLEncode", "URLExecute", "URLExpand", "URLFetch", "URLFetchAsynchronous", "URLParse", "URLQueryDecode", "URLQueryEncode", "URLRead", "URLResponseTime", "URLSave", "URLSaveAsynchronous", "URLShorten", "URLSubmit", "UseGraphicsRange", "UserDefinedWavelet", "Using", "UsingFrontEnd", "UtilityFunction", "V2Get", "ValenceErrorHandling", "ValidationLength", "ValidationSet", "Value", "ValueBox", "ValueBoxOptions", "ValueDimensions", "ValueForm", "ValuePreprocessingFunction", "ValueQ", "Values", "ValuesData", "Variables", "Variance", "VarianceEquivalenceTest", "VarianceEstimatorFunction", "VarianceGammaDistribution", "VarianceTest", "VectorAngle", "VectorAround", "VectorAspectRatio", "VectorColorFunction", "VectorColorFunctionScaling", "VectorDensityPlot", "VectorGlyphData", "VectorGreater", "VectorGreaterEqual", "VectorLess", "VectorLessEqual", "VectorMarkers", "VectorPlot", "VectorPlot3D", "VectorPoints", "VectorQ", "VectorRange", "Vectors", "VectorScale", "VectorScaling", "VectorSizes", "VectorStyle", "Vee", "Verbatim", "Verbose", "VerboseConvertToPostScriptPacket", "VerificationTest", "VerifyConvergence", "VerifyDerivedKey", "VerifyDigitalSignature", "VerifyFileSignature", "VerifyInterpretation", "VerifySecurityCertificates", "VerifySolutions", "VerifyTestAssumptions", "Version", "VersionedPreferences", "VersionNumber", "VertexAdd", "VertexCapacity", "VertexColors", "VertexComponent", "VertexConnectivity", "VertexContract", "VertexCoordinateRules", "VertexCoordinates", "VertexCorrelationSimilarity", "VertexCosineSimilarity", "VertexCount", "VertexCoverQ", "VertexDataCoordinates", "VertexDegree", "VertexDelete", "VertexDiceSimilarity", "VertexEccentricity", "VertexInComponent", "VertexInDegree", "VertexIndex", "VertexJaccardSimilarity", "VertexLabeling", "VertexLabels", "VertexLabelStyle", "VertexList", "VertexNormals", "VertexOutComponent", "VertexOutDegree", "VertexQ", "VertexRenderingFunction", "VertexReplace", "VertexShape", "VertexShapeFunction", "VertexSize", "VertexStyle", "VertexTextureCoordinates", "VertexWeight", "VertexWeightedGraphQ", "Vertical", "VerticalBar", "VerticalForm", "VerticalGauge", "VerticalSeparator", "VerticalSlider", "VerticalTilde", "Video", "VideoEncoding", "VideoExtractFrames", "VideoFrameList", "VideoFrameMap", "VideoPause", "VideoPlay", "VideoQ", "VideoStop", "VideoStream", "VideoStreams", "VideoTimeSeries", "VideoTracks", "VideoTrim", "ViewAngle", "ViewCenter", "ViewMatrix", "ViewPoint", "ViewPointSelectorSettings", "ViewPort", "ViewProjection", "ViewRange", "ViewVector", "ViewVertical", "VirtualGroupData", "Visible", "VisibleCell", "VoiceStyleData", "VoigtDistribution", "VolcanoData", "Volume", "VonMisesDistribution", "VoronoiMesh", "WaitAll", "WaitAsynchronousTask", "WaitNext", "WaitUntil", "WakebyDistribution", "WalleniusHypergeometricDistribution", "WaringYuleDistribution", "WarpingCorrespondence", "WarpingDistance", "WatershedComponents", "WatsonUSquareTest", "WattsStrogatzGraphDistribution", "WaveletBestBasis", "WaveletFilterCoefficients", "WaveletImagePlot", "WaveletListPlot", "WaveletMapIndexed", "WaveletMatrixPlot", "WaveletPhi", "WaveletPsi", "WaveletScale", "WaveletScalogram", "WaveletThreshold", "WeaklyConnectedComponents", "WeaklyConnectedGraphComponents", "WeaklyConnectedGraphQ", "WeakStationarity", "WeatherData", "WeatherForecastData", "WebAudioSearch", "WebElementObject", "WeberE", "WebExecute", "WebImage", "WebImageSearch", "WebSearch", "WebSessionObject", "WebSessions", "WebWindowObject", "Wedge", "Wednesday", "WeibullDistribution", "WeierstrassE1", "WeierstrassE2", "WeierstrassE3", "WeierstrassEta1", "WeierstrassEta2", "WeierstrassEta3", "WeierstrassHalfPeriods", "WeierstrassHalfPeriodW1", "WeierstrassHalfPeriodW2", "WeierstrassHalfPeriodW3", "WeierstrassInvariantG2", "WeierstrassInvariantG3", "WeierstrassInvariants", "WeierstrassP", "WeierstrassPPrime", "WeierstrassSigma", "WeierstrassZeta", "WeightedAdjacencyGraph", "WeightedAdjacencyMatrix", "WeightedData", "WeightedGraphQ", "Weights", "WelchWindow", "WheelGraph", "WhenEvent", "Which", "While", "White", "WhiteNoiseProcess", "WhitePoint", "Whitespace", "WhitespaceCharacter", "WhittakerM", "WhittakerW", "WienerFilter", "WienerProcess", "WignerD", "WignerSemicircleDistribution", "WikidataData", "WikidataSearch", "WikipediaData", "WikipediaSearch", "WilksW", "WilksWTest", "WindDirectionData", "WindingCount", "WindingPolygon", "WindowClickSelect", "WindowElements", "WindowFloating", "WindowFrame", "WindowFrameElements", "WindowMargins", "WindowMovable", "WindowOpacity", "WindowPersistentStyles", "WindowSelected", "WindowSize", "WindowStatusArea", "WindowTitle", "WindowToolbars", "WindowWidth", "WindSpeedData", "WindVectorData", "WinsorizedMean", "WinsorizedVariance", "WishartMatrixDistribution", "With", "WolframAlpha", "WolframAlphaDate", "WolframAlphaQuantity", "WolframAlphaResult", "WolframLanguageData", "Word", "WordBoundary", "WordCharacter", "WordCloud", "WordCount", "WordCounts", "WordData", "WordDefinition", "WordFrequency", "WordFrequencyData", "WordList", "WordOrientation", "WordSearch", "WordSelectionFunction", "WordSeparators", "WordSpacings", "WordStem", "WordTranslation", "WorkingPrecision", "WrapAround", "Write", "WriteLine", "WriteString", "Wronskian", "XMLElement", "XMLObject", "XMLTemplate", "Xnor", "Xor", "XYZColor", "Yellow", "Yesterday", "YuleDissimilarity", "ZernikeR", "ZeroSymmetric", "ZeroTest", "ZeroWidthTimes", "Zeta", "ZetaZero", "ZIPCodeData", "ZipfDistribution", "ZoomCenter", "ZoomFactor", "ZTest", "ZTransform", "$Aborted", "$ActivationGroupID", "$ActivationKey", "$ActivationUserRegistered", "$AddOnsDirectory", "$AllowDataUpdates", "$AllowExternalChannelFunctions", "$AllowInternet", "$AssertFunction", "$Assumptions", "$AsynchronousTask", "$AudioDecoders", "$AudioEncoders", "$AudioInputDevices", "$AudioOutputDevices", "$BaseDirectory", "$BasePacletsDirectory", "$BatchInput", "$BatchOutput", "$BlockchainBase", "$BoxForms", "$ByteOrdering", "$CacheBaseDirectory", "$Canceled", "$ChannelBase", "$CharacterEncoding", "$CharacterEncodings", "$CloudAccountName", "$CloudBase", "$CloudConnected", "$CloudConnection", "$CloudCreditsAvailable", "$CloudEvaluation", "$CloudExpressionBase", "$CloudObjectNameFormat", "$CloudObjectURLType", "$CloudRootDirectory", "$CloudSymbolBase", "$CloudUserID", "$CloudUserUUID", "$CloudVersion", "$CloudVersionNumber", "$CloudWolframEngineVersionNumber", "$CommandLine", "$CompilationTarget", "$ConditionHold", "$ConfiguredKernels", "$Context", "$ContextPath", "$ControlActiveSetting", "$Cookies", "$CookieStore", "$CreationDate", "$CurrentLink", "$CurrentTask", "$CurrentWebSession", "$DataStructures", "$DateStringFormat", "$DefaultAudioInputDevice", "$DefaultAudioOutputDevice", "$DefaultFont", "$DefaultFrontEnd", "$DefaultImagingDevice", "$DefaultLocalBase", "$DefaultMailbox", "$DefaultNetworkInterface", "$DefaultPath", "$DefaultProxyRules", "$DefaultSystemCredentialStore", "$Display", "$DisplayFunction", "$DistributedContexts", "$DynamicEvaluation", "$Echo", "$EmbedCodeEnvironments", "$EmbeddableServices", "$EntityStores", "$Epilog", "$EvaluationCloudBase", "$EvaluationCloudObject", "$EvaluationEnvironment", "$ExportFormats", "$ExternalIdentifierTypes", "$ExternalStorageBase", "$Failed", "$FinancialDataSource", "$FontFamilies", "$FormatType", "$FrontEnd", "$FrontEndSession", "$GeoEntityTypes", "$GeoLocation", "$GeoLocationCity", "$GeoLocationCountry", "$GeoLocationPrecision", "$GeoLocationSource", "$HistoryLength", "$HomeDirectory", "$HTMLExportRules", "$HTTPCookies", "$HTTPRequest", "$IgnoreEOF", "$ImageFormattingWidth", "$ImageResolution", "$ImagingDevice", "$ImagingDevices", "$ImportFormats", "$IncomingMailSettings", "$InitialDirectory", "$Initialization", "$InitializationContexts", "$Input", "$InputFileName", "$InputStreamMethods", "$Inspector", "$InstallationDate", "$InstallationDirectory", "$InterfaceEnvironment", "$InterpreterTypes", "$IterationLimit", "$KernelCount", "$KernelID", "$Language", "$LaunchDirectory", "$LibraryPath", "$LicenseExpirationDate", "$LicenseID", "$LicenseProcesses", "$LicenseServer", "$LicenseSubprocesses", "$LicenseType", "$Line", "$Linked", "$LinkSupported", "$LoadedFiles", "$LocalBase", "$LocalSymbolBase", "$MachineAddresses", "$MachineDomain", "$MachineDomains", "$MachineEpsilon", "$MachineID", "$MachineName", "$MachinePrecision", "$MachineType", "$MaxExtraPrecision", "$MaxLicenseProcesses", "$MaxLicenseSubprocesses", "$MaxMachineNumber", "$MaxNumber", "$MaxPiecewiseCases", "$MaxPrecision", "$MaxRootDegree", "$MessageGroups", "$MessageList", "$MessagePrePrint", "$Messages", "$MinMachineNumber", "$MinNumber", "$MinorReleaseNumber", "$MinPrecision", "$MobilePhone", "$ModuleNumber", "$NetworkConnected", "$NetworkInterfaces", "$NetworkLicense", "$NewMessage", "$NewSymbol", "$NotebookInlineStorageLimit", "$Notebooks", "$NoValue", "$NumberMarks", "$Off", "$OperatingSystem", "$Output", "$OutputForms", "$OutputSizeLimit", "$OutputStreamMethods", "$Packages", "$ParentLink", "$ParentProcessID", "$PasswordFile", "$PatchLevelID", "$Path", "$PathnameSeparator", "$PerformanceGoal", "$Permissions", "$PermissionsGroupBase", "$PersistenceBase", "$PersistencePath", "$PipeSupported", "$PlotTheme", "$Post", "$Pre", "$PreferencesDirectory", "$PreInitialization", "$PrePrint", "$PreRead", "$PrintForms", "$PrintLiteral", "$Printout3DPreviewer", "$ProcessID", "$ProcessorCount", "$ProcessorType", "$ProductInformation", "$ProgramName", "$PublisherID", "$RandomState", "$RecursionLimit", "$RegisteredDeviceClasses", "$RegisteredUserName", "$ReleaseNumber", "$RequesterAddress", "$RequesterWolframID", "$RequesterWolframUUID", "$RootDirectory", "$ScheduledTask", "$ScriptCommandLine", "$ScriptInputString", "$SecuredAuthenticationKeyTokens", "$ServiceCreditsAvailable", "$Services", "$SessionID", "$SetParentLink", "$SharedFunctions", "$SharedVariables", "$SoundDisplay", "$SoundDisplayFunction", "$SourceLink", "$SSHAuthentication", "$SubtitleDecoders", "$SubtitleEncoders", "$SummaryBoxDataSizeLimit", "$SuppressInputFormHeads", "$SynchronousEvaluation", "$SyntaxHandler", "$System", "$SystemCharacterEncoding", "$SystemCredentialStore", "$SystemID", "$SystemMemory", "$SystemShell", "$SystemTimeZone", "$SystemWordLength", "$TemplatePath", "$TemporaryDirectory", "$TemporaryPrefix", "$TestFileName", "$TextStyle", "$TimedOut", "$TimeUnit", "$TimeZone", "$TimeZoneEntity", "$TopDirectory", "$TraceOff", "$TraceOn", "$TracePattern", "$TracePostAction", "$TracePreAction", "$UnitSystem", "$Urgent", "$UserAddOnsDirectory", "$UserAgentLanguages", "$UserAgentMachine", "$UserAgentName", "$UserAgentOperatingSystem", "$UserAgentString", "$UserAgentVersion", "$UserBaseDirectory", "$UserBasePacletsDirectory", "$UserDocumentsDirectory", "$Username", "$UserName", "$UserURLBase", "$Version", "$VersionNumber", "$VideoDecoders", "$VideoEncoders", "$VoiceStyles", "$WolframDocumentsDirectory", "$WolframID", "$WolframUUID"] + ; + + function t(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function i(e) { + return o("(", e, ")?") + } + + function o(...e) { + return e.map((e => t(e))).join("") + } + + function a(...e) { + return "(" + e.map((e => t(e))).join("|") + ")" + } + + return t => { + const n = a(o(/([2-9]|[1-2]\d|[3][0-5])\^\^/, /(\w*\.\w+|\w+\.\w*|\w+)/), /(\d*\.\d+|\d+\.\d*|\d+)/), r = { + className: "number", relevance: 0, + begin: o(n, i(a(/``[+-]?(\d*\.\d+|\d+\.\d*|\d+)/, /`([+-]?(\d*\.\d+|\d+\.\d*|\d+))?/)), i(/\*\^[+-]?\d+/)) + }, l = /[a-zA-Z$][a-zA-Z0-9$]*/, s = new Set(e), c = { + variants: [{ + className: "builtin-symbol", begin: l, "on:begin": (e, t) => { + s.has(e[0]) || t.ignoreMatch() + } + }, {className: "symbol", relevance: 0, begin: l}] + }, u = { + className: "message-name", relevance: 0, begin: o("::", l) + }; + return { + name: "Mathematica", + aliases: ["mma", "wl"], classNameAliases: { + brace: "punctuation", pattern: "type", + slot: "type", symbol: "variable", "named-character": "variable", + "builtin-symbol": "built_in", "message-name": "string" + }, + contains: [t.COMMENT(/\(\*/, /\*\)/, {contains: ["self"]}), { + className: "pattern", + relevance: 0, begin: /([a-zA-Z$][a-zA-Z0-9$]*)?_+([a-zA-Z$][a-zA-Z0-9$]*)?/ + }, { + className: "slot", relevance: 0, begin: /#[a-zA-Z$][a-zA-Z0-9$]*|#+[0-9]?/ + }, u, c, { + className: "named-character", begin: /\\\[[$a-zA-Z][$a-zA-Z0-9]+\]/ + }, t.QUOTE_STRING_MODE, r, { + className: "operator", relevance: 0, + begin: /[+\-*/,;.:@~=><&|_`'^?!%]+/ + }, { + className: "brace", relevance: 0, + begin: /[[\](){}]/ + }] + } + } +})()); +hljs.registerLanguage("matlab", (() => { + "use strict"; + return e => { + var a = { + relevance: 0, + contains: [{begin: "('|\\.')+"}] + }; + return { + name: "Matlab", keywords: { + keyword: "arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while", + built_in: "sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell " + }, illegal: '(//|"|#|/\\*|\\s+/\\w+)', contains: [{ + className: "function", + beginKeywords: "function", end: "$", contains: [e.UNDERSCORE_TITLE_MODE, { + className: "params", variants: [{begin: "\\(", end: "\\)"}, {begin: "\\[", end: "\\]"}] + }] + }, {className: "built_in", begin: /true|false/, relevance: 0, starts: a}, { + begin: "[a-zA-Z][a-zA-Z_0-9]*('|\\.')+", relevance: 0 + }, { + className: "number", + begin: e.C_NUMBER_RE, relevance: 0, starts: a + }, { + className: "string", begin: "'", end: "'", + contains: [e.BACKSLASH_ESCAPE, {begin: "''"}] + }, { + begin: /\]|\}|\)/, relevance: 0, + starts: a + }, { + className: "string", begin: '"', end: '"', contains: [e.BACKSLASH_ESCAPE, { + begin: '""' + }], starts: a + }, e.COMMENT("^\\s*%\\{\\s*$", "^\\s*%\\}\\s*$"), e.COMMENT("%", "$")] + } + } +})()); +hljs.registerLanguage("csharp", (() => { + "use strict"; + return e => { + const n = { + keyword: ["abstract", "as", "base", "break", "case", "class", "const", "continue", "do", "else", "event", "explicit", "extern", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "lock", "namespace", "new", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "record", "ref", "return", "sealed", "sizeof", "stackalloc", "static", "struct", "switch", "this", "throw", "try", "typeof", "unchecked", "unsafe", "using", "virtual", "void", "volatile", "while"].concat(["add", "alias", "and", "ascending", "async", "await", "by", "descending", "equals", "from", "get", "global", "group", "init", "into", "join", "let", "nameof", "not", "notnull", "on", "or", "orderby", "partial", "remove", "select", "set", "unmanaged", "value|0", "var", "when", "where", "with", "yield"]), + built_in: ["bool", "byte", "char", "decimal", "delegate", "double", "dynamic", "enum", "float", "int", "long", "nint", "nuint", "object", "sbyte", "short", "string", "ulong", "uint", "ushort"], + literal: ["default", "false", "null", "true"] + }, a = e.inherit(e.TITLE_MODE, { + begin: "[a-zA-Z](\\.?\\w)*" + }), i = { + className: "number", variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], relevance: 0 + }, s = { + className: "string", begin: '@"', end: '"', contains: [{begin: '""'}] + }, t = e.inherit(s, {illegal: /\n/}), r = { + className: "subst", begin: /\{/, end: /\}/, + keywords: n + }, l = e.inherit(r, {illegal: /\n/}), c = { + className: "string", begin: /\$"/, + end: '"', illegal: /\n/, contains: [{begin: /\{\{/}, { + begin: /\}\}/ + }, e.BACKSLASH_ESCAPE, l] + }, o = { + className: "string", begin: /\$@"/, end: '"', contains: [{ + begin: /\{\{/ + }, {begin: /\}\}/}, {begin: '""'}, r] + }, d = e.inherit(o, { + illegal: /\n/, + contains: [{begin: /\{\{/}, {begin: /\}\}/}, {begin: '""'}, l] + }) + ;r.contains = [o, c, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, i, e.C_BLOCK_COMMENT_MODE], + l.contains = [d, c, t, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, i, e.inherit(e.C_BLOCK_COMMENT_MODE, { + illegal: /\n/ + })]; + const g = { + variants: [o, c, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, E = { + begin: "<", end: ">", contains: [{beginKeywords: "in out"}, a] + }, _ = e.IDENT_RE + "(<" + e.IDENT_RE + "(\\s*,\\s*" + e.IDENT_RE + ")*>)?(\\[\\])?", b = { + begin: "@" + e.IDENT_RE, relevance: 0 + }; + return { + name: "C#", aliases: ["cs", "c#"], + keywords: n, illegal: /::/, contains: [e.COMMENT("///", "$", { + returnBegin: !0, + contains: [{ + className: "doctag", variants: [{begin: "///", relevance: 0}, { + begin: "\x3c!--|--\x3e" + }, {begin: ""}] + }] + }), e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, { + className: "meta", begin: "#", + end: "$", keywords: { + "meta-keyword": "if else elif endif define undef warning error line region endregion pragma checksum" + } + }, g, i, { + beginKeywords: "class interface", relevance: 0, end: /[{;=]/, + illegal: /[^\s:,]/, contains: [{ + beginKeywords: "where class" + }, a, E, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "namespace", + relevance: 0, end: /[{;=]/, illegal: /[^\s:]/, + contains: [a, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "record", relevance: 0, end: /[{;=]/, illegal: /[^\s:]/, + contains: [a, E, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + className: "meta", + begin: "^\\s*\\[", excludeBegin: !0, end: "\\]", excludeEnd: !0, contains: [{ + className: "meta-string", begin: /"/, end: /"/ + }] + }, { + beginKeywords: "new return throw await else", relevance: 0 + }, { + className: "function", + begin: "(" + _ + "\\s+)+" + e.IDENT_RE + "\\s*(<.+>\\s*)?\\(", returnBegin: !0, + end: /\s*[{;=]/, excludeEnd: !0, keywords: n, contains: [{ + beginKeywords: "public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", + relevance: 0 + }, { + begin: e.IDENT_RE + "\\s*(<.+>\\s*)?\\(", returnBegin: !0, + contains: [e.TITLE_MODE, E], relevance: 0 + }, { + className: "params", begin: /\(/, end: /\)/, + excludeBegin: !0, excludeEnd: !0, keywords: n, relevance: 0, + contains: [g, i, e.C_BLOCK_COMMENT_MODE] + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, b] + } + } +})()); +hljs.registerLanguage("lisp", (() => { + "use strict"; + return e => { + var n = "[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*", a = "\\|[^]*?\\|", + i = "(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?", s = { + className: "literal", begin: "\\b(t{1}|nil)\\b" + }, l = { + className: "number", variants: [{ + begin: i, relevance: 0 + }, {begin: "#(b|B)[0-1]+(/[0-1]+)?"}, { + begin: "#(o|O)[0-7]+(/[0-7]+)?" + }, {begin: "#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"}, { + begin: "#(c|C)\\(" + i + " +" + i, end: "\\)" + }] + }, b = e.inherit(e.QUOTE_STRING_MODE, { + illegal: null + }), g = e.COMMENT(";", "$", {relevance: 0}), r = {begin: "\\*", end: "\\*"}, t = { + className: "symbol", begin: "[:&]" + n + }, c = {begin: n, relevance: 0}, d = {begin: a}, o = { + contains: [l, b, r, t, {begin: "\\(", end: "\\)", contains: ["self", s, b, l, c]}, c], + variants: [{begin: "['`]\\(", end: "\\)"}, { + begin: "\\(quote ", end: "\\)", keywords: { + name: "quote" + } + }, {begin: "'" + a}] + }, v = { + variants: [{begin: "'" + n}, { + begin: "#'" + n + "(::" + n + ")*" + }] + }, m = {begin: "\\(\\s*", end: "\\)"}, u = { + endsWithParent: !0, + relevance: 0 + }; + return m.contains = [{ + className: "name", variants: [{ + begin: n, relevance: 0 + }, {begin: a}] + }, u], u.contains = [o, v, m, s, l, b, g, r, t, d, c], { + name: "Lisp", illegal: /\S/, + contains: [l, e.SHEBANG(), s, b, g, o, v, m, c] + } + } +})()); +hljs.registerLanguage("diff", (() => { + "use strict"; + return e => ({ + name: "Diff", + aliases: ["patch"], contains: [{ + className: "meta", relevance: 10, variants: [{ + begin: /^@@ +-\d+,\d+ +\+\d+,\d+ +@@/ + }, {begin: /^\*\*\* +\d+,\d+ +\*\*\*\*$/}, { + begin: /^--- +\d+,\d+ +----$/ + }] + }, { + className: "comment", variants: [{ + begin: /Index: /, + end: /$/ + }, {begin: /^index/, end: /$/}, {begin: /={3,}/, end: /$/}, { + begin: /^-{3}/, end: /$/ + }, {begin: /^\*{3} /, end: /$/}, {begin: /^\+{3}/, end: /$/}, {begin: /^\*{15}$/}, { + begin: /^diff --git/, end: /$/ + }] + }, {className: "addition", begin: /^\+/, end: /$/}, { + className: "deletion", begin: /^-/, end: /$/ + }, { + className: "addition", begin: /^!/, + end: /$/ + }] + }) +})()); +hljs.registerLanguage("ada", (() => { + "use strict"; + return e => { + const n = "[A-Za-z](_?[A-Za-z0-9.])*", s = "[]\\{\\}%#'\"", a = e.COMMENT("--", "$"), r = { + begin: "\\s+:\\s+", end: "\\s*(:=|;|\\)|=>|$)", illegal: s, contains: [{ + beginKeywords: "loop for declare others", endsParent: !0 + }, { + className: "keyword", + beginKeywords: "not null constant access function procedure in out aliased exception" + }, {className: "type", begin: n, endsParent: !0, relevance: 0}] + }; + return { + name: "Ada", + case_insensitive: !0, keywords: { + keyword: "abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor", + literal: "True False" + }, contains: [a, { + className: "string", begin: /"/, end: /"/, + contains: [{begin: /""/, relevance: 0}] + }, {className: "string", begin: /'.'/}, { + className: "number", + begin: "\\b(\\d(_|\\d)*#\\w+(\\.\\w+)?#([eE][-+]?\\d(_|\\d)*)?|\\d(_|\\d)*(\\.\\d(_|\\d)*)?([eE][-+]?\\d(_|\\d)*)?)", + relevance: 0 + }, {className: "symbol", begin: "'" + n}, { + className: "title", + begin: "(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?", + end: "(is|$)", keywords: "package body", excludeBegin: !0, excludeEnd: !0, illegal: s + }, { + begin: "(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+", + end: "(\\bis|\\bwith|\\brenames|\\)\\s*;)", + keywords: "overriding function procedure with is renames return", returnBegin: !0, + contains: [a, { + className: "title", + begin: "(\\bwith\\s+)?\\b(function|procedure)\\s+", end: "(\\(|\\s+|$)", + excludeBegin: !0, excludeEnd: !0, illegal: s + }, r, { + className: "type", + begin: "\\breturn\\s+", end: "(\\s+|;|$)", keywords: "return", excludeBegin: !0, + excludeEnd: !0, endsParent: !0, illegal: s + }] + }, { + className: "type", + begin: "\\b(sub)?type\\s+", end: "\\s+", keywords: "type", excludeBegin: !0, illegal: s + }, r] + } + } +})()); +hljs.registerLanguage("pgsql", (() => { + "use strict"; + return E => { + const T = E.COMMENT("--", "$"), N = "\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$", + A = "BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ", + R = A.trim().split(" ").map((E => E.split("|")[0])).join("|"), + I = "ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST".split(" ").map((E => E.split("|")[0])).join("|") + ; + return { + name: "PostgreSQL", aliases: ["postgres", "postgresql"], case_insensitive: !0, + keywords: { + keyword: "ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ", + built_in: "CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED " + }, illegal: /:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/, + contains: [{ + className: "keyword", variants: [{begin: /\bTEXT\s*SEARCH\b/}, { + begin: /\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/ + }, { + begin: /\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/ + }, { + begin: /\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/ + }, { + begin: /\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/ + }, {begin: /\bNULLS\s+(FIRST|LAST)\b/}, { + begin: /\bEVENT\s+TRIGGER\b/ + }, {begin: /\b(MAPPING|OR)\s+REPLACE\b/}, { + begin: /\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/ + }, { + begin: /\b(SHARE|EXCLUSIVE)\s+MODE\b/ + }, { + begin: /\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/ + }, { + begin: /\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/ + }, {begin: /\bPRESERVE\s+ROWS\b/}, {begin: /\bDISCARD\s+PLANS\b/}, { + begin: /\bREFERENCING\s+(OLD|NEW)\b/ + }, {begin: /\bSKIP\s+LOCKED\b/}, { + begin: /\bGROUPING\s+SETS\b/ + }, { + begin: /\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/ + }, { + begin: /\b(WITH|WITHOUT)\s+HOLD\b/ + }, { + begin: /\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/ + }, { + begin: /\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/ + }, { + begin: /\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/ + }, { + begin: /\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/ + }, { + begin: /\bIS\s+(NOT\s+)?UNKNOWN\b/ + }, {begin: /\bSECURITY\s+LABEL\b/}, { + begin: /\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/ + }, {begin: /\bWITH\s+(NO\s+)?DATA\b/}, {begin: /\b(FOREIGN|SET)\s+DATA\b/}, { + begin: /\bSET\s+(CATALOG|CONSTRAINTS)\b/ + }, {begin: /\b(WITH|FOR)\s+ORDINALITY\b/}, { + begin: /\bIS\s+(NOT\s+)?DOCUMENT\b/ + }, { + begin: /\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/ + }, { + begin: /\b(STRIP|PRESERVE)\s+WHITESPACE\b/ + }, { + begin: /\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/ + }, { + begin: /\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/ + }, {begin: /\bAT\s+TIME\s+ZONE\b/}, { + begin: /\bGRANTED\s+BY\b/ + }, {begin: /\bRETURN\s+(QUERY|NEXT)\b/}, { + begin: /\b(ATTACH|DETACH)\s+PARTITION\b/ + }, { + begin: /\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/ + }, { + begin: /\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/ + }, {begin: /\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}] + }, { + begin: /\b(FORMAT|FAMILY|VERSION)\s*\(/ + }, { + begin: /\bINCLUDE\s*\(/, + keywords: "INCLUDE" + }, { + begin: /\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ + }, { + begin: /\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/ + }, {begin: /\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/, relevance: 10}, { + begin: /\bEXTRACT\s*\(/, end: /\bFROM\b/, returnEnd: !0, keywords: { + type: "CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR" + } + }, {begin: /\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/, keywords: {keyword: "NAME"}}, { + begin: /\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/, keywords: { + keyword: "DOCUMENT CONTENT" + } + }, { + beginKeywords: "CACHE INCREMENT MAXVALUE MINVALUE", + end: E.C_NUMBER_RE, returnEnd: !0, keywords: "BY CACHE INCREMENT MAXVALUE MINVALUE" + }, {className: "type", begin: /\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/}, { + className: "type", + begin: /\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/ + }, { + begin: /\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/, + keywords: { + keyword: "RETURNS", + type: "LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER" + } + }, {begin: "\\b(" + I + ")\\s*\\("}, {begin: "\\.(" + R + ")\\b"}, { + begin: "\\b(" + R + ")\\s+PATH\\b", keywords: { + keyword: "PATH", + type: A.replace("PATH ", "") + } + }, {className: "type", begin: "\\b(" + R + ")\\b"}, { + className: "string", begin: "'", end: "'", contains: [{begin: "''"}] + }, { + className: "string", begin: "(e|E|u&|U&)'", end: "'", contains: [{begin: "\\\\."}], + relevance: 10 + }, E.END_SAME_AS_BEGIN({ + begin: N, end: N, contains: [{ + subLanguage: ["pgsql", "perl", "python", "tcl", "r", "lua", "java", "php", "ruby", "bash", "scheme", "xml", "json"], + endsWithParent: !0 + }] + }), { + begin: '"', end: '"', contains: [{begin: '""'}] + }, E.C_NUMBER_MODE, E.C_BLOCK_COMMENT_MODE, T, { + className: "meta", variants: [{ + begin: "%(ROW)?TYPE", relevance: 10 + }, {begin: "\\$\\d+"}, {begin: "^#\\w", end: "$"}] + }, { + className: "symbol", begin: "<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>", relevance: 10 + }] + } + } +})()); +hljs.registerLanguage("rust", (() => { + "use strict"; + return e => { + const n = "([ui](8|16|32|64|128|size)|f(32|64))?", + t = "drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!" + ; + return { + name: "Rust", aliases: ["rs"], keywords: { + $pattern: e.IDENT_RE + "!?", + keyword: "abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield", + literal: "true false Some None Ok Err", built_in: t + }, illegal: ""}] + } + } +})()); +hljs.registerLanguage("yaml", (() => { + "use strict"; + return e => { + var n = "true false yes no null", a = "[\\w#;/?:@&=+$,.~*'()[\\]]+", s = { + className: "string", relevance: 0, variants: [{begin: /'/, end: /'/}, { + begin: /"/, end: /"/ + }, {begin: /\S+/}], contains: [e.BACKSLASH_ESCAPE, { + className: "template-variable", + variants: [{begin: /\{\{/, end: /\}\}/}, {begin: /%\{/, end: /\}/}] + }] + }, i = e.inherit(s, { + variants: [{begin: /'/, end: /'/}, {begin: /"/, end: /"/}, {begin: /[^\s,{}[\]]+/}] + }), l = { + end: ",", endsWithParent: !0, excludeEnd: !0, keywords: n, relevance: 0 + }, t = { + begin: /\{/, + end: /\}/, contains: [l], illegal: "\\n", relevance: 0 + }, g = { + begin: "\\[", end: "\\]", + contains: [l], illegal: "\\n", relevance: 0 + }, b = [{ + className: "attr", variants: [{ + begin: "\\w[\\w :\\/.-]*:(?=[ \t]|$)" + }, {begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)'}, { + begin: "'\\w[\\w :\\/.-]*':(?=[ \t]|$)" + }] + }, { + className: "meta", begin: "^---\\s*$", + relevance: 10 + }, { + className: "string", + begin: "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*" + }, { + begin: "<%[%=-]?", end: "[%-]?%>", subLanguage: "ruby", excludeBegin: !0, excludeEnd: !0, + relevance: 0 + }, {className: "type", begin: "!\\w+!" + a}, { + className: "type", + begin: "!<" + a + ">" + }, {className: "type", begin: "!" + a}, { + className: "type", begin: "!!" + a + }, {className: "meta", begin: "&" + e.UNDERSCORE_IDENT_RE + "$"}, { + className: "meta", + begin: "\\*" + e.UNDERSCORE_IDENT_RE + "$" + }, { + className: "bullet", begin: "-(?=[ ]|$)", + relevance: 0 + }, e.HASH_COMMENT_MODE, {beginKeywords: n, keywords: {literal: n}}, { + className: "number", + begin: "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" + }, {className: "number", begin: e.C_NUMBER_RE + "\\b", relevance: 0}, t, g, s], r = [...b] + ; + return r.pop(), r.push(i), l.contains = r, { + name: "YAML", case_insensitive: !0, + aliases: ["yml"], contains: b + } + } +})()); +hljs.registerLanguage("json", (() => { + "use strict"; + return n => { + const e = { + literal: "true false null" + }, i = [n.C_LINE_COMMENT_MODE, n.C_BLOCK_COMMENT_MODE], a = [n.QUOTE_STRING_MODE, n.C_NUMBER_MODE], l = { + end: ",", endsWithParent: !0, excludeEnd: !0, contains: a, keywords: e + }, t = { + begin: /\{/, + end: /\}/, contains: [{ + className: "attr", begin: /"/, end: /"/, + contains: [n.BACKSLASH_ESCAPE], illegal: "\\n" + }, n.inherit(l, { + begin: /:/ + })].concat(i), illegal: "\\S" + }, s = { + begin: "\\[", end: "\\]", contains: [n.inherit(l)], + illegal: "\\S" + }; + return a.push(t, s), i.forEach((n => { + a.push(n) + })), { + name: "JSON", + contains: a, keywords: e, illegal: "\\S" + } + } +})()); +hljs.registerLanguage("makefile", (() => { + "use strict"; + return e => { + const i = { + className: "variable", variants: [{ + begin: "\\$\\(" + e.UNDERSCORE_IDENT_RE + "\\)", + contains: [e.BACKSLASH_ESCAPE] + }, {begin: /\$[@% { + "use strict"; + return e => { + var t = e.COMMENT("--", "$"); + return { + name: "SQL (more)", aliases: ["mysql", "oracle"], + disableAutodetect: !0, case_insensitive: !0, illegal: /[<>{}*]/, contains: [{ + beginKeywords: "begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with", + end: /;/, endsWithParent: !0, keywords: { + $pattern: /[\w\.]+/, + keyword: "as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek", + literal: "true false null unknown", + built_in: "array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void" + }, contains: [{className: "string", begin: "'", end: "'", contains: [{begin: "''"}]}, { + className: "string", begin: '"', end: '"', contains: [{begin: '""'}] + }, { + className: "string", begin: "`", end: "`" + }, e.C_NUMBER_MODE, e.C_BLOCK_COMMENT_MODE, t, e.HASH_COMMENT_MODE] + }, e.C_BLOCK_COMMENT_MODE, t, e.HASH_COMMENT_MODE] + } + } +})()); +hljs.registerLanguage("julia", (() => { + "use strict"; + return e => { + var r = "[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*", t = { + $pattern: r, + keyword: ["baremodule", "begin", "break", "catch", "ccall", "const", "continue", "do", "else", "elseif", "end", "export", "false", "finally", "for", "function", "global", "if", "import", "in", "isa", "let", "local", "macro", "module", "quote", "return", "true", "try", "using", "where", "while"], + literal: ["ARGS", "C_NULL", "DEPOT_PATH", "ENDIAN_BOM", "ENV", "Inf", "Inf16", "Inf32", "Inf64", "InsertionSort", "LOAD_PATH", "MergeSort", "NaN", "NaN16", "NaN32", "NaN64", "PROGRAM_FILE", "QuickSort", "RoundDown", "RoundFromZero", "RoundNearest", "RoundNearestTiesAway", "RoundNearestTiesUp", "RoundToZero", "RoundUp", "VERSION|0", "devnull", "false", "im", "missing", "nothing", "pi", "stderr", "stdin", "stdout", "true", "undef", "\u03c0", "\u212f"], + built_in: ["AbstractArray", "AbstractChannel", "AbstractChar", "AbstractDict", "AbstractDisplay", "AbstractFloat", "AbstractIrrational", "AbstractMatrix", "AbstractRange", "AbstractSet", "AbstractString", "AbstractUnitRange", "AbstractVecOrMat", "AbstractVector", "Any", "ArgumentError", "Array", "AssertionError", "BigFloat", "BigInt", "BitArray", "BitMatrix", "BitSet", "BitVector", "Bool", "BoundsError", "CapturedException", "CartesianIndex", "CartesianIndices", "Cchar", "Cdouble", "Cfloat", "Channel", "Char", "Cint", "Cintmax_t", "Clong", "Clonglong", "Cmd", "Colon", "Complex", "ComplexF16", "ComplexF32", "ComplexF64", "CompositeException", "Condition", "Cptrdiff_t", "Cshort", "Csize_t", "Cssize_t", "Cstring", "Cuchar", "Cuint", "Cuintmax_t", "Culong", "Culonglong", "Cushort", "Cvoid", "Cwchar_t", "Cwstring", "DataType", "DenseArray", "DenseMatrix", "DenseVecOrMat", "DenseVector", "Dict", "DimensionMismatch", "Dims", "DivideError", "DomainError", "EOFError", "Enum", "ErrorException", "Exception", "ExponentialBackOff", "Expr", "Float16", "Float32", "Float64", "Function", "GlobalRef", "HTML", "IO", "IOBuffer", "IOContext", "IOStream", "IdDict", "IndexCartesian", "IndexLinear", "IndexStyle", "InexactError", "InitError", "Int", "Int128", "Int16", "Int32", "Int64", "Int8", "Integer", "InterruptException", "InvalidStateException", "Irrational", "KeyError", "LinRange", "LineNumberNode", "LinearIndices", "LoadError", "MIME", "Matrix", "Method", "MethodError", "Missing", "MissingException", "Module", "NTuple", "NamedTuple", "Nothing", "Number", "OrdinalRange", "OutOfMemoryError", "OverflowError", "Pair", "PartialQuickSort", "PermutedDimsArray", "Pipe", "ProcessFailedException", "Ptr", "QuoteNode", "Rational", "RawFD", "ReadOnlyMemoryError", "Real", "ReentrantLock", "Ref", "Regex", "RegexMatch", "RoundingMode", "SegmentationFault", "Set", "Signed", "Some", "StackOverflowError", "StepRange", "StepRangeLen", "StridedArray", "StridedMatrix", "StridedVecOrMat", "StridedVector", "String", "StringIndexError", "SubArray", "SubString", "SubstitutionString", "Symbol", "SystemError", "Task", "TaskFailedException", "Text", "TextDisplay", "Timer", "Tuple", "Type", "TypeError", "TypeVar", "UInt", "UInt128", "UInt16", "UInt32", "UInt64", "UInt8", "UndefInitializer", "UndefKeywordError", "UndefRefError", "UndefVarError", "Union", "UnionAll", "UnitRange", "Unsigned", "Val", "Vararg", "VecElement", "VecOrMat", "Vector", "VersionNumber", "WeakKeyDict", "WeakRef"] + }, n = {keywords: t, illegal: /<\//}, a = { + className: "subst", begin: /\$\(/, end: /\)/, + keywords: t + }, i = {className: "variable", begin: "\\$" + r}, o = { + className: "string", + contains: [e.BACKSLASH_ESCAPE, a, i], variants: [{ + begin: /\w*"""/, end: /"""\w*/, + relevance: 10 + }, {begin: /\w*"/, end: /"\w*/}] + }, s = { + className: "string", + contains: [e.BACKSLASH_ESCAPE, a, i], begin: "`", end: "`" + }, l = { + className: "meta", + begin: "@" + r + }; + return n.name = "Julia", n.contains = [{ + className: "number", + begin: /(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/, + relevance: 0 + }, {className: "string", begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/}, o, s, l, { + className: "comment", variants: [{begin: "#=", end: "=#", relevance: 10}, { + begin: "#", + end: "$" + }] + }, e.HASH_COMMENT_MODE, { + className: "keyword", + begin: "\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b" + }, { + begin: /<:/ + }], a.contains = n.contains, n + } +})()); +hljs.registerLanguage("julia-repl", (() => { + "use strict"; + return a => ({ + name: "Julia REPL", contains: [{ + className: "meta", begin: /^julia>/, relevance: 10, + starts: {end: /^(?![ ]{6})/, subLanguage: "julia"}, aliases: ["jldoctest"] + }] + }) +})()); +hljs.registerLanguage("css", (() => { + "use strict" + ;const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], + t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], + i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], + o = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], + r = ["align-content", "align-items", "align-self", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "clip-path", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-variation-settings", "font-weight", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inherit", "initial", "justify-content", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "max-height", "max-width", "min-height", "min-width", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "src", "tab-size", "table-layout", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index"].reverse() + ; + return n => { + const a = (e => ({ + IMPORTANT: {className: "meta", begin: "!important"}, + HEXCOLOR: {className: "number", begin: "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, + ATTRIBUTE_SELECTOR_MODE: { + className: "selector-attr", begin: /\[/, end: /\]/, + illegal: "$", contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + } + }))(n), l = [n.APOS_STRING_MODE, n.QUOTE_STRING_MODE]; + return { + name: "CSS", + case_insensitive: !0, illegal: /[=|'\$]/, keywords: {keyframePosition: "from to"}, + classNameAliases: {keyframePosition: "selector-tag"}, + contains: [n.C_BLOCK_COMMENT_MODE, { + begin: /-(webkit|moz|ms|o)-(?=[a-z])/ + }, n.CSS_NUMBER_MODE, { + className: "selector-id", begin: /#[A-Za-z0-9_-]+/, relevance: 0 + }, { + className: "selector-class", begin: "\\.[a-zA-Z-][a-zA-Z0-9_-]*", relevance: 0 + }, a.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", variants: [{ + begin: ":(" + i.join("|") + ")" + }, {begin: "::(" + o.join("|") + ")"}] + }, { + className: "attribute", begin: "\\b(" + r.join("|") + ")\\b" + }, { + begin: ":", end: "[;}]", + contains: [a.HEXCOLOR, a.IMPORTANT, n.CSS_NUMBER_MODE, ...l, { + begin: /(url|data-uri)\(/, end: /\)/, relevance: 0, keywords: { + built_in: "url data-uri" + }, contains: [{className: "string", begin: /[^)]/, endsWithParent: !0, excludeEnd: !0}] + }, {className: "built_in", begin: /[\w-]+(?=\()/}] + }, { + begin: (s = /@/, ((...e) => e.map((e => (e => e ? "string" == typeof e ? e : e.source : null)(e))).join(""))("(?=", s, ")")), + end: "[{;]", relevance: 0, illegal: /:/, contains: [{ + className: "keyword", + begin: /@-?\w[\w]*(-\w+)*/ + }, { + begin: /\s/, endsWithParent: !0, excludeEnd: !0, + relevance: 0, keywords: { + $pattern: /[a-z-]+/, keyword: "and or not only", + attribute: t.join(" ") + }, contains: [{ + begin: /[a-z-]+(?=:)/, className: "attribute" + }, ...l, n.CSS_NUMBER_MODE] + }] + }, { + className: "selector-tag", + begin: "\\b(" + e.join("|") + ")\\b" + }] + }; + var s + } +})()); +hljs.registerLanguage("ini", (() => { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function n(...n) { + return n.map((n => e(n))).join("") + } + + return s => { + const a = { + className: "number", + relevance: 0, variants: [{begin: /([+-]+)?[\d]+_[\d_]+/}, {begin: s.NUMBER_RE}] + }, i = s.COMMENT(); + i.variants = [{begin: /;/, end: /$/}, {begin: /#/, end: /$/}]; + const t = { + className: "variable", variants: [{begin: /\$[\w\d"][\w\d_]*/}, { + begin: /\$\{(.*?)\}/ + }] + }, r = {className: "literal", begin: /\bon|off|true|false|yes|no\b/}, l = { + className: "string", contains: [s.BACKSLASH_ESCAPE], variants: [{ + begin: "'''", + end: "'''", relevance: 10 + }, {begin: '"""', end: '"""', relevance: 10}, { + begin: '"', end: '"' + }, {begin: "'", end: "'"}] + }, c = { + begin: /\[/, end: /\]/, contains: [i, r, t, l, a, "self"], + relevance: 0 + }, g = "(" + [/[A-Za-z0-9_-]+/, /"(\\"|[^"])*"/, /'[^']*'/].map((n => e(n))).join("|") + ")" + ; + return { + name: "TOML, also INI", aliases: ["toml"], case_insensitive: !0, illegal: /\S/, + contains: [i, {className: "section", begin: /\[+/, end: /\]+/}, { + begin: n(g, "(\\s*\\.\\s*", g, ")*", n("(?=", /\s*=\s*[^#\s]/, ")")), className: "attr", + starts: {end: /$/, contains: [i, c, r, t, l, a]} + }] + } + } +})()); +hljs.registerLanguage("markdown", (() => { + "use strict"; + + function n(...n) { + return n.map((n => { + return (e = n) ? "string" == typeof e ? e : e.source : null; + var e + })).join("") + } + + return e => { + const a = { + begin: /<\/?[A-Za-z_]/, end: ">", + subLanguage: "xml", relevance: 0 + }, i = { + variants: [{ + begin: /\[.+?\]\[.*?\]/, relevance: 0 + }, { + begin: /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, + relevance: 2 + }, { + begin: n(/\[.+?\]\(/, /[A-Za-z][A-Za-z0-9+.-]*/, /:\/\/.*?\)/), + relevance: 2 + }, {begin: /\[.+?\]\([./?&#].*?\)/, relevance: 1}, { + begin: /\[.+?\]\(.*?\)/, relevance: 0 + }], returnBegin: !0, contains: [{ + className: "string", relevance: 0, begin: "\\[", end: "\\]", excludeBegin: !0, + returnEnd: !0 + }, { + className: "link", relevance: 0, begin: "\\]\\(", end: "\\)", + excludeBegin: !0, excludeEnd: !0 + }, { + className: "symbol", relevance: 0, begin: "\\]\\[", + end: "\\]", excludeBegin: !0, excludeEnd: !0 + }] + }, s = { + className: "strong", contains: [], + variants: [{begin: /_{2}/, end: /_{2}/}, {begin: /\*{2}/, end: /\*{2}/}] + }, c = { + className: "emphasis", contains: [], variants: [{begin: /\*(?!\*)/, end: /\*/}, { + begin: /_(?!_)/, end: /_/, relevance: 0 + }] + }; + s.contains.push(c), c.contains.push(s) + ;let t = [a, i] + ; + return s.contains = s.contains.concat(t), c.contains = c.contains.concat(t), + t = t.concat(s, c), { + name: "Markdown", aliases: ["md", "mkdown", "mkd"], contains: [{ + className: "section", variants: [{begin: "^#{1,6}", end: "$", contains: t}, { + begin: "(?=^.+?\\n[=-]{2,}$)", contains: [{begin: "^[=-]*$"}, { + begin: "^", end: "\\n", + contains: t + }] + }] + }, a, { + className: "bullet", begin: "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", + end: "\\s+", excludeEnd: !0 + }, s, c, { + className: "quote", begin: "^>\\s+", contains: t, + end: "$" + }, { + className: "code", variants: [{begin: "(`{3,})[^`](.|\\n)*?\\1`*[ ]*"}, { + begin: "(~{3,})[^~](.|\\n)*?\\1~*[ ]*" + }, {begin: "```", end: "```+[ ]*$"}, { + begin: "~~~", end: "~~~+[ ]*$" + }, {begin: "`.+?`"}, { + begin: "(?=^( {4}|\\t))", + contains: [{begin: "^( {4}|\\t)", end: "(\\n)$"}], relevance: 0 + }] + }, { + begin: "^[-\\*]{3,}", end: "$" + }, i, { + begin: /^\[[^\n]+\]:/, returnBegin: !0, contains: [{ + className: "symbol", begin: /\[/, end: /\]/, excludeBegin: !0, excludeEnd: !0 + }, { + className: "link", begin: /:\s*/, end: /$/, excludeBegin: !0 + }] + }] + } + } +})()); +hljs.registerLanguage("dart", (() => { + "use strict"; + return e => { + const n = { + className: "subst", variants: [{begin: "\\$[A-Za-z0-9_]+"}] + }, a = { + className: "subst", + variants: [{begin: /\$\{/, end: /\}/}], keywords: "true false null this is new super" + }, t = { + className: "string", variants: [{begin: "r'''", end: "'''"}, { + begin: 'r"""', + end: '"""' + }, {begin: "r'", end: "'", illegal: "\\n"}, { + begin: 'r"', end: '"', illegal: "\\n" + }, {begin: "'''", end: "'''", contains: [e.BACKSLASH_ESCAPE, n, a]}, { + begin: '"""', + end: '"""', contains: [e.BACKSLASH_ESCAPE, n, a] + }, { + begin: "'", end: "'", illegal: "\\n", + contains: [e.BACKSLASH_ESCAPE, n, a] + }, { + begin: '"', end: '"', illegal: "\\n", + contains: [e.BACKSLASH_ESCAPE, n, a] + }] + }; + a.contains = [e.C_NUMBER_MODE, t] + ;const i = ["Comparable", "DateTime", "Duration", "Function", "Iterable", "Iterator", "List", "Map", "Match", "Object", "Pattern", "RegExp", "Set", "Stopwatch", "String", "StringBuffer", "StringSink", "Symbol", "Type", "Uri", "bool", "double", "int", "num", "Element", "ElementList"], + r = i.map((e => e + "?")) + ; + return { + name: "Dart", keywords: { + keyword: "abstract as assert async await break case catch class const continue covariant default deferred do dynamic else enum export extends extension external factory false final finally for Function get hide if implements import in inferface is late library mixin new null on operator part required rethrow return set show static super switch sync this throw true try typedef var void while with yield", + built_in: i.concat(r).concat(["Never", "Null", "dynamic", "print", "document", "querySelector", "querySelectorAll", "window"]), + $pattern: /[A-Za-z][A-Za-z0-9_]*\??/ + }, + contains: [t, e.COMMENT(/\/\*\*(?!\/)/, /\*\//, { + subLanguage: "markdown", relevance: 0 + }), e.COMMENT(/\/{3,} ?/, /$/, { + contains: [{ + subLanguage: "markdown", begin: ".", + end: "$", relevance: 0 + }] + }), e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, { + className: "class", beginKeywords: "class interface", end: /\{/, excludeEnd: !0, + contains: [{beginKeywords: "extends implements"}, e.UNDERSCORE_TITLE_MODE] + }, e.C_NUMBER_MODE, {className: "meta", begin: "@[A-Za-z]+"}, {begin: "=>"}] + } + } +})()); +hljs.registerLanguage("apache", (() => { + "use strict"; + return e => { + const n = { + className: "number", begin: /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/ + } + ; + return { + name: "Apache config", aliases: ["apacheconf"], case_insensitive: !0, + contains: [e.HASH_COMMENT_MODE, { + className: "section", begin: /<\/?/, end: />/, + contains: [n, { + className: "number", begin: /:\d{1,5}/ + }, e.inherit(e.QUOTE_STRING_MODE, {relevance: 0})] + }, { + className: "attribute", + begin: /\w+/, relevance: 0, keywords: { + nomarkup: "order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername" + }, starts: { + end: /$/, relevance: 0, keywords: {literal: "on off all deny allow"}, + contains: [{className: "meta", begin: /\s\[/, end: /\]$/}, { + className: "variable", + begin: /[\$%]\{/, end: /\}/, contains: ["self", {className: "number", begin: /[$%]\d+/}] + }, n, {className: "number", begin: /\d+/}, e.QUOTE_STRING_MODE] + } + }], illegal: /\S/ + } + } +})()); +hljs.registerLanguage("go", (() => { + "use strict"; + return e => { + const n = { + keyword: "break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune", + literal: "true false iota nil", + built_in: "append cap close complex copy imag len make new panic print println real recover delete" + }; + return { + name: "Go", aliases: ["golang"], keywords: n, illegal: " { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function n(...n) { + return n.map((n => e(n))).join("") + } + + function t(...n) { + return "(" + n.map((n => e(n))).join("|") + ")" + } + + return e => { + const r = /[dualxmsipngr]{0,12}/, s = { + $pattern: /[\w.]+/, + keyword: "abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" + }, i = {className: "subst", begin: "[$@]\\{", end: "\\}", keywords: s}, a = { + begin: /->\{/, + end: /\}/ + }, o = { + variants: [{begin: /\$\d/}, { + begin: n(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/, "(?![A-Za-z])(?![@$%])") + }, {begin: /[$%@][^\s\w{]/, relevance: 0}] + }, c = [e.BACKSLASH_ESCAPE, i, o], g = [/!/, /\//, /\|/, /\?/, /'/, /"/, /#/], l = (e, t, s = "\\1") => { + const i = "\\1" === s ? s : n(s, t) + ; + return n(n("(?:", e, ")"), t, /(?:\\.|[^\\\/])*?/, i, /(?:\\.|[^\\\/])*?/, s, r) + }, d = (e, t, s) => n(n("(?:", e, ")"), t, /(?:\\.|[^\\\/])*?/, s, r), + p = [o, e.HASH_COMMENT_MODE, e.COMMENT(/^=\w/, /=cut/, { + endsWithParent: !0 + }), a, { + className: "string", contains: c, variants: [{ + begin: "q[qwxr]?\\s*\\(", end: "\\)", relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\[", + end: "\\]", relevance: 5 + }, {begin: "q[qwxr]?\\s*\\{", end: "\\}", relevance: 5}, { + begin: "q[qwxr]?\\s*\\|", end: "\\|", relevance: 5 + }, { + begin: "q[qwxr]?\\s*<", end: ">", + relevance: 5 + }, {begin: "qw\\s+q", end: "q", relevance: 5}, { + begin: "'", end: "'", + contains: [e.BACKSLASH_ESCAPE] + }, {begin: '"', end: '"'}, { + begin: "`", end: "`", + contains: [e.BACKSLASH_ESCAPE] + }, {begin: /\{\w+\}/, relevance: 0}, { + begin: "-?\\w+\\s*=>", relevance: 0 + }] + }, { + className: "number", + begin: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", + relevance: 0 + }, { + begin: "(\\/\\/|" + e.RE_STARTERS_RE + "|\\b(split|return|print|reverse|grep)\\b)\\s*", + keywords: "split return print reverse grep", relevance: 0, + contains: [e.HASH_COMMENT_MODE, { + className: "regexp", variants: [{ + begin: l("s|tr|y", t(...g)) + }, {begin: l("s|tr|y", "\\(", "\\)")}, { + begin: l("s|tr|y", "\\[", "\\]") + }, {begin: l("s|tr|y", "\\{", "\\}")}], relevance: 2 + }, { + className: "regexp", variants: [{begin: /(m|qr)\/\//, relevance: 0}, { + begin: d("(?:m|qr)?", /\//, /\//) + }, {begin: d("m|qr", t(...g), /\1/)}, { + begin: d("m|qr", /\(/, /\)/) + }, {begin: d("m|qr", /\[/, /\]/)}, { + begin: d("m|qr", /\{/, /\}/) + }] + }] + }, { + className: "function", beginKeywords: "sub", + end: "(\\s*\\(.*?\\))?[;{]", excludeEnd: !0, relevance: 5, contains: [e.TITLE_MODE] + }, { + begin: "-\\w\\b", relevance: 0 + }, { + begin: "^__DATA__$", end: "^__END__$", + subLanguage: "mojolicious", contains: [{begin: "^@@.*", end: "$", className: "comment"}] + }]; + return i.contains = p, a.contains = p, { + name: "Perl", aliases: ["pl", "pm"], keywords: s, + contains: p + } + } +})()); +hljs.registerLanguage("lua", (() => { + "use strict"; + return e => { + const t = "\\[=*\\[", a = "\\]=*\\]", n = { + begin: t, end: a, contains: ["self"] + }, o = [e.COMMENT("--(?!\\[=*\\[)", "$"), e.COMMENT("--\\[=*\\[", a, { + contains: [n], + relevance: 10 + })]; + return { + name: "Lua", keywords: { + $pattern: e.UNDERSCORE_IDENT_RE, + literal: "true false nil", + keyword: "and break do else elseif end for goto if in local not or repeat return then until while", + built_in: "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" + }, contains: o.concat([{ + className: "function", beginKeywords: "function", end: "\\)", + contains: [e.inherit(e.TITLE_MODE, { + begin: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*" + }), { + className: "params", + begin: "\\(", endsWithParent: !0, contains: o + }].concat(o) + }, e.C_NUMBER_MODE, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, { + className: "string", + begin: t, end: a, contains: [n], relevance: 5 + }]) + } + } +})()); +hljs.registerLanguage("cpp", (() => { + "use strict"; + + function e(e) { + return t("(", e, ")?") + } + + function t(...e) { + return e.map((e => { + return (t = e) ? "string" == typeof t ? t : t.source : null; + var t + })).join("") + } + + return n => { + const r = n.COMMENT("//", "$", { + contains: [{begin: /\\\n/}] + }), a = "[a-zA-Z_]\\w*::", i = "(decltype\\(auto\\)|" + e(a) + "[a-zA-Z_]\\w*" + e("<[^<>]+>") + ")", s = { + className: "keyword", begin: "\\b[a-z\\d_]*_t\\b" + }, c = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', end: '"', illegal: "\\n", + contains: [n.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", illegal: "." + }, n.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, end: /\)([^()\\ ]{0,16})"/ + })] + }, o = { + className: "number", variants: [{begin: "\\b(0b[01']+)"}, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], relevance: 0 + }, l = { + className: "meta", begin: /#\s*[a-z]+\b/, end: /$/, keywords: { + "meta-keyword": "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, contains: [{begin: /\\\n/, relevance: 0}, n.inherit(c, {className: "meta-string"}), { + className: "meta-string", begin: /<.*?>/ + }, r, n.C_BLOCK_COMMENT_MODE] + }, d = { + className: "title", begin: e(a) + n.IDENT_RE, relevance: 0 + }, u = e(a) + n.IDENT_RE + "\\s*\\(", m = { + keyword: "int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", + built_in: "_Bool _Complex _Imaginary", + _relevance_hints: ["asin", "atan2", "atan", "calloc", "ceil", "cosh", "cos", "exit", "exp", "fabs", "floor", "fmod", "fprintf", "fputs", "free", "frexp", "auto_ptr", "deque", "list", "queue", "stack", "vector", "map", "set", "pair", "bitset", "multiset", "multimap", "unordered_set", "fscanf", "future", "isalnum", "isalpha", "iscntrl", "isdigit", "isgraph", "islower", "isprint", "ispunct", "isspace", "isupper", "isxdigit", "tolower", "toupper", "labs", "ldexp", "log10", "log", "malloc", "realloc", "memchr", "memcmp", "memcpy", "memset", "modf", "pow", "printf", "putchar", "puts", "scanf", "sinh", "sin", "snprintf", "sprintf", "sqrt", "sscanf", "strcat", "strchr", "strcmp", "strcpy", "strcspn", "strlen", "strncat", "strncmp", "strncpy", "strpbrk", "strrchr", "strspn", "strstr", "tanh", "tan", "unordered_map", "unordered_multiset", "unordered_multimap", "priority_queue", "make_pair", "array", "shared_ptr", "abort", "terminate", "abs", "acos", "vfprintf", "vprintf", "vsprintf", "endl", "initializer_list", "unique_ptr", "complex", "imaginary", "std", "string", "wstring", "cin", "cout", "cerr", "clog", "stdin", "stdout", "stderr", "stringstream", "istringstream", "ostringstream"], + literal: "true false nullptr NULL" + }, p = { + className: "function.dispatch", relevance: 0, + keywords: m, + begin: t(/\b/, /(?!decltype)/, /(?!if)/, /(?!for)/, /(?!while)/, n.IDENT_RE, (_ = /\s*\(/, + t("(?=", _, ")"))) + }; + var _; + const g = [p, l, s, r, n.C_BLOCK_COMMENT_MODE, o, c], b = { + variants: [{begin: /=/, end: /;/}, {begin: /\(/, end: /\)/}, { + beginKeywords: "new throw return else", end: /;/ + }], keywords: m, contains: g.concat([{ + begin: /\(/, end: /\)/, keywords: m, contains: g.concat(["self"]), relevance: 0 + }]), + relevance: 0 + }, f = { + className: "function", begin: "(" + i + "[\\*&\\s]+)+" + u, + returnBegin: !0, end: /[{;=]/, excludeEnd: !0, keywords: m, illegal: /[^\w\s\*&:<>.]/, + contains: [{begin: "decltype\\(auto\\)", keywords: m, relevance: 0}, { + begin: u, + returnBegin: !0, contains: [d], relevance: 0 + }, {begin: /::/, relevance: 0}, { + begin: /:/, + endsWithParent: !0, contains: [c, o] + }, { + className: "params", begin: /\(/, end: /\)/, + keywords: m, relevance: 0, contains: [r, n.C_BLOCK_COMMENT_MODE, c, o, s, { + begin: /\(/, + end: /\)/, keywords: m, relevance: 0, contains: ["self", r, n.C_BLOCK_COMMENT_MODE, c, o, s] + }] + }, s, r, n.C_BLOCK_COMMENT_MODE, l] + }; + return { + name: "C++", + aliases: ["cc", "c++", "h++", "hpp", "hh", "hxx", "cxx"], keywords: m, illegal: "", keywords: m, contains: ["self", s] + }, {begin: n.IDENT_RE + "::", keywords: m}, { + className: "class", beginKeywords: "enum class struct union", end: /[{;:<>=]/, + contains: [{beginKeywords: "final class struct"}, n.TITLE_MODE] + }]), exports: { + preprocessor: l, strings: c, keywords: m + } + } + } +})()); +hljs.registerLanguage("scss", (() => { + "use strict" + ;const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], + t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], + i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], + o = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], + r = ["align-content", "align-items", "align-self", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "clip-path", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-variation-settings", "font-weight", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inherit", "initial", "justify-content", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "max-height", "max-width", "min-height", "min-width", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "src", "tab-size", "table-layout", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index"].reverse() + ; + return a => { + const n = (e => ({ + IMPORTANT: {className: "meta", begin: "!important"}, + HEXCOLOR: {className: "number", begin: "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, + ATTRIBUTE_SELECTOR_MODE: { + className: "selector-attr", begin: /\[/, end: /\]/, + illegal: "$", contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + } + }))(a), l = o, s = i, d = "@[a-z-]+", c = { + className: "variable", + begin: "(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b" + }; + return { + name: "SCSS", case_insensitive: !0, + illegal: "[=/|']", contains: [a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, { + className: "selector-id", begin: "#[A-Za-z0-9_-]+", relevance: 0 + }, { + className: "selector-class", begin: "\\.[A-Za-z0-9_-]+", relevance: 0 + }, n.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-tag", + begin: "\\b(" + e.join("|") + ")\\b", relevance: 0 + }, { + className: "selector-pseudo", + begin: ":(" + s.join("|") + ")" + }, { + className: "selector-pseudo", + begin: "::(" + l.join("|") + ")" + }, c, { + begin: /\(/, end: /\)/, contains: [a.CSS_NUMBER_MODE] + }, {className: "attribute", begin: "\\b(" + r.join("|") + ")\\b"}, { + begin: "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" + }, { + begin: ":", end: ";", + contains: [c, n.HEXCOLOR, a.CSS_NUMBER_MODE, a.QUOTE_STRING_MODE, a.APOS_STRING_MODE, n.IMPORTANT] + }, {begin: "@(page|font-face)", lexemes: d, keywords: "@page @font-face"}, { + begin: "@", + end: "[{;]", returnBegin: !0, keywords: { + $pattern: /[a-z-]+/, + keyword: "and or not only", attribute: t.join(" ") + }, contains: [{ + begin: d, + className: "keyword" + }, { + begin: /[a-z-]+(?=:)/, className: "attribute" + }, c, a.QUOTE_STRING_MODE, a.APOS_STRING_MODE, n.HEXCOLOR, a.CSS_NUMBER_MODE] + }] + } + } +})()); +hljs.registerLanguage("http", (() => { + "use strict"; + + function e(...e) { + return e.map((e => { + return (n = e) ? "string" == typeof n ? n : n.source : null; + var n + })).join("") + } + + return n => { + const a = "HTTP/(2|1\\.[01])", s = { + className: "attribute", + begin: e("^", /[A-Za-z][A-Za-z0-9-]*/, "(?=\\:\\s)"), starts: { + contains: [{ + className: "punctuation", begin: /: /, relevance: 0, starts: {end: "$", relevance: 0} + }] + } + }, t = [s, {begin: "\\n\\n", starts: {subLanguage: [], endsWithParent: !0}}]; + return { + name: "HTTP", aliases: ["https"], illegal: /\S/, contains: [{ + begin: "^(?=" + a + " \\d{3})", + end: /$/, contains: [{className: "meta", begin: a}, { + className: "number", + begin: "\\b\\d{3}\\b" + }], starts: {end: /\b\B/, illegal: /\S/, contains: t} + }, { + begin: "(?=^[A-Z]+ (.*?) " + a + "$)", end: /$/, contains: [{ + className: "string", + begin: " ", end: " ", excludeBegin: !0, excludeEnd: !0 + }, {className: "meta", begin: a}, { + className: "keyword", begin: "[A-Z]+" + }], starts: {end: /\b\B/, illegal: /\S/, contains: t} + }, n.inherit(s, {relevance: 0})] + } + } +})()); +hljs.registerLanguage("plaintext", (() => { + "use strict"; + return t => ({ + name: "Plain text", aliases: ["text", "txt"], disableAutodetect: !0 + }) +})()); +hljs.registerLanguage("powershell", (() => { + "use strict"; + return e => { + const n = { + $pattern: /-?[A-z\.\-]+\b/, + keyword: "if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter", + built_in: "ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write" + }, s = {begin: "`[\\s\\S]", relevance: 0}, i = { + className: "variable", variants: [{ + begin: /\$\B/ + }, {className: "keyword", begin: /\$this/}, {begin: /\$[\w\d][\w\d_:]*/}] + }, a = { + className: "string", variants: [{begin: /"/, end: /"/}, {begin: /@"/, end: /^"@/}], + contains: [s, i, {className: "variable", begin: /\$[A-z]/, end: /[^A-z]/}] + }, t = { + className: "string", variants: [{begin: /'/, end: /'/}, {begin: /@'/, end: /^'@/}] + }, r = e.inherit(e.COMMENT(null, null), { + variants: [{begin: /#/, end: /$/}, { + begin: /<#/, + end: /#>/ + }], contains: [{ + className: "doctag", variants: [{ + begin: /\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/ + }, { + begin: /\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/ + }] + }] + }), c = { + className: "class", beginKeywords: "class enum", end: /\s*[{]/, + excludeEnd: !0, relevance: 0, contains: [e.TITLE_MODE] + }, l = { + className: "function", + begin: /function\s+/, end: /\s*\{|$/, excludeEnd: !0, returnBegin: !0, relevance: 0, + contains: [{begin: "function", relevance: 0, className: "keyword"}, { + className: "title", + begin: /\w[\w\d]*((-)[\w\d]+)*/, relevance: 0 + }, { + begin: /\(/, end: /\)/, + className: "params", relevance: 0, contains: [i] + }] + }, o = { + begin: /using\s/, end: /$/, + returnBegin: !0, contains: [a, t, { + className: "keyword", + begin: /(using|assembly|command|module|namespace|type)/ + }] + }, p = { + className: "function", begin: /\[.*\]\s*[\w]+[ ]??\(/, end: /$/, returnBegin: !0, + relevance: 0, contains: [{ + className: "keyword", + begin: "(".concat(n.keyword.toString().replace(/\s/g, "|"), ")\\b"), endsParent: !0, + relevance: 0 + }, e.inherit(e.TITLE_MODE, {endsParent: !0})] + }, g = [p, r, s, e.NUMBER_MODE, a, t, { + className: "built_in", variants: [{ + begin: "(Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where)+(-)[\\w\\d]+" + }] + }, i, {className: "literal", begin: /\$(null|true|false)\b/}, { + className: "selector-tag", begin: /@\B/, relevance: 0 + }], m = { + begin: /\[/, end: /\]/, + excludeBegin: !0, excludeEnd: !0, relevance: 0, contains: [].concat("self", g, { + begin: "(string|char|byte|int|long|bool|decimal|single|double|DateTime|xml|array|hashtable|void)", + className: "built_in", relevance: 0 + }, { + className: "type", begin: /[\.\w\d]+/, + relevance: 0 + }) + }; + return p.contains.unshift(m), { + name: "PowerShell", + aliases: ["ps", "ps1"], case_insensitive: !0, keywords: n, contains: g.concat(c, l, o, { + variants: [{ + className: "operator", + begin: "(-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor)\\b" + }, {className: "literal", begin: /(-)[\w\d]+/, relevance: 0}] + }, m) + } + } +})()); +hljs.registerLanguage("sql", (() => { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function r(...r) { + return r.map((r => e(r))).join("") + } + + function t(...r) { + return "(" + r.map((r => e(r))).join("|") + ")" + } + + return e => { + const n = e.COMMENT("--", "$"), a = ["true", "false", "unknown"], + i = ["bigint", "binary", "blob", "boolean", "char", "character", "clob", "date", "dec", "decfloat", "decimal", "float", "int", "integer", "interval", "nchar", "nclob", "national", "numeric", "real", "row", "smallint", "time", "timestamp", "varchar", "varying", "varbinary"], + s = ["abs", "acos", "array_agg", "asin", "atan", "avg", "cast", "ceil", "ceiling", "coalesce", "corr", "cos", "cosh", "count", "covar_pop", "covar_samp", "cume_dist", "dense_rank", "deref", "element", "exp", "extract", "first_value", "floor", "json_array", "json_arrayagg", "json_exists", "json_object", "json_objectagg", "json_query", "json_table", "json_table_primitive", "json_value", "lag", "last_value", "lead", "listagg", "ln", "log", "log10", "lower", "max", "min", "mod", "nth_value", "ntile", "nullif", "percent_rank", "percentile_cont", "percentile_disc", "position", "position_regex", "power", "rank", "regr_avgx", "regr_avgy", "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", "regr_syy", "row_number", "sin", "sinh", "sqrt", "stddev_pop", "stddev_samp", "substring", "substring_regex", "sum", "tan", "tanh", "translate", "translate_regex", "treat", "trim", "trim_array", "unnest", "upper", "value_of", "var_pop", "var_samp", "width_bucket"], + o = ["create table", "insert into", "primary key", "foreign key", "not null", "alter table", "add constraint", "grouping sets", "on overflow", "character set", "respect nulls", "ignore nulls", "nulls first", "nulls last", "depth first", "breadth first"], + c = s, + l = ["abs", "acos", "all", "allocate", "alter", "and", "any", "are", "array", "array_agg", "array_max_cardinality", "as", "asensitive", "asin", "asymmetric", "at", "atan", "atomic", "authorization", "avg", "begin", "begin_frame", "begin_partition", "between", "bigint", "binary", "blob", "boolean", "both", "by", "call", "called", "cardinality", "cascaded", "case", "cast", "ceil", "ceiling", "char", "char_length", "character", "character_length", "check", "classifier", "clob", "close", "coalesce", "collate", "collect", "column", "commit", "condition", "connect", "constraint", "contains", "convert", "copy", "corr", "corresponding", "cos", "cosh", "count", "covar_pop", "covar_samp", "create", "cross", "cube", "cume_dist", "current", "current_catalog", "current_date", "current_default_transform_group", "current_path", "current_role", "current_row", "current_schema", "current_time", "current_timestamp", "current_path", "current_role", "current_transform_group_for_type", "current_user", "cursor", "cycle", "date", "day", "deallocate", "dec", "decimal", "decfloat", "declare", "default", "define", "delete", "dense_rank", "deref", "describe", "deterministic", "disconnect", "distinct", "double", "drop", "dynamic", "each", "element", "else", "empty", "end", "end_frame", "end_partition", "end-exec", "equals", "escape", "every", "except", "exec", "execute", "exists", "exp", "external", "extract", "false", "fetch", "filter", "first_value", "float", "floor", "for", "foreign", "frame_row", "free", "from", "full", "function", "fusion", "get", "global", "grant", "group", "grouping", "groups", "having", "hold", "hour", "identity", "in", "indicator", "initial", "inner", "inout", "insensitive", "insert", "int", "integer", "intersect", "intersection", "interval", "into", "is", "join", "json_array", "json_arrayagg", "json_exists", "json_object", "json_objectagg", "json_query", "json_table", "json_table_primitive", "json_value", "lag", "language", "large", "last_value", "lateral", "lead", "leading", "left", "like", "like_regex", "listagg", "ln", "local", "localtime", "localtimestamp", "log", "log10", "lower", "match", "match_number", "match_recognize", "matches", "max", "member", "merge", "method", "min", "minute", "mod", "modifies", "module", "month", "multiset", "national", "natural", "nchar", "nclob", "new", "no", "none", "normalize", "not", "nth_value", "ntile", "null", "nullif", "numeric", "octet_length", "occurrences_regex", "of", "offset", "old", "omit", "on", "one", "only", "open", "or", "order", "out", "outer", "over", "overlaps", "overlay", "parameter", "partition", "pattern", "per", "percent", "percent_rank", "percentile_cont", "percentile_disc", "period", "portion", "position", "position_regex", "power", "precedes", "precision", "prepare", "primary", "procedure", "ptf", "range", "rank", "reads", "real", "recursive", "ref", "references", "referencing", "regr_avgx", "regr_avgy", "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", "regr_syy", "release", "result", "return", "returns", "revoke", "right", "rollback", "rollup", "row", "row_number", "rows", "running", "savepoint", "scope", "scroll", "search", "second", "seek", "select", "sensitive", "session_user", "set", "show", "similar", "sin", "sinh", "skip", "smallint", "some", "specific", "specifictype", "sql", "sqlexception", "sqlstate", "sqlwarning", "sqrt", "start", "static", "stddev_pop", "stddev_samp", "submultiset", "subset", "substring", "substring_regex", "succeeds", "sum", "symmetric", "system", "system_time", "system_user", "table", "tablesample", "tan", "tanh", "then", "time", "timestamp", "timezone_hour", "timezone_minute", "to", "trailing", "translate", "translate_regex", "translation", "treat", "trigger", "trim", "trim_array", "true", "truncate", "uescape", "union", "unique", "unknown", "unnest", "update ", "upper", "user", "using", "value", "values", "value_of", "var_pop", "var_samp", "varbinary", "varchar", "varying", "versioning", "when", "whenever", "where", "width_bucket", "window", "with", "within", "without", "year", "add", "asc", "collation", "desc", "final", "first", "last", "view"].filter((e => !s.includes(e))), + u = { + begin: r(/\b/, t(...c), /\s*\(/), keywords: {built_in: c} + }; + return { + name: "SQL", + case_insensitive: !0, illegal: /[{}]|<\//, keywords: { + $pattern: /\b[\w\.]+/, + keyword: ((e, {exceptions: r, when: t} = {}) => { + const n = t + ; + return r = r || [], e.map((e => e.match(/\|\d+$/) || r.includes(e) ? e : n(e) ? e + "|0" : e)) + })(l, {when: e => e.length < 3}), literal: a, type: i, + built_in: ["current_catalog", "current_date", "current_default_transform_group", "current_path", "current_role", "current_schema", "current_transform_group_for_type", "current_user", "session_user", "system_time", "system_user", "current_time", "localtime", "current_timestamp", "localtimestamp"] + }, contains: [{ + begin: t(...o), keywords: { + $pattern: /[\w\.]+/, keyword: l.concat(o), + literal: a, type: i + } + }, { + className: "type", + begin: t("double precision", "large object", "with timezone", "without timezone") + }, u, {className: "variable", begin: /@[a-z0-9]+/}, { + className: "string", variants: [{ + begin: /'/, end: /'/, contains: [{begin: /''/}] + }] + }, { + begin: /"/, end: /"/, contains: [{ + begin: /""/ + }] + }, e.C_NUMBER_MODE, e.C_BLOCK_COMMENT_MODE, n, { + className: "operator", + begin: /[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, relevance: 0 + }] + } + } +})()); +hljs.registerLanguage("javascript", (() => { + "use strict" + ;const e = "[A-Za-z$_][0-9A-Za-z$_]*", + n = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends"], + a = ["true", "false", "null", "undefined", "NaN", "Infinity"], + s = [].concat(["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape"], ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], ["Intl", "DataView", "Number", "Math", "Date", "String", "RegExp", "Object", "Function", "Boolean", "Error", "Symbol", "Set", "Map", "WeakSet", "WeakMap", "Proxy", "Reflect", "JSON", "Promise", "Float64Array", "Int16Array", "Int32Array", "Int8Array", "Uint16Array", "Uint32Array", "Float32Array", "Array", "Uint8Array", "Uint8ClampedArray", "ArrayBuffer", "BigInt64Array", "BigUint64Array", "BigInt"], ["EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"]) + ; + + function r(e) { + return t("(?=", e, ")") + } + + function t(...e) { + return e.map((e => { + return (n = e) ? "string" == typeof n ? n : n.source : null; + var n + })).join("") + } + + return i => { + const c = e, o = { + begin: /<[A-Za-z0-9\\._:-]+/, end: /\/[A-Za-z0-9\\._:-]+>|\/>/, + isTrulyOpeningTag: (e, n) => { + const a = e[0].length + e.index, s = e.input[a] + ;"<" !== s ? ">" === s && (((e, {after: n}) => { + const a = "", + returnBegin: !0, end: "\\s*=>", contains: [{ + className: "params", variants: [{ + begin: i.UNDERSCORE_IDENT_RE, relevance: 0 + }, { + className: null, begin: /\(\s*\)/, skip: !0 + }, {begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: l, contains: f}] + }] + }, {begin: /,/, relevance: 0}, {className: "", begin: /\s/, end: /\s*/, skip: !0}, { + variants: [{begin: "<>", end: ""}, { + begin: o.begin, "on:begin": o.isTrulyOpeningTag, + end: o.end + }], subLanguage: "xml", contains: [{ + begin: o.begin, end: o.end, skip: !0, + contains: ["self"] + }] + }], relevance: 0 + }, { + className: "function", + beginKeywords: "function", end: /[{;]/, excludeEnd: !0, keywords: l, + contains: ["self", i.inherit(i.TITLE_MODE, {begin: c}), p], illegal: /%/ + }, { + beginKeywords: "while if switch catch for" + }, { + className: "function", + begin: i.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", + returnBegin: !0, contains: [p, i.inherit(i.TITLE_MODE, {begin: c})] + }, { + variants: [{ + begin: "\\." + c + }, {begin: "\\$" + c}], relevance: 0 + }, { + className: "class", + beginKeywords: "class", end: /[{;=]/, excludeEnd: !0, illegal: /[:"[\]]/, contains: [{ + beginKeywords: "extends" + }, i.UNDERSCORE_TITLE_MODE] + }, { + begin: /\b(?=constructor)/, + end: /[{;]/, excludeEnd: !0, contains: [i.inherit(i.TITLE_MODE, {begin: c}), "self", p] + }, { + begin: "(get|set)\\s+(?=" + c + "\\()", end: /\{/, keywords: "get set", + contains: [i.inherit(i.TITLE_MODE, {begin: c}), {begin: /\(\)/}, p] + }, {begin: /\$[(.]/}] + } + } +})()); +hljs.registerLanguage("java", (() => { + "use strict" + ;var e = "\\.([0-9](_*[0-9])*)", n = "[0-9a-fA-F](_*[0-9a-fA-F])*", a = { + className: "number", variants: [{ + begin: `(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, {begin: `\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`}, { + begin: `(${e})[fFdD]?\\b` + }, {begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b"}, { + begin: `\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, {begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b"}, {begin: `\\b0[xX](${n})[lL]?\\b`}, { + begin: "\\b0(_*[0-7])*[lL]?\\b" + }, {begin: "\\b0[bB][01](_*[01])*[lL]?\\b"}], + relevance: 0 + }; + return e => { + var n = "false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do", + s = { + className: "meta", begin: "@[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", + contains: [{begin: /\(/, end: /\)/, contains: ["self"]}] + }; + const r = a; + return { + name: "Java", aliases: ["jsp"], keywords: n, illegal: /<\/|#/, + contains: [e.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, contains: [{ + begin: /\w+@/, + relevance: 0 + }, {className: "doctag", begin: "@[A-Za-z]+"}] + }), { + begin: /import java\.[a-z]+\./, keywords: "import", relevance: 2 + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, { + className: "class", beginKeywords: "class interface enum", end: /[{;=]/, + excludeEnd: !0, relevance: 1, keywords: "class interface enum", illegal: /[:"\[\]]/, + contains: [{beginKeywords: "extends implements"}, e.UNDERSCORE_TITLE_MODE] + }, { + beginKeywords: "new throw return else", relevance: 0 + }, { + className: "class", + begin: "record\\s+" + e.UNDERSCORE_IDENT_RE + "\\s*\\(", returnBegin: !0, excludeEnd: !0, + end: /[{;=]/, keywords: n, contains: [{beginKeywords: "record"}, { + begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(", returnBegin: !0, relevance: 0, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + className: "params", begin: /\(/, end: /\)/, + keywords: n, relevance: 0, contains: [e.C_BLOCK_COMMENT_MODE] + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + className: "function", + begin: "([\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(<[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(\\s*,\\s*[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*)*>)?\\s+)+" + e.UNDERSCORE_IDENT_RE + "\\s*\\(", + returnBegin: !0, end: /[{;=]/, excludeEnd: !0, keywords: n, contains: [{ + begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(", returnBegin: !0, relevance: 0, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + className: "params", begin: /\(/, end: /\)/, + keywords: n, relevance: 0, + contains: [s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, r, e.C_BLOCK_COMMENT_MODE] + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, r, s] + } + } +})()); +hljs.registerLanguage("php-template", (() => { + "use strict"; + return n => ({ + name: "PHP template", subLanguage: "xml", contains: [{ + begin: /<\?(php|=)?/, end: /\?>/, + subLanguage: "php", contains: [{begin: "/\\*", end: "\\*/", skip: !0}, { + begin: 'b"', + end: '"', skip: !0 + }, {begin: "b'", end: "'", skip: !0}, n.inherit(n.APOS_STRING_MODE, { + illegal: null, className: null, contains: null, skip: !0 + }), n.inherit(n.QUOTE_STRING_MODE, { + illegal: null, className: null, contains: null, + skip: !0 + })] + }] + }) +})()); +hljs.registerLanguage("python-repl", (() => { + "use strict"; + return s => ({ + aliases: ["pycon"], contains: [{ + className: "meta", starts: { + end: / |$/, starts: { + end: "$", + subLanguage: "python" + } + }, variants: [{begin: /^>>>(?=[ ]|$)/}, { + begin: /^\.\.\.(?=[ ]|$)/ + }] + }] + }) +})()); +hljs.registerLanguage("swift", (() => { + "use strict"; + + function e(e) { + return e ? "string" == typeof e ? e : e.source : null + } + + function n(e) { + return a("(?=", e, ")") + } + + function a(...n) { + return n.map((n => e(n))).join("") + } + + function t(...n) { + return "(" + n.map((n => e(n))).join("|") + ")" + } + + const i = e => a(/\b/, e, /\w$/.test(e) ? /\b/ : /\B/), s = ["Protocol", "Type"].map(i), + u = ["init", "self"].map(i), c = ["Any", "Self"], + r = ["associatedtype", "async", "await", /as\?/, /as!/, "as", "break", "case", "catch", "class", "continue", "convenience", "default", "defer", "deinit", "didSet", "do", "dynamic", "else", "enum", "extension", "fallthrough", /fileprivate\(set\)/, "fileprivate", "final", "for", "func", "get", "guard", "if", "import", "indirect", "infix", /init\?/, /init!/, "inout", /internal\(set\)/, "internal", "in", "is", "lazy", "let", "mutating", "nonmutating", /open\(set\)/, "open", "operator", "optional", "override", "postfix", "precedencegroup", "prefix", /private\(set\)/, "private", "protocol", /public\(set\)/, "public", "repeat", "required", "rethrows", "return", "set", "some", "static", "struct", "subscript", "super", "switch", "throws", "throw", /try\?/, /try!/, "try", "typealias", /unowned\(safe\)/, /unowned\(unsafe\)/, "unowned", "var", "weak", "where", "while", "willSet"], + o = ["false", "nil", "true"], + l = ["assignment", "associativity", "higherThan", "left", "lowerThan", "none", "right"], + m = ["#colorLiteral", "#column", "#dsohandle", "#else", "#elseif", "#endif", "#error", "#file", "#fileID", "#fileLiteral", "#filePath", "#function", "#if", "#imageLiteral", "#keyPath", "#line", "#selector", "#sourceLocation", "#warn_unqualified_access", "#warning"], + d = ["abs", "all", "any", "assert", "assertionFailure", "debugPrint", "dump", "fatalError", "getVaList", "isKnownUniquelyReferenced", "max", "min", "numericCast", "pointwiseMax", "pointwiseMin", "precondition", "preconditionFailure", "print", "readLine", "repeatElement", "sequence", "stride", "swap", "swift_unboxFromSwiftValueWithType", "transcode", "type", "unsafeBitCast", "unsafeDowncast", "withExtendedLifetime", "withUnsafeMutablePointer", "withUnsafePointer", "withVaList", "withoutActuallyEscaping", "zip"], + p = t(/[/=\-+!*%<>&|^~?]/, /[\u00A1-\u00A7]/, /[\u00A9\u00AB]/, /[\u00AC\u00AE]/, /[\u00B0\u00B1]/, /[\u00B6\u00BB\u00BF\u00D7\u00F7]/, /[\u2016-\u2017]/, /[\u2020-\u2027]/, /[\u2030-\u203E]/, /[\u2041-\u2053]/, /[\u2055-\u205E]/, /[\u2190-\u23FF]/, /[\u2500-\u2775]/, /[\u2794-\u2BFF]/, /[\u2E00-\u2E7F]/, /[\u3001-\u3003]/, /[\u3008-\u3020]/, /[\u3030]/), + F = t(p, /[\u0300-\u036F]/, /[\u1DC0-\u1DFF]/, /[\u20D0-\u20FF]/, /[\uFE00-\uFE0F]/, /[\uFE20-\uFE2F]/), + b = a(p, F, "*"), + h = t(/[a-zA-Z_]/, /[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/, /[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/, /[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/, /[\u1E00-\u1FFF]/, /[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/, /[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/, /[\u2C00-\u2DFF\u2E80-\u2FFF]/, /[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/, /[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/, /[\uFE47-\uFEFE\uFF00-\uFFFD]/), + f = t(h, /\d/, /[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/), w = a(h, f, "*"), + y = a(/[A-Z]/, f, "*"), + g = ["autoclosure", a(/convention\(/, t("swift", "block", "c"), /\)/), "discardableResult", "dynamicCallable", "dynamicMemberLookup", "escaping", "frozen", "GKInspectable", "IBAction", "IBDesignable", "IBInspectable", "IBOutlet", "IBSegueAction", "inlinable", "main", "nonobjc", "NSApplicationMain", "NSCopying", "NSManaged", a(/objc\(/, w, /\)/), "objc", "objcMembers", "propertyWrapper", "requires_stored_property_inits", "testable", "UIApplicationMain", "unknown", "usableFromInline"], + E = ["iOS", "iOSApplicationExtension", "macOS", "macOSApplicationExtension", "macCatalyst", "macCatalystApplicationExtension", "watchOS", "watchOSApplicationExtension", "tvOS", "tvOSApplicationExtension", "swift"] + ; + return e => { + const p = {match: /\s+/, relevance: 0}, h = e.COMMENT("/\\*", "\\*/", { + contains: ["self"] + }), v = [e.C_LINE_COMMENT_MODE, h], N = { + className: "keyword", + begin: a(/\./, n(t(...s, ...u))), end: t(...s, ...u), excludeBegin: !0 + }, A = { + match: a(/\./, t(...r)), relevance: 0 + }, C = r.filter((e => "string" == typeof e)).concat(["_|0"]), _ = { + variants: [{ + className: "keyword", + match: t(...r.filter((e => "string" != typeof e)).concat(c).map(i), ...u) + }] + }, D = { + $pattern: t(/\b\w+/, /#\w+/), keyword: C.concat(m), literal: o + }, B = [N, A, _], k = [{ + match: a(/\./, t(...d)), relevance: 0 + }, { + className: "built_in", + match: a(/\b/, t(...d), /(?=\()/) + }], M = {match: /->/, relevance: 0}, S = [M, { + className: "operator", relevance: 0, variants: [{match: b}, {match: `\\.(\\.|${F})+`}] + }], x = "([0-9a-fA-F]_*)+", I = { + className: "number", relevance: 0, variants: [{ + match: "\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b" + }, { + match: `\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b` + }, { + match: /\b0o([0-7]_*)+\b/ + }, {match: /\b0b([01]_*)+\b/}] + }, O = (e = "") => ({ + className: "subst", variants: [{match: a(/\\/, e, /[0\\tnr"']/)}, { + match: a(/\\/, e, /u\{[0-9a-fA-F]{1,8}\}/) + }] + }), T = (e = "") => ({ + className: "subst", + match: a(/\\/, e, /[\t ]*(?:[\r\n]|\r\n)/) + }), L = (e = "") => ({ + className: "subst", + label: "interpol", begin: a(/\\/, e, /\(/), end: /\)/ + }), P = (e = "") => ({ + begin: a(e, /"""/), + end: a(/"""/, e), contains: [O(e), T(e), L(e)] + }), $ = (e = "") => ({ + begin: a(e, /"/), + end: a(/"/, e), contains: [O(e), L(e)] + }), K = { + className: "string", + variants: [P(), P("#"), P("##"), P("###"), $(), $("#"), $("##"), $("###")] + }, j = { + match: a(/`/, w, /`/) + }, z = [j, {className: "variable", match: /\$\d+/}, { + className: "variable", match: `\\$${f}+` + }], q = [{ + match: /(@|#)available/, + className: "keyword", starts: { + contains: [{ + begin: /\(/, end: /\)/, keywords: E, + contains: [...S, I, K] + }] + } + }, {className: "keyword", match: a(/@/, t(...g))}, { + className: "meta", match: a(/@/, w) + }], U = { + match: n(/\b[A-Z]/), relevance: 0, contains: [{ + className: "type", + match: a(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, f, "+") + }, {className: "type", match: y, relevance: 0}, {match: /[?!]+/, relevance: 0}, { + match: /\.\.\./, relevance: 0 + }, {match: a(/\s+&\s+/, n(y)), relevance: 0}] + }, Z = { + begin: //, keywords: D, contains: [...v, ...B, ...q, M, U] + }; + U.contains.push(Z) + ;const G = { + begin: /\(/, end: /\)/, relevance: 0, keywords: D, contains: ["self", { + match: a(w, /\s*:/), keywords: "_|0", relevance: 0 + }, ...v, ...B, ...k, ...S, I, K, ...z, ...q, U] + }, H = { + beginKeywords: "func", contains: [{ + className: "title", match: t(j.match, w, b), endsParent: !0, relevance: 0 + }, p] + }, R = { + begin: //, contains: [...v, U] + }, V = { + begin: /\(/, end: /\)/, keywords: D, + contains: [{ + begin: t(n(a(w, /\s*:/)), n(a(w, /\s+/, w, /\s*:/))), end: /:/, relevance: 0, + contains: [{className: "keyword", match: /\b_\b/}, {className: "params", match: w}] + }, ...v, ...B, ...S, I, K, ...q, U, G], endsParent: !0, illegal: /["']/ + }, W = { + className: "function", match: n(/\bfunc\b/), contains: [H, R, V, p], illegal: [/\[/, /%/] + }, X = { + className: "function", match: /\b(subscript|init[?!]?)\s*(?=[<(])/, keywords: { + keyword: "subscript init init? init!", $pattern: /\w+[?!]?/ + }, contains: [R, V, p], + illegal: /\[|%/ + }, J = { + beginKeywords: "operator", end: e.MATCH_NOTHING_RE, contains: [{ + className: "title", match: b, endsParent: !0, relevance: 0 + }] + }, Q = { + beginKeywords: "precedencegroup", end: e.MATCH_NOTHING_RE, contains: [{ + className: "title", match: y, relevance: 0 + }, { + begin: /{/, end: /}/, relevance: 0, + endsParent: !0, keywords: [...l, ...o], contains: [U] + }] + }; + for (const e of K.variants) { + const n = e.contains.find((e => "interpol" === e.label)); + n.keywords = D + ;const a = [...B, ...k, ...S, I, K, ...z]; + n.contains = [...a, { + begin: /\(/, end: /\)/, + contains: ["self", ...a] + }] + } + return { + name: "Swift", keywords: D, contains: [...v, W, X, { + className: "class", beginKeywords: "struct protocol class extension enum", + end: "\\{", excludeEnd: !0, keywords: D, contains: [e.inherit(e.TITLE_MODE, { + begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/ + }), ...B] + }, J, Q, { + beginKeywords: "import", end: /$/, contains: [...v], relevance: 0 + }, ...B, ...k, ...S, I, K, ...z, ...q, U, G] + } + } +})()); +hljs.registerLanguage("clojure", (() => { + "use strict"; + return e => { + const t = "a-zA-Z_\\-!.?+*=<>&#'", n = "[" + t + "][" + t + "0-9/;:]*", + r = "def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord", a = { + $pattern: n, + "builtin-name": r + " cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy first rest cons cast coll last butlast sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize" + }, s = {begin: n, relevance: 0}, o = { + className: "number", begin: "[-+]?\\d+(\\.\\d+)?", + relevance: 0 + }, i = e.inherit(e.QUOTE_STRING_MODE, { + illegal: null + }), c = e.COMMENT(";", "$", {relevance: 0}), d = { + className: "literal", + begin: /\b(true|false|nil)\b/ + }, l = {begin: "[\\[\\{]", end: "[\\]\\}]"}, m = { + className: "comment", begin: "\\^" + n + }, p = e.COMMENT("\\^\\{", "\\}"), u = { + className: "symbol", begin: "[:]{1,2}" + n + }, f = {begin: "\\(", end: "\\)"}, h = { + endsWithParent: !0, relevance: 0 + }, y = { + keywords: a, className: "name", begin: n, + relevance: 0, starts: h + }, g = [f, i, m, p, c, u, l, o, d, s], b = { + beginKeywords: r, lexemes: n, + end: '(\\[|#|\\d|"|:|\\{|\\)|\\(|$)', contains: [{ + className: "title", begin: n, + relevance: 0, excludeEnd: !0, endsParent: !0 + }].concat(g) + } + ; + return f.contains = [e.COMMENT("comment", ""), b, y, h], + h.contains = g, l.contains = g, p.contains = [l], { + name: "Clojure", aliases: ["clj"], + illegal: /\S/, contains: [f, i, m, p, c, u, l, o, d] + } + } +})()); +hljs.registerLanguage("haskell", (() => { + "use strict"; + return e => { + const n = { + variants: [e.COMMENT("--", "$"), e.COMMENT(/\{-/, /-\}/, {contains: ["self"]})] + }, i = { + className: "meta", begin: /\{-#/, end: /#-\}/ + }, a = { + className: "meta", begin: "^#", end: "$" + }, s = {className: "type", begin: "\\b[A-Z][\\w']*", relevance: 0}, l = { + begin: "\\(", + end: "\\)", illegal: '"', contains: [i, a, { + className: "type", + begin: "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?" + }, e.inherit(e.TITLE_MODE, { + begin: "[_a-z][\\w']*" + }), n] + }; + return { + name: "Haskell", aliases: ["hs"], + keywords: "let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec", + contains: [{ + beginKeywords: "module", end: "where", keywords: "module where", + contains: [l, n], illegal: "\\W\\.|;" + }, { + begin: "\\bimport\\b", end: "$", + keywords: "import qualified as hiding", contains: [l, n], illegal: "\\W\\.|;" + }, { + className: "class", begin: "^(\\s*)?(class|instance)\\b", end: "where", + keywords: "class family instance where", contains: [s, l, n] + }, { + className: "class", + begin: "\\b(data|(new)?type)\\b", end: "$", + keywords: "data family type newtype deriving", contains: [i, s, l, { + begin: /\{/, + end: /\}/, contains: l.contains + }, n] + }, { + beginKeywords: "default", end: "$", + contains: [s, l, n] + }, { + beginKeywords: "infix infixl infixr", end: "$", + contains: [e.C_NUMBER_MODE, n] + }, { + begin: "\\bforeign\\b", end: "$", + keywords: "foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe", + contains: [s, e.QUOTE_STRING_MODE, n] + }, { + className: "meta", + begin: "#!\\/usr\\/bin\\/env runhaskell", end: "$" + }, i, a, e.QUOTE_STRING_MODE, e.C_NUMBER_MODE, s, e.inherit(e.TITLE_MODE, { + begin: "^[_a-z][\\w']*" + }), n, {begin: "->|<-"}] + } + } +})()); +hljs.registerLanguage("cmake", (() => { + "use strict"; + return e => ({ + name: "CMake", + aliases: ["cmake.in"], case_insensitive: !0, keywords: { + keyword: "break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined" + }, contains: [{ + className: "variable", begin: /\$\{/, end: /\}/ + }, e.HASH_COMMENT_MODE, e.QUOTE_STRING_MODE, e.NUMBER_MODE] + }) +})()); +hljs.registerLanguage("objectivec", (() => { + "use strict"; + return e => { + const n = /[a-zA-Z@][a-zA-Z0-9_]*/, _ = { + $pattern: n, + keyword: "@interface @class @protocol @implementation" + }; + return { + name: "Objective-C", aliases: ["mm", "objc", "obj-c", "obj-c++", "objective-c++"], + keywords: { + $pattern: n, + keyword: "int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN", + literal: "false true FALSE TRUE nil YES NO NULL", + built_in: "BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once" + }, illegal: "/, end: /$/, + illegal: "\\n" + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + className: "class", begin: "(" + _.keyword.split(" ").join("|") + ")\\b", end: /(\{|$)/, + excludeEnd: !0, keywords: _, contains: [e.UNDERSCORE_TITLE_MODE] + }, { + begin: "\\." + e.UNDERSCORE_IDENT_RE, relevance: 0 + }] + } + } +})()); +hljs.registerLanguage("coffeescript", (() => { + "use strict" + ;const e = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends"], + n = ["true", "false", "null", "undefined", "NaN", "Infinity"], + a = [].concat(["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape"], ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], ["Intl", "DataView", "Number", "Math", "Date", "String", "RegExp", "Object", "Function", "Boolean", "Error", "Symbol", "Set", "Map", "WeakSet", "WeakMap", "Proxy", "Reflect", "JSON", "Promise", "Float64Array", "Int16Array", "Int32Array", "Int8Array", "Uint16Array", "Uint32Array", "Float32Array", "Array", "Uint8Array", "Uint8ClampedArray", "ArrayBuffer", "BigInt64Array", "BigUint64Array", "BigInt"], ["EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"]) + ; + return r => { + const t = { + keyword: e.concat(["then", "unless", "until", "loop", "by", "when", "and", "or", "is", "isnt", "not"]).filter((i = ["var", "const", "let", "function", "static"], + e => !i.includes(e))), literal: n.concat(["yes", "no", "on", "off"]), + built_in: a.concat(["npm", "print"]) + }; + var i; + const s = "[A-Za-z$_][0-9A-Za-z$_]*", o = { + className: "subst", begin: /#\{/, end: /\}/, keywords: t + }, c = [r.BINARY_NUMBER_MODE, r.inherit(r.C_NUMBER_MODE, { + starts: { + end: "(\\s*/)?", + relevance: 0 + } + }), { + className: "string", variants: [{ + begin: /'''/, end: /'''/, + contains: [r.BACKSLASH_ESCAPE] + }, { + begin: /'/, end: /'/, contains: [r.BACKSLASH_ESCAPE] + }, {begin: /"""/, end: /"""/, contains: [r.BACKSLASH_ESCAPE, o]}, { + begin: /"/, end: /"/, + contains: [r.BACKSLASH_ESCAPE, o] + }] + }, { + className: "regexp", variants: [{ + begin: "///", + end: "///", contains: [o, r.HASH_COMMENT_MODE] + }, { + begin: "//[gim]{0,3}(?=\\W)", + relevance: 0 + }, {begin: /\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}] + }, { + begin: "@" + s + }, { + subLanguage: "javascript", excludeBegin: !0, excludeEnd: !0, variants: [{ + begin: "```", end: "```" + }, {begin: "`", end: "`"}] + }]; + o.contains = c + ;const l = r.inherit(r.TITLE_MODE, {begin: s}), d = "(\\(.*\\)\\s*)?\\B[-=]>", g = { + className: "params", begin: "\\([^\\(]", returnBegin: !0, contains: [{ + begin: /\(/, + end: /\)/, keywords: t, contains: ["self"].concat(c) + }] + }; + return { + name: "CoffeeScript", + aliases: ["coffee", "cson", "iced"], keywords: t, illegal: /\/\*/, + contains: c.concat([r.COMMENT("###", "###"), r.HASH_COMMENT_MODE, { + className: "function", begin: "^\\s*" + s + "\\s*=\\s*" + d, end: "[-=]>", returnBegin: !0, + contains: [l, g] + }, { + begin: /[:\(,=]\s*/, relevance: 0, contains: [{ + className: "function", + begin: d, end: "[-=]>", returnBegin: !0, contains: [g] + }] + }, { + className: "class", + beginKeywords: "class", end: "$", illegal: /[:="\[\]]/, contains: [{ + beginKeywords: "extends", endsWithParent: !0, illegal: /[:="\[\]]/, contains: [l] + }, l] + }, {begin: s + ":", end: ":", returnBegin: !0, returnEnd: !0, relevance: 0}]) + } + } +})()); \ No newline at end of file diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/abap.css b/src/main/resources/vditor/dist/js/highlight.js/styles/abap.css index d1e5a8be..a6e02e49 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/abap.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/abap.css @@ -1,67 +1,344 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #ff0000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #0000ff } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #0000ff } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #0000ff } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #0000ff } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #0000ff } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #0000ff } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #0000ff } -/* Name */ .highlight-chroma .highlight-n { color: #000000 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #000000 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #000000 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #000000 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #000000 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #000000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #000000 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #000000 } -/* NameException */ .highlight-chroma .highlight-ne { color: #000000 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #000000 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #000000 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #000000 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #000000 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #000000 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #000000 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #000000 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #000000 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #000000 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #000000 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #000000 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #000000 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #55aa22 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #55aa22 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #55aa22 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #55aa22 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #55aa22 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #55aa22 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #55aa22 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #55aa22 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #55aa22 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #55aa22 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #55aa22 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #55aa22 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #55aa22 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #55aa22 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #33aaff } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #33aaff } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #33aaff } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #33aaff } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #33aaff } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #33aaff } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #33aaff } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #0000ff } -/* Comment */ .highlight-chroma .highlight-c { color: #888888; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #888888; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #888888; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #888888; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #888888; font-style: italic } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ff0000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #0000ff +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #0000ff +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #0000ff +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #0000ff +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #0000ff +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #0000ff +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #0000ff +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #000000 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #000000 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #000000 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #000000 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #000000 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #000000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #000000 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #000000 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #000000 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #000000 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #000000 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #000000 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #000000 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #000000 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #000000 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #000000 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #000000 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #000000 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #000000 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #000000 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #000000 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #55aa22 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #55aa22 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #55aa22 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #55aa22 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #55aa22 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #55aa22 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #55aa22 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #55aa22 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #55aa22 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #55aa22 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #55aa22 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #55aa22 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #55aa22 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #55aa22 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #33aaff +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #33aaff +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #33aaff +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #33aaff +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #33aaff +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #33aaff +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #33aaff +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #0000ff +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #888888; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #888888; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #888888; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #888888; + font-style: italic +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/algol.css b/src/main/resources/vditor/dist/js/highlight.js/styles/algol.css index 6fb8a1fb..0f0cc924 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/algol.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/algol.css @@ -1,46 +1,272 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { font-weight: bold; text-decoration: underline } -/* KeywordConstant */ .highlight-chroma .highlight-kc { font-weight: bold; text-decoration: underline } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { font-weight: bold; font-style: italic; text-decoration: underline } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { font-weight: bold; text-decoration: underline } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { font-weight: bold; text-decoration: underline } -/* KeywordReserved */ .highlight-chroma .highlight-kr { font-weight: bold; text-decoration: underline } -/* KeywordType */ .highlight-chroma .highlight-kt { font-weight: bold; text-decoration: underline } -/* NameBuiltin */ .highlight-chroma .highlight-nb { font-weight: bold; font-style: italic } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { font-weight: bold; font-style: italic } -/* NameClass */ .highlight-chroma .highlight-nc { color: #666666; font-weight: bold; font-style: italic } -/* NameConstant */ .highlight-chroma .highlight-no { color: #666666; font-weight: bold; font-style: italic } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #666666; font-weight: bold; font-style: italic } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #666666; font-weight: bold; font-style: italic } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #666666; font-weight: bold; font-style: italic } -/* LiteralString */ .highlight-chroma .highlight-s { color: #666666; font-style: italic } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #666666; font-style: italic } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #666666; font-style: italic } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #666666; font-style: italic } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #666666; font-style: italic } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #666666; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #666666; font-style: italic } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #666666; font-style: italic } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #666666; font-style: italic } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #666666; font-style: italic } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #666666; font-style: italic } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #666666; font-style: italic } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #666666; font-style: italic } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #666666; font-style: italic } -/* OperatorWord */ .highlight-chroma .highlight-ow { font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #888888; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #888888; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #888888; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #888888; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #888888; font-weight: bold } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + font-weight: bold; + text-decoration: underline +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + font-weight: bold; + text-decoration: underline +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + font-weight: bold; + font-style: italic; + text-decoration: underline +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + font-weight: bold; + text-decoration: underline +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + font-weight: bold; + text-decoration: underline +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + font-weight: bold; + text-decoration: underline +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + font-weight: bold; + text-decoration: underline +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + font-weight: bold; + font-style: italic +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + font-weight: bold; + font-style: italic +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #666666; + font-style: italic +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #666666; + font-style: italic +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #666666; + font-style: italic +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #666666; + font-style: italic +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #666666; + font-style: italic +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #666666; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #666666; + font-style: italic +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #666666; + font-style: italic +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #666666; + font-style: italic +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #666666; + font-style: italic +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #666666; + font-style: italic +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #666666; + font-style: italic +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #666666; + font-style: italic +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #666666; + font-style: italic +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #888888; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #888888; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #888888; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #888888; + font-weight: bold +} /* Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/algol_nu.css b/src/main/resources/vditor/dist/js/highlight.js/styles/algol_nu.css index 26c427c9..394ff01e 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/algol_nu.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/algol_nu.css @@ -1,46 +1,265 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { font-weight: bold; font-style: italic } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { font-weight: bold } -/* NameBuiltin */ .highlight-chroma .highlight-nb { font-weight: bold; font-style: italic } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { font-weight: bold; font-style: italic } -/* NameClass */ .highlight-chroma .highlight-nc { color: #666666; font-weight: bold; font-style: italic } -/* NameConstant */ .highlight-chroma .highlight-no { color: #666666; font-weight: bold; font-style: italic } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #666666; font-weight: bold; font-style: italic } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #666666; font-weight: bold; font-style: italic } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #666666; font-weight: bold; font-style: italic } -/* LiteralString */ .highlight-chroma .highlight-s { color: #666666; font-style: italic } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #666666; font-style: italic } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #666666; font-style: italic } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #666666; font-style: italic } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #666666; font-style: italic } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #666666; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #666666; font-style: italic } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #666666; font-style: italic } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #666666; font-style: italic } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #666666; font-style: italic } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #666666; font-style: italic } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #666666; font-style: italic } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #666666; font-style: italic } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #666666; font-style: italic } -/* OperatorWord */ .highlight-chroma .highlight-ow { font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #888888; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #888888; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #888888; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #888888; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #888888; font-weight: bold } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + font-weight: bold; + font-style: italic +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + font-weight: bold +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + font-weight: bold; + font-style: italic +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + font-weight: bold; + font-style: italic +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #666666; + font-weight: bold; + font-style: italic +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #666666; + font-style: italic +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #666666; + font-style: italic +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #666666; + font-style: italic +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #666666; + font-style: italic +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #666666; + font-style: italic +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #666666; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #666666; + font-style: italic +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #666666; + font-style: italic +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #666666; + font-style: italic +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #666666; + font-style: italic +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #666666; + font-style: italic +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #666666; + font-style: italic +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #666666; + font-style: italic +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #666666; + font-style: italic +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #888888; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #888888; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #888888; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #888888; + font-weight: bold +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/ant-design.css b/src/main/resources/vditor/dist/js/highlight.js/styles/ant-design.css index 2d153a31..1ee604a2 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/ant-design.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/ant-design.css @@ -16,12 +16,15 @@ text-shadow: none; background: #b3d4fc; } + .highlight-o { color: #0b8235; } + .highlight-p { color: #999; } + /* Error */ .highlight-chroma .highlight-err { color: #a61717; @@ -423,6 +426,7 @@ .hljs-regexp { color: #e90; } + .hljs-string, .hljs-addition, .hljs-attribute, diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/arduino.css b/src/main/resources/vditor/dist/js/highlight.js/styles/arduino.css index 30c60832..6654d4e1 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/arduino.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/arduino.css @@ -1,68 +1,342 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #a61717 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #728e00 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #00979d } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #728e00 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #728e00 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #00979d } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #00979d } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00979d } -/* Name */ .highlight-chroma .highlight-n { color: #434f54 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #434f54 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #728e00 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #434f54 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #434f54 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #434f54 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #434f54 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #434f54 } -/* NameException */ .highlight-chroma .highlight-ne { color: #434f54 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #d35400 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #434f54 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #434f54 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #434f54 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #728e00 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #434f54 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #434f54 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #434f54 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #434f54 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #434f54 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #434f54 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #434f54 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #7f8c8d } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #7f8c8d } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #7f8c8d } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #7f8c8d } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #7f8c8d } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #7f8c8d } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #7f8c8d } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #7f8c8d } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #7f8c8d } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #7f8c8d } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #7f8c8d } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #7f8c8d } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #7f8c8d } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #7f8c8d } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #8a7b52 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #8a7b52 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #8a7b52 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #8a7b52 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #8a7b52 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #8a7b52 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #8a7b52 } -/* Operator */ .highlight-chroma .highlight-o { color: #728e00 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #728e00 } -/* Comment */ .highlight-chroma .highlight-c { color: #95a5a6 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #95a5a6 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #95a5a6 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #95a5a6 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #95a5a6 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #728e00 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #728e00 } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #728e00 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #00979d +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #728e00 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #728e00 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #00979d +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #00979d +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00979d +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #434f54 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #434f54 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #728e00 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #434f54 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #434f54 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #434f54 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #434f54 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #434f54 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #434f54 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #d35400 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #434f54 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #434f54 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #434f54 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #728e00 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #434f54 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #434f54 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #434f54 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #434f54 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #434f54 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #434f54 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #434f54 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #7f8c8d +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #7f8c8d +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #7f8c8d +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #7f8c8d +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #7f8c8d +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #7f8c8d +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #7f8c8d +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #7f8c8d +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #7f8c8d +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #7f8c8d +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #7f8c8d +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #7f8c8d +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #7f8c8d +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #7f8c8d +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #8a7b52 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #8a7b52 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #8a7b52 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #8a7b52 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #8a7b52 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #8a7b52 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #8a7b52 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #728e00 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #728e00 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #95a5a6 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #95a5a6 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #95a5a6 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #95a5a6 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #95a5a6 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #728e00 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #728e00 +} /* @@ -125,7 +399,7 @@ Arduino® Light Theme - Stefania Mellai } .hljs-comment { - color: rgba(149,165,166,.8); + color: rgba(149, 165, 166, .8); } .hljs-meta-keyword { diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/autumn.css b/src/main/resources/vditor/dist/js/highlight.js/styles/autumn.css index 1cd9d12c..f3c9a5b2 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/autumn.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/autumn.css @@ -1,68 +1,354 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #ff0000; background-color: #ffaaaa } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #0000aa } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #0000aa } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #0000aa } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #0000aa } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #0000aa } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #0000aa } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00aaaa } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #1e90ff } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #00aaaa } -/* NameClass */ .highlight-chroma .highlight-nc { color: #00aa00; text-decoration: underline } -/* NameConstant */ .highlight-chroma .highlight-no { color: #aa0000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #888888 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #880000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #00aa00 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #00aaaa; text-decoration: underline } -/* NameTag */ .highlight-chroma .highlight-nt { color: #1e90ff; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #aa0000 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #aa5500 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #aa5500 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #aa5500 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #aa5500 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #aa5500 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #aa5500 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #aa5500 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #aa5500 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #aa5500 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #aa5500 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #aa5500 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #009999 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #aa5500 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #0000aa } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #009999 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #009999 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #009999 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #009999 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #009999 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #009999 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #009999 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #0000aa } -/* Comment */ .highlight-chroma .highlight-c { color: #aaaaaa; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #aaaaaa; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #aaaaaa; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #aaaaaa; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #0000aa; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #4c8317 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #4c8317 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #aa0000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00aa00 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ff0000; + background-color: #ffaaaa +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #0000aa +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #0000aa +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #0000aa +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #0000aa +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #0000aa +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #0000aa +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00aaaa +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #1e90ff +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #00aaaa +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #00aa00; + text-decoration: underline +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #aa0000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #888888 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #880000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #00aa00 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #00aaaa; + text-decoration: underline +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #1e90ff; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #aa0000 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #aa5500 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #aa5500 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #aa5500 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #aa5500 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #aa5500 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #aa5500 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #aa5500 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #aa5500 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #aa5500 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #aa5500 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #aa5500 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #009999 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #aa5500 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #0000aa +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #009999 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #009999 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #009999 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #009999 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #009999 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #009999 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #009999 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #0000aa +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #aaaaaa; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #aaaaaa; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #aaaaaa; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #aaaaaa; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #0000aa; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #4c8317 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #4c8317 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #aa0000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00aa00 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* Base16 Atelier Heath Light - Theme */ /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/borland.css b/src/main/resources/vditor/dist/js/highlight.js/styles/borland.css index f9b847d3..d8322179 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/borland.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/borland.css @@ -1,60 +1,318 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #000080; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #000080; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #000080; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #000080; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #000080; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #000080; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #000080; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #ff0000 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #000080; font-weight: bold } -/* LiteralString */ .highlight-chroma .highlight-s { color: #0000ff } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #0000ff } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #0000ff } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #800080 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #0000ff } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #0000ff } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #0000ff } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #0000ff } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #0000ff } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #0000ff } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #0000ff } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #0000ff } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #0000ff } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #0000ff } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #0000ff } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #0000ff } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #0000ff } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #0000ff } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #0000ff } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #0000ff } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #0000ff } -/* OperatorWord */ .highlight-chroma .highlight-ow { font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #008800; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #008800; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #008800; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #008800; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #008800; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #008080 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #008080 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #000000; background-color: #ffdddd } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #999999 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #000000; background-color: #ddffdd } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #aaaaaa } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #000080; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #000080; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #000080; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #000080; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #000080; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #000080; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #000080; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #ff0000 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #000080; + font-weight: bold +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #0000ff +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #0000ff +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #0000ff +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #800080 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #0000ff +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #0000ff +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #0000ff +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #0000ff +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #0000ff +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #0000ff +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #0000ff +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #0000ff +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #0000ff +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #0000ff +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #0000ff +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #0000ff +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #0000ff +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #0000ff +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #0000ff +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #0000ff +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #0000ff +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #008800; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #008800; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #008800; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #008800; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #008800; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #008080 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #008080 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #000000; + background-color: #ffdddd +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #999999 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #000000; + background-color: #ddffdd +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #aaaaaa +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* @@ -69,11 +327,11 @@ Lightfair style (c) Tristian Kelly } .hljs-name { - color:#01a3a3; + color: #01a3a3; } -.hljs-tag,.hljs-meta { - color:#778899; +.hljs-tag, .hljs-meta { + color: #778899; } .hljs, diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/bw.css b/src/main/resources/vditor/dist/js/highlight.js/styles/bw.css index 86b78928..cc3213be 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/bw.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/bw.css @@ -1,49 +1,244 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { } -/* KeywordReserved */ .highlight-chroma .highlight-kr { font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { } -/* NameClass */ .highlight-chroma .highlight-nc { font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { font-weight: bold } -/* LiteralString */ .highlight-chroma .highlight-s { font-style: italic } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { font-style: italic } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { font-style: italic } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { font-style: italic } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { font-style: italic } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { font-style: italic } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { font-weight: bold; font-style: italic } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { font-style: italic } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { font-weight: bold; font-style: italic } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { font-style: italic } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { font-style: italic } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { font-style: italic } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { font-style: italic } -/* OperatorWord */ .highlight-chroma .highlight-ow { font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericPrompt */ .highlight-chroma .highlight-gp { font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { font-weight: bold } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + font-weight: bold +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + font-style: italic +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + font-style: italic +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + font-style: italic +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + font-style: italic +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + font-style: italic +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + font-style: italic +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + font-weight: bold; + font-style: italic +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + font-style: italic +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + font-weight: bold; + font-style: italic +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + font-style: italic +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + font-style: italic +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + font-style: italic +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + font-style: italic +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + font-weight: bold +} /* @@ -131,7 +326,7 @@ grayscale style (c) MY Sun .hljs-deletion { color: #fff; - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; } .hljs-addition { diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/colorful.css b/src/main/resources/vditor/dist/js/highlight.js/styles/colorful.css index 472c95b3..91b05d65 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/colorful.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/colorful.css @@ -1,74 +1,408 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #ff0000; background-color: #ffaaaa } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #008800; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #008800; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #008800; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #008800; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #003388; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #008800; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #333399; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #0000cc } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #007020 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #bb0066; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #003366; font-weight: bold } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #555555; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #880000; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #ff0000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #0066bb; font-weight: bold } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #997700; font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #0e84b5; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #007700 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #996633 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #336699 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #dd7700; font-weight: bold } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #3333bb } -/* LiteralString */ .highlight-chroma .highlight-s { background-color: #fff0f0 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { background-color: #fff0f0 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { background-color: #fff0f0 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #0044dd; background-color: #fff0f0 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { background-color: #fff0f0 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #dd4422; background-color: #fff0f0 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { background-color: #fff0f0 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #666666; background-color: #fff0f0; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { background-color: #fff0f0 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { background-color: #eeeeee } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #000000; background-color: #fff0ff } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { background-color: #fff0f0 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #aa6600; background-color: #fff0f0 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #6600ee; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #6600ee; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #6600ee; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #005588; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #0000dd; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #6600ee; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #4400ee; font-weight: bold } -/* Operator */ .highlight-chroma .highlight-o { color: #333333 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #000000; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #888888 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #888888 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #cc0000; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #557799 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #557799 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a00000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #c65d09; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ff0000; + background-color: #ffaaaa +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #008800; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #008800; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #008800; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #008800; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #003388; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #008800; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #333399; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #0000cc +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #007020 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #bb0066; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #003366; + font-weight: bold +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #555555; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #880000; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #ff0000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #0066bb; + font-weight: bold +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #997700; + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #0e84b5; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #007700 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #996633 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #336699 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #dd7700; + font-weight: bold +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #3333bb +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + background-color: #fff0f0 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + background-color: #fff0f0 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + background-color: #fff0f0 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #0044dd; + background-color: #fff0f0 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + background-color: #fff0f0 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #dd4422; + background-color: #fff0f0 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + background-color: #fff0f0 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #666666; + background-color: #fff0f0; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + background-color: #fff0f0 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + background-color: #eeeeee +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #000000; + background-color: #fff0ff +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + background-color: #fff0f0 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #aa6600; + background-color: #fff0f0 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #005588; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #4400ee; + font-weight: bold +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #333333 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #000000; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #888888 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #cc0000; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #557799 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #557799 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a00000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #c65d09; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* Base16 Atelier Plateau Light - Theme */ /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/dracula.css b/src/main/resources/vditor/dist/js/highlight.js/styles/dracula.css index 6cd1e1f9..53784425 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/dracula.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/dracula.css @@ -1,63 +1,325 @@ -/* Background */ .highlight-chroma { color: #f8f8f2; background-color: #282a36 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #3d3f4a } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #ff79c6 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #ff79c6 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #8be9fd; font-style: italic } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #ff79c6 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #ff79c6 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #ff79c6 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #8be9fd } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #50fa7b } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #8be9fd; font-style: italic } -/* NameClass */ .highlight-chroma .highlight-nc { color: #50fa7b } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #50fa7b } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #8be9fd; font-style: italic } -/* NameTag */ .highlight-chroma .highlight-nt { color: #ff79c6 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #8be9fd; font-style: italic } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #8be9fd; font-style: italic } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #8be9fd; font-style: italic } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #8be9fd; font-style: italic } -/* LiteralString */ .highlight-chroma .highlight-s { color: #f1fa8c } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #f1fa8c } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #f1fa8c } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #f1fa8c } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #f1fa8c } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #f1fa8c } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #f1fa8c } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #f1fa8c } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #f1fa8c } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #f1fa8c } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #f1fa8c } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #f1fa8c } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #f1fa8c } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #f1fa8c } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #bd93f9 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #bd93f9 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #bd93f9 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #bd93f9 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #bd93f9 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #bd93f9 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #bd93f9 } -/* Operator */ .highlight-chroma .highlight-o { color: #ff79c6 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #ff79c6 } -/* Comment */ .highlight-chroma .highlight-c { color: #6272a4 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #6272a4 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #6272a4 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #6272a4 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #6272a4 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #ff79c6 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #ff79c6 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #8b080b } -/* GenericEmph */ .highlight-chroma .highlight-ge { text-decoration: underline } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { font-weight: bold } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #44475a } -/* GenericSubheading */ .highlight-chroma .highlight-gu { font-weight: bold } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } +/* Background */ +.highlight-chroma { + color: #f8f8f2; + background-color: #282a36 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #3d3f4a +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #ff79c6 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #ff79c6 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #8be9fd; + font-style: italic +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #ff79c6 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #ff79c6 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #ff79c6 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #8be9fd +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #50fa7b +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #8be9fd; + font-style: italic +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #50fa7b +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #50fa7b +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #8be9fd; + font-style: italic +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #ff79c6 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #8be9fd; + font-style: italic +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #8be9fd; + font-style: italic +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #8be9fd; + font-style: italic +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #8be9fd; + font-style: italic +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #f1fa8c +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #f1fa8c +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #f1fa8c +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #f1fa8c +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #f1fa8c +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #f1fa8c +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #f1fa8c +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #f1fa8c +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #f1fa8c +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #f1fa8c +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #f1fa8c +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #f1fa8c +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #f1fa8c +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #f1fa8c +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #bd93f9 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #bd93f9 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #bd93f9 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #bd93f9 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #bd93f9 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #bd93f9 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #bd93f9 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #ff79c6 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #ff79c6 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #6272a4 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #6272a4 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #6272a4 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #6272a4 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #6272a4 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #ff79c6 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #ff79c6 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #8b080b +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + text-decoration: underline +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + font-weight: bold +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #44475a +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + font-weight: bold +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/emacs.css b/src/main/resources/vditor/dist/js/highlight.js/styles/emacs.css index 8b76ba3f..e4d583f9 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/emacs.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/emacs.css @@ -1,71 +1,378 @@ -/* Background */ .highlight-chroma { background-color: #f8f8f8 } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #dfdfdf } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #aa22ff; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #aa22ff; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #aa22ff; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #aa22ff; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #aa22ff } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #aa22ff; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00bb00; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #bb4444 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #aa22ff } -/* NameClass */ .highlight-chroma .highlight-nc { color: #0000ff } -/* NameConstant */ .highlight-chroma .highlight-no { color: #880000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #aa22ff } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #999999; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #d2413a; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #00a000 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #a0a000 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #0000ff; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #008000; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #b8860b } -/* LiteralString */ .highlight-chroma .highlight-s { color: #bb4444 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #bb4444 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #bb4444 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #bb4444 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #bb4444 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #bb4444; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #bb4444 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #bb6622; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #bb4444 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #bb6688; font-weight: bold } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #008000 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #bb6688 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #bb4444 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #b8860b } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #666666 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #666666 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #666666 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #666666 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #666666 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #666666 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #666666 } -/* Operator */ .highlight-chroma .highlight-o { color: #666666 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #aa22ff; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #008800; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #008800; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #008800; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #008800; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #008800; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #008800 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #008800 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a00000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #000080; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #f8f8f8 +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #dfdfdf +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #aa22ff; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #aa22ff; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #aa22ff; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #aa22ff; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #aa22ff +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #aa22ff; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00bb00; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #bb4444 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #aa22ff +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #0000ff +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #880000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #aa22ff +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #999999; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #d2413a; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #00a000 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #a0a000 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #0000ff; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #008000; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #b8860b +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #bb4444 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #bb4444 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #bb4444 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #bb4444 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #bb4444 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #bb4444; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #bb4444 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #bb6622; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #bb4444 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #bb6688; + font-weight: bold +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #008000 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #bb6688 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #bb4444 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #b8860b +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #666666 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #666666 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #666666 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #666666 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #666666 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #666666 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #666666 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #666666 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #aa22ff; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #008800; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #008800; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #008800; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #008800; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #008800; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #008800 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #008800 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a00000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #000080; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/friendly.css b/src/main/resources/vditor/dist/js/highlight.js/styles/friendly.css index 3caa846e..afc3b281 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/friendly.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/friendly.css @@ -1,71 +1,379 @@ -/* Background */ .highlight-chroma { background-color: #f0f0f0 } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #d8d8d8 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #007020; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #007020; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #007020; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #007020; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #007020 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #007020; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #902000 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #4070a0 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #007020 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #0e84b5; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #60add5 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #555555; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #d55537; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #007020 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #06287e } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #002070; font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #0e84b5; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #062873; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #bb60d5 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #4070a0 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #4070a0 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #4070a0 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #4070a0 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #4070a0 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #4070a0; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #4070a0 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #4070a0; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #4070a0 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #70a0d0; font-style: italic } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #c65d09 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #235388 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #4070a0 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #517918 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #40a070 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #40a070 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #40a070 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #40a070 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #40a070 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #40a070 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #40a070 } -/* Operator */ .highlight-chroma .highlight-o { color: #666666 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #007020; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #60a0b0; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #60a0b0; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #60a0b0; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #60a0b0; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #60a0b0; background-color: #fff0f0 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #007020 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #007020 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a00000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #c65d09; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #f0f0f0 +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #d8d8d8 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #007020; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #007020; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #007020; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #007020; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #007020 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #007020; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #902000 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #4070a0 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #007020 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #0e84b5; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #60add5 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #555555; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #d55537; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #007020 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #06287e +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #002070; + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #0e84b5; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #062873; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #bb60d5 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #4070a0 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #4070a0 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #4070a0 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #4070a0 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #4070a0 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #4070a0; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #4070a0 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #4070a0; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #4070a0 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #70a0d0; + font-style: italic +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #c65d09 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #235388 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #4070a0 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #517918 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #40a070 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #40a070 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #40a070 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #40a070 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #40a070 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #40a070 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #40a070 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #666666 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #007020; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #60a0b0; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #60a0b0; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #60a0b0; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #60a0b0; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #60a0b0; + background-color: #fff0f0 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #007020 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #007020 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a00000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #c65d09; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* @@ -125,7 +433,7 @@ ISBL Editor style light color schemec (c) Dmitriy Tarasov color: #fb2c00; } -.hljs-title>.hljs-built_in { +.hljs-title > .hljs-built_in { color: #008080; font-weight: normal; } @@ -154,7 +462,7 @@ ISBL Editor style light color schemec (c) Dmitriy Tarasov color: #397300; } -.hljs-class { +.hljs-class { color: #6f1C00; font-weight: bold; } diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/fruity.css b/src/main/resources/vditor/dist/js/highlight.js/styles/fruity.css index c2da8d6a..08d948c8 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/fruity.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/fruity.css @@ -1,53 +1,301 @@ -/* Background */ .highlight-chroma { color: #ffffff; background-color: #111111 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #282828 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #fb660a; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #fb660a; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #fb660a; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #fb660a; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #fb660a } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #fb660a; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #cdcaa9; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #ff0086; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #0086d2 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #ff0086; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #fb660a; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #fb660a } -/* LiteralString */ .highlight-chroma .highlight-s { color: #0086d2 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #0086d2 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #0086d2 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #0086d2 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #0086d2 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #0086d2 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #0086d2 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #0086d2 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #0086d2 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #0086d2 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #0086d2 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #0086d2 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #0086d2 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #0086d2 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #0086f7; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #0086f7; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #0086f7; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #0086f7; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #0086f7; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #0086f7; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #0086f7; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #008800; background-color: #0f140f; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #008800; background-color: #0f140f; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #008800; background-color: #0f140f; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #008800; background-color: #0f140f; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #008800; background-color: #0f140f; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #ff0007; background-color: #0f140f; font-weight: bold; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #ff0007; background-color: #0f140f; font-weight: bold; font-style: italic } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #444444; background-color: #222222 } -/* GenericSubheading */ .highlight-chroma .highlight-gu { font-weight: bold } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #888888 } +/* Background */ +.highlight-chroma { + color: #ffffff; + background-color: #111111 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #282828 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #fb660a; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #fb660a; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #fb660a; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #fb660a; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #fb660a +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #fb660a; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #cdcaa9; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #ff0086; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #0086d2 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #ff0086; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #fb660a; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #fb660a +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #0086d2 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #0086d2 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #0086d2 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #0086d2 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #0086d2 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #0086d2 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #0086d2 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #0086d2 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #0086d2 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #0086d2 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #0086d2 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #0086d2 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #0086d2 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #0086d2 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #0086f7; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #0086f7; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #008800; + background-color: #0f140f; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #008800; + background-color: #0f140f; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #008800; + background-color: #0f140f; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #008800; + background-color: #0f140f; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #008800; + background-color: #0f140f; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #ff0007; + background-color: #0f140f; + font-weight: bold; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #ff0007; + background-color: #0f140f; + font-weight: bold; + font-style: italic +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #444444; + background-color: #222222 +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + font-weight: bold +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #888888 +} /* Base16 Atelier Forest Dark - Theme */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/github.css b/src/main/resources/vditor/dist/js/highlight.js/styles/github.css index 7a37fed4..1b798f05 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/github.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/github.css @@ -1,75 +1,405 @@ -/* Background */ .highlight-chroma { background-color: #f6f8fa } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #000000; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #000000; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #000000; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #000000; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #000000; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #000000; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #445588; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #008080 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #0086b3 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #999999 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #445588; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #008080 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #3c5d5d; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #800080 } -/* NameException */ .highlight-chroma .highlight-ne { color: #990000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #990000; font-weight: bold } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #990000; font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #555555 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #000080 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #008080 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #008080 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #008080 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #008080 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #dd1144 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #dd1144 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #dd1144 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #dd1144 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #dd1144 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #dd1144 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #dd1144 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #dd1144 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #dd1144 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #dd1144 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #dd1144 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #009926 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #dd1144 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #990073 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #009999 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #009999 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #009999 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #009999 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #009999 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #009999 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #009999 } -/* Operator */ .highlight-chroma .highlight-o { color: #000000; font-weight: bold } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #000000; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #999988; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #999988; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #999988; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #999988; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #999999; font-weight: bold; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #999999; font-weight: bold; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #999999; font-weight: bold; font-style: italic } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #000000; background-color: #ffdddd } -/* GenericEmph */ .highlight-chroma .highlight-ge { color: #000000; font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #999999 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #000000; background-color: #ddffdd } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #aaaaaa } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #f6f8fa +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #000000; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #000000; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #000000; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #000000; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #000000; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #000000; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #445588; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #008080 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #0086b3 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #999999 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #445588; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #008080 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #3c5d5d; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #800080 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #990000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #990000; + font-weight: bold +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #990000; + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #555555 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #000080 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #008080 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #008080 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #008080 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #008080 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #dd1144 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #dd1144 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #dd1144 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #dd1144 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #dd1144 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #dd1144 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #dd1144 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #dd1144 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #dd1144 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #dd1144 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #dd1144 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #009926 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #dd1144 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #990073 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #009999 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #009999 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #009999 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #009999 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #009999 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #009999 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #009999 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #000000; + font-weight: bold +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #000000; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #999988; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #999988; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #999988; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #999988; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #999999; + font-weight: bold; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #999999; + font-weight: bold; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #999999; + font-weight: bold; + font-style: italic +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #000000; + background-color: #ffdddd +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + color: #000000; + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #999999 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #000000; + background-color: #ddffdd +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #aaaaaa +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/igor.css b/src/main/resources/vditor/dist/js/highlight.js/styles/igor.css index 175a567d..b2f33614 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/igor.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/igor.css @@ -1,40 +1,209 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #0000ff } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #0000ff } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #0000ff } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #0000ff } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #0000ff } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #0000ff } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #0000ff } -/* NameClass */ .highlight-chroma .highlight-nc { color: #007575 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #cc00a3 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #c34e00 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #009c00 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #009c00 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #009c00 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #009c00 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #009c00 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #009c00 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #009c00 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #009c00 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #009c00 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #009c00 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #009c00 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #009c00 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #009c00 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #009c00 } -/* Comment */ .highlight-chroma .highlight-c { color: #ff0000; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #ff0000; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #ff0000; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #ff0000; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #ff0000; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #ff0000; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #ff0000; font-style: italic } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #0000ff +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #0000ff +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #0000ff +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #0000ff +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #0000ff +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #0000ff +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #0000ff +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #007575 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #cc00a3 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #c34e00 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #009c00 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #009c00 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #009c00 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #009c00 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #009c00 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #009c00 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #009c00 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #009c00 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #009c00 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #009c00 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #009c00 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #009c00 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #009c00 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #009c00 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #ff0000; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #ff0000; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #ff0000; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #ff0000; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #ff0000; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #ff0000; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #ff0000; + font-style: italic +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/lovelace.css b/src/main/resources/vditor/dist/js/highlight.js/styles/lovelace.css index 078fbc8e..1da5f3fc 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/lovelace.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/lovelace.css @@ -1,76 +1,392 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { background-color: #a848a8 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #2838b0 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #444444; font-style: italic } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #2838b0; font-style: italic } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #2838b0 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #2838b0 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #2838b0 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #2838b0; font-style: italic } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #388038 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #388038 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { font-style: italic } -/* NameClass */ .highlight-chroma .highlight-nc { color: #287088 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #b85820 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #287088 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #709030 } -/* NameException */ .highlight-chroma .highlight-ne { color: #908828 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #785840 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #b85820 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #289870 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #289870 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #2838b0 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #b04040 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #908828 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #b85820 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #b83838 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #444444 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #b83838 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #a848a8 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #b85820 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #b85820; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #b83838 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #709030 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #b83838 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #b83838; text-decoration: underline } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #a848a8 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #a848a8 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #b83838 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #b83838 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #444444 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #444444 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #444444 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #444444 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #444444 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #444444 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #444444 } -/* Operator */ .highlight-chroma .highlight-o { color: #666666 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #a848a8 } -/* Punctuation */ .highlight-chroma .highlight-p { color: #888888 } -/* Comment */ .highlight-chroma .highlight-c { color: #888888; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #287088; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #888888; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #289870 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #289870 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #c02828 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #c02828 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #666666 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #388038 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #666666 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #444444 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #444444 } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #2838b0 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #a89028 } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + background-color: #a848a8 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #2838b0 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #444444; + font-style: italic +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #2838b0; + font-style: italic +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #2838b0 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #2838b0 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #2838b0 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #2838b0; + font-style: italic +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #388038 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #388038 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + font-style: italic +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #287088 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #b85820 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #287088 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #709030 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #908828 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #785840 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #b85820 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #289870 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #289870 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #2838b0 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #b04040 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #908828 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #b85820 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #b83838 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #444444 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #b83838 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #a848a8 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #b85820 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #b85820; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #b83838 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #709030 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #b83838 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #b83838; + text-decoration: underline +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #a848a8 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #a848a8 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #b83838 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #b83838 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #444444 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #444444 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #444444 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #444444 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #444444 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #444444 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #444444 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #666666 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #a848a8 +} + +/* Punctuation */ +.highlight-chroma .highlight-p { + color: #888888 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #287088; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #888888; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #289870 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #289870 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #c02828 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #c02828 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #666666 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #388038 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #666666 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #444444 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #444444 +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #2838b0 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #a89028 +} /* Description: Magula style for highligh.js diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/manni.css b/src/main/resources/vditor/dist/js/highlight.js/styles/manni.css index 5a69d0f2..85954dd0 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/manni.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/manni.css @@ -1,71 +1,381 @@ -/* Background */ .highlight-chroma { background-color: #f0f3f3 } -/* Error */ .highlight-chroma .highlight-err { color: #aa0000; background-color: #ffaaaa } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #d8dada } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #006699; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #006699; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #006699; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #006699; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #006699 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #006699; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #007788; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #330099 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #336666 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #00aa88; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #336600 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #9999ff } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #999999; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #cc0000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #cc00ff } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #9999ff } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #00ccff; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #330099; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #003333 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #cc3300 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #cc3300 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #cc3300 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #cc3300 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #cc3300 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #cc3300; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #cc3300 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #cc3300; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #cc3300 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #aa0000 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #cc3300 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #33aaaa } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #cc3300 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #ffcc33 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #ff6600 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #ff6600 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #ff6600 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #ff6600 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #ff6600 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #ff6600 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #ff6600 } -/* Operator */ .highlight-chroma .highlight-o { color: #555555 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #000000; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #0099ff; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #0099ff; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #0099ff; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #0099ff; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #0099ff; font-weight: bold; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #009999 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #009999 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { background-color: #ffcccc } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #003300; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { background-color: #ccffcc } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #aaaaaa } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #000099; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #003300; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #99cc66 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #f0f3f3 +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #aa0000; + background-color: #ffaaaa +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #d8dada +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #006699; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #006699; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #006699; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #006699; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #006699 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #006699; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #007788; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #330099 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #336666 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #00aa88; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #336600 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #9999ff +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #999999; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #cc0000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #cc00ff +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #9999ff +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #00ccff; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #330099; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #003333 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #cc3300 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #cc3300 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #cc3300 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #cc3300 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #cc3300 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #cc3300; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #cc3300 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #cc3300; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #cc3300 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #aa0000 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #cc3300 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #33aaaa +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #cc3300 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #ffcc33 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #ff6600 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #ff6600 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #ff6600 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #ff6600 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #ff6600 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #ff6600 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #ff6600 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #555555 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #000000; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #0099ff; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #0099ff; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #0099ff; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #0099ff; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #0099ff; + font-weight: bold; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #009999 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #009999 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + background-color: #ffcccc +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #003300; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + background-color: #ccffcc +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #aaaaaa +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #000099; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #003300; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #99cc66 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* Base16 Atelier Sulphurpool Light - Theme */ /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/monokai.css b/src/main/resources/vditor/dist/js/highlight.js/styles/monokai.css index 234d5698..ac7cfcc3 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/monokai.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/monokai.css @@ -1,62 +1,314 @@ -/* Background */ .highlight-chroma { color: #f8f8f2; background-color: #272822 } -/* Error */ .highlight-chroma .highlight-err { color: #960050; background-color: #1e0010 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #3c3d38 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #66d9ef } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #66d9ef } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #66d9ef } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #f92672 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #66d9ef } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #66d9ef } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #66d9ef } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #a6e22e } -/* NameClass */ .highlight-chroma .highlight-nc { color: #a6e22e } -/* NameConstant */ .highlight-chroma .highlight-no { color: #66d9ef } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #a6e22e } -/* NameException */ .highlight-chroma .highlight-ne { color: #a6e22e } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #a6e22e } -/* NameOther */ .highlight-chroma .highlight-nx { color: #a6e22e } -/* NameTag */ .highlight-chroma .highlight-nt { color: #f92672 } -/* Literal */ .highlight-chroma .highlight-l { color: #ae81ff } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #e6db74 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #e6db74 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #e6db74 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #e6db74 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #e6db74 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #e6db74 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #e6db74 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #e6db74 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #ae81ff } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #e6db74 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #e6db74 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #e6db74 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #e6db74 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #e6db74 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #e6db74 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #ae81ff } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #ae81ff } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #ae81ff } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #ae81ff } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #ae81ff } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #ae81ff } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #ae81ff } -/* Operator */ .highlight-chroma .highlight-o { color: #f92672 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #f92672 } -/* Comment */ .highlight-chroma .highlight-c { color: #75715e } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #75715e } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #75715e } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #75715e } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #75715e } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #75715e } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #75715e } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #f92672 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #a6e22e } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #75715e } +/* Background */ +.highlight-chroma { + color: #f8f8f2; + background-color: #272822 +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #960050; + background-color: #1e0010 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #3c3d38 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #66d9ef +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #66d9ef +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #66d9ef +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #f92672 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #66d9ef +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #66d9ef +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #66d9ef +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #a6e22e +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #a6e22e +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #66d9ef +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #a6e22e +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #a6e22e +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #a6e22e +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #a6e22e +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #f92672 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #ae81ff +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #e6db74 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #e6db74 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #e6db74 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #e6db74 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #e6db74 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #e6db74 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #e6db74 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #e6db74 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #ae81ff +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #e6db74 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #e6db74 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #e6db74 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #e6db74 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #e6db74 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #e6db74 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #ae81ff +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #ae81ff +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #ae81ff +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #ae81ff +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #ae81ff +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #ae81ff +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #ae81ff +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #f92672 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #f92672 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #75715e +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #75715e +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #75715e +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #75715e +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #75715e +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #75715e +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #75715e +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #f92672 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #a6e22e +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #75715e +} /* Monokai style - ported by Luigi Maselli - http://grigio.org @@ -66,7 +318,8 @@ Monokai style - ported by Luigi Maselli - http://grigio.org display: block; overflow-x: auto; padding: 0.5em; - background: #272822; color: #ddd; + background: #272822; + color: #ddd; } .hljs-tag, diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/monokailight.css b/src/main/resources/vditor/dist/js/highlight.js/styles/monokailight.css index 65e98ac7..f2d56efd 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/monokailight.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/monokailight.css @@ -1,73 +1,369 @@ -/* Background */ .highlight-chroma { color: #272822; background-color: #fafafa } -/* Error */ .highlight-chroma .highlight-err { color: #960050; background-color: #1e0010 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e1e1e1 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #00a8c8 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #00a8c8 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #00a8c8 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #f92672 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #00a8c8 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #00a8c8 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00a8c8 } -/* Name */ .highlight-chroma .highlight-n { color: #111111 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #75af00 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #111111 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #111111 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #75af00 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #00a8c8 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #75af00 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #111111 } -/* NameException */ .highlight-chroma .highlight-ne { color: #75af00 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #75af00 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #111111 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #111111 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #111111 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #75af00 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #111111 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #f92672 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #111111 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #111111 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #111111 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #111111 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #111111 } -/* Literal */ .highlight-chroma .highlight-l { color: #ae81ff } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #d88200 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #d88200 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #d88200 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #d88200 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #d88200 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #d88200 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #d88200 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #d88200 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #8045ff } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #d88200 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #d88200 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #d88200 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #d88200 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #d88200 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #d88200 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #ae81ff } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #ae81ff } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #ae81ff } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #ae81ff } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #ae81ff } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #ae81ff } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #ae81ff } -/* Operator */ .highlight-chroma .highlight-o { color: #f92672 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #f92672 } -/* Punctuation */ .highlight-chroma .highlight-p { color: #111111 } -/* Comment */ .highlight-chroma .highlight-c { color: #75715e } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #75715e } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #75715e } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #75715e } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #75715e } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #75715e } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #75715e } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } +/* Background */ +.highlight-chroma { + color: #272822; + background-color: #fafafa +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #960050; + background-color: #1e0010 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e1e1e1 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #00a8c8 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #00a8c8 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #00a8c8 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #f92672 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #00a8c8 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #00a8c8 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00a8c8 +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #111111 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #75af00 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #111111 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #111111 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #75af00 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #00a8c8 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #75af00 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #111111 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #75af00 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #75af00 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #111111 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #111111 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #111111 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #75af00 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #111111 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #f92672 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #111111 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #111111 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #111111 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #111111 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #111111 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #ae81ff +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #d88200 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #d88200 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #d88200 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #d88200 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #d88200 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #d88200 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #d88200 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #d88200 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #8045ff +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #d88200 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #d88200 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #d88200 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #d88200 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #d88200 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #d88200 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #ae81ff +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #ae81ff +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #ae81ff +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #ae81ff +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #ae81ff +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #ae81ff +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #ae81ff +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #f92672 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #f92672 +} + +/* Punctuation */ +.highlight-chroma .highlight-p { + color: #111111 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #75715e +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #75715e +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #75715e +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #75715e +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #75715e +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #75715e +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #75715e +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/murphy.css b/src/main/resources/vditor/dist/js/highlight.js/styles/murphy.css index a2f8aaf8..285c3f8e 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/murphy.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/murphy.css @@ -1,74 +1,411 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #ff0000; background-color: #ffaaaa } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #228899; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #228899; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #228899; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #228899; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #0088ff; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #228899; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #6666ff; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #000077 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #007722 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #ee99ee; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #55eedd; font-weight: bold } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #555555; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #880000 } -/* NameException */ .highlight-chroma .highlight-ne { color: #ff0000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #55eedd; font-weight: bold } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #997700; font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #0e84b5; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #007700 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #003366 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #ccccff } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #ff8844 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #aaaaff } -/* LiteralString */ .highlight-chroma .highlight-s { background-color: #e0e0ff } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { background-color: #e0e0ff } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { background-color: #e0e0ff } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #8888ff; background-color: #e0e0ff } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { background-color: #e0e0ff } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #dd4422; background-color: #e0e0ff } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { background-color: #e0e0ff } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #666666; background-color: #e0e0ff; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { background-color: #e0e0ff } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { background-color: #eeeeee } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #ff8888; background-color: #e0e0ff } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #000000; background-color: #e0e0ff } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { background-color: #e0e0ff } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #ffcc88; background-color: #e0e0ff } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #6600ee; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #6600ee; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #6600ee; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #005588; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #6666ff; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #6600ee; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #4400ee; font-weight: bold } -/* Operator */ .highlight-chroma .highlight-o { color: #333333 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #000000; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #666666; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #666666; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #666666; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #666666; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #cc0000; font-weight: bold; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #557799 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #557799 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a00000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #c65d09; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ff0000; + background-color: #ffaaaa +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #228899; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #228899; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #228899; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #228899; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #0088ff; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #228899; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #6666ff; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #000077 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #007722 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #ee99ee; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #55eedd; + font-weight: bold +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #555555; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #880000 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #ff0000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #55eedd; + font-weight: bold +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #997700; + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #0e84b5; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #007700 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #003366 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #ccccff +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #ff8844 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #aaaaff +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + background-color: #e0e0ff +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + background-color: #e0e0ff +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + background-color: #e0e0ff +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #8888ff; + background-color: #e0e0ff +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + background-color: #e0e0ff +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #dd4422; + background-color: #e0e0ff +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + background-color: #e0e0ff +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #666666; + background-color: #e0e0ff; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + background-color: #e0e0ff +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + background-color: #eeeeee +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #ff8888; + background-color: #e0e0ff +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #000000; + background-color: #e0e0ff +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + background-color: #e0e0ff +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #ffcc88; + background-color: #e0e0ff +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #005588; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #6666ff; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #6600ee; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #4400ee; + font-weight: bold +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #333333 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #000000; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #666666; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #666666; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #666666; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #666666; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #cc0000; + font-weight: bold; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #557799 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #557799 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a00000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #c65d09; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* @@ -119,7 +456,6 @@ Ported by Fabrício Tavares de Oliveira } - .hljs-keyword, .hljs-selector-tag, .hljs-title, diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/native.css b/src/main/resources/vditor/dist/js/highlight.js/styles/native.css index e9f37444..08c9496f 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/native.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/native.css @@ -1,68 +1,364 @@ -/* Background */ .highlight-chroma { color: #d0d0d0; background-color: #202020 } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #363636 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } -/* Keyword */ .highlight-chroma .highlight-k { color: #6ab825; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #6ab825; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #6ab825; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #6ab825; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #6ab825 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #6ab825; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #6ab825; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #bbbbbb } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #24909d } -/* NameClass */ .highlight-chroma .highlight-nc { color: #447fcf; text-decoration: underline } -/* NameConstant */ .highlight-chroma .highlight-no { color: #40ffff } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #ffa500 } -/* NameException */ .highlight-chroma .highlight-ne { color: #bbbbbb } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #447fcf } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #447fcf; text-decoration: underline } -/* NameTag */ .highlight-chroma .highlight-nt { color: #6ab825; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #40ffff } -/* LiteralString */ .highlight-chroma .highlight-s { color: #ed9d13 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #ed9d13 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #ed9d13 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #ed9d13 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #ed9d13 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #ed9d13 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #ed9d13 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #ed9d13 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #ed9d13 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #ed9d13 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #ffa500 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #ed9d13 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #ed9d13 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #ed9d13 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #3677a9 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #3677a9 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #3677a9 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #3677a9 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #3677a9 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #3677a9 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #3677a9 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #6ab825; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #999999; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #999999; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #999999; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #999999; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #e50808; background-color: #520000; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #cd2828; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #cd2828; font-weight: bold } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #d22323 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #d22323 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #ffffff; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #589819 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #cccccc } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #aaaaaa } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #ffffff; text-decoration: underline } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #d22323 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #666666 } +/* Background */ +.highlight-chroma { + color: #d0d0d0; + background-color: #202020 +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #363636 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #686868 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #686868 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #6ab825; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #6ab825; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #6ab825; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #6ab825; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #6ab825 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #6ab825; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #6ab825; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #bbbbbb +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #24909d +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #447fcf; + text-decoration: underline +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #40ffff +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #ffa500 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #bbbbbb +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #447fcf +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #447fcf; + text-decoration: underline +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #6ab825; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #40ffff +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #ed9d13 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #ed9d13 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #ed9d13 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #ed9d13 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #ed9d13 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #ed9d13 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #ed9d13 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #ed9d13 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #ed9d13 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #ed9d13 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #ffa500 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #ed9d13 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #ed9d13 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #ed9d13 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #3677a9 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #3677a9 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #3677a9 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #3677a9 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #3677a9 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #3677a9 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #3677a9 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #6ab825; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #999999; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #999999; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #999999; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #999999; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #e50808; + background-color: #520000; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #cd2828; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #cd2828; + font-weight: bold +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #d22323 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #d22323 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #ffffff; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #589819 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #cccccc +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #aaaaaa +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #ffffff; + text-decoration: underline +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #d22323 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #666666 +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-dark.css b/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-dark.css index 1ddf3663..a9f2a4f0 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-dark.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-dark.css @@ -1,65 +1,330 @@ -/* Background */ .highlight-chroma { color: #e7e9db; background-color: #2f1e2e } -/* Error */ .highlight-chroma .highlight-err { color: #ef6155 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #433442 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #815ba4 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #815ba4 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #815ba4 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #5bc4bf } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #815ba4 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #815ba4 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #fec418 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #06b6ef } -/* NameClass */ .highlight-chroma .highlight-nc { color: #fec418 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #ef6155 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #5bc4bf } -/* NameException */ .highlight-chroma .highlight-ne { color: #ef6155 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #06b6ef } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #fec418 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #06b6ef } -/* NameTag */ .highlight-chroma .highlight-nt { color: #5bc4bf } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #ef6155 } -/* Literal */ .highlight-chroma .highlight-l { color: #f99b15 } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #48b685 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #48b685 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #48b685 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #48b685 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #48b685 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #776e71 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #48b685 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #f99b15 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #48b685 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #f99b15 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #48b685 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #48b685 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #48b685 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #48b685 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #f99b15 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #f99b15 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #f99b15 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #f99b15 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #f99b15 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #f99b15 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #f99b15 } -/* Operator */ .highlight-chroma .highlight-o { color: #5bc4bf } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #5bc4bf } -/* Comment */ .highlight-chroma .highlight-c { color: #776e71 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #776e71 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #776e71 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #776e71 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #776e71 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #776e71 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #776e71 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #ef6155 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #48b685 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #776e71; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #5bc4bf; font-weight: bold } +/* Background */ +.highlight-chroma { + color: #e7e9db; + background-color: #2f1e2e +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ef6155 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #433442 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #815ba4 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #815ba4 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #815ba4 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #5bc4bf +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #815ba4 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #815ba4 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #fec418 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #06b6ef +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #fec418 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #ef6155 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #5bc4bf +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #ef6155 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #06b6ef +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #fec418 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #06b6ef +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #5bc4bf +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #ef6155 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #f99b15 +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #48b685 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #48b685 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #48b685 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #48b685 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #48b685 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #776e71 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #48b685 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #f99b15 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #48b685 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #f99b15 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #48b685 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #48b685 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #48b685 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #48b685 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #f99b15 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #f99b15 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #f99b15 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #f99b15 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #f99b15 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #f99b15 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #f99b15 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #5bc4bf +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #5bc4bf +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #776e71 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #776e71 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #776e71 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #776e71 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #776e71 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #776e71 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #776e71 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #ef6155 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #48b685 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #776e71; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #5bc4bf; + font-weight: bold +} /* Paraíso (dark) diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-light.css b/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-light.css index 4fe3e8bd..25275fbd 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-light.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/paraiso-light.css @@ -1,65 +1,330 @@ -/* Background */ .highlight-chroma { color: #2f1e2e; background-color: #e7e9db } -/* Error */ .highlight-chroma .highlight-err { color: #ef6155 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #cfd1c5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #815ba4 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #815ba4 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #815ba4 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #5bc4bf } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #815ba4 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #815ba4 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #fec418 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #06b6ef } -/* NameClass */ .highlight-chroma .highlight-nc { color: #fec418 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #ef6155 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #5bc4bf } -/* NameException */ .highlight-chroma .highlight-ne { color: #ef6155 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #06b6ef } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #fec418 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #06b6ef } -/* NameTag */ .highlight-chroma .highlight-nt { color: #5bc4bf } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #ef6155 } -/* Literal */ .highlight-chroma .highlight-l { color: #f99b15 } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #48b685 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #48b685 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #48b685 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #48b685 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #48b685 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #8d8687 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #48b685 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #f99b15 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #48b685 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #f99b15 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #48b685 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #48b685 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #48b685 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #48b685 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #f99b15 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #f99b15 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #f99b15 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #f99b15 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #f99b15 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #f99b15 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #f99b15 } -/* Operator */ .highlight-chroma .highlight-o { color: #5bc4bf } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #5bc4bf } -/* Comment */ .highlight-chroma .highlight-c { color: #8d8687 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #8d8687 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #8d8687 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #8d8687 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #8d8687 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #8d8687 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #8d8687 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #ef6155 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #48b685 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #8d8687; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #5bc4bf; font-weight: bold } +/* Background */ +.highlight-chroma { + color: #2f1e2e; + background-color: #e7e9db +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ef6155 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #cfd1c5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #815ba4 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #815ba4 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #815ba4 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #5bc4bf +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #815ba4 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #815ba4 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #fec418 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #06b6ef +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #fec418 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #ef6155 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #5bc4bf +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #ef6155 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #06b6ef +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #fec418 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #06b6ef +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #5bc4bf +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #ef6155 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #f99b15 +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #48b685 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #48b685 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #48b685 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #48b685 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #48b685 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #8d8687 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #48b685 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #f99b15 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #48b685 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #f99b15 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #48b685 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #48b685 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #48b685 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #48b685 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #f99b15 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #f99b15 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #f99b15 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #f99b15 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #f99b15 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #f99b15 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #f99b15 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #5bc4bf +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #5bc4bf +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #8d8687 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #8d8687 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #8d8687 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #8d8687 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #8d8687 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #8d8687 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #8d8687 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #ef6155 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #48b685 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #8d8687; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #5bc4bf; + font-weight: bold +} /* Paraíso (light) diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/pastie.css b/src/main/resources/vditor/dist/js/highlight.js/styles/pastie.css index 570e395b..83fd7f31 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/pastie.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/pastie.css @@ -1,73 +1,409 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #008800; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #008800; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #008800; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #008800; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #008800 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #008800; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #888888; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #336699 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #003388 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #bb0066; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #003366; font-weight: bold } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #555555 } -/* NameException */ .highlight-chroma .highlight-ne { color: #bb0066; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #0066bb; font-weight: bold } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #336699; font-style: italic } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #bb0066; font-weight: bold } -/* NameProperty */ .highlight-chroma .highlight-py { color: #336699; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #bb0066; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #336699 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #336699 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #dd7700 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #3333bb } -/* LiteralString */ .highlight-chroma .highlight-s { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #0044dd; background-color: #fff0f0 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #3333bb; background-color: #fff0f0 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #22bb22; background-color: #f0fff0 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #008800; background-color: #fff0ff } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #dd2200; background-color: #fff0f0 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #aa6600; background-color: #fff0f0 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #0000dd; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #0000dd; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #0000dd; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #0000dd; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #0000dd; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #0000dd; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #0000dd; font-weight: bold } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #008800 } -/* Comment */ .highlight-chroma .highlight-c { color: #888888 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #888888 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #888888 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #888888 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #cc0000; background-color: #fff0f0; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #cc0000; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #cc0000; font-weight: bold } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #000000; background-color: #ffdddd } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #333333 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #000000; background-color: #ddffdd } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #666666 } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #008800; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #008800; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #008800; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #008800; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #008800 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #008800; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #888888; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #336699 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #003388 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #bb0066; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #003366; + font-weight: bold +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #555555 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #bb0066; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #0066bb; + font-weight: bold +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #336699; + font-style: italic +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #bb0066; + font-weight: bold +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #336699; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #bb0066; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #336699 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #336699 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #dd7700 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #3333bb +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #0044dd; + background-color: #fff0f0 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #3333bb; + background-color: #fff0f0 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #22bb22; + background-color: #f0fff0 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #008800; + background-color: #fff0ff +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #dd2200; + background-color: #fff0f0 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #aa6600; + background-color: #fff0f0 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #0000dd; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #0000dd; + font-weight: bold +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #008800 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #888888 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #888888 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #888888 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #888888 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #cc0000; + background-color: #fff0f0; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #cc0000; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #cc0000; + font-weight: bold +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #000000; + background-color: #ffdddd +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #333333 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #000000; + background-color: #ddffdd +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #666666 +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/perldoc.css b/src/main/resources/vditor/dist/js/highlight.js/styles/perldoc.css index 298f845d..04e2ae04 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/perldoc.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/perldoc.css @@ -1,68 +1,358 @@ -/* Background */ .highlight-chroma { background-color: #eeeedd } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #d6d6c6 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #8b008b; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #8b008b; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #8b008b; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #8b008b; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #8b008b; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #8b008b; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00688b; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #658b00 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #658b00 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #008b45; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #00688b } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #707a7c } -/* NameException */ .highlight-chroma .highlight-ne { color: #008b45; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #008b45 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #008b45; text-decoration: underline } -/* NameTag */ .highlight-chroma .highlight-nt { color: #8b008b; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #00688b } -/* LiteralString */ .highlight-chroma .highlight-s { color: #cd5555 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #cd5555 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #cd5555 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #cd5555 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #cd5555 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #cd5555 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #cd5555 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #cd5555 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #1c7e71; font-style: italic } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #cd5555 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #cb6c20 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #1c7e71 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #cd5555 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #cd5555 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #b452cd } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #b452cd } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #b452cd } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #b452cd } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #b452cd } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #b452cd } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #b452cd } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #8b008b } -/* Comment */ .highlight-chroma .highlight-c { color: #228b22 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #228b22 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #228b22 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #228b22 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #8b008b; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #1e889b } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #1e889b } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #aa0000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00aa00 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #eeeedd +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #d6d6c6 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #8b008b; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #8b008b; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #8b008b; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #8b008b; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #8b008b; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #8b008b; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00688b; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #658b00 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #658b00 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #008b45; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #00688b +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #707a7c +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #008b45; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #008b45 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #008b45; + text-decoration: underline +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #8b008b; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #00688b +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #cd5555 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #cd5555 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #cd5555 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #cd5555 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #cd5555 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #cd5555 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #cd5555 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #cd5555 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #1c7e71; + font-style: italic +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #cd5555 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #cb6c20 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #1c7e71 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #cd5555 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #cd5555 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #b452cd +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #b452cd +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #b452cd +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #b452cd +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #b452cd +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #b452cd +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #b452cd +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #8b008b +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #228b22 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #228b22 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #228b22 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #228b22 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #8b008b; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #1e889b +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #1e889b +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #aa0000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00aa00 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* Name: Kimbie (light) diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/pygments.css b/src/main/resources/vditor/dist/js/highlight.js/styles/pygments.css index 5680034b..c0401968 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/pygments.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/pygments.css @@ -1,71 +1,377 @@ -/* Background */ .highlight-chroma { } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #008000; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #008000; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #008000; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #008000; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #008000 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #008000; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #b00040 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #7d9029 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #008000 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #0000ff; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #880000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #aa22ff } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #999999; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #d2413a; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #0000ff } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #a0a000 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #0000ff; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #008000; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #19177c } -/* LiteralString */ .highlight-chroma .highlight-s { color: #ba2121 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #ba2121 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #ba2121 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #ba2121 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #ba2121 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #ba2121; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #ba2121 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #bb6622; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #ba2121 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #bb6688; font-weight: bold } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #008000 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #bb6688 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #ba2121 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #19177c } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #666666 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #666666 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #666666 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #666666 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #666666 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #666666 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #666666 } -/* Operator */ .highlight-chroma .highlight-o { color: #666666 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #aa22ff; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #408080; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #408080; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #408080; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #408080; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #408080; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #bc7a00 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #bc7a00 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a00000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #000080; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #008000; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #008000; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #008000; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #008000; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #008000 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #008000; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #b00040 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #7d9029 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #008000 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #0000ff; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #880000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #aa22ff +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #999999; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #d2413a; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #0000ff +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #a0a000 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #0000ff; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #008000; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #19177c +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #ba2121 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #ba2121 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #ba2121 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #ba2121 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #ba2121 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #ba2121; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #ba2121 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #bb6622; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #ba2121 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #bb6688; + font-weight: bold +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #008000 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #bb6688 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #ba2121 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #19177c +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #666666 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #666666 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #666666 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #666666 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #666666 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #666666 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #666666 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #666666 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #aa22ff; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #408080; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #408080; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #408080; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #408080; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #408080; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #bc7a00 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #bc7a00 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a00000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #000080; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* Description: Foundation 4 docs style for highlight.js @@ -79,7 +385,8 @@ Date: 2013-04-02 display: block; overflow-x: auto; padding: 0.5em; - background: #eee; color: black; + background: #eee; + color: black; } .hljs-link, diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/rainbow_dash.css b/src/main/resources/vditor/dist/js/highlight.js/styles/rainbow_dash.css index ad86abb3..83a944a6 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/rainbow_dash.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/rainbow_dash.css @@ -1,68 +1,377 @@ -/* Background */ .highlight-chroma { color: #4d4d4d; background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #ffffff; background-color: #cc0000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #2c5dcd; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #2c5dcd; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #2c5dcd; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #2c5dcd; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #2c5dcd } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #2c5dcd; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #5918bb; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #2c5dcd; font-style: italic } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #5918bb; font-weight: bold } -/* NameClass */ .highlight-chroma .highlight-nc { text-decoration: underline } -/* NameConstant */ .highlight-chroma .highlight-no { color: #318495 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #ff8000; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #5918bb; font-weight: bold } -/* NameException */ .highlight-chroma .highlight-ne { color: #5918bb; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #ff8000; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { color: #2c5dcd; font-weight: bold } -/* LiteralString */ .highlight-chroma .highlight-s { color: #00cc66 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #00cc66 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #00cc66 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #00cc66 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #00cc66 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #00cc66; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #00cc66 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #c5060b; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #00cc66 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #00cc66 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #318495 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #00cc66 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #00cc66 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #c5060b; font-weight: bold } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #5918bb; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #5918bb; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #5918bb; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #5918bb; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #5918bb; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #5918bb; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #5918bb; font-weight: bold } -/* Operator */ .highlight-chroma .highlight-o { color: #2c5dcd } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #2c5dcd; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #0080ff; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #0080ff; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #0080ff; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #0080ff; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #0080ff; font-weight: bold; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #0080ff } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #0080ff } -/* GenericDeleted */ .highlight-chroma .highlight-gd { background-color: #ffcccc } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #2c5dcd; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { background-color: #ccffcc } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #aaaaaa } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #2c5dcd; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #2c5dcd; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #c5060b } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #cbcbcb } +/* Background */ +.highlight-chroma { + color: #4d4d4d; + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ffffff; + background-color: #cc0000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #2c5dcd; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #2c5dcd; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #2c5dcd; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #2c5dcd; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #2c5dcd +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #2c5dcd; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #5918bb; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #2c5dcd; + font-style: italic +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #5918bb; + font-weight: bold +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + text-decoration: underline +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #318495 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #ff8000; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #5918bb; + font-weight: bold +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #5918bb; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #ff8000; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #2c5dcd; + font-weight: bold +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #00cc66 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #00cc66 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #00cc66 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #00cc66 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #00cc66 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #00cc66; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #00cc66 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #c5060b; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #00cc66 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #00cc66 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #318495 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #00cc66 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #00cc66 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #c5060b; + font-weight: bold +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #5918bb; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #5918bb; + font-weight: bold +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #2c5dcd +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #2c5dcd; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #0080ff; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #0080ff; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #0080ff; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #0080ff; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #0080ff; + font-weight: bold; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #0080ff +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #0080ff +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + background-color: #ffcccc +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #2c5dcd; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + background-color: #ccffcc +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #aaaaaa +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #2c5dcd; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #2c5dcd; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #c5060b +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #cbcbcb +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/rrt.css b/src/main/resources/vditor/dist/js/highlight.js/styles/rrt.css index f632f2f3..e797bda7 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/rrt.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/rrt.css @@ -1,47 +1,238 @@ -/* Background */ .highlight-chroma { color: #f8f8f2; background-color: #000000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #191919 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7c7c79 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7c7c79 } -/* Keyword */ .highlight-chroma .highlight-k { color: #ff0000 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #ff0000 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #ff0000 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #ff0000 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #ff0000 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #ff0000 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #ee82ee } -/* NameConstant */ .highlight-chroma .highlight-no { color: #7fffd4 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #ffff00 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #eedd82 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #87ceeb } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #87ceeb } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #87ceeb } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #87ceeb } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #87ceeb } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #87ceeb } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #87ceeb } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #87ceeb } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #87ceeb } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #87ceeb } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #87ceeb } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #87ceeb } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #87ceeb } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #ff6600 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #ff6600 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #ff6600 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #ff6600 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #ff6600 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #ff6600 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #ff6600 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #ff6600 } -/* Comment */ .highlight-chroma .highlight-c { color: #00ff00 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #00ff00 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #00ff00 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #00ff00 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #00ff00 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #e5e5e5 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #e5e5e5 } +/* Background */ +.highlight-chroma { + color: #f8f8f2; + background-color: #000000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #191919 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7c7c79 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7c7c79 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #ff0000 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #ff0000 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #ff0000 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #ff0000 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #ff0000 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #ff0000 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #ee82ee +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #7fffd4 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #ffff00 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #eedd82 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #87ceeb +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #87ceeb +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #87ceeb +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #87ceeb +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #87ceeb +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #87ceeb +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #87ceeb +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #87ceeb +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #87ceeb +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #87ceeb +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #87ceeb +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #87ceeb +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #87ceeb +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #ff6600 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #ff6600 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #ff6600 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #ff6600 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #ff6600 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #ff6600 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #ff6600 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #ff6600 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #00ff00 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #00ff00 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #00ff00 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #00ff00 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #00ff00 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #e5e5e5 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #e5e5e5 +} /* @@ -101,7 +292,7 @@ ISBL Editor style dark color scheme (c) Dmitriy Tarasov color: #df471e; } -.hljs-title>.hljs-built_in { +.hljs-title > .hljs-built_in { color: #81bce9; font-weight: normal; } @@ -130,7 +321,7 @@ ISBL Editor style dark color scheme (c) Dmitriy Tarasov color: #397300; } -.hljs-class { +.hljs-class { color: #ce9d4d; font-weight: bold; } diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark.css b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark.css index c350d7d4..f364efb2 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark.css @@ -1,62 +1,314 @@ -/* Background */ .highlight-chroma { color: #93a1a1; background-color: #002b36 } -/* Other */ .highlight-chroma .highlight-x { color: #cb4b16 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #19404a } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #495050 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #495050 } -/* Keyword */ .highlight-chroma .highlight-k { color: #719e07 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #cb4b16 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #268bd2 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #719e07 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #719e07 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #268bd2 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #dc322f } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #b58900 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #268bd2 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #268bd2 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #cb4b16 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #268bd2 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #cb4b16 } -/* NameException */ .highlight-chroma .highlight-ne { color: #cb4b16 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #268bd2 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #268bd2 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #268bd2 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #2aa198 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #2aa198 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #586e75 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #2aa198 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #2aa198 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #2aa198 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #cb4b16 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #2aa198 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #2aa198 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #dc322f } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #2aa198 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #2aa198 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #2aa198 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #2aa198 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #2aa198 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #2aa198 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #2aa198 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #2aa198 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #2aa198 } -/* Operator */ .highlight-chroma .highlight-o { color: #719e07 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #719e07 } -/* Comment */ .highlight-chroma .highlight-c { color: #586e75 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #586e75 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #586e75 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #586e75 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #719e07 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #719e07 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #719e07 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #dc322f } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #dc322f; font-weight: bold } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #cb4b16 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #719e07 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #268bd2 } +/* Background */ +.highlight-chroma { + color: #93a1a1; + background-color: #002b36 +} + +/* Other */ +.highlight-chroma .highlight-x { + color: #cb4b16 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #19404a +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #495050 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #495050 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #719e07 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #cb4b16 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #268bd2 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #719e07 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #719e07 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #268bd2 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #dc322f +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #b58900 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #268bd2 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #268bd2 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #cb4b16 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #268bd2 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #cb4b16 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #cb4b16 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #268bd2 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #268bd2 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #268bd2 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #2aa198 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #2aa198 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #586e75 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #2aa198 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #2aa198 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #2aa198 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #cb4b16 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #2aa198 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #2aa198 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #dc322f +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #2aa198 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #2aa198 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #2aa198 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #2aa198 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #2aa198 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #2aa198 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #2aa198 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #2aa198 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #2aa198 +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #719e07 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #719e07 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #586e75 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #586e75 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #586e75 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #586e75 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #719e07 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #719e07 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #719e07 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #dc322f +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #dc322f; + font-weight: bold +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #cb4b16 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #719e07 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #268bd2 +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark256.css b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark256.css index b8ffe029..a9fb1a3b 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark256.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-dark256.css @@ -1,63 +1,319 @@ -/* Background */ .highlight-chroma { color: #8a8a8a; background-color: #1c1c1c } -/* Other */ .highlight-chroma .highlight-x { color: #d75f00 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #323232 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #454545 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #454545 } -/* Keyword */ .highlight-chroma .highlight-k { color: #5f8700 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #d75f00 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #0087ff } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #d75f00 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #5f8700 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #0087ff } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #af0000 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #0087ff } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #0087ff } -/* NameClass */ .highlight-chroma .highlight-nc { color: #0087ff } -/* NameConstant */ .highlight-chroma .highlight-no { color: #d75f00 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #0087ff } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #d75f00 } -/* NameException */ .highlight-chroma .highlight-ne { color: #af8700 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #0087ff } -/* NameTag */ .highlight-chroma .highlight-nt { color: #0087ff } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #0087ff } -/* LiteralString */ .highlight-chroma .highlight-s { color: #00afaf } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #00afaf } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #4e4e4e } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #00afaf } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #00afaf } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #00afaf } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #00afaf } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #af0000 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #00afaf } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #00afaf } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #00afaf } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #af0000 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #00afaf } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #00afaf } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #00afaf } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #00afaf } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #00afaf } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #00afaf } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #00afaf } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #00afaf } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #00afaf } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #5f8700 } -/* Comment */ .highlight-chroma .highlight-c { color: #4e4e4e } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #4e4e4e } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #4e4e4e } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #4e4e4e } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #5f8700 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #5f8700 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #5f8700 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #af0000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #af0000; font-weight: bold } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #d75f00 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #5f8700 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #0087ff } +/* Background */ +.highlight-chroma { + color: #8a8a8a; + background-color: #1c1c1c +} + +/* Other */ +.highlight-chroma .highlight-x { + color: #d75f00 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #323232 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #454545 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #454545 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #5f8700 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #d75f00 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #0087ff +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #d75f00 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #5f8700 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #0087ff +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #af0000 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #0087ff +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #0087ff +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #0087ff +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #d75f00 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #0087ff +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #d75f00 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #af8700 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #0087ff +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #0087ff +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #0087ff +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #00afaf +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #00afaf +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #4e4e4e +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #00afaf +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #00afaf +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #00afaf +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #00afaf +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #af0000 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #00afaf +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #00afaf +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #00afaf +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #af0000 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #00afaf +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #00afaf +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #00afaf +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #00afaf +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #00afaf +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #00afaf +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #00afaf +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #00afaf +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #00afaf +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #5f8700 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #4e4e4e +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #4e4e4e +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #4e4e4e +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #4e4e4e +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #5f8700 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #5f8700 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #5f8700 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #af0000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #af0000; + font-weight: bold +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #d75f00 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #5f8700 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #0087ff +} /* Base16 Atelier Cave Dark - Theme */ /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-light.css b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-light.css index 916f1977..6303c0fe 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-light.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/solarized-light.css @@ -1,80 +1,421 @@ -/* Background */ .highlight-chroma { color: #586e75; background-color: #eee8d5 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #d6d0bf } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #859900 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #859900; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #859900 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #dc322f; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #859900 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #859900 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #859900; font-weight: bold } -/* Name */ .highlight-chroma .highlight-n { color: #268bd2 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #268bd2 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #cb4b16 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #268bd2 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #cb4b16 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #268bd2 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #268bd2 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #268bd2 } -/* NameException */ .highlight-chroma .highlight-ne { color: #268bd2 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #268bd2 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #268bd2 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #268bd2 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #268bd2 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #268bd2 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #268bd2 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #268bd2; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #268bd2 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #268bd2 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #268bd2 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #268bd2 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #268bd2 } -/* Literal */ .highlight-chroma .highlight-l { color: #2aa198 } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #2aa198 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #2aa198 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #2aa198 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #2aa198 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #2aa198 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #2aa198 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #2aa198 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #2aa198 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #2aa198 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #2aa198 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #2aa198 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #2aa198 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #2aa198 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #2aa198 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #2aa198 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #2aa198; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #2aa198; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #2aa198; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #2aa198; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #2aa198; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #2aa198; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #2aa198; font-weight: bold } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #859900 } -/* Comment */ .highlight-chroma .highlight-c { color: #93a1a1; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #93a1a1; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #93a1a1; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #93a1a1; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #93a1a1; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #93a1a1; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #93a1a1; font-style: italic } -/* Generic */ .highlight-chroma .highlight-g { color: #d33682 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #d33682 } -/* GenericEmph */ .highlight-chroma .highlight-ge { color: #d33682 } -/* GenericError */ .highlight-chroma .highlight-gr { color: #d33682 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #d33682 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #d33682 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #d33682 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #d33682 } -/* GenericStrong */ .highlight-chroma .highlight-gs { color: #d33682 } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #d33682 } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #d33682 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { color: #d33682 } +/* Background */ +.highlight-chroma { + color: #586e75; + background-color: #eee8d5 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #d6d0bf +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #859900 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #859900; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #859900 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #dc322f; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #859900 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #859900 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #859900; + font-weight: bold +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #268bd2 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #268bd2 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #cb4b16 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #268bd2 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #cb4b16 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #268bd2 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #268bd2 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #268bd2 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #268bd2 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #268bd2 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #268bd2 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #268bd2 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #268bd2 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #268bd2 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #268bd2 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #268bd2; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #268bd2 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #268bd2 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #268bd2 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #268bd2 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #268bd2 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #2aa198 +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #2aa198 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #2aa198 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #2aa198 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #2aa198 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #2aa198 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #2aa198 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #2aa198 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #2aa198 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #2aa198 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #2aa198 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #2aa198 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #2aa198 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #2aa198 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #2aa198 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #2aa198 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #2aa198; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #2aa198; + font-weight: bold +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #859900 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #93a1a1; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #93a1a1; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #93a1a1; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #93a1a1; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #93a1a1; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #93a1a1; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #93a1a1; + font-style: italic +} + +/* Generic */ +.highlight-chroma .highlight-g { + color: #d33682 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #d33682 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + color: #d33682 +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #d33682 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #d33682 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #d33682 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #d33682 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #d33682 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + color: #d33682 +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #d33682 +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #d33682 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + color: #d33682 +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/swapoff.css b/src/main/resources/vditor/dist/js/highlight.js/styles/swapoff.css index 5448ce8a..9f14444a 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/swapoff.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/swapoff.css @@ -1,53 +1,300 @@ -/* Background */ .highlight-chroma { color: #e5e5e5; background-color: #000000 } -/* Error */ .highlight-chroma .highlight-err { color: #ff0000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #191919 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #727272 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #727272 } -/* Keyword */ .highlight-chroma .highlight-k { color: #ffffff; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #ffffff; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #ffffff; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #ffffff; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #ffffff; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #ffffff; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #ffffff; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #007f7f } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #ffffff; font-weight: bold } -/* NameTag */ .highlight-chroma .highlight-nt { font-weight: bold } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #ffff00; font-weight: bold } -/* LiteralString */ .highlight-chroma .highlight-s { color: #00ffff; font-weight: bold } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #00ffff; font-weight: bold } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #00ffff; font-weight: bold } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #00ffff; font-weight: bold } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #00ffff; font-weight: bold } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #00ffff; font-weight: bold } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #00ffff; font-weight: bold } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #00ffff; font-weight: bold } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #00ffff; font-weight: bold } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #00ffff; font-weight: bold } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #00ffff; font-weight: bold } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #00ffff; font-weight: bold } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #00ffff; font-weight: bold } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #00ffff; font-weight: bold } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #ffff00; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #ffff00; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #ffff00; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #ffff00; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #ffff00; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #ffff00; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #ffff00; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #007f7f } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #007f7f } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #007f7f } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #007f7f } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #007f7f } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #00ff00; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #00ff00; font-weight: bold } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { font-weight: bold } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } +/* Background */ +.highlight-chroma { + color: #e5e5e5; + background-color: #000000 +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #ff0000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #191919 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #727272 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #727272 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #ffffff; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #ffffff; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #ffffff; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #ffffff; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #ffffff; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #ffffff; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #ffffff; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #007f7f +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #ffffff; + font-weight: bold +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + font-weight: bold +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #ffff00; + font-weight: bold +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #00ffff; + font-weight: bold +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #00ffff; + font-weight: bold +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #ffff00; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #ffff00; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #007f7f +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #007f7f +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #007f7f +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #007f7f +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #007f7f +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #00ff00; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #00ff00; + font-weight: bold +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + font-weight: bold +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/tango.css b/src/main/resources/vditor/dist/js/highlight.js/styles/tango.css index 130e7f7b..8a4d5474 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/tango.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/tango.css @@ -1,85 +1,463 @@ -/* Background */ .highlight-chroma { background-color: #f8f8f8 } -/* Other */ .highlight-chroma .highlight-x { color: #000000 } -/* Error */ .highlight-chroma .highlight-err { color: #a40000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #dfdfdf } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #204a87; font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #204a87; font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #204a87; font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #204a87; font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #204a87; font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #204a87; font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #204a87; font-weight: bold } -/* Name */ .highlight-chroma .highlight-n { color: #000000 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #c4a000 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #204a87 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #3465a4 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #000000 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #000000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #5c35cc; font-weight: bold } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #ce5c00 } -/* NameException */ .highlight-chroma .highlight-ne { color: #cc0000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #000000 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #000000 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #f57900 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #000000 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #000000 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #000000 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #204a87; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #000000 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #000000 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #000000 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #000000 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #000000 } -/* Literal */ .highlight-chroma .highlight-l { color: #000000 } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #000000 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #4e9a06 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #4e9a06 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #4e9a06 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #4e9a06 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #4e9a06 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #8f5902; font-style: italic } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #4e9a06 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #4e9a06 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #4e9a06 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #4e9a06 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #4e9a06 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #4e9a06 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #4e9a06 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #4e9a06 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #0000cf; font-weight: bold } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #0000cf; font-weight: bold } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #0000cf; font-weight: bold } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #0000cf; font-weight: bold } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #0000cf; font-weight: bold } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #0000cf; font-weight: bold } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #0000cf; font-weight: bold } -/* Operator */ .highlight-chroma .highlight-o { color: #ce5c00; font-weight: bold } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #204a87; font-weight: bold } -/* Punctuation */ .highlight-chroma .highlight-p { color: #000000; font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #8f5902; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #8f5902; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #8f5902; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #8f5902; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #8f5902; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #8f5902; font-style: italic } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #8f5902; font-style: italic } -/* Generic */ .highlight-chroma .highlight-g { color: #000000 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #a40000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { color: #000000; font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ef2929 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00a000 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #000000; font-style: italic } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #8f5902 } -/* GenericStrong */ .highlight-chroma .highlight-gs { color: #000000; font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #a40000; font-weight: bold } -/* GenericUnderline */ .highlight-chroma .highlight-gl { color: #000000; text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #f8f8f8; text-decoration: underline } +/* Background */ +.highlight-chroma { + background-color: #f8f8f8 +} + +/* Other */ +.highlight-chroma .highlight-x { + color: #000000 +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a40000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #dfdfdf +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #204a87; + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #204a87; + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #204a87; + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #204a87; + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #204a87; + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #204a87; + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #204a87; + font-weight: bold +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #000000 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #c4a000 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #204a87 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #3465a4 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #000000 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #000000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #5c35cc; + font-weight: bold +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #ce5c00 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #cc0000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #000000 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #000000 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #f57900 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #000000 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #000000 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #000000 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #204a87; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #000000 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #000000 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #000000 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #000000 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #000000 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #000000 +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #000000 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #4e9a06 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #4e9a06 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #4e9a06 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #4e9a06 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #4e9a06 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #8f5902; + font-style: italic +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #4e9a06 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #4e9a06 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #4e9a06 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #4e9a06 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #4e9a06 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #4e9a06 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #4e9a06 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #4e9a06 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #0000cf; + font-weight: bold +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #0000cf; + font-weight: bold +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #ce5c00; + font-weight: bold +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #204a87; + font-weight: bold +} + +/* Punctuation */ +.highlight-chroma .highlight-p { + color: #000000; + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #8f5902; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #8f5902; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #8f5902; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #8f5902; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #8f5902; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #8f5902; + font-style: italic +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #8f5902; + font-style: italic +} + +/* Generic */ +.highlight-chroma .highlight-g { + color: #000000 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #a40000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + color: #000000; + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ef2929 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00a000 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #000000; + font-style: italic +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #8f5902 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + color: #000000; + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #a40000; + font-weight: bold +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + color: #000000; + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #f8f8f8; + text-decoration: underline +} /* a11y-light theme */ /* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/trac.css b/src/main/resources/vditor/dist/js/highlight.js/styles/trac.css index 4db9812f..7398b281 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/trac.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/trac.css @@ -1,69 +1,362 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #a61717; background-color: #e3d2d2 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { font-weight: bold } -/* KeywordConstant */ .highlight-chroma .highlight-kc { font-weight: bold } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { font-weight: bold } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { font-weight: bold } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { font-weight: bold } -/* KeywordReserved */ .highlight-chroma .highlight-kr { font-weight: bold } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #445588; font-weight: bold } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #008080 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #999999 } -/* NameClass */ .highlight-chroma .highlight-nc { color: #445588; font-weight: bold } -/* NameConstant */ .highlight-chroma .highlight-no { color: #008080 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #800080 } -/* NameException */ .highlight-chroma .highlight-ne { color: #990000; font-weight: bold } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #990000; font-weight: bold } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #555555 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #000080 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #008080 } -/* LiteralString */ .highlight-chroma .highlight-s { color: #bb8844 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #bb8844 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #bb8844 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #bb8844 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #bb8844 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #bb8844 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #bb8844 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #bb8844 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #bb8844 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #bb8844 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #bb8844 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #808000 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #bb8844 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #bb8844 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #009999 } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #009999 } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #009999 } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #009999 } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #009999 } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #009999 } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #009999 } -/* Operator */ .highlight-chroma .highlight-o { font-weight: bold } -/* OperatorWord */ .highlight-chroma .highlight-ow { font-weight: bold } -/* Comment */ .highlight-chroma .highlight-c { color: #999988; font-style: italic } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #999988; font-style: italic } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #999988; font-style: italic } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #999988; font-style: italic } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #999999; font-weight: bold; font-style: italic } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #999999; font-weight: bold } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #999999; font-weight: bold } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #000000; background-color: #ffdddd } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #aa0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #999999 } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #000000; background-color: #ddffdd } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #555555 } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #aaaaaa } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #aa0000 } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } -/* TextWhitespace */ .highlight-chroma .highlight-w { color: #bbbbbb } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #a61717; + background-color: #e3d2d2 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + font-weight: bold +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + font-weight: bold +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + font-weight: bold +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + font-weight: bold +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + font-weight: bold +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + font-weight: bold +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #445588; + font-weight: bold +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #008080 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #999999 +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #445588; + font-weight: bold +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #008080 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #800080 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #990000; + font-weight: bold +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #990000; + font-weight: bold +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #555555 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #000080 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #008080 +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #bb8844 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #bb8844 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #bb8844 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #bb8844 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #bb8844 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #bb8844 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #bb8844 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #bb8844 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #bb8844 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #bb8844 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #bb8844 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #808000 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #bb8844 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #bb8844 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #009999 +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #009999 +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #009999 +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #009999 +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #009999 +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #009999 +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #009999 +} + +/* Operator */ +.highlight-chroma .highlight-o { + font-weight: bold +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + font-weight: bold +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #999988; + font-style: italic +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #999988; + font-style: italic +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #999988; + font-style: italic +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #999988; + font-style: italic +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #999999; + font-weight: bold; + font-style: italic +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #999999; + font-weight: bold +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #999999; + font-weight: bold +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #000000; + background-color: #ffdddd +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #aa0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #999999 +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #000000; + background-color: #ddffdd +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #555555 +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #aaaaaa +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #aa0000 +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} + +/* TextWhitespace */ +.highlight-chroma .highlight-w { + color: #bbbbbb +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/vim.css b/src/main/resources/vditor/dist/js/highlight.js/styles/vim.css index 30b6525a..f11e098f 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/vim.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/vim.css @@ -1,62 +1,317 @@ -/* Background */ .highlight-chroma { color: #cccccc; background-color: #000000 } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #191919 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #666666 } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #666666 } -/* Keyword */ .highlight-chroma .highlight-k { color: #cdcd00 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #cdcd00 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #00cd00 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #cd00cd } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #cdcd00 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #cdcd00 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #00cd00 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #cd00cd } -/* NameClass */ .highlight-chroma .highlight-nc { color: #00cdcd } -/* NameException */ .highlight-chroma .highlight-ne { color: #666699; font-weight: bold } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #00cdcd } -/* LiteralString */ .highlight-chroma .highlight-s { color: #cd0000 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #cd0000 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #cd0000 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #cd0000 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #cd0000 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #cd0000 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #cd0000 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #cd0000 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #cd0000 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #cd0000 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #cd0000 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #cd0000 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #cd0000 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #cd0000 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #cd00cd } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #cd00cd } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #cd00cd } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #cd00cd } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #cd00cd } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #cd00cd } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #cd00cd } -/* Operator */ .highlight-chroma .highlight-o { color: #3399cc } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #cdcd00 } -/* Comment */ .highlight-chroma .highlight-c { color: #000080 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #000080 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #000080 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #000080 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #cd0000; font-weight: bold } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #000080 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #000080 } -/* GenericDeleted */ .highlight-chroma .highlight-gd { color: #cd0000 } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericError */ .highlight-chroma .highlight-gr { color: #ff0000 } -/* GenericHeading */ .highlight-chroma .highlight-gh { color: #000080; font-weight: bold } -/* GenericInserted */ .highlight-chroma .highlight-gi { color: #00cd00 } -/* GenericOutput */ .highlight-chroma .highlight-go { color: #888888 } -/* GenericPrompt */ .highlight-chroma .highlight-gp { color: #000080; font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { color: #800080; font-weight: bold } -/* GenericTraceback */ .highlight-chroma .highlight-gt { color: #0044dd } -/* GenericUnderline */ .highlight-chroma .highlight-gl { text-decoration: underline } +/* Background */ +.highlight-chroma { + color: #cccccc; + background-color: #000000 +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #191919 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #666666 +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #666666 +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #cdcd00 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #cdcd00 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #00cd00 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #cd00cd +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #cdcd00 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #cdcd00 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #00cd00 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #cd00cd +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #00cdcd +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #666699; + font-weight: bold +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #00cdcd +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #cd0000 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #cd0000 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #cd0000 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #cd0000 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #cd0000 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #cd0000 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #cd0000 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #cd0000 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #cd0000 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #cd0000 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #cd0000 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #cd0000 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #cd0000 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #cd0000 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #cd00cd +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #cd00cd +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #cd00cd +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #cd00cd +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #cd00cd +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #cd00cd +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #cd00cd +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #3399cc +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #cdcd00 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #000080 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #000080 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #000080 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #000080 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #cd0000; + font-weight: bold +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #000080 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #000080 +} + +/* GenericDeleted */ +.highlight-chroma .highlight-gd { + color: #cd0000 +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericError */ +.highlight-chroma .highlight-gr { + color: #ff0000 +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + color: #000080; + font-weight: bold +} + +/* GenericInserted */ +.highlight-chroma .highlight-gi { + color: #00cd00 +} + +/* GenericOutput */ +.highlight-chroma .highlight-go { + color: #888888 +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + color: #000080; + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + color: #800080; + font-weight: bold +} + +/* GenericTraceback */ +.highlight-chroma .highlight-gt { + color: #0044dd +} + +/* GenericUnderline */ +.highlight-chroma .highlight-gl { + text-decoration: underline +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/vs.css b/src/main/resources/vditor/dist/js/highlight.js/styles/vs.css index f4d68ddd..795725fb 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/vs.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/vs.css @@ -1,45 +1,226 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #0000ff } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #0000ff } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #0000ff } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #0000ff } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #0000ff } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #0000ff } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #2b91af } -/* NameClass */ .highlight-chroma .highlight-nc { color: #2b91af } -/* LiteralString */ .highlight-chroma .highlight-s { color: #a31515 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #a31515 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #a31515 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #a31515 } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #a31515 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #a31515 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #a31515 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #a31515 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #a31515 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #a31515 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #a31515 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #a31515 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #a31515 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #a31515 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #0000ff } -/* Comment */ .highlight-chroma .highlight-c { color: #008000 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #008000 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #008000 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #008000 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #008000 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #0000ff } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #0000ff } -/* GenericEmph */ .highlight-chroma .highlight-ge { font-style: italic } -/* GenericHeading */ .highlight-chroma .highlight-gh { font-weight: bold } -/* GenericPrompt */ .highlight-chroma .highlight-gp { font-weight: bold } -/* GenericStrong */ .highlight-chroma .highlight-gs { font-weight: bold } -/* GenericSubheading */ .highlight-chroma .highlight-gu { font-weight: bold } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #0000ff +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #0000ff +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #0000ff +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #0000ff +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #0000ff +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #0000ff +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #2b91af +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #2b91af +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #a31515 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #a31515 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #a31515 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #a31515 +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #a31515 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #a31515 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #a31515 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #a31515 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #a31515 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #a31515 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #a31515 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #a31515 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #a31515 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #a31515 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #0000ff +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #008000 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #008000 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #008000 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #008000 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #008000 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #0000ff +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #0000ff +} + +/* GenericEmph */ +.highlight-chroma .highlight-ge { + font-style: italic +} + +/* GenericHeading */ +.highlight-chroma .highlight-gh { + font-weight: bold +} + +/* GenericPrompt */ +.highlight-chroma .highlight-gp { + font-weight: bold +} + +/* GenericStrong */ +.highlight-chroma .highlight-gs { + font-weight: bold +} + +/* GenericSubheading */ +.highlight-chroma .highlight-gu { + font-weight: bold +} /* diff --git a/src/main/resources/vditor/dist/js/highlight.js/styles/xcode.css b/src/main/resources/vditor/dist/js/highlight.js/styles/xcode.css index 4a77e9b5..3df22fad 100644 --- a/src/main/resources/vditor/dist/js/highlight.js/styles/xcode.css +++ b/src/main/resources/vditor/dist/js/highlight.js/styles/xcode.css @@ -1,70 +1,352 @@ -/* Background */ .highlight-chroma { background-color: #ffffff } -/* Error */ .highlight-chroma .highlight-err { color: #000000 } -/* LineTableTD */ .highlight-chroma .highlight-lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .highlight-chroma .highlight-lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .highlight-chroma .highlight-hl { display: block; width: 100%;background-color: #e5e5e5 } -/* LineNumbersTable */ .highlight-chroma .highlight-lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* LineNumbers */ .highlight-chroma .highlight-ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .highlight-chroma .highlight-k { color: #a90d91 } -/* KeywordConstant */ .highlight-chroma .highlight-kc { color: #a90d91 } -/* KeywordDeclaration */ .highlight-chroma .highlight-kd { color: #a90d91 } -/* KeywordNamespace */ .highlight-chroma .highlight-kn { color: #a90d91 } -/* KeywordPseudo */ .highlight-chroma .highlight-kp { color: #a90d91 } -/* KeywordReserved */ .highlight-chroma .highlight-kr { color: #a90d91 } -/* KeywordType */ .highlight-chroma .highlight-kt { color: #a90d91 } -/* Name */ .highlight-chroma .highlight-n { color: #000000 } -/* NameAttribute */ .highlight-chroma .highlight-na { color: #836c28 } -/* NameBuiltin */ .highlight-chroma .highlight-nb { color: #a90d91 } -/* NameBuiltinPseudo */ .highlight-chroma .highlight-bp { color: #5b269a } -/* NameClass */ .highlight-chroma .highlight-nc { color: #3f6e75 } -/* NameConstant */ .highlight-chroma .highlight-no { color: #000000 } -/* NameDecorator */ .highlight-chroma .highlight-nd { color: #000000 } -/* NameEntity */ .highlight-chroma .highlight-ni { color: #000000 } -/* NameException */ .highlight-chroma .highlight-ne { color: #000000 } -/* NameFunction */ .highlight-chroma .highlight-nf { color: #000000 } -/* NameFunctionMagic */ .highlight-chroma .highlight-fm { color: #000000 } -/* NameLabel */ .highlight-chroma .highlight-nl { color: #000000 } -/* NameNamespace */ .highlight-chroma .highlight-nn { color: #000000 } -/* NameOther */ .highlight-chroma .highlight-nx { color: #000000 } -/* NameProperty */ .highlight-chroma .highlight-py { color: #000000 } -/* NameTag */ .highlight-chroma .highlight-nt { color: #000000 } -/* NameVariable */ .highlight-chroma .highlight-nv { color: #000000 } -/* NameVariableClass */ .highlight-chroma .highlight-vc { color: #000000 } -/* NameVariableGlobal */ .highlight-chroma .highlight-vg { color: #000000 } -/* NameVariableInstance */ .highlight-chroma .highlight-vi { color: #000000 } -/* NameVariableMagic */ .highlight-chroma .highlight-vm { color: #000000 } -/* Literal */ .highlight-chroma .highlight-l { color: #1c01ce } -/* LiteralDate */ .highlight-chroma .highlight-ld { color: #1c01ce } -/* LiteralString */ .highlight-chroma .highlight-s { color: #c41a16 } -/* LiteralStringAffix */ .highlight-chroma .highlight-sa { color: #c41a16 } -/* LiteralStringBacktick */ .highlight-chroma .highlight-sb { color: #c41a16 } -/* LiteralStringChar */ .highlight-chroma .highlight-sc { color: #2300ce } -/* LiteralStringDelimiter */ .highlight-chroma .highlight-dl { color: #c41a16 } -/* LiteralStringDoc */ .highlight-chroma .highlight-sd { color: #c41a16 } -/* LiteralStringDouble */ .highlight-chroma .highlight-s2 { color: #c41a16 } -/* LiteralStringEscape */ .highlight-chroma .highlight-se { color: #c41a16 } -/* LiteralStringHeredoc */ .highlight-chroma .highlight-sh { color: #c41a16 } -/* LiteralStringInterpol */ .highlight-chroma .highlight-si { color: #c41a16 } -/* LiteralStringOther */ .highlight-chroma .highlight-sx { color: #c41a16 } -/* LiteralStringRegex */ .highlight-chroma .highlight-sr { color: #c41a16 } -/* LiteralStringSingle */ .highlight-chroma .highlight-s1 { color: #c41a16 } -/* LiteralStringSymbol */ .highlight-chroma .highlight-ss { color: #c41a16 } -/* LiteralNumber */ .highlight-chroma .highlight-m { color: #1c01ce } -/* LiteralNumberBin */ .highlight-chroma .highlight-mb { color: #1c01ce } -/* LiteralNumberFloat */ .highlight-chroma .highlight-mf { color: #1c01ce } -/* LiteralNumberHex */ .highlight-chroma .highlight-mh { color: #1c01ce } -/* LiteralNumberInteger */ .highlight-chroma .highlight-mi { color: #1c01ce } -/* LiteralNumberIntegerLong */ .highlight-chroma .highlight-il { color: #1c01ce } -/* LiteralNumberOct */ .highlight-chroma .highlight-mo { color: #1c01ce } -/* Operator */ .highlight-chroma .highlight-o { color: #000000 } -/* OperatorWord */ .highlight-chroma .highlight-ow { color: #000000 } -/* Comment */ .highlight-chroma .highlight-c { color: #177500 } -/* CommentHashbang */ .highlight-chroma .highlight-ch { color: #177500 } -/* CommentMultiline */ .highlight-chroma .highlight-cm { color: #177500 } -/* CommentSingle */ .highlight-chroma .highlight-c1 { color: #177500 } -/* CommentSpecial */ .highlight-chroma .highlight-cs { color: #177500 } -/* CommentPreproc */ .highlight-chroma .highlight-cp { color: #633820 } -/* CommentPreprocFile */ .highlight-chroma .highlight-cpf { color: #633820 } +/* Background */ +.highlight-chroma { + background-color: #ffffff +} + +/* Error */ +.highlight-chroma .highlight-err { + color: #000000 +} + +/* LineTableTD */ +.highlight-chroma .highlight-lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.highlight-chroma .highlight-lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: auto; + overflow: auto; + display: block; +} + +/* LineHighlight */ +.highlight-chroma .highlight-hl { + display: block; + width: 100%; + background-color: #e5e5e5 +} + +/* LineNumbersTable */ +.highlight-chroma .highlight-lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* LineNumbers */ +.highlight-chroma .highlight-ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f +} + +/* Keyword */ +.highlight-chroma .highlight-k { + color: #a90d91 +} + +/* KeywordConstant */ +.highlight-chroma .highlight-kc { + color: #a90d91 +} + +/* KeywordDeclaration */ +.highlight-chroma .highlight-kd { + color: #a90d91 +} + +/* KeywordNamespace */ +.highlight-chroma .highlight-kn { + color: #a90d91 +} + +/* KeywordPseudo */ +.highlight-chroma .highlight-kp { + color: #a90d91 +} + +/* KeywordReserved */ +.highlight-chroma .highlight-kr { + color: #a90d91 +} + +/* KeywordType */ +.highlight-chroma .highlight-kt { + color: #a90d91 +} + +/* Name */ +.highlight-chroma .highlight-n { + color: #000000 +} + +/* NameAttribute */ +.highlight-chroma .highlight-na { + color: #836c28 +} + +/* NameBuiltin */ +.highlight-chroma .highlight-nb { + color: #a90d91 +} + +/* NameBuiltinPseudo */ +.highlight-chroma .highlight-bp { + color: #5b269a +} + +/* NameClass */ +.highlight-chroma .highlight-nc { + color: #3f6e75 +} + +/* NameConstant */ +.highlight-chroma .highlight-no { + color: #000000 +} + +/* NameDecorator */ +.highlight-chroma .highlight-nd { + color: #000000 +} + +/* NameEntity */ +.highlight-chroma .highlight-ni { + color: #000000 +} + +/* NameException */ +.highlight-chroma .highlight-ne { + color: #000000 +} + +/* NameFunction */ +.highlight-chroma .highlight-nf { + color: #000000 +} + +/* NameFunctionMagic */ +.highlight-chroma .highlight-fm { + color: #000000 +} + +/* NameLabel */ +.highlight-chroma .highlight-nl { + color: #000000 +} + +/* NameNamespace */ +.highlight-chroma .highlight-nn { + color: #000000 +} + +/* NameOther */ +.highlight-chroma .highlight-nx { + color: #000000 +} + +/* NameProperty */ +.highlight-chroma .highlight-py { + color: #000000 +} + +/* NameTag */ +.highlight-chroma .highlight-nt { + color: #000000 +} + +/* NameVariable */ +.highlight-chroma .highlight-nv { + color: #000000 +} + +/* NameVariableClass */ +.highlight-chroma .highlight-vc { + color: #000000 +} + +/* NameVariableGlobal */ +.highlight-chroma .highlight-vg { + color: #000000 +} + +/* NameVariableInstance */ +.highlight-chroma .highlight-vi { + color: #000000 +} + +/* NameVariableMagic */ +.highlight-chroma .highlight-vm { + color: #000000 +} + +/* Literal */ +.highlight-chroma .highlight-l { + color: #1c01ce +} + +/* LiteralDate */ +.highlight-chroma .highlight-ld { + color: #1c01ce +} + +/* LiteralString */ +.highlight-chroma .highlight-s { + color: #c41a16 +} + +/* LiteralStringAffix */ +.highlight-chroma .highlight-sa { + color: #c41a16 +} + +/* LiteralStringBacktick */ +.highlight-chroma .highlight-sb { + color: #c41a16 +} + +/* LiteralStringChar */ +.highlight-chroma .highlight-sc { + color: #2300ce +} + +/* LiteralStringDelimiter */ +.highlight-chroma .highlight-dl { + color: #c41a16 +} + +/* LiteralStringDoc */ +.highlight-chroma .highlight-sd { + color: #c41a16 +} + +/* LiteralStringDouble */ +.highlight-chroma .highlight-s2 { + color: #c41a16 +} + +/* LiteralStringEscape */ +.highlight-chroma .highlight-se { + color: #c41a16 +} + +/* LiteralStringHeredoc */ +.highlight-chroma .highlight-sh { + color: #c41a16 +} + +/* LiteralStringInterpol */ +.highlight-chroma .highlight-si { + color: #c41a16 +} + +/* LiteralStringOther */ +.highlight-chroma .highlight-sx { + color: #c41a16 +} + +/* LiteralStringRegex */ +.highlight-chroma .highlight-sr { + color: #c41a16 +} + +/* LiteralStringSingle */ +.highlight-chroma .highlight-s1 { + color: #c41a16 +} + +/* LiteralStringSymbol */ +.highlight-chroma .highlight-ss { + color: #c41a16 +} + +/* LiteralNumber */ +.highlight-chroma .highlight-m { + color: #1c01ce +} + +/* LiteralNumberBin */ +.highlight-chroma .highlight-mb { + color: #1c01ce +} + +/* LiteralNumberFloat */ +.highlight-chroma .highlight-mf { + color: #1c01ce +} + +/* LiteralNumberHex */ +.highlight-chroma .highlight-mh { + color: #1c01ce +} + +/* LiteralNumberInteger */ +.highlight-chroma .highlight-mi { + color: #1c01ce +} + +/* LiteralNumberIntegerLong */ +.highlight-chroma .highlight-il { + color: #1c01ce +} + +/* LiteralNumberOct */ +.highlight-chroma .highlight-mo { + color: #1c01ce +} + +/* Operator */ +.highlight-chroma .highlight-o { + color: #000000 +} + +/* OperatorWord */ +.highlight-chroma .highlight-ow { + color: #000000 +} + +/* Comment */ +.highlight-chroma .highlight-c { + color: #177500 +} + +/* CommentHashbang */ +.highlight-chroma .highlight-ch { + color: #177500 +} + +/* CommentMultiline */ +.highlight-chroma .highlight-cm { + color: #177500 +} + +/* CommentSingle */ +.highlight-chroma .highlight-c1 { + color: #177500 +} + +/* CommentSpecial */ +.highlight-chroma .highlight-cs { + color: #177500 +} + +/* CommentPreproc */ +.highlight-chroma .highlight-cp { + color: #633820 +} + +/* CommentPreprocFile */ +.highlight-chroma .highlight-cpf { + color: #633820 +} /* diff --git a/src/main/resources/vditor/dist/js/i18n/en_US.js b/src/main/resources/vditor/dist/js/i18n/en_US.js index f0e12287..3cf6c8e4 100644 --- a/src/main/resources/vditor/dist/js/i18n/en_US.js +++ b/src/main/resources/vditor/dist/js/i18n/en_US.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': 'Center', - 'alignLeft': 'Left', - 'alignRight': 'Right', - 'alternateText': 'Alternate text', - 'bold': 'Blod', - 'both': 'editor & preview', - 'check': 'Task List', - 'close': 'Close', - 'code': 'Code Block', - 'code-theme': 'Code Block Theme Preview', - 'column': 'Column', - 'comment': 'Comment', - 'confirm': 'Confirm', - 'content-theme': 'Content Theme Preview', - 'copied': 'Copied', - 'copy': 'Copy', - 'delete-column': 'Delete Row', - 'delete-row': 'Delete Column', - 'devtools': 'DevTools', - 'down': 'Down', - 'downloadTip': 'The browser does not support the download function', - 'edit': 'Edit', - 'edit-mode': 'Toggle Edit Mode', - 'emoji': 'Emoji', - 'export': 'Export', - 'fileTypeError': 'file type is error', - 'footnoteRef': 'Footnote Ref', - 'fullscreen': 'Toggle Fullscreen', - 'generate': 'Generating', - 'headings': 'Headings', - 'heading1': 'Heading 1', - 'heading2': 'Heading 2', - 'heading3': 'Heading 3', - 'heading4': 'Heading 4', - 'heading5': 'Heading 5', - 'heading6': 'Heading 6', - 'help': 'Help', - 'imageURL': 'image URL', - 'indent': 'Indent', - 'info': 'Info', - 'inline-code': 'Inline Code', - 'insert-after': 'Insert line after', - 'insert-before': 'Insert line Before', - 'insertColumnLeft': 'Insert 1 left', - 'insertColumnRight': 'Insert 1 right', - 'insertRowAbove': 'Insert 1 above', - 'insertRowBelow': 'Insert 1 below', - 'instantRendering': 'Instant Rendering', - 'italic': 'Italic', - 'language': 'Language', - 'line': 'Line', - 'link': 'Link', - 'linkRef': 'Link Ref', - 'list': 'List', - 'more': 'More', - 'nameEmpty': 'Name is empty', - 'ordered-list': 'Order List', - 'outdent': 'Outdent', - 'outline': 'Outline', - 'over': 'over', - 'performanceTip': 'Real-time preview requires ${x}ms, you can close it', - 'preview': 'Preview', - 'quote': 'Quote', - 'record': 'Start Record/End Record', - 'record-tip': 'The device does not support recording', - 'recording': 'recording...', - 'redo': 'Redo', - 'remove': 'Remove', - 'row': 'Row', - 'spin': 'Spin', - 'splitView': 'Split View', - 'strike': 'Strike', - 'table': 'Table', - 'textIsNotEmpty': 'text(no empty)', - 'title': 'Title', - 'tooltipText': 'Tooltip text', - 'undo': 'Undo', - 'up': 'Up', - 'update': 'Update', - 'upload': 'Upload image or file', - 'uploadError': 'upload error', - 'uploading': 'uploading...', - 'wysiwyg': 'WYSIWYG', + 'alignCenter': 'Center', + 'alignLeft': 'Left', + 'alignRight': 'Right', + 'alternateText': 'Alternate text', + 'bold': 'Blod', + 'both': 'editor & preview', + 'check': 'Task List', + 'close': 'Close', + 'code': 'Code Block', + 'code-theme': 'Code Block Theme Preview', + 'column': 'Column', + 'comment': 'Comment', + 'confirm': 'Confirm', + 'content-theme': 'Content Theme Preview', + 'copied': 'Copied', + 'copy': 'Copy', + 'delete-column': 'Delete Row', + 'delete-row': 'Delete Column', + 'devtools': 'DevTools', + 'down': 'Down', + 'downloadTip': 'The browser does not support the download function', + 'edit': 'Edit', + 'edit-mode': 'Toggle Edit Mode', + 'emoji': 'Emoji', + 'export': 'Export', + 'fileTypeError': 'file type is error', + 'footnoteRef': 'Footnote Ref', + 'fullscreen': 'Toggle Fullscreen', + 'generate': 'Generating', + 'headings': 'Headings', + 'heading1': 'Heading 1', + 'heading2': 'Heading 2', + 'heading3': 'Heading 3', + 'heading4': 'Heading 4', + 'heading5': 'Heading 5', + 'heading6': 'Heading 6', + 'help': 'Help', + 'imageURL': 'image URL', + 'indent': 'Indent', + 'info': 'Info', + 'inline-code': 'Inline Code', + 'insert-after': 'Insert line after', + 'insert-before': 'Insert line Before', + 'insertColumnLeft': 'Insert 1 left', + 'insertColumnRight': 'Insert 1 right', + 'insertRowAbove': 'Insert 1 above', + 'insertRowBelow': 'Insert 1 below', + 'instantRendering': 'Instant Rendering', + 'italic': 'Italic', + 'language': 'Language', + 'line': 'Line', + 'link': 'Link', + 'linkRef': 'Link Ref', + 'list': 'List', + 'more': 'More', + 'nameEmpty': 'Name is empty', + 'ordered-list': 'Order List', + 'outdent': 'Outdent', + 'outline': 'Outline', + 'over': 'over', + 'performanceTip': 'Real-time preview requires ${x}ms, you can close it', + 'preview': 'Preview', + 'quote': 'Quote', + 'record': 'Start Record/End Record', + 'record-tip': 'The device does not support recording', + 'recording': 'recording...', + 'redo': 'Redo', + 'remove': 'Remove', + 'row': 'Row', + 'spin': 'Spin', + 'splitView': 'Split View', + 'strike': 'Strike', + 'table': 'Table', + 'textIsNotEmpty': 'text(no empty)', + 'title': 'Title', + 'tooltipText': 'Tooltip text', + 'undo': 'Undo', + 'up': 'Up', + 'update': 'Update', + 'upload': 'Upload image or file', + 'uploadError': 'upload error', + 'uploading': 'uploading...', + 'wysiwyg': 'WYSIWYG', } diff --git a/src/main/resources/vditor/dist/js/i18n/ja_JP.js b/src/main/resources/vditor/dist/js/i18n/ja_JP.js index b14626c5..8b118f7e 100644 --- a/src/main/resources/vditor/dist/js/i18n/ja_JP.js +++ b/src/main/resources/vditor/dist/js/i18n/ja_JP.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': '中央', - 'alignLeft': '左側', - 'alignRight': '右側', - 'alternateText': 'イメージタグ', - 'bold': '太く', - 'both': 'エディター & プレビュー', - 'check': 'チェックリスト', - 'close': '閉じる', - 'code': 'コードブロック挿入', - 'code-theme': 'コードブロックテーマ', - 'column': '行列', - 'comment': 'コメント', - 'confirm': '確認', - 'content-theme': 'コンテンツテーマ', - 'copied': 'コピー完了', - 'copy': 'コピー', - 'delete-column': '列 消去', - 'delete-row': '行 消去', - 'devtools': '開発ツール', - 'down': 'ダウンロード', - 'downloadTip': 'ブラウザがダウンロード機能をサポートしていません。', - 'edit': '修正', - 'edit-mode': '編集モード', - 'emoji': '絵文字', - 'export': '書き出し', - 'fileTypeError': 'サポートしていません。', - 'footnoteRef': '脚注参照', - 'fullscreen': '全体画面', - 'generate': '作成する', - 'headings': 'タイトル大きさ', - 'heading1': '第1レベルの見出し', - 'heading2': '第2レベルの見出し', - 'heading3': '3レベルの見出し', - 'heading4': 'Heading 4', - 'heading5': '5レベルの見出し', - 'heading6': '6レベルの見出し', - 'help': 'ヘルプ', - 'imageURL': 'イメージ URL', - 'indent': '字下げ', - 'info': '情報', - 'inline-code': 'インラインコード', - 'insert-after': 'ブロックの後ろに入力', - 'insert-before': 'ブロックの前に入力', - 'insertColumnLeft': '左側に列を挿入', - 'insertColumnRight': '右側に列を挿入', - 'insertRowAbove': '上に行を挿入', - 'insertRowBelow': '下に行を挿入', - 'instantRendering': 'インスタントレンダリング', - 'italic': '斜体', - 'language': '言語', - 'line': '段落分割', - 'link': 'リンク', - 'linkRef': 'リンク参照', - 'list': 'リスト', - 'more': '詳しく見る', - 'nameEmpty': '名前が入力されていません。', - 'ordered-list': '順序のあるリスト', - 'outdent': 'ぶら下げインデント', - 'outline': '概要', - 'over': 'オーバー', - 'performanceTip': 'リアルタイムプレビューには、${x}msが必要でエディター/プレビューボタンをクリックして閉じる事が出来ます。', - 'preview': 'プレビュー', - 'quote': '引用段落', - 'record': '録音開始/録音終了', - 'record-tip': '録音がサポートされていません。', - 'recording': '録音中...', - 'redo': '戻る', - 'remove': '消去', - 'row': '列', - 'spin': 'スピン', - 'splitView': 'マークダウン', - 'strike': '取り消し線', - 'table': '表 挿入', - 'textIsNotEmpty': 'テキスト(no empty)', - 'title': '題名', - 'tooltipText': 'ツールチップ', - 'undo': '取り消す', - 'up': '戻る', - 'update': 'アップデート', - 'upload': 'イメージをダウンロードする', - 'uploadError': 'アップロード失敗', - 'uploading': 'アップロード中', - 'wysiwyg': 'ウィジウィグ', + 'alignCenter': '中央', + 'alignLeft': '左側', + 'alignRight': '右側', + 'alternateText': 'イメージタグ', + 'bold': '太く', + 'both': 'エディター & プレビュー', + 'check': 'チェックリスト', + 'close': '閉じる', + 'code': 'コードブロック挿入', + 'code-theme': 'コードブロックテーマ', + 'column': '行列', + 'comment': 'コメント', + 'confirm': '確認', + 'content-theme': 'コンテンツテーマ', + 'copied': 'コピー完了', + 'copy': 'コピー', + 'delete-column': '列 消去', + 'delete-row': '行 消去', + 'devtools': '開発ツール', + 'down': 'ダウンロード', + 'downloadTip': 'ブラウザがダウンロード機能をサポートしていません。', + 'edit': '修正', + 'edit-mode': '編集モード', + 'emoji': '絵文字', + 'export': '書き出し', + 'fileTypeError': 'サポートしていません。', + 'footnoteRef': '脚注参照', + 'fullscreen': '全体画面', + 'generate': '作成する', + 'headings': 'タイトル大きさ', + 'heading1': '第1レベルの見出し', + 'heading2': '第2レベルの見出し', + 'heading3': '3レベルの見出し', + 'heading4': 'Heading 4', + 'heading5': '5レベルの見出し', + 'heading6': '6レベルの見出し', + 'help': 'ヘルプ', + 'imageURL': 'イメージ URL', + 'indent': '字下げ', + 'info': '情報', + 'inline-code': 'インラインコード', + 'insert-after': 'ブロックの後ろに入力', + 'insert-before': 'ブロックの前に入力', + 'insertColumnLeft': '左側に列を挿入', + 'insertColumnRight': '右側に列を挿入', + 'insertRowAbove': '上に行を挿入', + 'insertRowBelow': '下に行を挿入', + 'instantRendering': 'インスタントレンダリング', + 'italic': '斜体', + 'language': '言語', + 'line': '段落分割', + 'link': 'リンク', + 'linkRef': 'リンク参照', + 'list': 'リスト', + 'more': '詳しく見る', + 'nameEmpty': '名前が入力されていません。', + 'ordered-list': '順序のあるリスト', + 'outdent': 'ぶら下げインデント', + 'outline': '概要', + 'over': 'オーバー', + 'performanceTip': 'リアルタイムプレビューには、${x}msが必要でエディター/プレビューボタンをクリックして閉じる事が出来ます。', + 'preview': 'プレビュー', + 'quote': '引用段落', + 'record': '録音開始/録音終了', + 'record-tip': '録音がサポートされていません。', + 'recording': '録音中...', + 'redo': '戻る', + 'remove': '消去', + 'row': '列', + 'spin': 'スピン', + 'splitView': 'マークダウン', + 'strike': '取り消し線', + 'table': '表 挿入', + 'textIsNotEmpty': 'テキスト(no empty)', + 'title': '題名', + 'tooltipText': 'ツールチップ', + 'undo': '取り消す', + 'up': '戻る', + 'update': 'アップデート', + 'upload': 'イメージをダウンロードする', + 'uploadError': 'アップロード失敗', + 'uploading': 'アップロード中', + 'wysiwyg': 'ウィジウィグ', } diff --git a/src/main/resources/vditor/dist/js/i18n/ko_KR.js b/src/main/resources/vditor/dist/js/i18n/ko_KR.js index 6e6b9a33..0a63fb10 100644 --- a/src/main/resources/vditor/dist/js/i18n/ko_KR.js +++ b/src/main/resources/vditor/dist/js/i18n/ko_KR.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': '가운데', - 'alignLeft': '왼쪽', - 'alignRight': '오른쪽', - 'alternateText': '이미지 태그', - 'bold': '굵게', - 'both': '에디터 & 미리보기', - 'check': '체크박스', - 'close': '닫기', - 'code': '코드블럭삽입', - 'code-theme': '코드블럭테마', - 'column': '행', - 'comment': '코멘트', - 'confirm': '확인', - 'content-theme': '컨텐츠테마', - 'copied': '복사완료', - 'copy': '복사', - 'delete-column': '열 삭제', - 'delete-row': '행 삭제', - 'devtools': '개발툴', - 'down': '다운', - 'downloadTip': '브라우저가 다운로드 기능을 지원하지 않습니다', - 'edit': '수정', - 'edit-mode': '편집모드', - 'emoji': '이모지', - 'export': '내보내기', - 'fileTypeError': '지원하지않습니다.', - 'footnoteRef': '각주참조', - 'fullscreen': '전체화면', - 'generate': '생성', - 'headings': '제목크기', - 'heading1': '첫 번째 수준 제목', - 'heading2': '두 번째 수준 제목', - 'heading3': '3 단계 제목', - 'heading4': '제목 4', - 'heading5': '5 단계 제목', - 'heading6': '6 단계 제목', - 'help': '도움말', - 'imageURL': '이미지 URL', - 'indent': '들여쓰기', - 'info': '정보', - 'inline-code': '인라인코드', - 'insert-after': '블락 뒤로 입력', - 'insert-before': '블락 앞으로 입력', - 'insertColumnLeft': '왼쪽에 열 삽입', - 'insertColumnRight': '오른쪽에 열 삽입', - 'insertRowAbove': '위에 행 삽입', - 'insertRowBelow': '아래에 행 삽입', - 'instantRendering': '타이포라', - 'italic': '기울임꼴', - 'language': '언어', - 'line': '문단나눔', - 'link': '링크', - 'linkRef': '링크 참조', - 'list': '순서없는 목록', - 'more': '더보기', - 'nameEmpty': '이름이 비어있습니다.', - 'ordered-list': '순서있는 목록', - 'outdent': '내어쓰기', - 'outline': '개요', - 'over': '오버', - 'performanceTip': '실시간 미리보기에는 ${x}ms가 필요하며 에디터/미리보기 버튼을 클릭하여 닫을 수 있습니다.', - 'preview': '미리보기', - 'quote': '인용단락', - 'record': '녹음시작/녹음종료', - 'record-tip': '녹음을 지원하지 않습니다.', - 'recording': '녹음중...', - 'redo': '되돌리기', - 'remove': '삭제', - 'row': '열', - 'spin': '회전', - 'splitView': '마크다운', - 'strike': '취소선', - 'table': '표삽입', - 'textIsNotEmpty': '텍스트(no empty)', - 'title': '표제', - 'tooltipText': '툴팁', - 'undo': '취소하기', - 'up': '위로', - 'update': '업데이트', - 'upload': '이미지 업로드하기', - 'uploadError': '업로드 실패', - 'uploading': '업로드중...', - 'wysiwyg': '위지위그', + 'alignCenter': '가운데', + 'alignLeft': '왼쪽', + 'alignRight': '오른쪽', + 'alternateText': '이미지 태그', + 'bold': '굵게', + 'both': '에디터 & 미리보기', + 'check': '체크박스', + 'close': '닫기', + 'code': '코드블럭삽입', + 'code-theme': '코드블럭테마', + 'column': '행', + 'comment': '코멘트', + 'confirm': '확인', + 'content-theme': '컨텐츠테마', + 'copied': '복사완료', + 'copy': '복사', + 'delete-column': '열 삭제', + 'delete-row': '행 삭제', + 'devtools': '개발툴', + 'down': '다운', + 'downloadTip': '브라우저가 다운로드 기능을 지원하지 않습니다', + 'edit': '수정', + 'edit-mode': '편집모드', + 'emoji': '이모지', + 'export': '내보내기', + 'fileTypeError': '지원하지않습니다.', + 'footnoteRef': '각주참조', + 'fullscreen': '전체화면', + 'generate': '생성', + 'headings': '제목크기', + 'heading1': '첫 번째 수준 제목', + 'heading2': '두 번째 수준 제목', + 'heading3': '3 단계 제목', + 'heading4': '제목 4', + 'heading5': '5 단계 제목', + 'heading6': '6 단계 제목', + 'help': '도움말', + 'imageURL': '이미지 URL', + 'indent': '들여쓰기', + 'info': '정보', + 'inline-code': '인라인코드', + 'insert-after': '블락 뒤로 입력', + 'insert-before': '블락 앞으로 입력', + 'insertColumnLeft': '왼쪽에 열 삽입', + 'insertColumnRight': '오른쪽에 열 삽입', + 'insertRowAbove': '위에 행 삽입', + 'insertRowBelow': '아래에 행 삽입', + 'instantRendering': '타이포라', + 'italic': '기울임꼴', + 'language': '언어', + 'line': '문단나눔', + 'link': '링크', + 'linkRef': '링크 참조', + 'list': '순서없는 목록', + 'more': '더보기', + 'nameEmpty': '이름이 비어있습니다.', + 'ordered-list': '순서있는 목록', + 'outdent': '내어쓰기', + 'outline': '개요', + 'over': '오버', + 'performanceTip': '실시간 미리보기에는 ${x}ms가 필요하며 에디터/미리보기 버튼을 클릭하여 닫을 수 있습니다.', + 'preview': '미리보기', + 'quote': '인용단락', + 'record': '녹음시작/녹음종료', + 'record-tip': '녹음을 지원하지 않습니다.', + 'recording': '녹음중...', + 'redo': '되돌리기', + 'remove': '삭제', + 'row': '열', + 'spin': '회전', + 'splitView': '마크다운', + 'strike': '취소선', + 'table': '표삽입', + 'textIsNotEmpty': '텍스트(no empty)', + 'title': '표제', + 'tooltipText': '툴팁', + 'undo': '취소하기', + 'up': '위로', + 'update': '업데이트', + 'upload': '이미지 업로드하기', + 'uploadError': '업로드 실패', + 'uploading': '업로드중...', + 'wysiwyg': '위지위그', } diff --git a/src/main/resources/vditor/dist/js/i18n/ru_RU.js b/src/main/resources/vditor/dist/js/i18n/ru_RU.js index a02c9a30..2f21262c 100644 --- a/src/main/resources/vditor/dist/js/i18n/ru_RU.js +++ b/src/main/resources/vditor/dist/js/i18n/ru_RU.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': 'Выровнять по центру', - 'alignLeft': 'Выровнять по левому краю', - 'alignRight': 'Выровнять по правому краю', - 'alternateText': 'Альтернативный текст', - 'bold': 'Полужирный текст', - 'both': 'Редактор с предпросмотром', - 'check': 'Список задач', - 'close': 'Закрыть', - 'code': 'Блок кода', - 'code-theme': 'Тема отображения блока кода', - 'column': 'Количество столбцов', - 'comment': 'Комментарий', - 'confirm': 'Подтвердить', - 'content-theme': 'Тема отображения контента', - 'copied': 'Скопировано', - 'copy': 'Копировать', - 'delete-column': 'Удалить столбец', - 'delete-row': 'Удалить строку', - 'devtools': 'Граф документа', - 'down': 'Переместить вниз', - 'downloadTip': 'Браузер не поддерживает функции загрузки', - 'edit': 'Редактирование', - 'edit-mode': 'Переключить режим редактирования', - 'emoji': 'Смайлы', - 'export': 'Экспорт', - 'fileTypeError': 'Ошибка типа файла', - 'footnoteRef': 'Сноска', - 'fullscreen': 'Переключиться на полный экран', - 'generate': 'Генерация', - 'headings': 'Заголовки', - 'heading1': 'Заголовок первого уровня', - 'heading2': 'Заголовок второго уровня', - 'heading3': 'Трехуровневый заголовок', - 'heading4': 'Заголовок 4', - 'heading5': 'Пятиуровневый заголовок', - 'heading6': 'Шестиуровневый заголовок', - 'help': 'Помощь', - 'imageURL': 'Ссылка на картинку', - 'indent': 'Отступ', - 'info': 'Информация о редакторе', - 'inline-code': 'Встроенный код ', - 'insert-after': 'Вставить линию после этой строки', - 'insert-before': 'Вставить линию перед этой строкой', - 'insertColumnLeft': 'Вставить столбец слева', - 'insertColumnRight': 'Вставить столбец справа', - 'insertRowAbove': 'Вставить строку сверху', - 'insertRowBelow': 'Вставить строку снизу', - 'instantRendering': 'Мгновенный рендеринг', - 'italic': 'Курсив', - 'language': 'Синтаксис', - 'line': 'Линия', - 'link': 'Ссылка', - 'linkRef': 'Вставить ссылку', - 'list': 'Список', - 'more': 'Дополнительно', - 'nameEmpty': 'Имя пустое', - 'ordered-list': 'Упорядоченный список', - 'outdent': 'Выступ', - 'outline': 'Содержание', - 'over': 'Над', - 'performanceTip': 'Предварительный просмотр в реальном времени требует ${x}мс, вы можете закрыть его', - 'preview': 'Предпросмотр', - 'quote': 'Цитата', - 'record': 'Начать запись/Завершить запись', - 'record-tip': 'Устройство не поддерживает запись', - 'recording': 'Запись...', - 'redo': 'Вернуть', - 'remove': 'Удалить', - 'row': 'Количество строк', - 'spin': 'Прокрутка', - 'splitView': 'Разделенный просмотр', - 'strike': 'Зачеркнутый текст', - 'table': 'Таблица', - 'textIsNotEmpty': 'Текст (непустой)', - 'title': 'Заголовок', - 'tooltipText': 'Текст всплывающей подсказки', - 'undo': 'Отменить', - 'up': 'Переместить вверх', - 'update': 'Обновить', - 'upload': 'Загрузить изображение или файл', - 'uploadError': 'Ошибка загрузки', - 'uploading': 'Загрузка...', - 'wysiwyg': 'Редактор WYSIWYG', + 'alignCenter': 'Выровнять по центру', + 'alignLeft': 'Выровнять по левому краю', + 'alignRight': 'Выровнять по правому краю', + 'alternateText': 'Альтернативный текст', + 'bold': 'Полужирный текст', + 'both': 'Редактор с предпросмотром', + 'check': 'Список задач', + 'close': 'Закрыть', + 'code': 'Блок кода', + 'code-theme': 'Тема отображения блока кода', + 'column': 'Количество столбцов', + 'comment': 'Комментарий', + 'confirm': 'Подтвердить', + 'content-theme': 'Тема отображения контента', + 'copied': 'Скопировано', + 'copy': 'Копировать', + 'delete-column': 'Удалить столбец', + 'delete-row': 'Удалить строку', + 'devtools': 'Граф документа', + 'down': 'Переместить вниз', + 'downloadTip': 'Браузер не поддерживает функции загрузки', + 'edit': 'Редактирование', + 'edit-mode': 'Переключить режим редактирования', + 'emoji': 'Смайлы', + 'export': 'Экспорт', + 'fileTypeError': 'Ошибка типа файла', + 'footnoteRef': 'Сноска', + 'fullscreen': 'Переключиться на полный экран', + 'generate': 'Генерация', + 'headings': 'Заголовки', + 'heading1': 'Заголовок первого уровня', + 'heading2': 'Заголовок второго уровня', + 'heading3': 'Трехуровневый заголовок', + 'heading4': 'Заголовок 4', + 'heading5': 'Пятиуровневый заголовок', + 'heading6': 'Шестиуровневый заголовок', + 'help': 'Помощь', + 'imageURL': 'Ссылка на картинку', + 'indent': 'Отступ', + 'info': 'Информация о редакторе', + 'inline-code': 'Встроенный код ', + 'insert-after': 'Вставить линию после этой строки', + 'insert-before': 'Вставить линию перед этой строкой', + 'insertColumnLeft': 'Вставить столбец слева', + 'insertColumnRight': 'Вставить столбец справа', + 'insertRowAbove': 'Вставить строку сверху', + 'insertRowBelow': 'Вставить строку снизу', + 'instantRendering': 'Мгновенный рендеринг', + 'italic': 'Курсив', + 'language': 'Синтаксис', + 'line': 'Линия', + 'link': 'Ссылка', + 'linkRef': 'Вставить ссылку', + 'list': 'Список', + 'more': 'Дополнительно', + 'nameEmpty': 'Имя пустое', + 'ordered-list': 'Упорядоченный список', + 'outdent': 'Выступ', + 'outline': 'Содержание', + 'over': 'Над', + 'performanceTip': 'Предварительный просмотр в реальном времени требует ${x}мс, вы можете закрыть его', + 'preview': 'Предпросмотр', + 'quote': 'Цитата', + 'record': 'Начать запись/Завершить запись', + 'record-tip': 'Устройство не поддерживает запись', + 'recording': 'Запись...', + 'redo': 'Вернуть', + 'remove': 'Удалить', + 'row': 'Количество строк', + 'spin': 'Прокрутка', + 'splitView': 'Разделенный просмотр', + 'strike': 'Зачеркнутый текст', + 'table': 'Таблица', + 'textIsNotEmpty': 'Текст (непустой)', + 'title': 'Заголовок', + 'tooltipText': 'Текст всплывающей подсказки', + 'undo': 'Отменить', + 'up': 'Переместить вверх', + 'update': 'Обновить', + 'upload': 'Загрузить изображение или файл', + 'uploadError': 'Ошибка загрузки', + 'uploading': 'Загрузка...', + 'wysiwyg': 'Редактор WYSIWYG', } diff --git a/src/main/resources/vditor/dist/js/i18n/zh_CN.js b/src/main/resources/vditor/dist/js/i18n/zh_CN.js index 24d877b4..8b93921d 100644 --- a/src/main/resources/vditor/dist/js/i18n/zh_CN.js +++ b/src/main/resources/vditor/dist/js/i18n/zh_CN.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': '居中', - 'alignLeft': '居左', - 'alignRight': '居右', - 'alternateText': '替代文本', - 'bold': '粗体', - 'both': '编辑 & 预览', - 'check': '任务列表', - 'close': '关闭', - 'code': '代码块', - 'code-theme': '代码块主题预览', - 'column': '列', - 'comment': '评论', - 'confirm': '确定', - 'content-theme': '内容主题预览', - 'copied': '已复制', - 'copy': '复制', - 'delete-column': '删除列', - 'delete-row': '删除行', - 'devtools': '开发者工具', - 'down': '下', - 'downloadTip': '该浏览器不支持下载功能', - 'edit': '编辑', - 'edit-mode': '切换编辑模式', - 'emoji': '表情', - 'export': '导出', - 'fileTypeError': '文件类型不允许上传', - 'footnoteRef': '脚注标识', - 'fullscreen': '全屏切换', - 'generate': '生成中', - 'headings': '标题', - 'heading1': '一级标题', - 'heading2': '二级标题', - 'heading3': '三级标题', - 'heading4': '四级标题', - 'heading5': '五级标题', - 'heading6': '六级标题', - 'help': '帮助', - 'imageURL': '图片地址', - 'indent': '列表缩进', - 'info': '关于', - 'inline-code': '行内代码', - 'insert-after': '末尾插入行', - 'insert-before': '起始插入行', - 'insertColumnLeft': '在左边插入一列', - 'insertColumnRight': '在右边插入一列', - 'insertRowAbove': '在上方插入一行', - 'insertRowBelow': '在下方插入一行', - 'instantRendering': '即时渲染', - 'italic': '斜体', - 'language': '语言', - 'line': '分隔线', - 'link': '链接', - 'linkRef': '引用标识', - 'list': '无序列表', - 'more': '更多', - 'nameEmpty': '文件名不能为空', - 'ordered-list': '有序列表', - 'outdent': '列表反向缩进', - 'outline': '大纲', - 'over': '超过', - 'performanceTip': '实时预览需 ${x}ms,可点击编辑 & 预览按钮进行关闭', - 'preview': '预览', - 'quote': '引用', - 'record': '开始录音/结束录音', - 'record-tip': '该设备不支持录音功能', - 'recording': '录音中...', - 'redo': '重做', - 'remove': '删除', - 'row': '行', - 'spin': '旋转', - 'splitView': '分屏预览', - 'strike': '删除线', - 'table': '表格', - 'textIsNotEmpty': '文本(不能为空)', - 'title': '标题', - 'tooltipText': '提示文本', - 'undo': '撤销', - 'up': '上', - 'update': '更新', - 'upload': '上传图片或文件', - 'uploadError': '上传错误', - 'uploading': '上传中...', - 'wysiwyg': '所见即所得', + 'alignCenter': '居中', + 'alignLeft': '居左', + 'alignRight': '居右', + 'alternateText': '替代文本', + 'bold': '粗体', + 'both': '编辑 & 预览', + 'check': '任务列表', + 'close': '关闭', + 'code': '代码块', + 'code-theme': '代码块主题预览', + 'column': '列', + 'comment': '评论', + 'confirm': '确定', + 'content-theme': '内容主题预览', + 'copied': '已复制', + 'copy': '复制', + 'delete-column': '删除列', + 'delete-row': '删除行', + 'devtools': '开发者工具', + 'down': '下', + 'downloadTip': '该浏览器不支持下载功能', + 'edit': '编辑', + 'edit-mode': '切换编辑模式', + 'emoji': '表情', + 'export': '导出', + 'fileTypeError': '文件类型不允许上传', + 'footnoteRef': '脚注标识', + 'fullscreen': '全屏切换', + 'generate': '生成中', + 'headings': '标题', + 'heading1': '一级标题', + 'heading2': '二级标题', + 'heading3': '三级标题', + 'heading4': '四级标题', + 'heading5': '五级标题', + 'heading6': '六级标题', + 'help': '帮助', + 'imageURL': '图片地址', + 'indent': '列表缩进', + 'info': '关于', + 'inline-code': '行内代码', + 'insert-after': '末尾插入行', + 'insert-before': '起始插入行', + 'insertColumnLeft': '在左边插入一列', + 'insertColumnRight': '在右边插入一列', + 'insertRowAbove': '在上方插入一行', + 'insertRowBelow': '在下方插入一行', + 'instantRendering': '即时渲染', + 'italic': '斜体', + 'language': '语言', + 'line': '分隔线', + 'link': '链接', + 'linkRef': '引用标识', + 'list': '无序列表', + 'more': '更多', + 'nameEmpty': '文件名不能为空', + 'ordered-list': '有序列表', + 'outdent': '列表反向缩进', + 'outline': '大纲', + 'over': '超过', + 'performanceTip': '实时预览需 ${x}ms,可点击编辑 & 预览按钮进行关闭', + 'preview': '预览', + 'quote': '引用', + 'record': '开始录音/结束录音', + 'record-tip': '该设备不支持录音功能', + 'recording': '录音中...', + 'redo': '重做', + 'remove': '删除', + 'row': '行', + 'spin': '旋转', + 'splitView': '分屏预览', + 'strike': '删除线', + 'table': '表格', + 'textIsNotEmpty': '文本(不能为空)', + 'title': '标题', + 'tooltipText': '提示文本', + 'undo': '撤销', + 'up': '上', + 'update': '更新', + 'upload': '上传图片或文件', + 'uploadError': '上传错误', + 'uploading': '上传中...', + 'wysiwyg': '所见即所得', } diff --git a/src/main/resources/vditor/dist/js/i18n/zh_TW.js b/src/main/resources/vditor/dist/js/i18n/zh_TW.js index a5a620f0..6971b373 100644 --- a/src/main/resources/vditor/dist/js/i18n/zh_TW.js +++ b/src/main/resources/vditor/dist/js/i18n/zh_TW.js @@ -1,85 +1,85 @@ window.VditorI18n = { - 'alignCenter': '置中', - 'alignLeft': '置左', - 'alignRight': '置右', - 'alternateText': '替代文字', - 'bold': '粗體', - 'both': '編輯 & 預覽', - 'check': '任務列表', - 'close': '關閉', - 'code': '代碼塊', - 'code-theme': '代碼塊主題預覽', - 'column': '欄', - 'comment': '評論', - 'confirm': '確定', - 'content-theme': '內容主題預覽', - 'copied': '已複製', - 'copy': '複製', - 'delete-column': '刪除欄', - 'delete-row': '刪除列', - 'devtools': '開發者工具', - 'down': '下', - 'downloadTip': '該瀏覽器不支持下載功能', - 'edit': '編輯', - 'edit-mode': '切換編輯模式', - 'emoji': '表情', - 'export': '匯出', - 'fileTypeError': '檔案類型不允許上傳', - 'footnoteRef': '腳註參考', - 'fullscreen': '全螢幕切換', - 'generate': '生成中', - 'headings': '標題', - 'heading1': '一級標題', - 'heading2': '二級標題', - 'heading3': '三級標題', - 'heading4': '四級標題', - 'heading5': '五級標題', - 'heading6': '六級標題', - 'help': '幫助', - 'imageURL': '圖片位址', - 'indent': '列表縮排', - 'info': '關於', - 'inline-code': '行內代碼', - 'insert-after': '末尾插入列', - 'insert-before': '起始插入列', - 'insertColumnLeft': '在左邊插入一欄', - 'insertColumnRight': '在右邊插入一欄', - 'insertRowAbove': '在上方插入一行', - 'insertRowBelow': '在下方插入一行', - 'instantRendering': '即時渲染', - 'italic': '斜體', - 'language': '語言', - 'line': '分隔線', - 'link': '連結', - 'linkRef': '連結參考', - 'list': '無序列表', - 'more': '更多', - 'nameEmpty': '文件名不能為空', - 'ordered-list': '有序列表', - 'outdent': '列表反向縮排', - 'outline': '大綱', - 'over': '超過', - 'performanceTip': '即時預覽需 ${x}ms,可點擊編輯 & 預覽按鈕進行關閉', - 'preview': '預覽', - 'quote': '引用', - 'record': '開始錄音/結束錄音', - 'record-tip': '該設備不支持錄音功能', - 'recording': '錄音中...', - 'redo': '重做', - 'remove': '刪除', - 'row': '列', - 'spin': '旋轉', - 'splitView': '分割預覽', - 'strike': '刪除縣', - 'table': '表格', - 'textIsNotEmpty': '文字(不能為空)', - 'title': '標題', - 'tooltipText': '提示文字', - 'undo': '撤銷', - 'up': '上', - 'update': '更新', - 'upload': '上傳圖片或文件', - 'uploadError': '上傳錯誤', - 'uploading': '上傳中...', - 'wysiwyg': '所見即所得', + 'alignCenter': '置中', + 'alignLeft': '置左', + 'alignRight': '置右', + 'alternateText': '替代文字', + 'bold': '粗體', + 'both': '編輯 & 預覽', + 'check': '任務列表', + 'close': '關閉', + 'code': '代碼塊', + 'code-theme': '代碼塊主題預覽', + 'column': '欄', + 'comment': '評論', + 'confirm': '確定', + 'content-theme': '內容主題預覽', + 'copied': '已複製', + 'copy': '複製', + 'delete-column': '刪除欄', + 'delete-row': '刪除列', + 'devtools': '開發者工具', + 'down': '下', + 'downloadTip': '該瀏覽器不支持下載功能', + 'edit': '編輯', + 'edit-mode': '切換編輯模式', + 'emoji': '表情', + 'export': '匯出', + 'fileTypeError': '檔案類型不允許上傳', + 'footnoteRef': '腳註參考', + 'fullscreen': '全螢幕切換', + 'generate': '生成中', + 'headings': '標題', + 'heading1': '一級標題', + 'heading2': '二級標題', + 'heading3': '三級標題', + 'heading4': '四級標題', + 'heading5': '五級標題', + 'heading6': '六級標題', + 'help': '幫助', + 'imageURL': '圖片位址', + 'indent': '列表縮排', + 'info': '關於', + 'inline-code': '行內代碼', + 'insert-after': '末尾插入列', + 'insert-before': '起始插入列', + 'insertColumnLeft': '在左邊插入一欄', + 'insertColumnRight': '在右邊插入一欄', + 'insertRowAbove': '在上方插入一行', + 'insertRowBelow': '在下方插入一行', + 'instantRendering': '即時渲染', + 'italic': '斜體', + 'language': '語言', + 'line': '分隔線', + 'link': '連結', + 'linkRef': '連結參考', + 'list': '無序列表', + 'more': '更多', + 'nameEmpty': '文件名不能為空', + 'ordered-list': '有序列表', + 'outdent': '列表反向縮排', + 'outline': '大綱', + 'over': '超過', + 'performanceTip': '即時預覽需 ${x}ms,可點擊編輯 & 預覽按鈕進行關閉', + 'preview': '預覽', + 'quote': '引用', + 'record': '開始錄音/結束錄音', + 'record-tip': '該設備不支持錄音功能', + 'recording': '錄音中...', + 'redo': '重做', + 'remove': '刪除', + 'row': '列', + 'spin': '旋轉', + 'splitView': '分割預覽', + 'strike': '刪除縣', + 'table': '表格', + 'textIsNotEmpty': '文字(不能為空)', + 'title': '標題', + 'tooltipText': '提示文字', + 'undo': '撤銷', + 'up': '上', + 'update': '更新', + 'upload': '上傳圖片或文件', + 'uploadError': '上傳錯誤', + 'uploading': '上傳中...', + 'wysiwyg': '所見即所得', } diff --git a/src/main/resources/vditor/style.css b/src/main/resources/vditor/style.css index 83791047..d9ae77fd 100644 --- a/src/main/resources/vditor/style.css +++ b/src/main/resources/vditor/style.css @@ -1,17 +1,20 @@ .body { margin: 0px; } + .vditor { border: 0px; border-radius: 0px; } + ::-webkit-scrollbar { - width: 8px; height: 8px; + width: 8px; + height: 8px; } ::-webkit-scrollbar-thumb { - background-color: rgba(0,0,0,.3); + background-color: rgba(0, 0, 0, .3); border-radius: 0px; } @@ -26,48 +29,54 @@ font-weight: 100; src: url("./fonts/JetBrainsMono-Thin.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 200; src: url("./fonts/JetBrainsMono-ExtraLight.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 300; src: url("./fonts/JetBrainsMono-Light.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; src: url("./fonts/JetBrainsMono-Regular.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; src: url("./fonts/JetBrainsMono-Medium.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 600; src: url("./fonts/JetBrainsMono-SemiBold.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 700; src: url("./fonts/JetBrainsMono-Bold.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 800; - src: url("./fonts/JetBrainsMono-ExtraBold.woff2") - format("woff2"); + src: url("./fonts/JetBrainsMono-ExtraBold.woff2") format("woff2"); } /* italic fonts */ @@ -76,46 +85,51 @@ font-family: 'JetBrains Mono'; font-style: italic; font-weight: 100; - src: url("./fonts/JetBrainsMono-ThinItalic.woff2") - format("woff2"); + src: url("./fonts/JetBrainsMono-ThinItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 200; src: url("./fonts/JetBrainsMono-ExtraLightItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 300; src: url("./fonts/JetBrainsMono-LightItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 400; src: url("./fonts/JetBrainsMono-Italic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 500; - src: url("./fonts/JetBrainsMono-MediumItalic.woff2") - format("woff2"); + src: url("./fonts/JetBrainsMono-MediumItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 600; src: url("./fonts/JetBrainsMono-SemiBoldItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic; font-weight: 700; src: url("./fonts/JetBrainsMono-BoldItalic.woff2") format("woff2"); } + @font-face { font-family: 'JetBrains Mono'; font-style: italic;